包含未加载 env 变量的文件



我正在尝试让我的系统自动加载一个包含一些环境变量的文件以在我的 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

我试过看这个答案,但我似乎看不出我做错了什么

在 OS X 中设置环境变量?

不要使用exit关键字。将代码插入.bash_profile,或将其存储到特定文件中,例如your_script.sh,然后从.bash_profile调用,如下所示:

. your_script.sh

环境变量不会从$PATH上找到的文件读取;当您在 shell 中键入命令时,将搜索您的$PATH以查找可执行文件

要加载变量,您需要"源"文件:

# .bash_profile
source /Users/Moche/env_vars

(请注意,您还需要初始/才能使文件名绝对化。

另外,由于您使用的是 Ruby,因此您可能对使用 dotenv gem 感兴趣。 dotenv 允许您在 Rails 项目根目录下的.env文件中指定环境变量,并在启动时自动加载它们。这使每个项目所需的变量接近代码,并使项目更具可移植性(例如,您可以使用它部署在 Heroku 等服务上)。只要确保不要将.env提交到版本控制中,如果其中包含任何敏感信息,如密码!

相关内容

  • 没有找到相关文章

最新更新