Stampa dell'output di debug

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