質問

質問

質問

バッシュではshell_variable=値 bash child_command作るシェル変数環境変数サブコマンド

これは、シェル変数を子プロセスの環境変数に昇格させるための組み込みシェル(shおよびbash)機能ですか? envコマンドに似ていますか?

これを説明する文書を見つけようとしましたが、まだ見つかりませんでした。参考資料をご提供いただきありがとうございます。

豚.sh

env | grep BUILD_ID

実施例1

BUILD_ID=hoge
bash hoge.sh

[result] (none displayed)

実施例2

BUILD_ID=hoge bash hoge.sh

[Result]
BUILD_ID=hoge

実施例3

env BUILD_ID=hogehoge bash hoge.sh 

[Result]
BUILD_ID=hogehoge

引用する

ベストアンサー1

POSIX:部分2.9.1 簡単なコマンド

...変数の割り当てはコマンドの実行環境にエクスポートする必要があり、現在の実行環境に影響を与えてはいけません...

また、複数のシェルマニュアル(「簡単なコマンド」を検索)


はい

変数は現在の実行環境に影響を与えてはいけません。

$ var=33; var=11 echo "$var"; echo "$var"
33
33

変数の割り当てを実行環境にエクスポートする必要があります。

$ var=33; var=11 sh -c 'echo "$var"'; echo "$var"
11
33

おすすめ記事