Dag*_*Dag 8 bash shell groovy backticks
我无法使用Groovy执行具有反引号的shell命令.一个简化的例子:
println "echo `date`".execute().text
Run Code Online (Sandbox Code Playgroud)
我四处寻找并试图弄清楚如何以某种方式逃脱它们,但没有运气.
Fai*_*aiz 12
如果你尝试会发生什么:
println ["bash", "-c", "echo `date`"].execute().text
Run Code Online (Sandbox Code Playgroud)
我的猜测是
"echo `date`".execute()
Run Code Online (Sandbox Code Playgroud)
Runtime#exec(String)
如果你正在调用execute()
String ,那么java 将在下面使用.在这种情况下,这只是标记字符串并echo
使用参数执行程序
`date`
Run Code Online (Sandbox Code Playgroud)
要么
$(date)
Run Code Online (Sandbox Code Playgroud)
但那是shell(bash)语法,必须通过bash执行.