Sun Java System Application Server Enterprise Edition 8.2 トラブルシューティングガイド

説明

次のようなコマンドで変数を設定すると、予期していない結果が返されます。

asadmin set name={$a-b}

この場合、name{$a-b} ではなく b に設定されます。シェル構文 ${a=b} は「変数 a が未設定ならば、値 b を代わりに使う、そうでなければ a の値を代わりに使う」と解釈されるからです。これは標準のシェル動作です。たとえば、次の例を考えてください。

asadmin set default-config.http-service.http-listener.http-listener-1.port=
${http-listener-1-port}

この場合、default-config.http-service.http-listener.http-listener-1.portlistener-1-port に設定されますが、この結果には意味がありません。