asadmin の set コマンドが期待したとおりに動作しない

  • 説明
    \コマンドの引数に次のようなものを設定すると予期しない結果が返ってきます:
    {code}asadmin set name=${a-b{code}}
    \この例では、シェルの構文で $
    Unknown macro: {a-b}

    が「変数 a が設定されない場合、b で置き換え、それ以外の場合は変数 a が設定される」と解釈されるため、name

     
             
    ${a-b{code}} ではなく b に設定されます(訳者注: 一般的に a は設定されていないだろうという想定で b となるという暗黙の仮定が入っていると思われます)。これは標準的なシェルの動作です。例えば、次のような例を考えてみてください:\\\\\{code}asadmin set default-config.http-service.http-listener.http-listener-1.port=${http-listener-1-port{code}}
    \この例では、default-config.http-service.http-listener.http-listener-1.port に本来期待しない listener-1-port が設定されます。
    \
    戻る


日本語翻訳: shioda

英文 (翻訳したバージョン: 104)