从groovy打印$ PATH - 字符被转义?

时间:2011-04-19 21:07:07

标签: bash shell variables groovy

这里有点麻烦。我试图运行一个代码片段,如:

println 'echo $PATH'.execute().getText()

我期望得到系统$ PATH变量的内容。但是,我改为:

$PATH

我的猜测是$被转义,因此没有被bash评估。我也尝试了命令构建器语法,结果相同。有什么建议吗?

2 个答案:

答案 0 :(得分:5)

与Java的Runtime.exec()一样,您需要实例化一个shell,以便该shell变量PATH对进程可见...

这应该有效:

['sh', '-c', 'echo $PATH' ].execute().text

答案 1 :(得分:5)

如果你只是想获得PATH,那么使用System.getenv()就可以获得更简单,更便携的方法。例如:

println System.getenv('PATH')