Depuración en Bash con bash -b y bash -x

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

Resumen

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.

      Depuración en Bash con bash -b y bash -x