【发布时间】:2017-05-23 04:28:15
【问题描述】:
我想使用我在 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 脚本中转义 "。
【问题讨论】:
标签: shell jenkins groovy jenkins-pipeline jenkinsfile