select-Anweisung
select VAR in Wortlistedo Kommandofolgedone Die Select-Kontrollstruktur bietet eine Kombination aus menügesteuerter Verzweigung und Schleife. Die Wortliste wird als numerierte Liste (Menü) auf dem Standardfehlerkanal ausgegeben. Mit dem PS3-Prompt wird daraufhin eine Eingabe von der Tastatur angefordert. Eine leere Eingabe führt zu einer erneuten Anzeige des
Menüs.
Wenn ein Wort aus der Wortliste durch die Eingabe seiner Nummer bestimmt wird,
führt die Shell die Kommandofolge aus und stellt dabei das ausgewählte
Wort in der Variablen VAR und die die Eingabezeile ist aber in der Variablen REPLY
zur Verfügung. Wird in der Eingabezeile keine passende Zahl
übergeben, ist VAR leer.
Menüteil und Ausführung der Liste werden so lange wiederholt, bis die
Schleife mit break oder return verlassen wird. Es ist
möglich, mit Ctrl-D das Menü unmittelbar zu verlassen.
Wenn die Wortliste fehlt (nur die Zeile select VAR), werden stattdessen
die Positionsparameter $0 ... $9 verwendet. Beispiel:
export PS3="Ihre Wahl: "
select EING in eins zwei drei fertig
do
echo "EING=\"$EING\" REPLY=\"$REPLY\""
if [ "$EING" = "fertig" ] ; then
break
fi
done
|