有关如何确保后期脚本运行的任何提示? 我有一个pre&我追加的后shell脚本和在shar文件之后,会发生的事情是应该提取我的tar的post脚本不会执行。 所以我做了以下事情:
创建了一个create shar脚本:
cat Pre.sh > $sharfile
shar my.tar.gz >> $sharfile
cat Post.sh >> $sharfile
create shar有一个tar.gz名称的第一个arg,所以基本上我可以控制我传递给create_shar脚本的tar。
为了进行调试,我将set -x放在Pre脚本中,但输出只是在解压缩(不提取)tar到当前目录后终止,然后退出。
我必须在这里找到一些非常简单的东西...
答案 0 :(得分:1)
首先,使用shar打包文件,任何文件。不要使用任何重定向,以便在标准输出上看到命令。请注意,您看到的最后一行是exit 0
。这是解压缩my.tar.gz
后导致复合脚本退出的原因。
如何解决:
cat Pre.sh > $sharfile
shar my.tar.gz | sed '/^exit 0/d' >> $sharfile
cat Post.sh >> $sharfile
这将从shar中删除以exit 0
开头的最后一行,并允许Post.sh脚本运行。