我有一个输出字符串,我想对其运行“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
, as in:
def command = $/"echo ${spawnServer} | jq .[0] | tr -d '\"'"/$
res = sh(returnStdout: true, script: command).trim()
sh("echo ${res}")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)