java - 在谷歌云实例 rhel7 中导出变量

标签 java linux google-compute-engine rhel7

我从 RHEL7 镜像创建了一个实例。

/opt/jdk1.7 安装 java 并编辑 /etc/enviroment 以包含 PATH=/opt/jdk1.7/bin:$PATH

现在执行重启。

现在,当我尝试登录时,它允许使用电子邮件 ID 的第一部分登录,然后它要求输入密码。

现在我以 xyz 身份登录。

现在我输入 java -version 它给了我正确的版本,也 echo $PATH 打印出正确的路径

现在我使用 sudo su 切换到 root 并且 whoami 打印 rootpath 得到改变,它不包含其中的 java bin 路径。

如何全局导出变量?

PS:一件奇怪的事情是在我切换到 root 并再次切换回 xyz 之后。 path 不包含到 java bin

的路径

最佳答案

变量扩展在/etc/environment 中不起作用。此文件中只能放置绝对值赋值。 例如

T1=hithere
T2=X-$T1

重启后,

echo $T2

将打印 X-$T1 ,尽管 T1 的值将按预期设置。

所以把它放在 ~/.bashrc、~/.profile、~/.bash_profile 或/etc/profile 等

关于java - 在谷歌云实例 rhel7 中导出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30097319/

相关文章:

google-cloud-platform - 将实例从美国移动到欧洲

google-compute-engine - 这么大的 "Network Internet Egress from APAC to China"是什么?

python - 如何避免在 python 的垃圾收集期间抑制 KeyboardInterrupt?

Kubernetes:一个 pod,更多节点上的更多容器

java - 了解 Java 中的检查异常与非检查异常

java - 每次打开 Android 虚拟设备时,Android SQLite 数据库都不会保留它的值

java - 将对象保存到 firebase db 时出现意外错误? (mClassMapper.access$200(com.google.firebase :firebase-database@@16. 0.5:47))

java - 在tomcat中运行应用程序时出错

c++ - 在 Linux 中使用英特尔线程构建模块 (TBB)

linux - 日期 : extra operand '+%s'