Controllare lo stato di uscita usando un'istruzione "if" in bash
Utilizzando un'istruzione "if" e "$?"Variabile, possiamo determinare se un comando o uno script ha eseguito correttamente. Che contiene lo stato di uscita del comando più recente eseguito, la sintassi dell'istruzione "if" per determinare lo stato di uscita è la seguente:
Se [$? -EQ 0]
Poi
Echo "Execution Sucssfull"
altro
Echo "esecuzione non riuscita"
fi
L'operatore '-eq' viene utilizzato per verificare se lo stato di uscita è uguale a zero o meno, il che indica che il comando o lo script è completato correttamente.
Se lo stato di uscita non è uguale a zero, viene eseguito il blocco "else", che stampa un messaggio che indica che il comando non è riuscito. Ecco un semplice esempio per illustrare come possiamo usare un'istruzione "if" per verificare lo stato di uscita di un comando:
#!Bin/Bash
LS /False-Directory
Se [$? -EQ 0]
Poi
Echo "Execution Suncessfull"
altro
Echo "esecuzione non riuscita"
fi
Per elencare il contenuto di una directory inesistente, sto usando il comando "LS" e poiché la directory non esiste, il comando "LS" fallirà e il suo stato di uscita sarà diverso da zero. L'istruzione "if" quindi controlla lo stato di uscita usando "$?'Variabile e stampa un messaggio che indica che il comando non è riuscito:
Conclusione
Controllare lo stato di uscita di un comando o uno script è una parte importante dello scripting bash e dell'utilizzo di un'istruzione "if" insieme a "$?'La variabile è un modo semplice ed efficace per controllare lo stato di uscita. Padroneggiando questa tecnica, possiamo facilmente determinare il successo o il fallimento di un comando o di un script e intraprendere azioni appropriate in base allo stato di uscita.