bash – 在“陷阱EXIT”中获取shell脚本的exitcode
| 
                         
 我想在我的 
 Bash脚本中进行清理操作,如下所示: 
  
  
  
#! /bin/bash set -eu trap 'echo "E: failed with exitcode $?" 1>&2' ERR true false 使用$?脑海中浮现出一种自然的选择,但事实并非如此.它总是包含0.有没有什么方法可以“侦察”ERR陷阱中的exitcode? [更新:]我不知道我之前测试过的是什么.这段代码就像一个魅力,所以我把它留在这里作为一个小而好的例子. 解决方法
 您的(可能是简化的)示例没有显示您提到的问题: 
  
  
  
        + set -eu + trap 'echo "E: failed with exitcode $?" 1>&2' ERR + true + false ++ echo 'E: failed with exitcode 1' E: failed with exitcode 1 有可能返回ERR的命令在&&或||,或受以下摘录中提到的其他条件限制.引自manual: 
 例如,如果您有以下内容: #! /bin/bash set -eu trap 'echo "E: failed with exitcode $?" 1>&2' ERR false && true 执行它不会导致失败被困: + set -eu + trap 'echo "E: failed with exitcode $?" 1>&2' ERR + false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
- 推荐!《数据结构》演示程序(提供下载)
 - anguar4 共享服务在多个组件中数据通信
 - Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24
 - angularjs 前端js正则表达式的运用
 - twitter-bootstrap – 锚点标记不显示为按钮使用twitter引导
 - gsoap webservice weatherservice
 - angularjs – “base href”使用ui-router在路由URL中添加目
 - 如何在Docker上安装tshark?
 - bootstrap插件bootbox参数和自定义弹出框宽度设置
 - 免费WebService对外接口(汇总)
 
