Read: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „Bash/Variablen“ durch „Bash/Variable“ |
K Textersetzung - „«“ durch „''“ |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
read Variable [Variable] | read Variable [Variable] | ||
* Mit | * 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. | * 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 mehr Token zur Verfügung als Variablen, so wird die letzte Variable mit allen noch nicht zugewiesenen Token belegt | ||
Zeile 15: | Zeile 15: | ||
* Ist die Anzahl erwarteter Token nicht vorhersehbar, bietet sich die Verwendung einer Feldvariablen an. | * Ist die Anzahl erwarteter Token nicht vorhersehbar, bietet sich die Verwendung einer Feldvariablen an. | ||
* Hierzu ist dem Variablennamen einzig die Option | * Hierzu ist dem Variablennamen einzig die Option ''-a'' voranzustellen: | ||
'''read -a feld''' | '''read -a feld''' | ||
Zeile 23: | Zeile 23: | ||
* Für die Shellprogrammierung sind zwei weitere Optionen nützlich. | * Für die Shellprogrammierung sind zwei weitere Optionen nützlich. | ||
* Zum einen | * 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"''' | '''read -p "Eingabe: " -t 5 || echo "nichts gedrückt"''' |
Aktuelle Version vom 31. März 2025, 12:22 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