2011-05-22 73 views

回答

3

exec,如果你給它一個程序名一個,將取代不管你指定當前程序。

如果你只想運行腳本(在另一個進程)並返回,只需使用:

./two.sh 

做到這一點。

對於這個簡單的例子,你也可以在當前過程與上下文中執行腳本:

. ./two.sh 

這不會啓動一個新的進程,但將有允許的副作用two.sh以影響當前shell的環境。雖然這對目前的two.sh來說不是問題(因爲它所做的只是回顯行),但對於更復雜的腳本(例如設置環境變量的腳本)可能會有問題。


一個如果沒有節目名稱,它改變了當前程序的某些性質,如:

exec >/dev/null 

它簡單地開始發送所有標準輸出到位桶。

2

當然,只需要運行:

echo "1" 
./two.sh 
echo "3"