繁体   English   中英

Jenkins管道,bash和管道

[英]Jenkins pipeline, bash, and pipes

我有一个输出字符串,我想对它运行'tr'和'jq'命令。 这样的管道有意义, IP= sh(script: "echo $spawnServer | jq .[0] | tr -d '\\"'", returnStdout: true)不幸的是,詹金斯管道讨厌管道,所以我得到的是

+ tr -d '"'
+ jq '.[0]'
+ echo '[' 172.31.79.253, 'i-0d65b431f18a385d0]'
parse error: Invalid numeric literal at line 1, column 16

任何提示都很棒! 到目前为止,我唯一发现的是使用eval的人,但这对我不起作用。 任何提示都很棒!

除了使用引号和转义符,还可以使用def ,如下所示:

def command = $/"echo ${spawnServer} | jq .[0] | tr -d '\"'"/$

res = sh(returnStdout: true, script: command).trim()
sh("echo ${res}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM