Я написал сценарий bash, чтобы загрузить определенный двоичный tar-файл java, распаковать его, а затем настроить версию java. Так как инструмент установки java требует ручного взаимодействия, я использую «ожидаю», чтобы «отправить» ответ на команду,Я помещаю двоичные файлы java в "/ opt"
curl -o /opt/jdk-8u201.tar.gz https://hostname
tar -zxvf /opt/jdk-8u201.tar.gz -C /opt
#!/bin/bash
yum -y install expect
EXPECT=$(which expect)
JAVA_HOME=/opt/jdk-8u201
update-alternatives --install /usr/bin/java java ${JAVA_HOME%/}/bin/java 2000
${EXPECT} <<EOD
spawn update-alternatives --config java
expect "Enter to keep the current selection\[\+\], or type selection number:"
send 3
EOD
Когда я выполняю установку вручную и ввожу: echo $JAVA_PATH
, она печатает информацию.Если я делаю это в сценарии оболочки, он не обновляет путь.
Что-то я не вижу?Спасибо
Ура, Роланд