Valider les entrées utilisateur avec la commande read
Dans cette étape, vous apprendrez à utiliser la commande read
pour valider les entrées utilisateur.
Une façon courante de valider les entrées utilisateur consiste à utiliser une boucle while
avec la commande read
. Cela vous permet de continuer à inviter l'utilisateur à saisir des données jusqu'à ce qu'il fournisse une réponse valide.
Exemple :
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
Exemple de sortie :
Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7
Dans cet exemple, la commande read
est utilisée à l'intérieur d'une boucle while
pour inviter continuellement l'utilisateur à saisir des données jusqu'à ce qu'il entre un nombre compris entre 1 et 10. L'instruction if
vérifie les entrées de l'utilisateur, et si elles sont valides, la boucle est interrompue à l'aide de la commande break
. Si l'entrée est invalide, un message d'erreur est affiché et la boucle se poursuit.
Vous pouvez également utiliser la commande read
avec l'option -n
pour limiter le nombre de caractères que l'utilisateur peut saisir, ou l'option -t
pour définir un délai d'attente pour l'entrée.
Exemple :
read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"
Exemple de sortie :
Enter 'y' or 'n': y
You entered: y
Dans cet exemple, l'option -n 1
limite les entrées de l'utilisateur à un seul caractère, et l'option -p
affiche une invite.