Sommaire

Regroupement de commandes

Le regroupement de commandes peut être utilisé pour :

  • rediriger la sortie écran de plusieurs commandes vers un même fichier ou vers un tube ;

  • faire exécuter plusieurs commandes dans le même environnement.

Exemple

Seule la sortie standard de la deuxième commande est redirigée dans le fichier resultat.

$ date ; ls > resultat 
mar jan 28 05:16:30 CET 2014 
$ cat resultat  
FIC 
fichier 
$

Les parenthèses ( ) et les accolades { } permettent de regrouper les commandes. Dans le premier cas, les commandes sont exécutées à partir d’un shell enfant, dans le deuxième cas à partir du shell courant.

1. Les parenthèses

Dans la plupart des cas, ce sont les parenthèses qui sont utilisées pour le regroupement de commandes.

Syntaxe

(cmde1 ; cmde2 ; cmde3)

Avec les parenthèses, un shell enfant est systématiquement créé et c’est ce dernier qui traite la ligne de commande (avec duplications ultérieures si nécessaire).

Premier exemple

Ici, l’utilisateur se sert des parenthèses pour rediriger la sortie standard de deux commandes :

$  (date ; ls) > resultat 
$ cat resultat 
mar jan 28 05:21:36 CET 2014 
FIC 
fichier 
$

Les figures 14, 15 et 16 représentent le mécanisme interne associé. Le shell courant (PID=201) se duplique (1). Le shell enfant (PID=205) s’occupe d’abord de la redirection ...