如何在AWS EC2 Linux

时间:2016-12-29 21:57:29

标签: java linux amazon-web-services amazon-ec2

我正在用Java编写应用程序,我需要在AWS EC2机器(Linux)中使用环境变量。我在应用程序中使用System.getenv("myvariable")来获取特定的环境变量。我需要设置永久环境变量,目前我已将变量设置为~/.bashrc~/.profile~/.bash_profile。 我在3个文件中提供了 export myvariable=xyz ,然后我运行了 source ~/.bashrc source ~/.profile ,的 source ~/.bash_profile 即可。但是我在应用程序中变为null。

即使我在~/.bash_profile导出变量,我仍然无法理解为什么我无法获取任何环境变量。我甚至通过运行 echo $myvariable <进行了检查/ strong>我可以看到 xyz

如果我在本地MAC机器中设置相同的环境变量,就像我在上面设置的那样,使用相同的shell运行相同的java代码,我可以看到带有值的变量。

所以基本上我每次都在我的AWS EC2 linux机器上得到null。

我需要设置变量吗?我甚至重新启动了机器,但它没有帮助。

1 个答案:

答案 0 :(得分:3)

听起来问题是你如何设置env变量。默认情况下,Sudo不会保留它们,因此您需要使用sudo -E选项。

How to keep Environment Variables when Using SUDO

中有更详细的解释