Automatyczne potwierdzanie podczas uruchamiania skryptów bash?

12

Pracuję nad prostym skryptem bash, który konfiguruje nowe serwery tak, jak chcę. To nic specjalnego, ale mam nadzieję, że zaoszczędzi mi sporo czasu w przyszłości.

Jak zapobiec takim podpowiedziom:

  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

Podczas uruchamiania takich poleceń ze skryptu:

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

Czy istnieje flaga automatycznej akceptacji, którą mogę ustawić, czy coś takiego?

dannymcc
źródło

Odpowiedzi:

25

add-apt-repositoryma -yflagę, której możesz użyć, co powinno załatwić sprawę.

Chociaż naprawdę chcę zasugerować, aby spojrzeć na systemy zarządzania konfiguracją, takie jak marionetka lub szef kuchni, aby skonfigurować serwery. Zaoszczędzą ci dużo czasu!

Dennis Kaarsemaker
źródło
Perfekcyjnie, dziękuję. Zajrzę do obu i zobaczę, czy uda mi się obejść. Dzięki jeszcze raz!
dannymcc
14

Prawdopodobnie warto zauważyć, że po to jest yesnapisane. Domyślnie drukuje ywielokrotnie, ale yes <string>zamiast tego po prostu powtórzy „ciąg”.

Jeśli otrzymasz wiele odpowiedzi, takich jak:

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

Możesz zrobić coś takiego:

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

Aby automatycznie wstawić enter przy każdym znaku zachęty. Biorąc pod uwagę, że apt-add-repository ma -yopcję, powinieneś jej użyć, ale jeśli kiedykolwiek spotkasz skrypt, który nie ma tej opcji, możesz jej użyć yes.

Erik
źródło