Regroupement de commandes avec les parenthèses Regroupement de commandes:parenthèses (mécanisme interne)

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).

Les commandes citées entre parenthèses sont exécutées à partir d’un shell enfant. 

Premier exemple

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

Les figures 4, 5 et 6 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 (2), se duplique ensuite pour l’exécution de la commande externe date (5). Lorsque cette dernière est terminée (7), se duplique à nouveau pour exécuter ls (8). Grâce au mécanisme d’héritage, les deux commandes utilisent le même offset (3). Donc les écritures dans le fichier se succèdent.

images/02RI14.png

Figure 4 : Premier exemple de regroupement avec parenthèses - Première étape

images/02RI15.png

Figure 5 : Premier exemple de regroupement avec parenthèses - Deuxième étape

images/02RI16.png

Figure 6 : Premier exemple de regroupement...

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Redirection des descripteurs 1 et 2 vers le même fichier
Suivant
Regroupement de commandes avec les accolades