我能够运行以下shell脚本,但无法从Jenkins管道代码运行。
尝试1。
node('buildnode') {
def value = "Myvalue"
def key = "Mykey"
sh '''
DATA=$(printf "%-50s \"$key\"" "$value")
echo "$DATA"
'''
}
输出:
++ printf '%-50s ' ''
+ DATA='
尝试2:
用sh" " "
DATA=$(printf "%-50s \"$key\"" "$value")
echo "$DATA"
" " "
输出:
美元符号后的非法串体字符; 解决方案:要么转义一个字面的美元符号
"\$5"
,要么包含值表达式"${5}"
有人可以帮助我吗?
答案 0 :(得分:3)
这应该有用。
node('buildnode') {
def value = "Myvalue"
def key = "Mykey"
sh """
DATA=\$(printf "%-50s \"${key}\" \"${value}\"")
echo "\$DATA"
"""
}
在""" """
DATA=$(printf "%-50s \"${key}\" \"${value}\"")