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

Я создал виртуальную машину RHEL Linux и установил в нее Oracle JDK.

После создания виртуальной машины я выполняю сценарий, используя расширение Custom Script в виртуальной машине. Ниже мой сценарий.

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, используя приведенный выше script1.sh

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


person Galet    schedule 02.06.2018    source источник


Ответы (1)


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

person Charles Xu    schedule 04.06.2018
comment
Как добавить переменную среды в экземпляры Linux с масштабируемым набором (автоматическое масштабирование включено)? - person lambad; 05.06.2019
comment
@lambad Я предлагаю вам изменить изображение с уже установленными в нем переменными окружения. - person Charles Xu; 06.06.2019
comment
Если я вручную добавлю переменные среды в файл профиля и обобщу и создам изображение, то все добавленные переменные среды будут уничтожены, в результате я не смогу получить к ним доступ. - person lambad; 06.06.2019
comment
@lambad Когда вы создаете виртуальную машину, она удаляет домашний каталог, поэтому вы можете установить переменные среды по другому пути. Я предлагаю установить их в файле / etc / environment. - person Charles Xu; 06.06.2019