我需要知道Ruby加载路径中的内容,所以我这样做了:
$ ruby -e "puts $LOAD_PATH"
它没有打印任何内容,我没有期望。所以我尝试了这个:
$ ruby -e "puts $:"
/usr/local/lib/site_ruby/1.8
/usr/local/lib/site_ruby/1.8/i486-linux
/usr/local/lib/site_ruby/1.8/i386-linux
/usr/local/lib/site_ruby
/usr/lib/ruby/vendor_ruby/1.8
/usr/lib/ruby/vendor_ruby/1.8/i486-linux
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i486-linux
/usr/lib/ruby/1.8/i386-linux
.
为什么第二个给我预期的输出而第一个没有?它们不应该是一样的吗?我只是在irb
中尝试过,我得到了我期望的结果。
这是我的Ruby版本,如果它有所不同:
$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
答案 0 :(得分:6)
他们不是。尝试运行此命令:
$ ruby -e 'puts $LOAD_PATH'
由于使用$LOAD_PATH
而不是'
,不会使shell展开"
。