Как получить доступ к переменным среды в сценарии расширения скриптов на Azure

76
6

Я создал RHEL Linux VM и установил в нее Oracle JDK.

После создания виртуальной машины, я выполняю скрипт, используя расширение Custom Script в 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 я установил JAVA_HOME в /etc/profile.

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 --

Я могу получить JAVA_HOME, используя вышеприведенный скрипт1.sh

Есть ли причина, почему JAVA_HOME не задан в переменных среды во время выполнения пользовательского сценария?

спросил(а) 2021-01-25T17:04:02+03:00 4 месяца, 2 недели назад
1
Решение
76

Для вашей проблемы, если вы хотите установить JAVA_HOME в качестве переменной среды в файле /etc/profile, вы можете добавить export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64 кода export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64 в /etc/profile. Затем вы можете увидеть переменную окружения JAVA_HOME в новом терминале.

ответил(а) 2021-01-25T17:04:02+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема