Sommaire

Les opérateurs 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.

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 
$ ls -d /tmp/svg  
/tmp/svg 
$ if [[ -d /tmp/svg ]] 
> then    # Prompt PS2 du shell 
> cd /tmp/svg 
> fi      # Fermeture du if: lancement de la commande 
$ pwd 
/tmp/svg 
$

2. Évaluation de l’opérateur ||

Syntaxe ...