我有兩個shell腳本。在其中的一個,我有:環境變量不更新
export FOO="yes"
sh another.sh &
# ops ...
export FOO=0
在another.sh
我:
while [[ $FOO -eq "yes" ]]
do
# something ...
done
的事情是,當第一個腳本完成後,設置FOO=0
的FOO
在another.sh
值繼續導"yes"
。我想知道如何獲得更新的FOO
,這樣我就可以知道第一個腳本(調用者)何時完成。
一般而言,您*不能*將環境變量從一個正在運行的shell導出到另一個運行的shell。建議:對於兩個獨立的shell腳本,請使用命名管道:http://www.linuxjournal.com/content/using-named-pipes-fifos-bash。在這種特殊情況下,你可以通過用'來代替父變量。 another.sh&'(「。」而不是「sh」)。 – paulsm4
變量值在腳本啓動時設置,然後不能從外部更改。你需要一些其他的共享數據的外部方法,比如某個文件。 –