Bash : Codes de retour

De Justine's wiki
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...

  1. !/bin/bash
  1. Demande à l'utilisateur de saisir son nom
    read -p "Comment tu t'appelles : " nom
  1. 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