Вывести $ PATH из groovy - символы убегают? - PullRequest
3 голосов
/ 20 апреля 2011

Немного проблем здесь. Я пытаюсь запустить такой фрагмент, как:

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

И я ожидаю получить обратно содержимое системной переменной $ PATH. Однако вместо этого я получаю:

$PATH

Я предположил, что $ экранируется, и поэтому bash не оценивает его. Я также попробовал синтаксис компоновщика команд, тот же результат. Есть предложения?

Ответы [ 2 ]

5 голосов
/ 20 апреля 2011

Если вы просто хотите получить PATH, более простой и переносимый способ получить его - System.getenv(). Например:

println System.getenv('PATH')
5 голосов
/ 20 апреля 2011

Как и в Java Runtime.exec(), вам нужно создать экземпляр оболочки, чтобы эта переменная оболочки PATH была видна процессу ...

Это должно работать:

['sh', '-c', 'echo $PATH' ].execute().text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...