2013-05-10 74 views
1

當作業完成時(以及失敗),我需要從父bash腳本中複製並執行bash腳本,我需要父腳本來刪除它所複製的子腳本文件。處理Bash中的臨時文件

下面是我工作的代碼片段:

if [ -e $repo_path/install ]; then 
    cp $repo_path/install $install_path 
    exec $install_path/install 
    rm $install_path/install 
fi 

這由於某種原因失敗,似乎當子進程結束乾脆退出。 使用exec是否正確?

+2

的方式來標記了一個問題,「解決」是接受的答案,而不是更改標題。歡迎來到SO。 – msw 2013-05-10 10:18:11

回答

2

exec將取代您當前的進程,因此之後的語句將永遠無法達到。

您可以用shbash更換exec,或只是將其刪除,如果孩子腳本是可執行的。

參見:The Bash Reference Manual for exec

+0

感謝一束,修復它! – 2013-05-10 10:02:31