次のように、環境変数を前に追加してコマンドに渡すことができることを知っています。
env_variable=value command
ところで、今日誤って&&
変数とコマンドの間に以下を追加しました。
env_variable=value && command exactly
^
^
正しいアプローチとどう違うのだろうか。を使用してコマンドを一緒に接続できることを知っています&&
。ところで、興味深いのは、コマンドが変数を受け取らないことです。なぜですか?誰かが2番目のバリアントが最初のバリアントとまったく異なるのか、そしてなぜコマンドに変数が表示されないのかを説明できれば幸いです。ありがとう
ベストアンサー1
foo=bar && somecmd
ほぼ同じです(作業が失敗する可能性が低いため)。
foo=bar; somecmd
(別の行に)と同じ
foo=bar
somecmd
これにより、名前付きシェル変数に値が割り当てられ、foo
コマンドが実行されますsomecmd
。 edfoo
でない場合export
(デフォルトではシェル変数ではない)には表示されませんが、somecmd
同じシェルで使用できます。
たとえば、参照してください。