Depuración en Bash con bash -b y bash -x
Clase 10 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
Depurar bien marca la diferencia entre adivinar y resolver. En entorno Bash, sin features gráficas, usar bash -b y bash -x ofrece una visión clara, línea por línea, para detectar errores, entender el flujo y anticipar fallos en tus scripts.
¿Cómo depurar scripts en Bash con bash -b y -x?
El objetivo es obtener información útil al ejecutar un script sin interfaz gráfica. La depuración es a bajo nivel, pero entrega datos suficientes para orientarte cuando algo falla. Se trabaja directamente en el servidor ejecutando el script con opciones de Bash.
- bash -b: muestra el resultado detallado, evaluado línea por línea.
- bash -x: añade una traza más precisa que distingue comandos y salidas.
- Útil cuando no “sabemos de dónde se cayó” el programa.
¿Qué muestra bash -b línea por línea?
- Presenta toda la información que genera el script.
- Ofrece una vista general de la ejecución completa.
- Ayuda a ver qué hace el script más allá de la salida final.
Ejemplo:
bash -b primer_script.sh
¿Qué agrega bash -x a la depuración?
- Muestra una traza con sintaxis diferenciada.
- Las líneas con + indican un comando en ejecución.
- Las líneas sin + suelen indicar una salida a pantalla estándar.
Ejemplo:
bash -x primer_script.sh
¿Cómo interpretar la salida con ejemplos de scripts?
La comparación entre bash -b y bash -x deja ver diferencias claras en la presentación de la ejecución. Con -b obtienes una lectura general; con -x, una guía paso a paso con marcas que separan comandos y salidas, útil para ubicar el punto del fallo.
¿Qué pasa al probar un script simple?
- Con bash -b verás todo lo que el script ejecuta y produce.
- Con bash -x notarás el + al inicio de los comandos y, debajo, las líneas sin + como salidas impresas.
Comandos:
bash -b primer_script.sh
bash -x primer_script.sh
¿Cómo se ve un script con argumentos y variables?
En un segundo ejemplo, un script que recibe argumentos, define una variable y la pasa a otro programa (por ejemplo, variables.sh):
- Con bash -b observas el contenido evaluado del script y su comportamiento.
- Con bash -x aparece la sintaxis con + para cada comando y sin + para valores que se imprimen.
Comandos:
bash -b variables.sh
bash -x variables.sh
¿Qué habilidades y buenas prácticas refuerza este enfoque?
La práctica con bash -b y bash -x consolida competencias clave que aplican a cualquier lenguaje o plataforma:
- Depuración a bajo nivel: comprender qué ocurre sin interfaz gráfica.
- Lectura de trazas: identificar comandos, entradas y salidas con claridad.
- Diagnóstico temprano: anticiparse a inconvenientes durante el desarrollo.
- Orientación precisa: ubicar el punto donde “se cayó” el programa.
- Flujo de ejecución: entender cómo el script procesa argumentos y variables.
¿Tienes dudas sobre cuándo usar -b o -x en tu caso? Cuéntame tu escenario y lo revisamos juntos.