2010-11-04 58 views

回答

8

有兩種方法,我知道做到這一點。首先是用其中一種運行在當前shell的上下文中的腳本:

. myscript.sh 
source myscript.sh 

但運行污染與各種東西在當前shell的風險。

我更喜歡信息泄漏量最小的解決方案。這意味着仍然在運行它作爲一個子shell,但輸出上statndard輸出的新路徑:

PATH=$(myscript.sh) 

這個方法是一個更好的一個,因爲路徑是唯一事情可以由子shell的影響,但你必須要小心這個subshel​​l輸出的內容。

+0

明顯的第三種方式是「eval」,儘管這與採購一樣危險。例如,公共終端設置實用程序「tset」輸出供調用外殼進行評估的命令。 – 2010-11-05 03:07:30