我想在我的Jenkinsfile
脚本中使用我正在使用的变量,然后将其值传递给shell脚本执行(作为环境变量或命令行参数)。如何将变量从Jenkinsfile传递到shell命令
但以下Jenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
给人的输出:
a
from shell i=
b
from shell i=
c
from shell i=
所需的输出是一样的东西:
a
from shell i=a
b
from shell i=b
c
from shell i=c
任何想法如何的i
值传递给shell scipt?
编辑:基于Matt's答案,我现在用的这个解决方案:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
的好处是,我不需要逃避shell脚本的"
。
而是我不能查,也尽量围绕VAR这样$ {I} – chenchuk
两者都行不通。检查groovy语法,'''和'''''之间的区别仅仅是单行字符串对多行字符串。 – Joe
我相信“sh”“”'会起作用,即三重双引号而不是三重单引号 –