#!/usr/bin/bash # La variable spéciale $? renvoie le code de sortie de la dernière commande : 0 si la commande s'est bien passée ou différent de 0 si la commande a échoué. # Exemple avec la primitive du shell test # help test # teste l'existence d'un répertoire "repert" test -d repert echo $? # teste l'existence d'un fichier régulier "fichier" test -f fichier echo $? # Les enchaînements conditionnels (qui se basent sur le code de sortie) : # le "Et logique" : && test -f fichier && echo "le fichier existe" # le "Ou logique" : || test -f fichier || echo "le fichier n'existe pas" # Enchaînement des deux: test -d repert && echo "le répertoire existe" || echo "le répertoire n'existe pas" # repert n'existe pas, on le créé et ensuite on se déplace dedans... test -d repert || mkdir repert && cd repert pwd cd - test -d repert && echo "le répertoire existe" || echo "le répertoire n'existe pas" # repert existe, on ne le créé pas et on se déplace dedans... test -d repert || mkdir repert && cd repert pwd cd - rmdir repert echo ### Affiche les arguments postionnels de la ligne de commande du script ### ### $1, $2, $3... $* (ou $@) pour tous les arguments ### ### le script s'appelle $0 et a $# arguments ### test $# -lt 1 && echo "$(basename $0) demande un ou plusieurs arguments" || echo "Hello $* !"