[英]Unable to run shell script inside Jenkins pipeline
我能够运行以下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}"
有人能帮我吗?
这应该工作。
node('buildnode') {
def value = "Myvalue"
def key = "Mykey"
sh """
DATA=\$(printf "%-50s \"${key}\" \"${value}\"")
echo "\$DATA"
"""
}
在""" """
下调用新的子shell时,还需要转义$
DATA=$(printf "%-50s \"${key}\" \"${value}\"")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.