爲什麼PATH
在ruby中執行Shell
與Term中的路徑不同?我如何讓他們成爲eqv?
puts %x[echo $SHELL]
puts %x[echo $PATH].split(':').length
回報
/bin/bash
8
但在外殼:
/bin/bash
13
爲什麼PATH
在ruby中執行Shell
與Term中的路徑不同?我如何讓他們成爲eqv?
puts %x[echo $SHELL]
puts %x[echo $PATH].split(':').length
回報
/bin/bash
8
但在外殼:
/bin/bash
13
最有可能的,因爲%x
啓動shell不採購你的個人資料(它不是一個登錄shell)。如果是這樣的話,那麼你可以做
puts %x[bash --login -c 'echo $PATH']
我如何讓它成爲eqv?或加載我的個人資料到ruby%x shell? – 2012-02-16 21:59:32
@ Mr.DemetriusMichael,我正在更新我的答案,就像你在寫你的評論 – 2012-02-16 22:02:40
看起來不錯,但是當我把%x [bash --login -c'echo $ PATH'; wget www.google.com]'它給了我錯誤:'sh:wget:command not found'(wget在我的配置文件中,而不是登錄shell) – 2012-02-16 22:11:50
heh斐波那契序列。 – 2012-02-16 21:25:27