假設我有一個script1.sh像
#!/bin/bash
#do something
export THING="a"
source script2.sh & #so running in background
sleep 1 #or do something
export THING="b"
source script2.sh & #so running in background
所以匯出一個變數THING,讀取script2.sh:
#!/bin/bash
echo "PRINT1: ${THING}"
sleep 5
echo "PRINT2: ${THING}"
假設在呼叫時script2.sh“凍結”了 的值是否正確THING?(即,即使在后臺運行,它在執行程序中也不會改變)。
我對此進行了測驗,似乎是這種情況,但我想檢查它是否是預期的一般行為。
提前致謝,SL
uj5u.com熱心網友回復:
假設 script2.sh 在呼叫時“凍結”了 THING 的值是否正確?
是的。該值未“凍結”,您可以更改它。這只是一個副本。
每個行程都有自己的環境。在創建子行程時,子行程被創建為當前環境的副本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/333591.html
