坚持环境变量

时间:2015-12-29 14:52:51

标签: ruby linux ubuntu-14.04

Ubuntu 14.04 LTS。 Rails 4.2.5

在Ubuntu终端我做了:

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

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

得到

FOOD2FORK_KEY=359c93f1c292c674d95237ca05fe87cc
_=FOOD2FORK_KEY

如果在终端我启动irb并写: 把ENV [" FOOD2FORK_KEY"] ||"它是nill"

我明白了:

359c93f1c292c674d95237ca05fe87cc
=> nil

但是如果我尝试在Eclipse中运行test.rb,我会得到"它是nill"。 换句话说,我的项目需要设置此环境变量。 但不知怎的,我无法解决这个问题。

你能帮我理解这种环境变化的原因和原因吗?我怎样才能在项目中看到它?

先谢谢你。

2 个答案:

答案 0 :(得分:2)

您有两种选择:

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

答案 1 :(得分:1)

只是添加一个解释为什么您会看到此行为:

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

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