在ruby中使用$和ENV访问环境变量

时间:2015-09-14 19:45:08

标签: ruby environment-variables env

我正在尝试访问〜/ .bashrc

中设置的环境变量

在〜/ .bashrc中我设置了

export testdata = <some path>

没有&lt;&gt;当然。 我可以补充一点,我也尝试添加

testdata=<some path>

到/ etc / environment

当我还在shell中时,我可以做到

echo $testdata

结果给出了 在我的脚本中我可以做

puts ENV['testdata']

将打印 到现在为止还挺好。但是我的另一个脚本不是由我写的,其中有一行像

if $testdata then
#some code
end

应该在设置环境变量时执行代码。但是这段代码对我不起作用。只有当我用ENV []替换$时,代码才会被执行。

1 个答案:

答案 0 :(得分:3)

这是预期的行为。 $var是Ruby中的global variable,而不是环境变量。要访问环境变量,正如您所说,您需要使用ENV['var']