Depurá scripts Bash complejos con set -x y trap

Cuando un script Bash no se comporta como esperás, podés depurarlo sin herramientas externas. Dos aliados claves: set -x y trap.

Activar trazado con set -x Link to heading

#!/bin/bash
set -x  # Activa el modo de depuración

resultado=$(grep "ERROR" /var/log/syslog)
echo "$resultado"

Este modo imprime cada comando y su expansión antes de ejecutarlo, ideal para entender qué hace el script paso a paso.

Tip: Usá set +x para desactivar el trazado en una sección puntual.

Capturar errores con trap Link to heading

#!/bin/bash
set -e
trap 'echo "Error en la línea $LINENO"' ERR

cp archivo1.txt /ruta/inexistente/

Esto mostrará en qué línea falló el script. Muy útil si usás set -e para abortar al primer error.

Tip: También podés usar trap para limpiar recursos si el script se interrumpe (ej: trap cleanup EXIT).

Estas técnicas te dan visibilidad y control inmediato sobre tus scripts, sin salir de Bash.

trap 'rm -f /tmp/archivo.tmp' EXIT

Conclusión Link to heading

Depurar desde el mismo Bash, sin IDEs ni herramientas externas, es posible y poderoso. Usá set -x para ver la ejecución y trap para manejar errores o limpiezas. Dos herramientas simples que te ahorran horas de frustración.