Les accolades et les parenthèses permettent le regroupement de commandes.
Avec des accolades, les commandes sont exécutées par le shell courant, alors qu'avec les parenthèses elles sont exécutées par un sous-shell, appelé aussi shell fils (fork).
Syntaxe
Exécution par le shell courant
{commande; commande; commande;}
Exécution par un sous-shell
(commande; commande; commande;...)
Notes :
Un séparateur ";" (point virgule) est nécessaire devant l'accolade fermante si celle-ci se trouve sur la même ligne que la dernière commande. Ce qui n'est pas le cas pour la parenthèse.
Le séparateur de commande peut être le "Saut de ligne" (LF pour Line Feed)
Le code retour d'un bloc de commande est celui de la dernière commande exécutée.
Utilisation
Le regroupement de commandes sert principalement à :
Rediriger un ensemble de commandes vers (ou depuis) un même fichier
Exécuter un ensemble de commandes en arrière-plan
Conditionner l'exécution d'un ensemble de commandes
Exemple
Voilà un exemple qui j'espère aidera à mieux cerner l'emploi des accolades et des parenthèses :