Le regroupement de commandes


Accolades et parenthèses


Introduction


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 :
#! /bin/bash

echo -e "#############################"
echo -e "# Utilisation des accolades #"
echo -e "#############################"

echo -e "\nRépertoire courant : \c"
pwd
echo -e "Initialisation de la variable \"v\" :\nv=\"abc\""
v="abc"
echo -e "\nDébut de l'environnement avec accolades...\n"
{
echo -e "Réaffectation de la variable \"v\" :\nv=\"123\""
v="123"
echo -e "\nAffichage de la variable \"v\" : \c"
echo -e "$v"
echo -e "\nChangement de répertoire : "
echo -e "cd /tmp"
cd /tmp
echo -e "\nRépertoire courant : \c"
pwd
}
echo -e "\nFin de l'environnement avec accolades...\n"

echo -e "\nRépertoire courant : \c"
pwd
echo -e "\nAffichage de la variable \"v\" : \c"
echo -e "$v"
echo

unset v
cd $HOME

echo -e "Appuyez sur une touche pour continuer..."
read touche

echo -e "###############################"
echo -e "# Utilisation des parenthèses #"
echo -e "###############################"

echo -e "\nRépertoire courant : \c"
pwd
echo -e "Initialisation de la variable \"v\" :\nv=\"abc\""
v="abc"
echo -e "\nDébut de l'environnement avec parenthèses...\n"
(
echo -e "Réaffectation de la variable \"v\" :\nv=\"123\""
v="123"
echo -e "\nAffichage de la variable \"v\" : \c"
echo -e "$v"
echo -e "\nChangement de répertoire : "
echo -e "cd /tmp"
cd /tmp
echo -e "\nRépertoire courant : \c"
pwd
)
echo -e "\nFin de l'environnement avec parenthèses...\n"

echo -e "\nRépertoire courant : \c"
pwd
echo -e "\nAffichage de la variable \"v\" : \c"
echo -e "$v"
echo
exit
Publié par jipicy - Dernière mise à jour le 18 novembre 2009 à 16:25 par marlalapocket
Ce document intitulé « Le regroupement de commandes » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Le regroupement de commandes
  •  Regroupement de commandes sed » Salut, question relativement superficielle, je souhaiterais pour des raisons de lisibilité, regrouper différentes commandes de substitution dans un même script. Commande originale : SED...
  •  Commande ftp » Articles : Le protocole FTP FTP (File Transfer Protocol) est un protocole, c'est-à-dire un langage standard de communication entre deux machines, permettant à des machines de types différents (ou dont le système d'exploitation est différent) de...
  •  Commande shutdown (Résolu) » Meilleure réponse: La commande shutdown permet de stopper l'ordinateur, ou un autre ordinateur sur le réseau (Pour les réseaux d'entreprises). Beaucoup d'options sont disponibles, c'est pourquoi seules 4 de celles-ci seront détaillées. Note: Pour toutes c
  •  Commande dos » Fiches pratiques : Ces commandes sont des commandes de base que vous pouvez utiliser dans un prompt DOS, par exemple, sur une disquette de démarrage. Pour obtenir plus d'informations sur ces commandes, tapez (dans un prompt DOS), le nom de votre commande suivi de...
  •  Commande windows » Fiches pratiques : Remarques : Certaines commandes sont dangereuses (l’exemple de SYSKEY) et peuvent causer des problèmes pouvant conduire au formatage. D’autres commandes ne sont pas exécutables sous Windows XP ou des versions antérieures, je ne les ai pas...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Magic Keys
Kit de survie Linux