Jenkins Tips —— 每期用简短的图文描述一个 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

示例四:测试结果

返回值被忽略_《Jenkins Tips 001》 忽略 Shell 步骤中的故障相关推荐

  1. c语言自定义char*函数返回值是乱码_[每日C语言」printf()函数的修饰符和返回值...

    在上一个小demo<printf()函数(1)>中主要说了一下printf()函数的转换说明符,这些转移说明符是可以被修饰的.我们可以在%d和定义的转义字符之间通过插入修饰符对基本的转换说 ...

  2. 获取返回值作为变量_解决多线程间共享变量线程安全问题的大杀器——ThreadLocal...

    微信公众号:Zhongger 我是Zhongger,一个在互联网行业摸鱼写代码的打工人! 关注我,了解更多你不知道的[Java后端]打工技巧.职场经验等- 上一期,讲到了关于线程死锁.用户进程.用户线 ...

  3. python函数返回布尔值_Python_有返回值的函数_布尔函数

    函数也可以返回布尔值(True或False),这种情况便于隐藏函数内部的复杂测试.例如: #!/bin/python def is_divisible(x, y): if x % y == 0: re ...

  4. c# mysql executescalar为什么返回值是空_当没有结果返回时处理ExecuteScalar()

    根据DbCommand.ExecuteScalar的MSDN文档 : 如果结果集中第一行的第一列未find,则返回null引用(在Visual Basic中为Nothing). 如果数据库中的值为空, ...

  5. adb shell读取返回值_shell学习笔记03(函数amp;shell工具amp;面试题)

    自定义函数 1.基本语法 [ function ] funname[()] {Action;[return int;] } funname 2.经验技巧 (1)必须在调用函数地方之前,先声明函数,sh ...

  6. mysql insert 返回值是什么_各种SQL Insert 返回值

    declare v_id t.id%type; begin insert into t(id) values(seq.nextval) returning id into v_id; end; / d ...

  7. python调用自定义函数返回值的类型_生成dll文件以及python对DLL中函数的调用(参数类型以及返回值)...

    工具:VS2010    python2.7 (若使用的python是64位的,生成的dll也要使用x64) 系统:win7pro 64bit 首先,dll工程的创建以及dll文件的生成: new p ...

  8. typeof null的返回值是什么?_数据类型与typeof

    个人学习笔记,如有错误请指出 数据类型 基本数据类型(原始值类型) number NaN/Infinity特殊 string 单引号/双引号/反引号`` boolean true/false null ...

  9. 为什么写了value属性 jq赋值value值不显示_[Go基础]理解 Go 标准库中的 atomic.Value 类型

    转载声明 文章作者:喵叔 上次更新:2019-03-15 许可协议:CC BY-NC-ND 4.0(转载请注明出处) 原文链接:https://blog.betacat.io/post/golang- ...

最新文章

  1. 开启机器学习的第一课:用Pandas进行数据分析
  2. Redis中RedisTemplate和Redisson管道的使用
  3. 两款扁平步进电机及其驱动器VSMD102
  4. cent os 6 fdisk fat32
  5. 怎么让div显示一行,其余的隐藏。
  6. Excel 中使用SQL 语句查询数据(七)-----用LIKE 运算符进行模糊匹配查询
  7. Python基础——PyCharm版本——第四章、基础语法-分支语句(条件判断if语句)
  8. mysql全表重命名备份_MySQL数据库重命名的快速且安全方法(3种)
  9. 黑鲨游戏手机二代再曝新特性 “操控之王”带来全新体验
  10. matlab db5是什么小波,3、代码 - matlab小波分析步骤是什么
  11. YYF根据学生编号查询学生签到状态
  12. struts2上传 zip和rar文件类型
  13. win10 java jdk环境变量 配置
  14. ABAP CLEAR REFRESH FREE 说明(刘欣)
  15. python如何做成app?
  16. 三轮全向轮底盘SLAM挖坑系列-简介
  17. 做一名活动策划是什么体验?
  18. 怎么建立设备管理系统?
  19. 引用vue-baidu-map 做一个签到打卡功能
  20. Mediawiki环境搭建

热门文章

  1. SAP CRM and C4C PDF print
  2. 查找包含指定关键字的BDOC
  3. Jerry Wang 2013年几篇比较受欢迎的SAP社区博客
  4. 如何在AWS亚马逊云上运行Angular应用
  5. 使用简单的Java代码在SAP C4C里创建销售订单
  6. mysql实例化_mysql多实例实例化数据库
  7. 未来教育计算机二级01为法律一班,2019年3月计算机二级MSOffice提分试题及答案012...
  8. python pip在哪里_Python 2.7.9(Linux)中的pip在哪里
  9. iphone android传照片大小,iPhone与安卓跨平台如何传照片图文教程
  10. java bean的反射类_JAVA中反射机制五(JavaBean的内省与BeanUtils库)