Как установить Java (OpenJDK) на систему Ubuntu с региональными предпочтениями, установленными в самой команде, так, чтобы она проходила через всю установку без необходимости ввода пользователем? Я использую эту команду:
sudo apt install openjdk-11-jdk -y
Она всегда ждет ввода, где я должен выбрать предпочтение региона, где я выбираю 1
для Americas, а затем 85
для Los_Angeles. Могу ли я как-то включить это в команду, чтобы автоматизировать процесс?
Используйте ожидайте . Это программа, имитирующая ввод терминала в программах, которые интерактивно запрашивают данные. Отличный инструмент для автоматизации. Вы можете установить его с помощью sudo apt install expect
.
Поскольку я не знаю, какие именно вопросы задает установщик openjdk, я бы использовал вымышленный пример программы someprogram
, которая задает два вопроса: Введите свое имя:
и Введите свой возраст:
и затем что-то сделает (не запрашивая дополнительных данных). Если вы хотите автоматически давать ответы на эти вопросы, сценарий будет выглядеть следующим образом:
#!/usr/bin/expect
spawn someprogram
expect "name:"
send "John\r"
expect "age:"
send "42\r"
wait
Команда spawn
запускает вашу программу, expect
указывает сценарию ждать, пока указанная строка появляется в выводе программы, send
сообщает сценарию, что нужно отправить указанную строку программе ( \ r
равно Enter), а wait
ожидает завершения программы.