shell - 在脚本因失败退出之前立即运行命令

标签 shell unix zsh exit exit-code

假设有这个脚本

#!/bin/zsh
python -c 'a'
这将失败,因为 a没有定义。就在 shell 脚本退出之前,我想运行一个命令,比如 echo bye .如何实现?
流程是:
  • 上面的 Python 命令失败。
  • bye出现在终端。
  • zsh 脚本退出。

  • 我希望它尽可能少地影响 python 命令,例如缩进,将其放入 if 块中,检查其退出代码等。在现实生活中,该命令实际上是多个命令。

    最佳答案

    通过使用以下固定

    #!/bin/zsh
    set -e
    trap  'echo bye; exit' TERM EXIT KILL
    python -c 'a'
    

    关于shell - 在脚本因失败退出之前立即运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68884201/

    相关文章:

    alias - 即使使用选项 `complete_aliases`,zsh 别名也不会扩展

    bash - 在这种情况下,如何在 shell/bash 中自动化 if/else/then 任务?

    linux - Linux 终端中的 For 循环

    xml - 如何在shell中注释掉xml文件中的字符串

    c# - 通过 C# 通过 NFS 读取 UNIX 文件属性

    mysql - 尝试将用户连接到本地 mysql 数据库时出现零错误

    shell - 当作为 sh 启动时,Zsh 不执行大括号扩展?

    matlab - 从 Unix shell 读取 .mat 文件

    c - 从目录读取时出现段错误

    bash - 参数扩展后 zsh 未被 IFS 拆分