Automatische Bestätigung beim Ausführen von Bash-Skripten?

12

Ich arbeite an einem einfachen Bash-Skript, das neue Server so konfiguriert, wie ich sie haben möchte. Es ist nichts Besonderes, aber es wird mir hoffentlich in Zukunft viel Zeit sparen.

Wie verhindere ich solche Eingabeaufforderungen:

  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

Wenn Sie Befehle wie diesen aus einem Skript ausführen:

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

Gibt es ein Auto-Accept-Flag, das ich setzen kann, oder so etwas?

dannymcc
quelle

Antworten:

25

add-apt-repositoryhat eine -yFlagge, die Sie verwenden können, die den Trick tun sollte.

Obwohl ich wirklich vorschlagen möchte, dass Sie sich Konfigurationsmanagementsysteme wie Puppet oder Chef ansehen, um Server zu konfigurieren. Sie sparen Ihnen viel Zeit!

Dennis Kaarsemaker
quelle
Perfekt, danke. Ich werde in beide schauen und sehen, ob ich meinen Kopf um sie herum bekommen kann. Danke noch einmal!
Dannymcc
14

Es ist wahrscheinlich erwähnenswert, dass dies das ist, wofür yesgeschrieben wurde. Standardmäßig wird ein ywiederholt aber gedrucktyes <string> wird wiederholt eine Zeichenfolge wird jedoch nur "Zeichenfolge" wiederholt.

Wenn Sie eine Reihe von Antworten erhalten, wie zum Beispiel:

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

Sie können so etwas tun wie:

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

Automatische Eingabe bei jeder Eingabeaufforderung. Da apt-add-repository über eine -yOption verfügt, sollten Sie diese verwenden yes. Wenn Sie jedoch jemals auf ein Skript stoßen, das diese Option nicht bietet, können Sie diese verwenden .

Erik
quelle