如何在Azure上的自定义脚本扩展脚本中访问环境变量

时间:2018-06-02 06:57:37

标签: azure environment-variables azure-virtual-machine azure-vm-templates

我已经创建了一个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?

1 个答案:

答案 0 :(得分:0)

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