var=3 コマンドを実行するとどうなりますか?

var=3 コマンドを実行するとどうなりますか?

以下では、予想した誤ったコマンドを実行しましたが、var=3 dateそうではありません。

$ var=3 date
Sun May 26 17:10:22 UTC 2019
$ echo $?
0

ただし、変数に値は割り当てられません3

$ echo $var

$

私はもともとこれがvar=3有効なコマンドではないと思いました。私は何を見逃していますか?

ベストアンサー1

bashシェル自体の環境(呼び出し/親プロセス)ではなく、dateコマンド環境の環境変数としてvarを3に設定します。

参考として Bash のマニュアルを参照してください。https://www.gnu.org/software/bash/manual/html_node/Environment.html

具体的には:

The environment for any simple command or function may be augmented temporarily by prefixing it with parameter assignments, as described in Shell Parameters. These assignment statements affect only the environment seen by that command.

おすすめ記事