【问题标题】:Print $PATH from groovy - characters getting escaped?从 groovy 打印 $PATH - 字符被转义?
【发布时间】:2011-04-19 21:07:07
【问题描述】:

这里有点麻烦。我正在尝试运行一个 sn-p,例如:

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

而且我希望能取回系统 $PATH 变量的内容。但是,我反而得到:

$PATH

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

【问题讨论】:

  • 您是在 Windows 还是 Linux 上运行?
  • 仅供参考,MacOS X 10.6 :D 现在一切就绪,谢谢!

标签: bash shell variables groovy


【解决方案1】:

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

这应该可行:

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

【讨论】:

  • 谢谢!这让我发疯了! :)
【解决方案2】:

如果您只是想获取 PATH,使用System.getenv() 是一种更简单、更便携的获取方式。例如:

println System.getenv('PATH')

【讨论】:

  • 感谢您的评论 - 我实际上并不需要 $PATH,这只是我的示例,但您的信息将很有用!谢谢!
猜你喜欢
  • 2019-02-11
  • 1970-01-01
  • 2014-05-11
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多