用pre和;创建共享发布脚本

时间:2013-04-11 07:26:24

标签: bash

有关如何确保后期脚本运行的任何提示? 我有一个pre&我追加的后shell脚本和在shar文件之后,会发生的事情是应该提取我的tar的post脚本不会执行。 所以我做了以下事情:

  1. 创建Pre.sh& post.sh
  2. 创建了一个create shar脚本:

    cat Pre.sh > $sharfile
    shar my.tar.gz >> $sharfile 
    cat Post.sh >> $sharfile 
    
  3. create shar有一个tar.gz名称的第一个arg,所以基本上我可以控制我传递给create_shar脚本的tar。

    为了进行调试,我将set -x放在Pre脚本中,但输出只是在解压缩(不提取)tar到当前目录后终止,然后退出。

    我必须在这里找到一些非常简单的东西...

1 个答案:

答案 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脚本运行。