Подтвердить что ты не робот

Обработка входных подтверждений в сценариях оболочки Linux

Я пишу Linux Shell Script для автоматизации нескольких вещей, которые я делаю на Ubuntu 11.04.

В принципе, я пишу оболочку Script для установки NGINX, MySQL и PHP, а затем настраиваю все. Я знаю, как делать все через командную строку.

Однако я не знаю, как я буду обрабатывать те части, где процесс запрашивает ввод пользователя. Например, некоторые вещи, которые я устанавливаю с помощью apt-get, запрашивают у вас подтверждение i.e(Y) es или (N) o.

Как именно я могу обрабатывать автоподтверждение в оболочке Script i.e, чтобы автоматически подтвердить Да или Нет, когда вас спросили?

4b9b3361

Ответ 1

yes | ./script ответит y на все.

В противном случае напишите script, который печатает нужные вам ответы, например:

 echo N
 echo Y
 echo Y

Ответ 2

Обычно вы можете вызывать такие интерактивные программы с возможностью автоматического ответа "да" на все вопросы. Например, вы можете вызвать apt-get с помощью -y. На странице man:

-y, --yes, --assume-yes            Автоматическое да для подсказок; предположите "да" в качестве ответа на все приглашения и запустите            неинтерактивно.

Ответ 3

Для Apt правильным ответом является "предварительная" ваша база данных debconf с правильными параметрами. Если Debconf найдет ответ из своей базы данных, он не спросит. См. Также http://www.debian-administration.org/articles/394

Ответ 4

Попробуйте Expect, это может быть то, что вы ищете.