2013-04-11 75 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脚本运行。