5
バック・チックを持つシェル・コマンドを実行するためにGroovyを使用することができません。簡単な例:Groovyを使用して、バックティックを持つシェルコマンドを実行するにはどうすればよいですか?
println "echo `date`".execute().text
私は周りに検索し、何とかそれをエスケープする方法を見つけ出すことを試みたが、運なし。あなたがしようとした場合どうなります
バック・チックを持つシェル・コマンドを実行するためにGroovyを使用することができません。簡単な例:Groovyを使用して、バックティックを持つシェルコマンドを実行するにはどうすればよいですか?
println "echo `date`".execute().text
私は周りに検索し、何とかそれをエスケープする方法を見つけ出すことを試みたが、運なし。あなたがしようとした場合どうなります
:
println ["bash", "-c", "echo `date`"].execute().text
私の推測がされることと
"echo `date`".execute()
JavaのRuntime#exec(String)
あなたは文字列のを呼び出した場合は、下に使用されます。その場合には、これは単純に文字列をトークン化し、引数
`date`
または
$(date)
でプログラムecho
を実行しますが、それはシェル(bashの)構文だし、bashを介して実行されなければなりません。
ほとんどのprintlnはこれに問題がありましたが、それを2行に分割しています: 'def process = [" bash "、" -c "、command] .execute(); println process.text' – Dag