Sommaire

Tester le code retour d’une commande

Objectif

Effectuer un traitement en fonction du code retour d’une commande.

Exemple

Tester si l’utilisateur christie est défini dans le fichier /etc/passwd.

Première méthode

En utilisant la structure de contrôle if :

$ if grep christie /etc/passwd > /dev/null  > then  
> echo "L’utilisateur christie existe"  
> fi

Ce qui peut également s’écrire comme ceci :

$ grep christie /etc/passwd > /dev/null  
$ if [[ $? eq 0 ]]        # ksh, bash (Bourne: utiliser [ ] )  
> then  
> echo "L’utilisateur christie existe"  
> fi

(cf. chapitre Les bases de la programmation shell - Les structures de contrôle et Exécution de tests)

Deuxième méthode

En utilisant les opérateurs logiques du shell (&&,||) :

$ grep christie /etc/passwd > /dev/null && echo "L’utilisateur christie 
existe" 
L’utilisateur christie existe

(cf. chapitre Les bases de la programmation shell - Les opérateurs du shell)