Skript fordert Bestätigung an, obwohl -y verwendet wird

Skript fordert Bestätigung an, obwohl -y verwendet wird

Ich versuche, ein Skript zum Einrichten von Software und einigen Firewall-Regeln zu entwickeln. Dies wird auf einem neuen VPS ausgeführt, während ich per SSH als Root-Benutzer verbunden bin.

Es gibt zwei Stellen im Skript, an denen „-y“ scheinbar ignoriert wird.

Erster Gegenstand:

apt update && apt upgrade -y && apt autoremove -y && apt autoclean -y

Führt dazu, dass diese Eingabeaufforderung angezeigt wird:Dienste während Paket-Upgrades ohne Nachfrage neu starten?Ich möchte einfach automatisch „Ja“ auswählen.

Zweiter Punkt:

ufw allow 1635/udp
ufw allow ssh
ufw enable

Führt dazu, dass diese Eingabeaufforderung angezeigt wird:Der Befehl kann bestehende SSH-Verbindungen unterbrechen. Mit dem Vorgang fortfahren?Dabei würde ich auch gerne einfach automatisch „Ja“ auswählen.

Für jede Hilfe wäre ich sehr dankbar. Diese beiden Punkte verhindern derzeit, dass der Einrichtungsprozess vollständig automatisiert abläuft.

Antwort1

Gelöst!

Erster Gegenstand

Habe festgestellt, dass es die apt upgradeUrsache für die GUI-Eingabeaufforderung war. Dies wurde durch eine Aktualisierung auf Folgendes behoben:DEBIAN_FRONTEND=noninteractive apt upgrade -y

Zweiter Punkt

Behoben durch Aktualisierung ufw enableauf:yes | ufw enable

Antwort2


$echo -e "\t Yes" Versuchen Sie, am Ende Folgendes hinzuzufügen:, da dies <Yes>für Ihr erstes Problem zum Terminal führen sollte.
ODER
$echo "\t \r"am Ende für dasselbe Problem.

UND
Versuchen Sie für Ihr zweites Problem Folgendes:

$ echo "y" | sudo ufw enable

verwandte Informationen