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.