env_variable=value && コマンドは正確に何をしますか?

env_variable=value && コマンドは正確に何をしますか?

次のように、環境変数を前に追加してコマンドに渡すことができることを知っています。

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同じシェルで使用できます。

たとえば、参照してください。

おすすめ記事