【问题标题】:How to access environment variables in custom script extension script on Azure如何在 Azure 上的自定义脚本扩展脚本中访问环境变量
【发布时间】:2018-06-02 06:57:36
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 如何在规模集 Linux 实例中添加环境变量(启用自动缩放)?
    • @lambad 我会建议你用已经设置好的环境变量来改变图像。
    • 如果我在配置文件中手动添加环境变量并概括并创建图像,那么所有添加的环境变量都将被销毁,因此我将无法访问它们。
    • @lambad 生成VM的时候会删除home目录,所以可以在其他路径下设置环境变量。我建议将它们设置在 /etc/environment 文件中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2021-06-26
    • 2019-12-24
    • 2022-01-05
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多