Автоматичне підтвердження при запуску 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

Чи є прапор автоматичного прийняття, який я можу встановити, чи щось подібне?

Відповіді:


25

add-apt-repositoryу вас є -yпрапор, який ви можете використовувати, який повинен зробити трюк.

Хоча я дуже хочу запропонувати вам переглянути такі системи управління конфігурацією, як лялька чи шеф-кухар для налаштування серверів. Вони заощадять вам багато часу!


Ідеально, дякую. Я збираюся заглянути в обидва і побачити, чи можу я обвести їх головою. Знову дякую!
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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.