我已经创建了一个RHEL Linux VM并在其中安装了Oracle JDK。
创建VM后,我正在使用VM中的自定义脚本扩展执行脚本。以下是我的剧本。
Myscript.sh
echo "$$ $JAVA_HOME $$" >> output.log
echo `env` >> output.log
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。
script1.sh
javaHomeValue=$(cat /etc/profile | grep JAVA_HOME | awk -F= '{print $2}')
echo“ - $ javaHomeValue - ”>> output.log
output.log
-- /usr/java/jdk1.8.0_172-amd64 --
我可以使用上面的script1.sh
获取JAVA_HOME是否有任何原因,为什么在执行自定义脚本期间未在环境变量中设置JAVA_HOME?
答案 0 :(得分:0)
对于您的问题,如果要将JAVA_HOME设置为文件/ etc / profile中的环境变量,则可以将代码export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
添加到/ etc / profile中。然后,您可以在新终端中看到环境变量JAVA_HOME。