Listes
Une liste est une séquence d'un ou plusieurs pipelines séparés par
l'un des opérateurs ;, &, &&, ou ||, et terminée éventuellement
par ;, &, ou <retour-chariot>.
Dans cette liste d'opérateurs, && et || ont une précédence iden-
tique, suivis par ; et &, qui ont également une précédence iden-
tique.
Si une commande se termine par l'opérateur de contrôle &,
l'interpréteur l'exécute en arrière-plan, dans un sous-shell.
L'interpréteur n'attend pas que la commande se termine et retourne
un code 0. Les commandes séparées par un ; sont exécutées succes-
sivement, l'interpréteur attend que chaque commande se termine
avant de lancer la suivante. Le code de retour est celui de la
dernière commande exécutée.
Les opérateurs de contrôle && et || indiquent respectivement une
liste liée par un ET, et une liste liée par un OU. Une liste ET a
la forme
commande_1 && commande_2
commande_2 est exécutée si, et seulement si, commande_1 renvoie un
code de retour nul.
Une liste OU a la forme
commande_1 || commande_2
commande_2 est exécutée si, et seulement si commande_1 renvoie un
code de retour non-nul. La valeur de retour des listes ET et OU
est celle de la dernière commande exécutée dans la liste.
Commandes composées
Une commande composée est l'une des constructions suivantes :
(liste)
liste est exécutée dans un sous-shell. Les affectations de
variables, et les commandes internes qui affectent l'envi-
ronnement de l'interpréteur n'ont pas d'effet une fois que
la commande se termine. Le code de retour est celui de la
liste.
{ liste; }
liste est simplement exécutée avec l'environnement du shell
en cours. liste doit se terminer par un caractère fin-de-
ligne ou un point-virgule. Cette construction est connue
sous le nom de commandes groupées. Le code de retour est
celui de la liste.
|