`MYVAR=1 /bin/whatever` と `env MYVAR=1 /bin/whatever` の違いは何ですか?

`MYVAR=1 /bin/whatever` と `env MYVAR=1 /bin/whatever` の違いは何ですか?

どちらもほぼ同じことを行うように見えますが、一方を使用する利点と他方を使用する利点は何でしょうか?

答え1

利点は携帯性です。

MYVAR=1 /bin/whatever

この構文は、Bourne 系のシェルやその他のシェル (rc、sh、ksh、bash、zsh など) では受け入れられますが、csh、tcsh などのシェルでは受け入れられません。

関連情報