pco*_*ort 6 bash jenkins jenkins-pipeline
我有一个输出字符串,我想对它运行'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
Run Code Online (Sandbox Code Playgroud)
任何提示都很棒!到目前为止,我唯一发现的是使用eval的人,但这对我不起作用。任何提示都很棒!
您可以使用 ,而不是纠结于引号和转义符,def如下所示:
def command = $/"echo ${spawnServer} | jq .[0] | tr -d '\"'"/$
res = sh(returnStdout: true, script: command).trim()
sh("echo ${res}")
Run Code Online (Sandbox Code Playgroud)