Sommaire

Enchaînement de commandes

1. Exécution séquentielle

Au lieu de saisir les commandes les unes après les autres et d’attendre la fin de leur exécution avant de lancer la suivante, il est possible d’enchaîner plusieurs commandes sur la même ligne, en les séparant par un point-virgule :

[nicolas]$ date 
dim. avril  1 16:06:40 CEST 2018  
[nicolas]$ ps 
  PID TTY          TIME CMD 
 4511 pts/1    00:00:00 bash 
 4613 pts/1    00:00:00 ps 
[nicolas]$ date ; ps 
dim. avril  1 16:07:12 CEST 2018  
  PID TTY          TIME CMD 
 4511 pts/1    00:00:00 bash 
 4624 pts/1    00:00:00 ps

Ces enchaînements sont pratiques lorsque plusieurs commandes longues doivent être lancées successivement, sans que l’utilisateur ait à intervenir.

Les espaces autour du ; sur la ligne de commande ne sont pas obligatoires mais apportent une meilleure lisibilité.

Dans l’enchaînement cmd1 ; cmd2 ; cmd3, la commande cmd2 n’est exécutée qu’à la fin de la commande cmd1 ; de même, cmd3 est lancée lorsque cmd2 est terminée. Par contre, il n’y a aucun lien entre ces trois commandes ; c’est-à-dire que l’exécution d’une commande n’est pas conditionnée par le résultat (code retour) de la précédente.

Dans un script shell, le point-virgule permet de présenter plusieurs instructions sur une même ligne.

2. Exécution conditionnelle

Pour n’exécuter ...