我现在正在寻求帮助,因为我一直在努力使用一个简单的sed
命令在一个需要一点变量插值的Jenkins文件中调用。
更好地显示命令而不是大的解释:
sh "sed -i -e 's/-RELEASE/-${unixEpoch}/g' myFile"
sed
不同意此语法,并打印出命令s/
未完成。
我已阅读有关String和GString的Groovy文档,但我仍然不明白我做错了什么?
有关此的任何线索吗?
编辑:
我通过调用unixEpoch
获取date +%s
以获取当前时间戳。
我打印命令只是为了确定执行了什么,我找到了:
sed -i -e 's/-RELEASE/-1525341883'
/g' myFile
sed
发送的完整错误是:
sed: -e expression #1, char 22: unterminated 's' command
我发现打印的命令在其中间有一个\n
,我觉得很奇怪......
答案 0 :(得分:2)
date +%s
最后有一个换行符,当您将其插入生成的sed
时,它会包含该换行符,解释了sed
抱怨的原因。在使用之前,您可以${unixEpoch.trim()}
或修剪unixEpoch
值。