env VAR=VAL コマンドまたは VAR=VAL コマンド

env VAR=VAL コマンドまたは VAR=VAL コマンド

2つの実際の違いは何ですか?

env VARIABLE=VALUE command

そして

VARIABLE=VALUE command

bash互換シェルから?

注:私は直接いくつかのテストをしましたが、違いはありません。

編集:例は次のとおりです

EDITOR=nano visudo

そして

env EDITOR=nano visudo

答え1

外部コマンドの結果はあまり変わりません。実行には、シェルが実行する追加のenv変数割り当て解析のみが含まれます。シェルはそれほど単純ではない環境を整理するので、より便利です。execenv -i

どちらの場合も、コマンドの置換などの拡張は、割り当てがVAR=$(somecmd)発生する前にシェルによって実行され、どちらの場合も同じですPATH。私が考えることができる唯一の違いは_その価値です。Bash は実行するコマンドの名前に設定されます。envしかし)。もちろん、そうでない場合は、envシェルに組み込まれているコマンドバージョンを実行することもできます。

関連情報