Bash:
Imprimiendo salida de depuración
How to / Cómo hacerlo
Para imprimir mensajes de depuración en Bash, usamos echo
o printf
. Aquí van ejemplos sencillos:
# Usando echo
echo "Debug: La variable x tiene el valor $x"
# Usando printf para más formato
printf "Debug: El proceso %s ha iniciado\n" "$process_name"
# Escondiendo o mostrando mensajes de debug con una variable
debug_mode=1
if [ "$debug_mode" -eq 1 ]; then
echo "Debug activado: Variable y es $y"
fi
# Redirigiendo la salida de debug a un archivo
echo "Debug: Comprobación de red" >> debug_output.txt
Ejemplos de salida:
Debug: La variable x tiene el valor 10
Debug: El proceso mi_proceso ha iniciado
Debug activado: Variable y es 5
Deep Dive / Inmersión Profunda
Imprimir mensajes para depurar es una práctica tan antigua como la programación misma. Antes de que existieran entornos de desarrollo integrado (IDE) con depuradores sofisticados, los mensajes de print
eran la principal herramienta para entender el flujo de ejecución.
Alternativas:
set -x
: Imprime comandos y sus argumentos a medida que se ejecutan.trap 'echo "Debug: $BASH_COMMAND"' DEBUG
: Una trampa DEBUG que imprime cada comando antes de su ejecución. Reemplaza ’echo’ con cualquier lógica que prefieras.
Detalles de implementación:
En Bash moderno, es común controlar la impresión de mensajes de depuración con variables (debug_mode
en el ejemplo) para activarlos solo cuando sea necesario. También se suelen redirigir los mensajes a un archivo (debug_output.txt
en el ejemplo) para analizarlos posteriormente sin saturar la salida estándar.
See Also / Vea También
- Bash Manual: https://www.gnu.org/software/bash/manual/
- Advanced Bash-Scripting Guide: https://tldp.org/LDP/abs/html/
set
command in bash: https://ss64.com/bash/set.html- Debugging in Bash with
set -x
: https://www.shell-tips.com/bash/debug-script/