Sommaire

Les opérateurs du shell Opérateur:du shell

Ces opérateurs permettent d’exécuter ou non une commande en fonction du code de retour d’une autre commande. L’évaluation est faite de gauche à droite.

Il ne faut pas confondre les opérateurs du shell (&& et ||) qui effectuent une opération logique entre deux commandes Unix avec les opérateurs de la commande [[ ]] (&& et ||) qui sont internes à cette dernière.

Opérateur

Signification

&&

ET logique

||

OU logique

1. Évaluation de l’opérateur &&

Syntaxe

commande1 && commande2
  • La deuxième commande est exécutée uniquement si la première commande renvoie un code vrai.

  • L’expression globale est vraie si les deux commandes renvoient vrai.

Exemples

Le répertoire /tmp/svg n’existe pas, la commande cd n’est donc pas exécutée :

$ ls -d /tmp/svg 
/tmp/svg: No such file or directory 
$ pwd 
/export/home/christie 
$ [[ -d /tmp/svg ]] && cd /tmp/svg 
 
$ echo $?        # Code de la commande [[ ]] 
1 
$ pwd 
/export/home/christie

Le répertoire /tmp/svg existe, la commande cd est donc exécutée :

$ mkdir /tmp/svg 
$ [[ -d /tmp/svg ]] && cd /tmp/svg 
$ pwd 
/tmp/svg 
$

Ces actions peuvent également être implémentées avec la structure de contrôle if.

$ pwd 
/export/home/christie  ...