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)

Pour consulter la suite, découvrez le livre suivant :
couv_RI5PRO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Modèles de noms de fichiers
Suivant
Test d'égalité entre deux chaînes