"sh -c"コマンド文字列に変数を定義しようとしています。
sh -c "TMP=??; echo $TMP;"
何も印刷されません。
「sh -c」文字列に変数を定義できないのはなぜですか?
ベストアンサー1
sh -c 'TMP=??; echo $TMP;'
二重引用符を使用すると、コマンドラインを作成するときにパラメータ拡張が行われます。つまり、シェルには表示されません。
TMP=??; echo $TMP;
その主張でしかし
TMP=??; echo ;
$TMP
呼び出しシェル環境で空の場合。