8

Groovyを使用して、バッククォートのあるシェルコマンドを実行できません。簡単な例:

println "echo `date`".execute().text

私は周りを探して、どうにかしてそれらを逃れる方法を見つけようとしましたが、運がありませんでした。

4

1 に答える 1

12

試してみるとどうなりますか:

println ["bash", "-c", "echo `date`"].execute().text

私の推測では、

"echo `date`".execute() 

StringRuntime#exec(String)を呼び出している場合は、Javaがその下で使用されます。execute()その場合、これは単に文字列をトークン化echoし、引数でプログラムを実行します

`date`

また

$(date)

しかし、これはシェル (bash) 構文であり、bash 経由で実行する必要があります。

于 2013-01-11T16:22:43.550 に答える