1

我创建了一个 RHEL Linux VM 并在其中安装了 Oracle JDK。

创建 VM 后,我正在使用 VM 中的自定义脚本扩展执行脚本。下面是我的脚本。

脚本.sh

echo "$$ $JAVA_HOME $$" >> output.log
echo `env` >> output.log

输出日志

$$ $$
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin PWD=/var/lib/waagent/custom-script/download/1 LANG=en_US.UTF-8 SHLVL=4 _=/usr/bin/env

当我运行上述脚本时,我没有看到 JAVA_HOME 已设置。但是当我登录机器时,我看到了 JAVA_HOME 值。

更新:-

在安装 Oracle JDK 期间,我在 /etc/profile 中设置了 JAVA_HOME。

脚本1.sh

javaHomeValue=$(cat /etc/profile | grep JAVA_HOME | awk -F= '{print $2}')

echo " -- $javaHomeValue -- " >> output.log

输出日志

-- /usr/java/jdk1.8.0_172-amd64 --

我可以使用上面的 script1.sh 获取 JAVA_HOME

有什么原因,为什么在执行自定义脚本期间没有在环境变量中设置 JAVA_HOME?

4

1 回答 1

0

对于您的问题,如果您想在文件 /etc/profile 中将 JAVA_HOME 设置为环境变量,您可以将代码添加export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64到 /etc/profile. 然后您可以在新终端中看到环境变量 JAVA_HOME。

于 2018-06-04T09:21:25.557 回答