« Bash : Codes de retour » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « = 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écu... ») |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
[[Category:prog]] | |||
[[Category:bash]] | |||
= Définition = | = Définition = | ||
Dernière version du 22 juin 2022 à 12:08
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