gpt4 book ai didi

ruby-on-rails - 有没有办法从 Linux 命令行返回环境变量 RAILS_ENV 的值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:28 25 4
gpt4 key购买 nike

在 Linux 中,您可以使用命令 echo $PATH 找到 $PATH 环境变量的值。在 Rails 中,RAILS_ENV(以及类似的 RACK_ENV)是一个具有诸如“development”和“production”之类的值的环境变量。但是在命令行上,echo RAILS_ENV 返回无用的字符串 RAILS_ENV(如您所料)并且 echo $RAILS_ENV 不返回任何内容(大概是因为这不是环境变量的名称)。我也尝试过 env RAILS_ENV 和变体。我是语法错误还是什么?

我认为基本上环境变量在 Rails 运行之前不存在吗?好吧...我尝试在一个终端中运行 Rails 服务器,然后打开另一个终端并重复上述命令;没有骰子。

或者是 Linux 或我的 shell 没有跟踪这个环境变量的问题?但是......作为一个环境变量,它不是必须的吗?我尝试在 env 命令的输出中查找它,但没有找到。

是否有可能发现 RAILS_ENV 环境变量的值的唯一方法是通过 Rails 本身,例如,通过调用 Rails.env

更新:this helpful discussion给出命令 rails r "puts Rails.env",但我正在寻找一个不调用 Rails 本身的命令。

最佳答案

echo $RAILS_ENV 你是对的。它可能未设置,因此默认为开发。这是在 Rails 代码库中完成的。

$ export RAILS_ENV=development
$ echo $RAILS_ENV #=> development

在另一个控制台

# In a new window
$ echo $RAILS_ENV
$ rails runner "puts Rails.env" #=> development
$ RAILS_ENV=test rails runner "puts Rails.env" #=> test

未设置 RAILS_ENV 变量,rails 默认为开发

这是 Bash 中的等价物。

if [ -z "$RAILS_ENV" ]; then
export RAILS_ENV="development";
fi
echo $RAILS_ENV

关于ruby-on-rails - 有没有办法从 Linux 命令行返回环境变量 RAILS_ENV 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com