shell 错误继续执行_Jenkins Tips 001: 忽略 Shell 步骤中的故障

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

83f508391f8b9bb0ab454b1a6fb0398e.png

问题

  • 不希望 Shell 脚本因失败而中止
  • 想一直运行 Shell 脚本并报告失败

解决

运行 Shell 时,你可以通过使用内置的 +e 选项来控制执行你的脚本错误。这可以禁用“非 0 退出”的默认行为。

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

示例一

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

$ set +e$ ls no-exit-file$ whoami
1c524cb478696d822e34125a574f458a.png

示例一:测试结果

示例二

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

$ set -e$ ls no-exit-file$ whoami
4f889c9a7c19d0cd148b7434a7a5ff37.png

示例二:测试结果

示例三

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

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

示例三:测试结果

示例四

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

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

示例四:测试结果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值