<Précédent | Table des matières | Suivant>
Opérateurs de contrôle : une autre façon de se brancher
bash fournit deux opérateurs de contrôle qui peuvent effectuer des branchements. Le && (ET) et || Les opérateurs (OR) fonctionnent comme les opérateurs logiques de la commande composée [[ ]]. C'est la syntaxe :
command1 && command2
ainsi que
command1 || command2
Il est important de comprendre le comportement de ces derniers. Avec le && opérateur, command1 est exécuté et command2 est exécuté si, et seulement si, command1 est réussi. Avec le || opérateur, command1 est exécuté et command2 est exécuté si, et seulement si, command1 échoue.
Concrètement, cela signifie que nous pouvons faire quelque chose comme ceci :
[moi@linuxbox ~]$ mkdir temp && temp cd
[moi@linuxbox ~]$ mkdir temp && temp cd
Cela créera un répertoire nommé Temp, et s'il réussit, le répertoire de travail actuel sera remplacé par Temp. La deuxième commande n'est tentée que si le mkdir la commande est réussie. De même, une commande comme celle-ci :
[moi@linuxbox ~]$ [[ -d temp ]] || température mkdir
[moi@linuxbox ~]$ [[ -d temp ]] || température mkdir
testera l'existence du répertoire Temp, et seulement si le test échoue, le répertoire sera créé. Ce type de construction est très pratique pour gérer les erreurs dans les scripts, un sujet que nous aborderons plus en détail dans les chapitres suivants. Par exemple, nous pourrions le faire dans un script :
[ -d temp ] || sortie 1
[ -d temp ] || sortie 1
Si le script requiert le répertoire Temp, et il n'existe pas, le script se terminera avec un état de sortie de un.