/ /シェルスクリプトでの子から親へのグローバル変数のエクスポート-linux、bash、shell、unix、centos

シェルスクリプトでグローバル変数を子から親にエクスポートする - linux、bash、shell、unix、centos

親から変数をエクスポートすることは可能ですか?その子にシェルスクリプト? 次の2つのスクリプトを実行しようとすると、常に0が返されますが、3を返すようにします。

test.sh

$ cat test.sh
#!/bin/bash
error=0
./envtest.sh
echo $error

envtest.sh

$ cat envtest.sh
#!/bin/bash
source ./test.sh
test=3
error=$test
echo $error

回答:

回答№1は0

@chepnerがコメントしたように、いいえ。

あなたが呼び出すとき ./envtest.sh 内部から test.sh、実行する新しいプロセスが作成されます /bin/bash ./envtest.sh、およびそのプロセスの環境は コピー 親プロセスからのすべての環境変数の。あなたが何をしていても envtest.sh、独自の環境内の変数にのみ影響を与えます。親の環境の変数に触れることはできません。