我在 Groovy 脚本中遇到问题,其中变量在 shell 脚本部分中不可访问。
脚本 1:
def a=20;
println ("a is: $a");
输出 1:
a is: 20
脚本 2:
def a=20;
println ("a is: $a");
sh '''echo a is $a''';
输出 2:
groovy.lang.MissingMethodException:没有方法签名:Script1.sh() 适用于参数类型:(java.lang.String) 值:[echo a is $a] 可能的解决方案:use([Ljava.lang.Object; ), is(java.lang.Object), run(), run(), any(), with(groovy.lang.Closure) at Script1.run(Script1.groovy:3)
我怎样才能$a = 20
进入外壳部分sh
。换句话说,在 shell 脚本部分传递变量 $a 需要什么操作。
我在 Jenkins 管道的上下文中编写这个脚本,我遇到了一个问题,即常规变量在 shell 部分中不可见。