6

このコマンドの出力は空です。

su user -c "ABC=abc;echo $ABC"

入力コマンドで変数を定義するにはどうすればよいですか?

4

2 に答える 2

5

引用符を一重引用符に変更します。二重引用符を使用すると、変数がまだ設定されていない現在の環境で変数を置き換えることができます。違いを確認するには、お使いのバージョンを次のバージョン$USERと比較してみてください。

su user -c 'ABC=abc; echo $ABC; echo $USER'
于 2010-09-09T13:29:46.003 に答える
2

Bourne シェルバリアントを使用する場合:

ABC=abc su user -c 'echo $ABC'

そうでない場合は、env を使用します。

env ABC=abc su user -c 'echo $ABC'
于 2010-09-09T12:49:25.107 に答える