Qua*_*Bit 3 variables bash shell groovy
这里有点麻烦.我试图运行一个片段,如:
println 'echo $PATH'.execute().getText()
Run Code Online (Sandbox Code Playgroud)
我期望得到系统$ PATH变量的内容.但是,我改为:
$PATH
Run Code Online (Sandbox Code Playgroud)
我的猜测是$被转义,因此没有被bash评估.我也尝试了命令构建器语法,结果相同.有什么建议?
与Java一样Runtime.exec(),您需要实例化一个shell,以便该shell变量PATH对进程可见...
这应该工作:
['sh', '-c', 'echo $PATH' ].execute().text
Run Code Online (Sandbox Code Playgroud)
如果您只是想获得PATH,那么更简单,更便携的方法就是使用它System.getenv().例如:
println System.getenv('PATH')
Run Code Online (Sandbox Code Playgroud)