0

Groovy スクリプトで、シェル スクリプト部分で変数にアクセスできないという問題に直面しています。

スクリプト-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?つまり、シェルスクリプト部分で変数 $a を渡すために必要な操作は何ですか。

私は、Groovy 変数がシェル部分に表示されないという問題に直面している Jenkins パイプラインのコンテキストでこのスクリプトを書いています。

4

1 に答える 1