$ LOAD_PATH和$:如何不同?

Ben*_*kes 3 ruby load-path

我需要知道我的Ruby加载路径中有什么,所以我这样做了:

$ ruby -e "puts $LOAD_PATH"
Run Code Online (Sandbox Code Playgroud)

它没有打印任何东西,我想到.所以我尝试了这个:

$ 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
.
Run Code Online (Sandbox Code Playgroud)

为什么第二个给我预期的输出而第一个没有?它们不应该是一样的吗?我刚尝试过irb,我得到了我期望的结果.

这是我的Ruby版本,以防它有所不同:

$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Run Code Online (Sandbox Code Playgroud)

P S*_*ved 6

他们不是.尝试运行此命令:

$ ruby -e 'puts $LOAD_PATH'
Run Code Online (Sandbox Code Playgroud)

$LOAD_PATH由于使用'而不是使shell扩展".