【问题标题】:Stuck with environmental variables陷入环境变量
【发布时间】:2015-12-29 14:52:51
【问题描述】:

Ubuntu 14.04 LTS。 导轨 4.2.5

在 Ubuntu 终端中我做了:

1. FOOD2FORK_KEY="359c93f1c292c674d95237ca05fe87cc"
2. export FOOD2FORK_KEY

现在我可以检查: 设置 | grep FOOD2FORK_KEY

然后得到

FOOD2FORK_KEY=359c93f1c292c674d95237ca05fe87cc
_=FOOD2FORK_KEY

如果在终端中我启动 irb 并写入: puts ENV["FOOD2FORK_KEY"]||"它是空的"

我明白了:

359c93f1c292c674d95237ca05fe87cc
=> nil

但如果我尝试在 Eclipse 中运行 test.rb,我会得到“It is nill”。 换句话说,我的项目需要设置这个环境变量。 但不知怎的,我无法应对这个问题。

您能帮我理解这个环境变量是什么以及为什么会这样吗?我怎样才能让它在我的项目中可见?

谢谢你。

【问题讨论】:

    标签: ruby linux ubuntu-14.04


    【解决方案1】:

    你有两个选择:

    • 将您的环境变量添加到/etc/environment,这样它们就可以持久化并且在系统范围内可用(更多信息:https://help.ubuntu.com/community/EnvironmentVariables
    • 在Eclipse项目配置中添加那些环境变量(我没有使用Eclipse,但是应该位于Run -> Run Configurations... and Select tab "Environment"

    【讨论】:

      【解决方案2】:

      只是为了解释为什么您会看到这种行为:

      当您export 一个变量时,任何child processes 都可以看到它。当您从终端中的 shell 启动 irb 时,irb 是 shell 的子项,因此值是可见的。但是,如果您单独启动 Eclipse,例如来自不同的终端或 GUI,则从那里看不到该值。

      hugomarisco's 建议是解决此问题的两种好方法。

      【讨论】:

        猜你喜欢
        • 2020-10-07
        • 1970-01-01
        • 2014-09-30
        • 2020-07-22
        • 2018-04-23
        • 1970-01-01
        • 2020-12-07
        • 1970-01-01
        相关资源
        最近更新 更多