how to check the exit status code

Atunci cand un program isi termina executia, el returneaza un cod de eroare. Acest cod nu este afisat la monitor implicit. Pentru a prelucra informatia din acest cod este necesar a se vedea continutul variabilei “$?“.

Sa presupunem ca se cauta un string intr-un fisier text:

$ grep mama family.txt
$

Deviceul standart de output nu va returna nimic, ceea ce ar insemna ca acel string nu poate fi gasit in fisier. Ce se intimpla atunci cand se pune aceasta comanda intr-un script? Acest caz ar trebui tratat diferit.

Verificarea codului de eroare se face astfel:

$ grep mama family.txt
$ echo $?
1

A se nota faptul ca codul 0 reprezinta o rulare terminata cu succes, iar diferit de 0 inseamna aparitia unei erori.
Pentru a verifica acest cod intr-un script, se poate face astfel :

1 grep mama2 family.txt
2 if [ $? -eq 0 ]; then
3     echo "success"
4 else
5     echo "fail"
6 fi

atat