Bash : Codes de retour
Aller à la navigation
Aller à la recherche
Définition
Lors de l'appel d'une commande, celle-ciu peut renvoyer un résultat sur la sortie standard. Elle stocke aussi des informations sur l'état de son exécution dans le paramètre ?.
BASH $> ls -l .bashrc -rw-r--r-- 1 joda joda 4162 mai 4 2015 .bashrc BASH $> echo $? 0 BASH $> ls -l .fichier_bidon ls: impossible d'accéder à '.fichier_bidon': Aucun fichier ou dossier de ce type BASH $> echo $? 2 BASH $>
Pour rappel, on a:
- La sortie standard, le flux de sortie dans lequel les données à afficher son écrite et qui donne sur l'écran
- L'erreur standard, flux de sortie qui reçoit les messages d'erreur ou d'information des programmes
- Le descripteur de fichier de la sortie standard est 1 et celui de l'erreur standard est 2. Ils peuvent tous deux redirigés indépendamment comme par exemple : ls toto 1> resultat.list 2> resultat.err
Où trouver les codes de retour?
Dans le manuel, en général; sinon il faut faire une recherche.
Utilisation
Pour retourner un code, on utilise la commande exit suivie de sa valeur de sortie : exit0, exit1, exit2...
- !/bin/bash
- Demande à l'utilisateur de saisir son nom
read -p "Comment tu t'appelles : " nom
- Retourne 1 si c'est vide
if [ -z "$nom" ]; then
# echo "ERREUR : Le nom est vide"
exit 1
else
# echo "salut "$nom
exit 0
fi