shell脚本解析服务端返回的JSON数据
1、linux安装jq
yum install -y jq
安装成功截图,如下
2、为处理jq返回
数据,可以去下载并安装sed
JSON
。您可以使用它来切片和过滤以及映射和转换结构化数据,同样方便sed
,awk
,grep
为非结构化数据。
< curl command > | jq --raw-output '.AssetID'
并将其存储在变量use command-substitution语法中以运行命令并返回结果。
asset_ID=$( < curl command > | jq --raw-output '.AssetID' )
在curl
命令中,删除-i
标志,仅输出JSON
数据而不显示标题信息
3、解析服务端返回的json数据
RESULT=$(curl -k -s http://www.baidu.com)
#比如$RESULT返回的json数据为{"user":"test","mobile":"123456"}
#不加echo的话,它不会返回
USER=$(echo ${RESULT} | jq '.user')
echo $USER
curl命令触发jenkins job任务
linux下解析json格式的jq工具
1、在jenkins中插入 shell脚本
脚本思路解析:
1.for循环待运行的job
2.curl获取jenkins job编号
3.curl触发运行jenkins job
4.查询job是否构建完成做轮询处理,每隔1分钟查询一次,最多查询5次,超过5次跳出循环不在轮询,直接运行下一个job
5.运行job,效果图如下
完整版shell脚本运行jenkins job下载地址:
(18条消息) linuxshell脚本控制运行jenkinsjob.sh,用到curl请求运行job,jq处理json,shell脚本-Unix文档类资源-CSDN文库https://download.csdn.net/download/baidu_31295661/76297234附linux if条件判断使用
条件表达式 if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
注意[ ]内的字符串和 ]之间要有空格