Я создал виртуальную машину Linux RHEL и установил в нее 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 не устанавливается в переменных среды во время выполнения сценария Custom?