7.7 Menüs mit select
Vor Kurzem beschäftigten wir uns damit, ein Menü mittels der while-Schleife zu erstellen. Solch ein Menü lässt sich allerdings besser und gleichzeitig einfacher in ein Skript einbauen, indem man die select-Anweisung verwendet. Der Aufbau von select gestaltet sich so ähnlich wie der Aufbau der for-Schleife.
select VAR in WERT1 WERT2 WERT3 do Anweisung1 Anweisung2 Anweisung3 ... done
Listing 7.39 Aufbau von select
Allerdings zeigt select ein Menü dieser Werte an und lässt den Anwender über eine Zahl eingeben, welchen Eintrag er auswählen möchte. Der ausgewählte Eintrag wird an die Variable VAR zugewiesen und kann damit – wie auch bei der for-Schleife – für den Anweisungsblock verwendet werden.
#!/bin/bash echo "Was haben Sie für ein Haustier?" select HAUSTIER in Hund Katze Maus Fisch Guerteltier do echo "Sie haben also ein/eine(n) $HAUSTIER" echo "Kann Ihr Haustier auch in Common-Lisp"\ "programmieren?" done
Listing 7.40 select-Beispiel
$ ./haustier.sh Was haben Sie für ein Haustier? 1) Hund 2) Katze 3) Maus 4) Fisch 5) Guerteltier #? 1 Sie haben also ein/eine(n) Hund Kann Ihr Haustier auch in Common-Lisp programmieren? #? 2 Sie haben also ein/eine(n) Katze Kann Ihr Haustier auch in Common-Lisp programmieren? #? 3 Sie haben also ein/eine(n) Maus Kann Ihr Haustier auch in Common-Lisp programmieren? #? ^D
Listing 7.41 Aufruf des Beispielskripts