mit Ausnahme des
done
Befehls
done
ist kein Befehl.
Es scheint ein Missverständnis zu bestehen: Das Schlüsselwort done
bedeutet nicht, dass das Skript fertig ist und die Ausführung beenden kann. Es ist stattdessen das Gegenstück zum vorherigen do
Schlüsselwort in der while...do
. Dies bedeutet: Wenn die while
Bedingung falsch ist, führen Sie die nächste Anweisung nach dem done
Schlüsselwort aus.
Vielleicht möchten Sie exit
am Ende der Liste ein Kommando hinzufügen, das ausgeführt wird, wenn der Benutzer dies wählt Y
.
Aktualisieren:
Ich erwähnte exit
einfach, weil es bereits in der [Nn]
Branche verwendet wurde, aber das Skript hätte das Problem nur behoben . Die Verwendung break
anstelle der exit
von Gordon Davisson vorgeschlagenen Methode ist stattdessen eine bessere Idee, die eine Verbesserung darstellt und die Weiterentwicklung des Skripts ermöglicht.