[英]file containing env vars not loading
我试图让我的系统自动加载包含一些环境变量的文件,以便在我的rails项目中使用,而不是仅仅将它们导出到shell但我似乎无法让它工作。
我正在使用mac osx 10.6
这些是我遵循的步骤。
nano .bash_profile
export PATH=Users/Moshe/env_vars:$PATH
touch env_vars
nano env_vars
DEV_DB=TestDB
export DEV_DB
DEV_DB_HOST=12.34.56.78
export DEV_DB_HOST
exit
我重新打开外壳
printenv
但我没有看到我设置的变量
但是当我echo $PATH
时,我Users/Moshe/env_vars
在路径中看到了Users/Moshe/env_vars
我试过看这个答案,但我似乎无法看到我做错了什么
不会从$PATH
上找到的文件中读取环境变量; 在shell中键入命令时,会搜索$PATH
以查找可执行文件 。
要加载变量,您需要“替换”文件:
# .bash_profile
source /Users/Moche/env_vars
(请注意,您还需要初始值/
使文件名为绝对值。)
此外,由于您使用的是Ruby,因此您可能对使用dotenv gem感兴趣。 dotenv允许您在Rails项目的根目录中的.env
文件中指定环境变量,并在启动时自动加载它们。 这使得每个项目所需的变量保持接近代码,并使您的项目更具可移植性(例如,您可以使用它来部署在像Heroku这样的服务上)。 如果它有任何敏感信息,如密码,请确保您不将.env
提交到您的版本控制中!
不要使用exit
关键字。 将代码插入.bash_profile ,或将其存储到特定文件中,例如your_script.sh ,并从.bash_profile调用,如下所示:
. your_script.sh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.