我创建了一个 RHEL Linux VM 并在其中安装了 Oracle JDK。
创建虚拟机后,我正在使用虚拟机中的自定义脚本扩展执行脚本。下面是我的脚本。
Myscript.sh
echo "$$ $JAVA_HOME $$" >> output.log
echo `env` >> output.log
输出.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 -- ">> 输出.log
输出.log
-- /usr/java/jdk1.8.0_172-amd64 --
我可以使用上面的 script1.sh 获取 JAVA_HOME
是否有任何原因,为什么在执行自定义脚本期间未在环境变量中设置 JAVA_HOME?
最佳答案
对于您的问题,如果您想在文件/etc/profile 中将 JAVA_HOME 设置为环境变量,您可以将代码 export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
添加到/等/配置文件。然后你就可以在新终端中看到环境变量JAVA_HOME。
关于azure - 如何访问 Azure 上的自定义脚本扩展脚本中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50654360/