Benutzereingaben mit dem read - Befehl validieren
In diesem Schritt lernen Sie, wie Sie den read
- Befehl verwenden, um Benutzereingaben zu validieren.
Eine häufige Methode, um Benutzereingaben zu validieren, ist die Verwendung einer while
- Schleife mit dem read
- Befehl. Dies ermöglicht es Ihnen, den Benutzer wiederholt zur Eingabe aufzufordern, bis er eine gültige Antwort liefert.
Beispiel:
while true; do
read -p "Enter a number between 1 and 10: " num
if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
echo "You entered: $num"
break
else
echo "Invalid input. Please try again."
fi
done
Beispielausgabe:
Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7
In diesem Beispiel wird der read
- Befehl innerhalb einer while
- Schleife verwendet, um den Benutzer kontinuierlich zur Eingabe aufzufordern, bis er eine Zahl zwischen 1 und 10 eingibt. Die if
- Anweisung überprüft die Benutzereingabe, und wenn sie gültig ist, wird die Schleife mit dem break
- Befehl verlassen. Wenn die Eingabe ungültig ist, wird eine Fehlermeldung angezeigt, und die Schleife wird fortgesetzt.
Sie können auch den read
- Befehl mit der -n
- Option verwenden, um die Anzahl der Zeichen zu begrenzen, die der Benutzer eingeben kann, oder die -t
- Option, um ein Timeout für die Eingabe festzulegen.
Beispiel:
read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"
Beispielausgabe:
Enter 'y' or 'n': y
You entered: y
In diesem Beispiel begrenzt die -n 1
- Option die Benutzereingabe auf ein einzelnes Zeichen, und die -p
- Option zeigt eine Eingabeaufforderung an.