每期用简短的图文描述一个 Jenkins 小技巧

问题

  • 不希望 Shell 脚本因失败而中止。
  • 想一直运行 Shell 脚本并报告失败。
    解决
    方法一
    运行 Shell 时,你可以通过使用内置的 +e 选项来控制执行你的脚本错误。这可以禁用“非 0 退出”的默认行为。

请参考如下四个示例中的测试 Shell 和测试结果 Console Output。

示例一

执行的时候如果出现了返回值为非零(即命令执行失败)将会忽略错误,继续执行下面的脚本。

$ set +e$ ls no-exit-file$ whoami

示例一:测试结果
示例二

执行的时候如果出现了返回值为非零,整个脚本就会立即退出。

$ set -e$ ls no-exit-file$ whoami

示例二:测试结果

示例三

还有一种方式,如果不想停止失败的另一种方法是添加 || true 到你的命令结尾。

# 做可能会失败,但并不关注失败的命令时$ ls no-exit-file || true

示例三:测试结果
示例四

如果要在失败时执行某些操作则添加 || <doSomethingOnFailure>

# 做可能会失败的事情,并关注失败的命令# 如果存在错误,则会创建变量 error 并将其设置为 true$ ls no-exit-file || error=true# 然后去判断 error 变量的值。如果为真,则退出 Shell$ if [ $error ]$ then $    exit -1$ fi

©著作权归作者所有:来自51CTO博客作者mob604756e7db9c的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 自动化测试用例失败继续执行
  2. wordpress登录失败处理user-lock插件安装
  3. 运维少年系列 python and cisco (3)
  4. 三面滴滴失败,总结了Java面试题,有几个题还是一直搞不懂
  5. SQL中的ALL、ANY和SOME的用法介绍
  6. Nginx负载均衡配置误区
  7. Excel重大更新,VLOOKUP退役,新的搜索函数上线
  8. Mysql5.7的varchar类型字段建索引竟然失败
  9. C语言字符串相关函数使用示例 strtok_r strstr strtok atoi

随机推荐

  1. 百度——个人云存储pcs——Android使用百
  2. 获取所有音乐文件的专辑封面
  3. 润乾报表实用教程
  4. Java第三次作业——面向对象基础(封装)
  5. JavaScript原型彻底理解2---继承中的原型
  6. 【Java】通过原始Servlet写最基本的Web应
  7. java文件上传输入输出流的问题
  8. JAVAONE 2016大会的所见所感
  9. eclipse 中安装android ADT时问题解决‘o
  10. java调用Kettle总结