Groovyを使用して、バッククォートのあるシェルコマンドを実行できません。簡単な例:
println "echo `date`".execute().text
私は周りを探して、どうにかしてそれらを逃れる方法を見つけようとしましたが、運がありませんでした。
試してみるとどうなりますか:
println ["bash", "-c", "echo `date`"].execute().text
私の推測では、
"echo `date`".execute()
StringRuntime#exec(String)
を呼び出している場合は、Javaがその下で使用されます。execute()
その場合、これは単に文字列をトークン化echo
し、引数でプログラムを実行します
`date`
また
$(date)
しかし、これはシェル (bash) 構文であり、bash 経由で実行する必要があります。