Bash:
Stampa dell'output di debug
How to:
Ecco alcuni modi per stampare debug output in Bash:
# Stampa semplice
echo "Debug: variabile x è $x"
# Stampa con condizione
debug_mode=1
if [[ $debug_mode -eq 1 ]]; then echo "Debug: entrato nel loop"; fi
# Stampa in un file di log
echo "Debug: l'operazione è fallita" >> debug.log
# Stampa solo se lo script è avviato con l'opzione -d
while getopts "d" opt; do
case $opt in
d)
debug=1
;;
esac
done
[ $debug ] && echo "Debug mode is ON"
Output d’esempio con debug attivato:
Debug: variabile x è 42
Debug: entrato nel loop
Debug mode is ON
Deep Dive
In Bash, il debug è spesso un affare manuale. Prima degli IDE che integravano debugger sofisticati, gli script venivano debuggati con stampe a video delle variabili e del flusso di esecuzione. Altre tecniche includono l’uso di set -x
per tracciare come lo script esegue i comandi e trap
per catturare i segnali e terminazioni. Nonostante l’avanzamento degli strumenti, stampare output per il debug rimane un metodo veloce e diretto per molti problemi.
See Also
- Bash manuale ufficiale: https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html
- Advanced Bash-Scripting Guide: https://www.tldp.org/LDP/abs/html/debugging.html
- Stack Overflow - Community di programmatori: https://stackoverflow.com/questions/tagged/bash+debugging