Tester le code retour d’une commande Code de retour:script shell
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 -q christie /etc/passwd ; then
> echo "L'utilisateur christie existe"
> fi
Ce qui peut également s’écrire comme ceci :
$ grep -q christie /etc/passwd
$ if [[ $? eq 0 ]] # ksh, bash (Bourne/Posix: 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 -q christie /etc/passwd && echo "L'utilisateur christie
existe"
L'utilisateur christie existe
(cf. chapitre Les bases de la programmation shell - Les opérateurs du shell)