我有一个API密钥,我保存到/home/user/api/keys
,我希望将其保存为我的Rails应用程序中的全局变量。我认为这会有用,这是我的config/initializers/my_constants.rb
:
`source "/home/user/api/keys"`
API_PASS = ENV["API_PASSWORD"]
这是/home/user/api/keys
(显然没有真正的价值):
#!/bin/bash
export API_PASSWORD="--------"
source命令似乎没有做任何事情。 API_PASS设置为nil。我怎么能这样做?
答案 0 :(得分:3)
上面不会起作用,因为反引号命令启动它自己的shell并结束它,所以这些变量永远不会包含在你的脚本的其余部分中。
我认为您必须自己解析文件并将条目添加到ENV。我会看看dotenv gem,看看你是否可以将它指向你自己的环境文件。他们为你完成了所有艰苦的工作。