jenkins pipeline中获取shell命令的标准输出或者状态的方法小结

 更新时间:2024年02月17日 10:18:45   作者:发哥随手记  
这篇文章主要介绍了jenkins pipeline中获取shell命令的标准输出或者状态,工作中需要获取shell 命令的执行状态,返回0或者非0,本文给大家介绍的非常详细,需要的朋友可以参考下
//获取标准输出
//第一种
result = sh returnStdout: true ,script: "<shell command>"
result = result.trim()
//第二种
result = sh(script: "<shell command>", returnStdout: true).trim()
//第三种
sh "<shell command> > commandResult"
result = readFile('commandResult').trim()
//获取执行状态
//第一种
result = sh returnStatus: true ,script: "<shell command>"
result = result.trim()
//第二种
result = sh(script: "<shell command>", returnStatus: true).trim()
//第三种
sh '<shell command>; echo $? > status'
def r = readFile('status').trim()
//无需返回值,仅执行shell命令
//最简单的方式
sh '<shell command>'

例如:
工作中需要获取shell 命令的执行状态,返回0或者非0
groovy语句写法为:

def exitValue = sh(script: "grep -i 'xxx' /etc/myfolder", returnStatus: true)
// 如果grep命令执行没有报错,正常情况下exitValue为0,报错则为非0
echo "return exitValue :${exitValue}"
if(exitValue != 0){
   //执行操作
}

需要注意的是当命令中存在重定向的时候,会出现返回状态异常,因为我们要返回状态,删除重定向(&>/dev/null)即可,比如:

def exitValue = sh(script: "grep -i 'xxx' /etc/myfolder &>/dev/null", returnStatus: true)
// xxx不存在,正常逻辑是返回非0,但是实际中返回的是0 。
// 可以理解为先执行命令然后赋值操作,类似下面的动作:(个人理解)
sh "ls -l > commandResult"
result = readFile('commandResult').trim()

groovy中存在另外一种解析shell脚本的方法,在jenkins pipeline中会使用会报异常,jenkins相关资料中也没有看到此种用法,应该是不支持

groovy.lang.MissingPropertyException: No such property: rhel for class: groovy.lang.Binding

写法为:

def command = "git log"
def proc = command.execute()
proc.waitFor()
def status = proc.exitValue()

到此这篇关于jenkins pipeline中如何获取shell命令的标准输出或者状态的文章就介绍到这了,更多相关jenkins pipeline获取shell命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell监控脚本实例—监控mysql主从复制

    shell监控脚本实例—监控mysql主从复制

    分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下
    2013-11-11
  • Shell脚本实现进度条的两种方式

    Shell脚本实现进度条的两种方式

    本文主要介绍了Shell脚本实现进度条的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • linux系统上传下载命令rz和sz的教程

    linux系统上传下载命令rz和sz的教程

    这篇文章主要介绍了linux系统上传下载命令rz和sz的安装测试方法,需要的朋友可以参考下
    2018-01-01
  • linux踢出远程登录用户命令(总结篇)

    linux踢出远程登录用户命令(总结篇)

    本文给大家总结了linux踢出远程登录用户命令,通过linux命令介绍了 tty 踢出登录的操作方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-01-01
  • Ubuntu不进入休眠模式的方法

    Ubuntu不进入休眠模式的方法

    下面小编就为大家带来一篇Ubuntu不进入休眠模式的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Shell实现的一些数学运算自定义函数分享

    Shell实现的一些数学运算自定义函数分享

    这篇文章主要介绍了Shell实现的一些数学运算自定义函数分享,本文的一些函数主要重写了加减乘除算法,需要的朋友可以参考下
    2014-12-12
  • shell编程基础之认识与学习BASH

    shell编程基础之认识与学习BASH

    本文介绍下,shell基础编程中有关bash的相关知识,有需要的朋友参考学习下
    2013-11-11
  • Linux忘记root密码进入单用户模式切换运行级别切换用户

    Linux忘记root密码进入单用户模式切换运行级别切换用户

    这篇文章主要介绍了Linux忘记root密码进入单用户模式切换运行级别切换用户,需要的朋友可以参考下
    2019-08-08
  • 详解linux下tree命令的用法

    详解linux下tree命令的用法

    tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY。下面通过本文给大家分享linux下tree命令的用法,感兴趣的朋友一起看看吧
    2017-09-09
  • linux中top命令详解

    linux中top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。本文给大家简单介绍下linux 中的top命令,感兴趣的朋友一起看看吧
    2017-10-10

最新评论