Read: Unterschied zwischen den Versionen
K Textersetzung - „Linux:Shell:Bash:Builtin“ durch „Bash:Builtin“ |
K Textersetzung - „Bash/Builtins“ durch „Bash/Builtin“ |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 29: | Zeile 29: | ||
Eingabe: nichts gedrückt | Eingabe: nichts gedrückt | ||
[[ | [[Kategorie:Bash/Builtin]] | ||
[[Kategorie:Bash/Variablen]] |
Aktuelle Version vom 21. September 2024, 22:45 Uhr
read
read Variable [Variable]
- Mit »read« wird eine Eingabezeile eingelesen und deren Inhalt Variablen zugewiesen.
- Die Eingabe wird anhand der in IFS vorgegebenen Trennzeichen in einzelne Token zerlegt und der Reihe nach den Variablen zugewiesen.
- Stehen mehr Token zur Verfügung als Variablen, so wird die letzte Variable mit allen noch nicht zugewiesenen Token belegt
- stehen weniger Token bereit, bleibt der Inhalt der überschüssigen Variablen leer:
read a b c 1 2 3 4 5 echo "a=$a"; echo "b=$b"; echo "c=$c" a=1 b=2 c=3 4 5
- Ist die Anzahl erwarteter Token nicht vorhersehbar, bietet sich die Verwendung einer Feldvariablen an.
- Hierzu ist dem Variablennamen einzig die Option »-a« voranzustellen:
read -a feld Jedes Wort gelangt in ein eigenes Feld. echo "3.Element: ${feld[2]}" 3.Element: gelangt
- Für die Shellprogrammierung sind zwei weitere Optionen nützlich.
- Zum einen »-p Prompt«, womit die erwartete Eingabe durch ein Prompt signalisiert wird und »-t Timeout«, wodurch das Kommando nach Ablauf der angegebenen Zeitspanne (Sekunden) mit einem Fehlerwert zurück kehrt:
read -p "Eingabe: " -t 5 || echo "nichts gedrückt" # Finger weg von der Tastatur! Eingabe: nichts gedrückt