Автоматическое подтверждение при запуске скриптов bash?

12

Я работаю над простым bash-скриптом, который настраивает новые серверы так, как я хочу. В этом нет ничего особенного, но, надеюсь, это сэкономит мне много времени в будущем.

Как я могу предотвратить подобные запросы:

  You are about to add the following PPA to your system:
    Stable version of nginx.
    More info: https://launchpad.net/~nginx/+archive/stable
  Press [ENTER] to continue or ctrl-c to cancel adding it

При запуске таких команд из скрипта:

  sudo add-apt-repository ppa:nginx/stable 
  sudo apt-get update
  sudo apt-get -y install nginx

Можно ли установить флаг автоматического принятия или что-то в этом роде?

dannymcc
источник

Ответы:

25

add-apt-repositoryимеет -yфлаг, который вы можете использовать, что должно сработать.

Хотя я действительно хочу предложить вам взглянуть на системы управления конфигурациями, такие как puppet или chef, для настройки серверов. Они сэкономят вам много времени!

Деннис Каарсемакер
источник
Отлично спасибо. Я собираюсь посмотреть на оба и посмотреть, смогу ли я получить голову вокруг них. Еще раз спасибо!
dannymcc
14

Вероятно, стоит отметить, что это то, yesдля чего было написано. По умолчанию он печатает несколько yраз, но yes <string>вместо этого будет просто повторять «строку».

Если вы получили кучу ответов, таких как:

Press [ENTER] to continue or ctrl-c to cancel adding it

Вы можете сделать что-то вроде:

yes '' | sudo add-apt-repository ppa:nginx/stable

Для автоматического ввода ввода при каждом запросе. Учитывая, что у apt-add-repository есть -yопция, вы должны ее использовать, но если вы когда-нибудь столкнетесь со скриптом, у которого нет этой опции, вы можете использовать его yes.

Erik
источник