'sh -c'の変数定義

'sh -c'の変数定義

"sh -c"コマンド文字列に変数を定義しようとしています。

sh -c "TMP=??; echo $TMP;"

何も印刷されません。

「sh -c」文字列に変数を定義できないのはなぜですか?

ベストアンサー1

sh -c 'TMP=??; echo $TMP;'

二重引用符を使用すると、コマンドラインを作成するときにパラメータ拡張が行われます。つまり、シェルには表示されません。

TMP=??; echo $TMP;

その主張でしかし

TMP=??; echo ;

$TMP呼び出しシェル環境で空の場合。

おすすめ記事