在 ruby 中使用 $ 和 ENV 访问环境变量
Accesing environment variables with $ and ENV in ruby
我正在尝试访问 ~/.bashrc 中设置的环境变量
我在~/.bashrc 中设置了
export testdata = <some path>
当然没有<>。
我可以补充一点,我也尝试添加
testdata=<some path>
到/etc/environment
当我还在的时候shell我可以做到
echo $testdata
结果为
在我的脚本中我可以做
puts ENV['testdata']
这将打印
到目前为止,一切都很好。但是我的另一个脚本不是我写的,其中有一行
if $testdata then
#some code
end
这应该只是在设置环境变量时执行代码。但是这段代码对我不起作用。只有当我用 ENV[] 替换 $ 时,代码才能正确执行。
这是预期的行为。 $var
是 Ruby 中的 global variable,而不是环境变量。如您所说,要访问环境变量,您需要使用 ENV['var']
。
我正在尝试访问 ~/.bashrc 中设置的环境变量
我在~/.bashrc 中设置了
export testdata = <some path>
当然没有<>。 我可以补充一点,我也尝试添加
testdata=<some path>
到/etc/environment
当我还在的时候shell我可以做到
echo $testdata
结果为 在我的脚本中我可以做
puts ENV['testdata']
这将打印 到目前为止,一切都很好。但是我的另一个脚本不是我写的,其中有一行
if $testdata then
#some code
end
这应该只是在设置环境变量时执行代码。但是这段代码对我不起作用。只有当我用 ENV[] 替换 $ 时,代码才能正确执行。
这是预期的行为。 $var
是 Ruby 中的 global variable,而不是环境变量。如您所说,要访问环境变量,您需要使用 ENV['var']
。