Bash shell脚本命令中的错误检测,例如;制造;

Bash shell脚本命令中的错误检测,例如;制造;,bash,shell,error-handling,makefile,Bash,Shell,Error Handling,Makefile,我想写一个脚本来提取,配置,制作和安装一个源代码(xyz.tar.bz2)。但是如果这些命令中有一个错误,我想停止这个脚本。是否有任何信号或方法专门用于make命令在停止脚本的执行过程中检测错误 如果运行的任何命令返回非零退出代码(包括被信号终止),Make normaly将中止。因此,如果命令失败,您只需确保脚本存在(带有错误)。此外,make本身随后以非零状态存在(因此您可以检测make或makeinstall失败)。注意,make可以被告知在每个命令的基础上忽略错误(通过在命令前面加上-)

我想写一个脚本来提取配置制作安装一个源代码(xyz.tar.bz2)。但是如果这些命令中有一个错误,我想停止这个脚本。是否有任何信号或方法专门用于make命令在停止脚本的执行过程中检测错误

如果运行的任何命令返回非零退出代码(包括被信号终止),Make normaly将中止。因此,如果命令失败,您只需确保脚本存在(带有错误)。此外,make本身随后以非零状态存在(因此您可以检测
make
makeinstall
失败)。注意,make可以被告知在每个命令的基础上忽略错误(通过在命令前面加上
-
),但这不是默认设置

您可以通过两种主要方式完成此操作:

  • set-e
    (尽管要小心)
  • 测试每个命令是否失败(例如,
    tar xzf foo.tar.gz | |退出1

  • 或者,您可以按预期的方式使用make,并编写make规则来完成所有这些步骤。

    没错;下面是更简单的方法

    tar xvf foo.tar.bz2&&make&&make安装