2011-04-19 41 views
2

這裏有點麻煩。我試圖運行一個片段,如:

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

我希望得到系統$ PATH變量的內容回來。然而,我反而得到:

$PATH 

我的猜測是,$被轉義,因此沒有評價bash。我也嘗試過命令生成器語法,結果相同。有什麼建議麼?

+0

您是在Windows還是Linux上運行? – ccheneson 2011-04-19 21:14:01

+0

僅供參考,MacOS X 10.6:D現在所有設置,謝謝! – Quad64Bit 2011-04-21 15:18:07

回答

4

與Java的Runtime.exec(),你需要實例化一個殼,以使這個shell變量PATH是對過程可視化...

這應該工作:

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

謝謝!這讓我瘋狂! :) – Quad64Bit 2011-04-21 15:14:22

4

如果」只是尋找PATH,一個更簡單,更便攜的方式來獲得它是與System.getenv()。例如:

println System.getenv('PATH') 
+0

感謝您的評論 - 我實際上並不需要$ PATH,這僅僅是我的例子,但您的信息將是有用的!謝謝! – Quad64Bit 2011-04-21 15:14:55