bash - Shell脚本命令(例如 “make”)中的错误检测

标签 bash shell error-handling makefile

我想编写一个脚本来提取配置使使install 成为源(xyz.tar.bz2)。但是,如果这些命令之一出错,我想停止此脚本。是否有专门用于 make 命令的信号或方法,以在执行过程中检测错误以停止脚本?

最佳答案

如果执行的任何命令返回非零退出代码(包括被信号杀死),则使正常退出。因此,如果命令失败,您只需要确保脚本存在(有错误)即可。另外,使自身以非零状态存在(因此您可以检测到makemake install失败)。请注意,可以告知make根据每个命令忽略错误(通过在命令前面加上-前缀),但这不是默认设置。

您可以通过两种主要方式执行此操作:

  • set -e(尽管要注意 set -e has a lot of problems)
  • 测试每个命令是否失败(例如tar xzf foo.tar.gz || exit 1)

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

    关于bash - Shell脚本命令(例如 “make”)中的错误检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322131/

    相关文章:

    mysql - 查找 Mysqldump 执行时间?

    linux - 从 shellcode 启动的 Shell 在启动时立即停止

    shell - 如何将时间戳添加到 STDERR 重定向

    linux - 计算多行中某个字段的出现次数

    c# - 工具提示气球显示位置(用于错误通知)

    linux - 为什么 cat 会改变二进制文件的内容?

    linux - 打印有关文本文件的统​​计信息的 Bash 脚本

    macos - 从变量插入文件中的文本

    c# - Web API 2 OData错误消息作为XML返回

    java - 当我尝试借助数组替换单词时,出现 NullPointerException