如何使用Groovy执行具有反引号的shell命令?

时间:2013-01-11 16:17:18

标签: bash shell groovy backticks

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

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

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

1 个答案:

答案 0 :(得分:11)

如果你尝试会发生什么:

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

我的猜测是

"echo `date`".execute() 
如果您在字符串上调用Runtime#exec(String),则会在下面使用

java execute()。在这种情况下,这只是标记字符串并使用参数

执行程序echo
`date`

$(date)

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