2013-04-11 77 views
0

如何確保後腳本運行的任何提示? 我有一個pre & post shell腳本,我附加befor和shar文件後,會發生什麼是應該提取我的焦油的後腳本不會執行。 所以我也做了以下內容:使用前後腳本創建shar

  1. 創建Pre.sh & post.sh
  2. 創建一個創建莎爾腳本的作用:

    cat Pre.sh > $sharfile 
    shar my.tar.gz >> $sharfile 
    cat Post.sh >> $sharfile 
    

的創建莎爾具有第一arg的tar.gz名稱,所以基本上我可以控制我傳遞給create_shar腳本的tar。

爲了進行調試,我把set -x放在Pre腳本中,但輸出只是在將tar解壓到當前目錄(而不是解壓縮)之後終止,然後退出。

一定是很簡單的東西,我在這裏失蹤......

回答

0

首先,用沙皮收拾文件,所有文件。不要使用任何重定向,以便在標準輸出中看到命令。請注意,您看到的最後一行是exit 0。這是導致你的複合腳本在解包之後退出的原因my.tar.gz

如何解決:

cat Pre.sh > $sharfile 
shar my.tar.gz | sed '/^exit 0/d' >> $sharfile 
cat Post.sh >> $sharfile 

這將刪除與exit 0從莎爾開始的最後一行,並允許Post.sh腳本運行。