Conferma automatica durante l'esecuzione di script bash?


12

Sto lavorando a un semplice script bash che configura i nuovi server come li voglio. Non è niente di speciale, ma spero che mi risparmierà un bel po 'di tempo in futuro.

Come posso evitare prompt come questo:

  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

Quando si eseguono comandi come questo da uno script:

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

C'è un flag di accettazione automatica che posso impostare o qualcosa del genere?

Risposte:


25

add-apt-repositoryha una -ybandiera che puoi usare, che dovrebbe fare il trucco.

Anche se voglio davvero suggerire di esaminare i sistemi di gestione della configurazione come pupazzo o cuoco per configurare i server. Ti faranno risparmiare un sacco di tempo!


Perfetto, grazie. Esaminerò entrambi e vedrò se riesco ad aggirarli. Grazie ancora!
dannymcc,

14

Vale probabilmente la pena notare che questo è ciò per cui è yesstato scritto. Di default stampa yripetutamente un , ma invece yes <string>ripeterà semplicemente "stringa".

Se ti vengono presentate molte risposte come:

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

Puoi fare qualcosa del tipo:

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

Per inserire automaticamente un invio ad ogni richiesta. Dato che apt-add-repository ha -yun'opzione, dovresti usarla, ma se mai incontri uno script che non ha quell'opzione, puoi usare yes.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.