Validar información
Clase 14 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
Validar la información que ingresa el usuario es clave para asegurar calidad de datos y evitar errores que afecten tu script. Aquí verás cómo controlar el tamaño de la entrada y cómo manejar información confidencial con el comando read en bash, tal como se demuestra en Ubuntu y terminal.
¿Qué es la validación de entradas con read en Bash?
La validación se enfoca en restringir cuántos caracteres se aceptan y en ocultar lo que el usuario escribe cuando es confidencial. Se muestran dos enfoques: con read y, como lectura recomendada aparte, con expresiones regulares. En este contenido nos centramos en read con las opciones -n, -p y -s.
¿Cómo limitar a un solo carácter con -n 1?
- Objetivo: aceptar solo un carácter para una opción del menú.
- Clave: usar read con -p para mostrar el mensaje y -n 1 para detener la entrada al primer carácter.
read -p "Ingresar una opción: " -n 1 opcion
# Separador para nueva línea (según lo explicado):
echo -c "\n"
# Mostrar lo ingresado.
echo "Opción: $opcion"
Punto clave: el cursor se mantiene en la misma línea hasta completar el número de caracteres indicado.
¿Cómo fijar un tamaño específico para nombres de archivo?
- Objetivo: capturar un nombre de backup con un tamaño fijo de 10 caracteres.
- Clave: usar -n 10 para detener la entrada tras 10 caracteres.
read -p "Ingresar nombre del archivo: " -n 10 backup
# Separador de línea (según lo explicado):
echo -c "\n"
# Mostrar lo ingresado.
echo "Backup: $backup"
Así se garantiza que el valor tenga el tamaño esperado antes de continuar.
¿Cómo capturar información confidencial con -s?
- Objetivo: ingresar una clave sin que se muestre en pantalla.
- Clave: usar -s (silencioso) junto con -p para el mensaje.
read -s -p "Ingrese una clave: " clave
echo -c "\n"
echo "Clave: $clave"
Ventaja: se protege la confidencialidad durante el ingreso (se oculta lo tecleado).
¿Qué consideraciones y límites debes tener en cuenta?
- Con -n, el carácter de borrar cuenta como un carácter más. No permite “retroceder” para corregir porque se está validando por tamaño de entrada.
- bash no reconoce tipos de dato de forma nativa. Para validar si es número o cadena, se requiere lógica adicional con condicionales o expresiones (mencionado como tema aparte con expresiones regulares).
- Se mostraron acciones en Ubuntu/terminal: crear un archivo de script, editar con i, eliminar bloques con escape + control + B y D, copiar con YY, y guardar/salir con :wq.
¿Qué muestra la ejecución del script en Ubuntu?
- Al ingresar la opción: el primer carácter provoca el salto de línea y se muestra el valor.
- Al ingresar el backup: tras 10 caracteres, se imprime y continúa el flujo.
- Al ingresar la clave: lo escrito no se ve; al presionar enter, se imprime el valor almacenado.
Consejo práctico: considera la UX al usar -n. Si el usuario necesita corregir, el borrado se interpreta como carácter válido y puede romper la intención de la entrada.
¿Qué habilidades y conceptos se refuerzan?
La sesión refuerza prácticas esenciales de scripting:
- Uso de read con -p para mensajes en línea.
- Control de tamaño con -n para validar el número de caracteres.
- Captura silenciosa con -s para datos sensibles como clave o password.
- Impresión auxiliar con echo -c y separadores de línea según lo descrito.
- Flujo en Ubuntu y terminal para crear, editar y ejecutar scripts.
- Conciencia de límites: validación por tamaño vs. validación por tipo; necesidad de condicionales o expresiones para tipos de dato.
- Vocabulario técnico clave: validación de información, calidad de datos, tamaño de caracteres, información confidencial, clave/password, terminal, Ubuntu, script, expresiones regulares.
¿Tienes dudas sobre cómo adaptar estas validaciones a tu propio script o casos reales? Comenta tu objetivo y los campos que necesitas validar, y te orientamos paso a paso.