繁体   English   中英

包含env vars的文件未加载

[英]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

我试过看这个答案,但我似乎无法看到我做错了什么

在OS X中设置环境变量?

不会从$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM