我正在尝试在我的rails应用中使用env变量,并在 ubuntu 14.04
中设置这些变量值我尝试使用导出命令进行设置
export mongodb_username="abc"
export mongodb_password="cde"
并尝试在 / etc / environment 和〜/ .bashsrc
中设置它们和 printenv 给出以下结果
>> printenv mongodb_username
=> abc
>> printenv mongodb_password
=> cde
但是 RAILS APP 或 irb 输出正在跟随
>> ENV['mongodb_password']
=> nil
>> ENV['mongodb_username']
=> nil
我错过了什么?请帮忙!!!
答案 0 :(得分:4)
使用export
设置环境变量的值时,该值仅在设置它的shell及其子shell中可用。因此,您需要在每个需要它们的shell中导出这些变量。
但是,当然可以自动执行此操作。
如果您经常需要变量,一种方法是将其分配放在shell脚本中,然后在您需要的任何shell中 source shell脚本(请参阅http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html了解更多信息)。
如果可以让变量在 all shell中生效,那么更简单的方法是从启动脚本中导出它们(可能是~/.bashrc
)。