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.