System.getenv没有找到环境变量

时间:2015-08-14 18:54:56

标签: java scala ubuntu amazon-ec2 jvm

我无法在EC2上的Ubuntu insance上获取环境变量。

以下是/etc/environment文件中的内容:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
DATABASE_URL="postgres://postgres:postgres@localhost:5432/suredbitsweb"

现在当我加载Scala解释器时,我尝试执行以下操作:

^Cubuntu@ip-172-31-35-31:~/suredbits-web$ sudo sbt console
[info] Loading project definition from /home/ubuntu/suredbits-web/project
[info] Set current project to suredbits-web (in build file:/home/ubuntu/suredbits-web/)
[info] Downloading Bower dependencies for suredbits-web
[info] https://github.com/MrRio/jsPDF.git#1.0.272
[info] 1.0.272 against https://github.com/MrRio/jsPDF.git#~1.0.272
[info] git://github.com/bitpay/bitcore-ecies.git#0.10.2
[info] 0.10.2 against git://github.com/bitpay/bitcore-ecies.git#^0.10.0
[info] git://github.com/bitpay/bitcore.git#0.10.4
[info] 0.10.4 against git://github.com/bitpay/bitcore.git#^0.10.4
[info] git://github.com/bitpay/bitcore-explorers.git#0.10.4
[info] 0.10.4 against git://github.com/bitpay/bitcore-explorers.git#~0.10.4
[info] git://github.com/bitpay/bitcore-message.git#0.10.1
[info] 0.10.1 against git://github.com/bitpay/bitcore-message.git#~0.10.1
[info] Starting scala interpreter...
[info] 
Welcome to Scala version 2.11.4 (OpenJDK 64-Bit Server VM, Java 1.7.0_79).
Type in expressions to have them evaluated.
Type :help for more information.

scala> System.getenv("PATH");
res0: String = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

scala> System.getenv("DATABASE_URL");
res1: String = null

scala> 

我重新启动了#39;我的EC2实例希望这有助于获取新的环境变量。我也尝试将环境变量添加到我的~/.bashrc,但这并不起作用。

2 个答案:

答案 0 :(得分:2)

我看到问题是使用sudo命令运行它。它会导致环境变量的覆盖。要保存环境变量,请使用-E标志运行它,即

sudo -E sbt console

答案 1 :(得分:0)

首先,检查echo $PATHecho $DATABASE_URL的输出。

其次,检查您是否从正确的用户启动了scala解释器。

仅供参考:scala中不需要分号。