親から変数をエクスポートすることは可能ですか?その子にシェルスクリプト? 次の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
、独自の環境内の変数にのみ影響を与えます。親の環境の変数に触れることはできません。