Скрипт запрашивает подтверждение, несмотря на использование -y

Скрипт запрашивает подтверждение, несмотря на использование -y

Я пытаюсь разработать скрипт для настройки программного обеспечения и некоторых правил брандмауэра. Он запускается на новом VPS при подключении через SSH в качестве пользователя root.

В скрипте есть 2 места, где он, по-видимому, игнорирует «-y»

Первый пункт:

apt update && apt upgrade -y && apt autoremove -y && apt autoclean -y

Вызывает появление этого запроса:Перезапускать службы во время обновления пакетов без запроса?Я бы хотел, чтобы автоматически выбирался ответ «Да».

Второй пункт:

ufw allow 1635/udp
ufw allow ssh
ufw enable

Вызывает появление этого запроса:Команда может нарушить существующие ssh-соединения. Продолжить операцию?Мне бы также хотелось автоматически выбрать «Да».

Любая помощь будет высоко оценена. Эти 2 пункта в настоящее время не позволяют сделать процесс настройки полностью автоматизированным.

решение1

Решено!

Первый элемент

Обнаружил, что это было apt upgradeпричиной появления подсказки GUI. Это было решено путем обновления до:DEBIAN_FRONTEND=noninteractive apt upgrade -y

Второй пункт

Решено путем обновления ufw enableдо:yes | ufw enable

решение2

Попробуйте добавить:
$echo -e "\t Yes" в конце, так как это должно привести к переходу <Yes>в терминал для вашей первой проблемы.
ИЛИ
$echo "\t \r"в конце для той же проблемы.

И
Для решения второй проблемы попробуйте сделать следующее:

$ echo "y" | sudo ufw enable

Связанный контент