8

我无法使用 Groovy 执行带有反引号的 shell 命令。一个简化的例子:

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

我四处搜寻并试图弄清楚如何以某种方式逃脱它们,但没有运气。

4

1 回答 1

12

如果您尝试:

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

我的猜测是

"echo `date`".execute() 

如果你调用一个字符串, javaRuntime#exec(String)将在下面使用。execute()在这种情况下,这只是标记字符串并echo使用参数执行程序

`date`

或者

$(date)

但这是 shell (bash) 语法,必须通过 bash 执行。

于 2013-01-11T16:22:43.550 回答