Validar la entrada del usuario con el comando read
En este paso, aprenderás cómo usar el comando read para validar la entrada del usuario.
Una forma común de validar la entrada del usuario es utilizar un bucle while con el comando read. Esto te permite seguir solicitando al usuario una entrada hasta que proporcione una respuesta válida.
Ejemplo:
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
Salida de ejemplo:
Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7
En este ejemplo, el comando read se utiliza dentro de un bucle while para solicitar continuamente al usuario una entrada hasta que ingrese un número entre 1 y 10. La declaración if verifica la entrada del usuario, y si es válida, se sale del bucle utilizando el comando break. Si la entrada es inválida, se muestra un mensaje de error y el bucle continúa.
También puedes usar el comando read con la opción -n para limitar el número de caracteres que el usuario puede ingresar, o la opción -t para establecer un tiempo de espera para la entrada.
Ejemplo:
read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"
Salida de ejemplo:
Enter 'y' or 'n': y
You entered: y
En este ejemplo, la opción -n 1 limita la entrada del usuario a un solo carácter, y la opción -p muestra un mensaje de solicitud.