Read: Unterschied zwischen den Versionen
K Textersetzung - „[[Kategorie:“ durch „[[Category:“ |
K Dirkwagner verschob die Seite Linux:Shell:Bash:Builtin:read nach Bash:Builtin:read, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „Linux:Shell:“ durch „“ |
(kein Unterschied)
|
Version vom 26. Mai 2022, 10:13 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