如何在 Jenkins Groovy 中的多行 shell 脚本中设置变量?
How to set variables in a multi-line shell script within Jenkins Groovy?
假设我在 Jenkins 中有一个 Groovy 脚本,其中包含一个多行 shell 脚本。如何在该脚本中设置和使用变量?正常方式产生错误:
sh """
foo='bar'
echo $foo
"""
Caught: groovy.lang.MissingPropertyException: No such property: foo for class: groovy.lang.Binding
您需要更改为三重单引号 '''
或转义美元 $
然后您将跳过 groovy 模板,这就是给您带来这个问题的原因
我只是在行尾加了一个'\'
sh script: """\
foo='bar' \
echo $foo \
""", returnStdout: true
这条语句适用于我的脚本。
假设我在 Jenkins 中有一个 Groovy 脚本,其中包含一个多行 shell 脚本。如何在该脚本中设置和使用变量?正常方式产生错误:
sh """
foo='bar'
echo $foo
"""
Caught: groovy.lang.MissingPropertyException: No such property: foo for class: groovy.lang.Binding
您需要更改为三重单引号 '''
或转义美元 $
然后您将跳过 groovy 模板,这就是给您带来这个问题的原因
我只是在行尾加了一个'\'
sh script: """\
foo='bar' \
echo $foo \
""", returnStdout: true
这条语句适用于我的脚本。