Questo script Bash (exit_status.sh) dimostra il concetto di codice di uscita (exit status) nei comandi e negli script Bash, che indica il successo o il fallimento di un'operazione.
Lo script illustra come funziona il codice di uscita ($?) attraverso questi passaggi:
-
Comando riuscito:
echo hello echo $?
Esegue un semplice comando
echo(che stampa "hello"). Poichéechoviene eseguito con successo, il valore di$?(il codice di uscita del comando precedente) sarà0. Per convenzione,0indica il successo. -
Comando fallito:
lskdf # Unrecognized command. echo $?
Tenta di eseguire un comando inesistente (
lskdf). Questo fallisce. Di conseguenza, il valore di$?sarà un numero diverso da zero (specifico del tipo di errore, ad esempio127per "comando non trovato"), indicando un fallimento o una condizione anomala. -
Uscita esplicita dello script:
exit 113Lo script termina esplicitamente con
exit 113. Questo significa che quando lo script termina, il suo codice di uscita (che puoi verificare digitandoecho $?nel terminale dopo l'esecuzione dello script) sarà113. Qualsiasi codice che segueexitnon verrà eseguito.
- Salva il codice in un file, ad esempio
exit_status.sh. - Rendilo eseguibile:
chmod +x exit_status.sh. - Eseguilo nel tuo terminale:
./exit_status.sh
- Dopo l'esecuzione, digita
echo $?per vedere il codice di uscita dello script, che sarà113.
- Convenzione: Un codice di uscita di
0significa che il comando o lo script è stato eseguito senza errori. Qualsiasi valore diverso da zero indica un qualche tipo di errore o un'eccezione. - Debug e logica condizionale: Il codice di uscita è fondamentale negli script Bash per la programmazione condizionale (es. con
ifstatement) e per il debug, permettendo agli script di reagire in base al successo o al fallimento dei comandi eseguiti.