私のJenkinsfile
スクリプトの中で使用している変数を使用し、その値をシェルスクリプトの実行に(環境変数またはコマンドラインパラメータとして)渡します。Jenkinsfileからシェルコマンドに変数を渡す方法
しかし、次のJenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
は、出力を提供します:
a
from shell i=a
b
from shell i=b
c
from shell i=c
にi
の値を渡す方法任意のアイデア:
a
from shell i=
b
from shell i=
c
from shell i=
所望の出力は次のようなものですシェルのscipt?
編集:はMatt's答えに基づいて、私は今、このソリューションを使用します。
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
利点は、私はシェルスクリプトで"
をエスケープする必要がないこと、です。
の
代わりに使用するために私がチェックするだけでなく、 – chenchuk
この$ {I}のようなVARを囲むようにしてみてくださいカント両方とも動作しません。 groovyの構文を調べると、 '' 'と' '' ''の違いは、単一行対複数行の文字列だけです。 – Joe
私は 'sh '" "'がうまくいくと思っています。つまり、三重引用符の代わりに三重二重引用符 –