我想编写一个脚本来解压缩,配置,制作和 make install 作为源码(xyz) .tar.bz2格式)。但是如果其中一个命令出错,我想停止这个脚本。是否有任何专门用于 make 命令的信号或方法来检测执行期间停止脚本的错误?
答案 0 :(得分:2)
如果运行的任何命令返回非零退出代码(包括被信号杀死),则正常中止。因此,如果命令失败,您只需要确保您的脚本存在(带有错误)。此外,make self会以非零状态存在(因此您可以检测到make
或make install
失败)。请注意,可以告诉make在每个命令的基础上忽略错误(通过在命令前添加-
),但这不是默认值。
您可以通过两种主要方式完成此操作:
set -e
(但要注意set -e
has a lot of problems)tar xzf foo.tar.gz || exit 1
)或者,您可以按照预期的方式使用make
,并编写make规则来执行所有这些步骤。
答案 1 :(得分:0)
这是真的;更简单的方法是......
tar xvf foo.tar.bz2 && make && make install