为什么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