$ foo='A="1 2" B=3' sh -c 'ruby -e "p ARGV" $foo'
["A=\"1", "2\"", "B=3"]
代わりにどうすれば入手でき["A=1 2", "B=3"]
ますか?
そんなこと知ってる:
sh -c 'ruby -e "p ARGV" A="1 2" B=3'
["A=1 2", "B=3"]
foo
しかし、私の本当の問題はJenkinsジョブの「シェル実行プロセス」にあるため、変数が必要です。
編集:同じシェルで配列を使用する
$ foo=(A="1 2" B=3) && ruby -e "p ARGV" $foo
["A=1 2", "B=3"]
ただし、配列を環境変数として伝播することはできません。
$ foo=(A="1 2" B=3) sh -c 'ruby -e "p ARGV" $foo'
[]