Validar información

Clase 14 de 43Curso de Programación en Bash Shell

Resumen

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.