例如有腳本test.sh,其中定義了兩個變量:
bag=1
log=2
有另外一個腳本test2.sh,在其中想獲取test.sh的log變量的值,並且test2.sh本身有一個bag變量,不希望這個變量的值被影響到。
bag="known"
log="unknown"
如果直接使用source,會使bag變量被覆蓋:
bag="known"
log="unknown"
source test.sh
echo $bag
echo $log
運行結果爲:
1
2
正確的一種方法是:
bag="known"
log="unknown"
log=`source test.sh;echo $log`
echo $bag
echo $log
運行結果:
known
2
reference: