Interaktive Eingaben in Shellskripts
Es können auch Shellskripts mit interaktiver Eingabe geschrieben werden, indem
das read-Kommando verwendet wird. read variable [variable ...] read liest eine Zeile von der Standardeingabe und weist die einzelnen Felder den angegebenen Variablen zu. Feldtrenner sind die in IFS definierten Zeichen. Sind mehr Variablen als Eingabefelder definiert, werden die überzähligen Felder mit Leerstrings besetzt. Umgekehrt nimmt die letzte Variable den Rest der Zeile auf. Wird im Shell-Skript die Eingabe mit < aus einer Datei gelesen, bearbeitet read die Datei zeilenweise.
Anmerkung: Da das Shell-Skript in einer Sub-Shell läuft, kann IFS im Skript
umdefiniert werden, ohne daß es nachher restauriert werden muß.
Die Prozedur "zeige" enthält beispielsweise folgende Befehle:
IFS=','
echo "Bitte drei Parameter, getrennt durch Komma eingeben:"
read A B C
echo Eingabe war: $A $B $C
Aufruf (Eingabe kursiv):
$ zeige
Bitte drei Parameter, getrennt durch Komma eingeben:
eins,zwei,drei
Eingabe war: eins zwei drei
|