Outils pour utilisateurs

Outils du site


man_de_bash

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

man_de_bash [2015/12/21 21:53] – créée simonman_de_bash [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1
Ligne 1: Ligne 1:
-==== Man de la commande "bash" ==== 
  
-<code> 
-BASH(1)                                                  General Commands Manual                                                 BASH(1) 
- 
- 
- 
-NOM 
-       bash - Interpréteur de commandes GNU Bourne-Again SHell 
- 
-SYNOPSIS 
-       bash [options] [chaîne_de_commande | fichier] 
- 
-COPYRIGHT 
-       Bash est Copyright © 1989-2013 par la Free Software Foundation, Inc. 
- 
-DESCRIPTION 
-       Bash  est un interpréteur de commandes (shell) compatible sh qui exécute les commandes lues depuis l'entrée standard ou depuis un 
-       fichier. Bash inclut aussi des fonctionnalités utiles des interpréteurs de commandes Korn et C (ksh et csh). 
- 
-       Bash vise à être une implémentation conforme à la partie relative aux interpréteurs de commandes et  utilitaires  des  spécifica‐ 
-       tions IEEE POSIX (norme IEEE 1003.1). Bash peut être configuré pour être conforme à la norme POSIX par défaut. 
- 
-OPTIONS 
-       Toutes  les  options d'interpréteur monocaractères documentées dans la description de la commande interne set peuvent être utili‐ 
-       sées comme options si l'interpréteur est invoqué. De plus, bash accepte les options suivantes lors de son appel : 
- 
-       -c        Si l'option -c est présente, les commandes sont lues depuis le premier argument chaîne_de_commande qui  n’est  pas  une 
-                 option.  Si  des  arguments suivent la chaîne_de_commande, ils sont affectés aux paramètres positionnels, en commençant 
-                 par $0. 
-       -i        Si l'option -i est présente, l'interpréteur est interactif. 
-       -l        Faire que bash se comporte comme s'il avait été appelé comme interpréteur de commandes de  connexion  (consultez  APPEL 
-                 ci-dessous). 
-       -r        Si l'option -r est présente, l'interpréteur devient restreint (consultez INTERPRÉTEUR RESTREINT ci-dessous). 
-       -s        Si  l'option -s est présente ou s'il ne reste plus d'argument après le traitement des options, alors les commandes sont 
-                 lues depuis l'entrée standard. Cette option permet d'affecter les paramètres positionnels tout en appelant un interpré‐ 
-                 teur interactif. 
-       -D        Une  liste  de  toutes les chaînes entre guillemets doubles précédées de $ est affichée sur la sortie standard. Ce sont 
-                 les chaînes qui sont soumises à une traduction quand le paramètre linguistique régional  n'est  ni  C  ni  POSIX.  Cela 
-                 implique l'option -n ; aucune commande ne sera exécutée. 
-       [-+]O [option_shopt] 
-                 option_shopt  est  une  des  options  de  l'interpréteur  acceptées  par la commande interne shopt (consultez COMMANDES 
-                 INTERNES DE L'INTERPRÉTEUR ci-dessous). Si option_shopt est  présente,  -O  crée  cette  option ;  +O  la  détruit.  Si 
-                 option_shopt n'est pas fournie, les noms et valeurs des options de l'interpréteur acceptées par shopt sont affichés sur 
-                 la sortie standard. Si l'option d'appel est +O, la sortie est affichée dans un format réutilisable en entrée. 
-       --        Deux caractères -- indiquent la fin des options et désactivent le traitement des arguments. Tous les arguments après le 
-                 -- sont traités comme des noms de fichiers et paramètres. - est équivalent à --. 
- 
-       Bash  reconnaît également plusieurs options multicaractères. Ces options doivent, pour être reconnues, apparaître sur la ligne de 
-       commande avant les options monocaractères. 
- 
-       --debugger 
-              Prend les dispositions pour que le paramétrage du traçage soit exécuté avant que l'interpréteur démarre. Enclenche le mode 
-              de traçage étendu (consultez ci-dessous la description de l'option extdebug de la commande interne shopt). 
-       --dump-po-strings 
-              Équivalent à -D, mais la sortie est dans le format des fichiers po (objets portables) de l'outil GNU gettext. 
-       --dump-strings 
-              Équivalent à -D. 
-       --help Affiche un message d'aide sur la sortie standard et termine avec succès. 
-       --init-file fichier 
-       --rcfile fichier 
-              Exécuter  les  commandes  contenues  dans  fichier  plutôt que celles du fichier d'initialisation commun à tout le système 
-              /etc/bash.bashrc et que le fichier d'initialisation personnel standard ~/.bashrc si l'interpréteur est interactif (consul‐ 
-              tez APPEL ci-dessous). 
- 
-       --login 
-              Équivalent à -l. 
- 
-       --noediting 
-              Ne pas utiliser la bibliothèque GNU readline pour lire les lignes de commande, lorsque l'interpréteur est interactif. 
- 
-       --noprofile 
-              Ne  lire  ni  le fichier de configuration générale /etc/profile , ni les fichiers d'initialisation personnels ~/.bash_pro‐ 
-              file, ~/.bash_login ou ~/.profile. Par défaut, bash lit ces fichiers lorsqu'il est appelé comme interpréteur de  commandes 
-              de connexion (consultez APPEL ci-dessous). 
- 
-       --norc Ne  pas  lire  ou  exécuter le fichier de configuration commun à tout le système /etc/bash.bashrc, ni le fichier personnel 
-              d'initialisation ~/.bashrc lorsque l'interpréteur est interactif. Cette option est activée par  défaut  si  l'interpréteur 
-              est appelé sous le nom sh. 
- 
-       --posix 
-              Aligner le comportement de bash sur la norme (mode posix), en ce qui concerne les options dont l'action par défaut diffère 
-              de la norme POSIX. La section VOIR AUSSI ci-dessous référence un document précisant la façon dont le mode posix affecte le 
-              comportement de bash. 
- 
-       --restricted 
-              L'interpréteur devient restreint (consultez INTERPRÉTEUR RESTREINT ci-dessous). 
- 
-       --verbose 
-              Équivalent à -v. 
- 
-       --version 
-              Affiche le numéro de version de bash sur la sortie standard et termine avec succès. 
- 
-ARGUMENTS 
-       S'il  reste  des  arguments sur la ligne de commande après traitement des options et que ni l'option -c, ni l'option -s n'ont été 
-       fournies, le premier argument est supposé être le nom du fichier dans lequel lire  les  commandes  d'interpréteur.  Si  bash  est 
-       appelé  de  cette façon, le nom du ficher est affecté à $0 et les arguments restants aux autres paramètres positionnels. Bash lit 
-       et exécute les commandes depuis ce fichier, puis termine. L'état final de bash est l'état final de la dernière commande  exécutée 
-       dans  le  script.  Si aucune commande n'a été exécutée, l'état final est 0. Une tentative est d'abord faite de trouver le fichier 
-       dans le répertoire actuel et, si aucun fichier n'est trouvé, l'interpréteur cherche le script dans les répertoires contenus  dans 
-       PATH. 
- 
-APPEL 
-       Un  interpréteur  de commandes est dit de connexion (login shell) si le premier caractère de son argument numéro zéro est un - ou 
-       s'il est appelé avec l'option --login. 
- 
-       Un interpréteur est interactif s'il est appelé sans argument autre que des options et sans l'option -c, dont l'entrée standard et 
-       la  sortie  d'erreur  sont toutes deux connectées à des terminaux (comme déterminé par la fonction isatty(3)), ou s'il est appelé 
-       avec l'option -i. PS1 est créée et $- contient la lettre i si bash est interactif, ce qui permet à un  script  ou  à  un  fichier 
-       d’initialisation de tester cet état. 
- 
-       Le  paragraphe  suivant  décrit  comment  bash exécute ses fichiers d'initialisation. Si un de ces fichiers existe mais n'est pas 
-       accessible en lecture, bash signale une erreur. Les tildes sont remplacés par des noms de fichiers comme décrit  ci-dessous  dans 
-       Développement du tilde dans le paragraphe DÉVELOPPEMENTS. 
- 
-       Lorsque bash est lancé comme interpréteur de commandes de connexion interactif ou comme interpréteur non interactif avec l'option 
-       --login, il lit et exécute tout d'abord les commandes se trouvant dans le fichier /etc/profile si ce fichier existe.  Après  lec‐ 
-       ture  de ce fichier, il recherche ~/.bash_profile, ~/.bash_login et ~/.profile, dans cet ordre, puis lit et exécute les commandes 
-       se trouvant dans le premier fichier existant et accessible en lecture. L'option --noprofile  peut  être  utilisée  à  l'appel  de 
-       l'interpréteur pour empêcher ce comportement. 
- 
-       Lorsqu'un  interpréteur  de  commandes  de  connexion  termine, bash lit et exécute les commandes du fichier ~/.bash_logout, s'il 
-       existe. 
- 
-       Quand un interpréteur interactif démarre sans être un interpréteur de commandes de connexion, bash lit et exécute  les  commandes 
-       se  trouvant  dans  /etc/bash.bashrc  et ~/.bashrc s'ils existent. Ce comportement peut être empêché à l'aide de l'option --norc. 
-       L'option --rcfile fichier forcera bash à lire et exécuter  les  commandes  dans  fichier  plutôt  que  dans  /etc/bash.bashrc  et 
-       ~/.bashrc. 
- 
-       Quand bash est démarré de façon non interactive, par exemple pour lancer un script, il consulte la variable BASH_ENV dans l'envi‐ 
-       ronnement, développe son contenu si elle existe et considère cette valeur comme le nom d'un fichier à lire et exécuter.  Bash  se 
-       comporte comme si la commande suivante était exécutée : 
-              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi 
-       mais la valeur de la variable PATH n'est pas utilisée pour rechercher le fichier. 
- 
-       Si  bash  est appelé sous le nom sh, il essaye d'imiter le comportement de démarrage des versions historiques de sh aussi fidèle‐ 
-       ment que possible, tout en restant conforme aux normes POSIX. Lorsqu'il est appelé comme interpréteur de commandes  de  connexion 
-       interactif  ou  non  interactif  avec  l'option  --login, il essaye d'abord de lire et exécuter, dans cet ordre, les commandes de 
-       /etc/profile puis de ~/.profile. L'option --noprofile peut être utilisée pour empêcher ce comportement. Quand il  est  appelé  en 
-       tant qu'interpréteur interactif sous le nom sh, bash consulte la variable ENV, développe sa valeur si elle est définie et utilise 
-       le résultat en tant que nom de fichier à lire et exécuter. Comme un interpréteur appelé sous le nom sh n'essaye ni  de  lire,  ni 
-       d'exécuter  des  commandes  d'un  autre  fichier  de démarrage, l'option --rcfile n'a aucun effet. Un interpréteur non interactif 
-       appelé sous le nom sh n'essaie de lire aucun autre fichier d'initialisation. Quand il est appelé sous le nom sh,  bash  entre  en 
-       mode posix après avoir lu les fichiers d'initialisation. 
- 
-       Quand  bash  est  appelé  en  mode  posix  comme  avec l'option --posix sur la ligne de commande, il suit la norme POSIX pour les 
-       fichiers de démarrage. Dans ce mode, les interpréteurs interactifs développent la variable ENV et les commandes sont lues et exé‐ 
-       cutées à partir du fichier dont le nom est la valeur développée. Aucun autre fichier d'initialisation n'est lu. 
- 
-       Bash  tente de déterminer s'il est exécuté avec son entrée standard reliée à une connexion réseau, comme quand il est exécuté par 
-       le démon lançant les interpréteurs de commandes à distance, généralement rshd, ou le démon d'interpréteur sécurisé sshd. Si  bash 
-       conclut  qu'il  est  exécuté  de  cette  façon,  il lit et exécute les commandes de /etc/bash.bashrc et ~/.bashrc si ces fichiers 
-       existent et sont accessibles en lecture. Il n'a pas ce comportement lorsqu'il est appelé sous le nom  sh.  L'option  --norc  peut 
-       être  utilisée  pour  empêcher ce comportement et l'option --rcfile peut être utilisée pour forcer la lecture d'un autre fichier, 
-       mais rshd et sshd n'appellent généralement pas l'interpréteur avec ces options et ne permettent pas de les indiquer. 
- 
-       Si l'interpréteur est lancé avec un identifiant (de groupe) d'utilisateur effectif différent de l'identifiant (de groupe)  d'uti‐ 
-       lisateur  réel  et  si l'option -p n'est pas fournie, aucun fichier d'initialisation n'est lu, les fonctions de l'interpréteur ne 
-       sont pas importées depuis l'environnement, les variables SHELLOPTS, BASHOPTS, CDPATH, et GLOBIGNORE, si présentes dans l'environ‐ 
-       nement, sont ignorées, et l'identifiant de l'utilisateur effectif est configuré à celui de l'utilisateur réel. Si l'option -p est 
-       fournie à l'appel, le comportement au démarrage est le même mais l'identifiant d'utilisateur effectif n'est pas modifié. 
- 
-DÉFINITIONS 
-       Les définitions suivantes sont utilisées dans toute la suite ce document. 
-       blanc  Une espace ou une tabulation. 
-       mot    Une suite de caractères considérée  comme  une  unité  élémentaire  par  l'interpréteur.  On  parle  également  de  lexème 
-              (« token »). 
-       nom    Un  mot  ne  contenant  que des caractères alphanumériques ou tirets bas (« underscore »), commençant par une lettre ou un 
-              tiret bas. On s'y réfère également sous le terme identificateur. 
-       métacaractère 
-              Un caractère qui, non protégé, sépare les mots. Un de ceux-ci : 
-              |  & ; ( ) < > espace tab 
-       opérateur de contrôle 
-              Un lexème ayant une fonction de contrôle. C'est l'un des symboles suivants : 
-              || & && ; ;; ( ) | |& <changement de ligne> 
- 
-MOTS RÉSERVÉS 
-       Les mots réservés sont des mots qui ont une signification spéciale pour l'interpréteur. Les mots  suivants  sont  reconnus  comme 
-       réservés lorsqu'ils ne sont pas protégés et sont soit le premier mot d'une commande simple (consultez GRAMMAIRE DE L'INTERPRÉTEUR 
-       ci-dessous), soit le troisième mot d'une commande case ou for : 
- 
-       ! case  coproc  do done elif else esac fi for function if in select then until while { } time [[ ]] 
- 
-GRAMMAIRE DE L'INTERPRÉTEUR 
-   Commandes simples 
-       Une commande simple est une suite d'affectations facultatives de variables, suivie de mots séparés par des blancs et de  redirec‐ 
-       tions,  et terminée par un opérateur de contrôle. Le premier mot indique la commande à exécuter et est passé comme argument zéro. 
-       Les mots restants sont transmis comme arguments à la commande appelée. 
- 
-       La valeur renvoyée par une commande simple est son état final ou 128+n si la commande a été terminée par le signal n. 
- 
-   Conduites 
-       Une conduite (« pipeline ») est une suite d'une ou plusieurs commandes séparées par un des opérateurs de contrôle  |  ou  |& Le 
-       format d'une conduite est : 
- 
-              [time [-p]] [!] commande_1 [ [|⎪|&] commande_2 ... ] 
- 
-       La sortie standard de la commande_1 est connectée par un tube à l'entrée standard de la commande_2. Cette connexion est effectuée 
-       avant toute redirection indiquée par la commande elle-même (consultez REDIRECTIONS ci-dessous). Si  |&  est  utilisé,  la  sortie 
-       d'erreur  standard  de  la  commande_1, en plus de sa sortie standard, est connectée à l'entrée standard de la commande_2 dans le 
-       tube ; c'est un raccourci pour 2>&1 |. Cette redirection implicite de la sortie d'erreur standard vers  la  sortie  standard  est 
-       réalisée après toute redirection précisée par la commande. 
- 
-       L'état renvoyé par une conduite est l'état final de la dernière commande, à moins que l'option pipefail soit activée. Si pipefail 
-       est activée, l'état renvoyé par la conduite est la valeur de la dernière commande (la plus à droite) à terminer avec un état dif‐ 
-       férent  de  zéro ou zéro si toutes les commandes se terminent avec succès. Si le mot réservé ! précède une conduite, l'état final 
-       de cette conduite sera la négation logique de l'état final tel que décrit ci-dessus. L'interpréteur attend que  toutes  les  com‐ 
-       mandes de la conduite soient terminées avant de renvoyer une valeur. 
- 
-       Si  le  mot  réservé  time  précède une conduite, les temps passés par le programme en modes utilisateur et système sont indiqués 
-       quand la conduite se termine. L'option -p modifie le format de sortie pour celui indiqué par POSIX. Quand l'interpréteur  est  en 
-       mode posix, il ne reconnaît pas time comme un mot réservé si le lexème suivant commence par un « - ». La variable TIMEFORMAT peut 
-       contenir une chaîne de format indiquant comment les informations de chronométrage doivent être affichées ;  consultez  ci-dessous 
-       la description de TIMEFORMAT dans Variables de l'interpréteur. 
- 
-       Quand  l'interpréteur  est  en  mode posix, time peut être suivi d'un changement de ligne. Dans ce cas, l'interpréteur affiche le 
-       temps utilisateur et système total consommé par l'interpréteur et ses fils. La variable TIMEFORMAT peut être utilisée pour  indi‐ 
-       quer le format des informations de temps. 
- 
-       Chaque commande dans une conduite est exécutée comme un processus indépendant (c'est-à-dire dans un sous-interpréteur). 
- 
-   Listes 
-       Une  liste est une suite d'une ou plusieurs conduites séparées par l'un des opérateurs ;, &, && ou || et facultativement terminée 
-       par ;, & ou <changement de ligne>. 
- 
-       Dans cette liste d'opérateurs, && et || ont une priorité identique, suivis par ; et &, qui ont également une priorité identique. 
- 
-       Une suite d'un ou plusieurs changements de ligne peut apparaître dans une liste à la place d'un point-virgule pour délimiter  les 
-       commandes. 
- 
-       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-interpréteur. 
-       L'interpréteur n'attend pas que la commande se termine et l'état renvoyé est 0. Les commandes séparées par un  ;  sont  exécutées 
-       successivement,  l'interpréteur attend que chaque commande se termine tour à tour. L'état renvoyé est l'état final de la dernière 
-       commande exécutée. 
- 
-       Les listes ET et OU sont des suites d'une ou plusieurs conduites séparées respectivement par les opérateurs de contrôle && et ||. 
-       Les listes ET et OU sont exécutées avec associativité à gauche. Une liste ET est de la forme 
- 
-              commande_1 && commande_2 
- 
-       commande_2 est exécutée si, et seulement si, commande_1 renvoie un état final de zéro. 
- 
-       Une liste OU a la forme 
- 
-              commande_1 || commande_2 
- 
-       commande_2  est  exécutée si et seulement si commande_1 renvoie un état final différent de zéro. L'état renvoyé par des listes de 
-       ET et de OU est l'état final de la dernière commande exécutée dans la liste. 
- 
-   Commandes composées 
-       Une commande composée est l'une des constructions suivantes. Dans la plupart des cas, une liste dans une description de  commande 
-       pourrait  être  séparée du reste de la commande par un ou plusieurs changements de ligne, et pourrait être suivie d’un changement 
-       de ligne à la place d’un point-virgule. 
- 
-       (liste) 
-              liste est exécutée dans un sous-interpréteur (consultez ENVIRONNEMENT D'EXÉCUTION DES COMMANDES ci-dessous). Les  affecta‐ 
-              tions  de  variables  et les commandes internes qui affectent l'environnement de l'interpréteur n'ont pas d'effet une fois 
-              que la commande se termine. L'état renvoyé est l'état final de la liste. 
- 
-       { liste; } 
-              liste est simplement exécutée avec l'environnement de l'interpréteur en cours. liste doit se terminer par un changement de 
-              ligne  ou  un  point-virgule.  Cette  construction est connue sous le nom de commandes groupées. L'état renvoyé est l'état 
-              final de la liste. Remarquez que contrairement aux métacaractères ( et ), { et } sont des mots  réservés  qui  ne  doivent 
-              apparaître  que  là  où un mot réservé peut être reconnu. Puisqu'ils ne conduiront pas à un découpage en mots, ils doivent 
-              être séparés de la liste par un blanc ou un autre métacaractère de l'interpréteur. 
- 
-       ((expression)) 
-              L'expression est évaluée selon les règles décrites ci-dessous dans ÉVALUATION ARITHMÉTIQUE. Si la valeur  arithmétique  de 
-              l'expression  est différente de zéro, l'état renvoyé est 0 ; sinon l'état renvoyé est 1. C'est exactement équivalent à let 
-              "expression". 
- 
-       [[ expression ]] 
-              Renvoie un état de 0 ou 1 selon l'évaluation de la condition expression.  Les  conditions  sont  composées  de  primitives 
-              décrites  ci-dessous  dans  CONDITIONS. Le découpage en mots et le développement des chemins ne sont pas effectués sur les 
-              mots entre [[ et ]] ; le développement des tildes, des paramètres, des variables, le développement arithmétique,  la  sub‐ 
-              stitution  de commande et de processus, ainsi que la suppression des protections sont effectués. Les opérateurs condition‐ 
-              nels comme -f ne doivent pas être protégés afin d'être reconnus comme primitives. 
- 
-              Lorsqu'ils sont utilisés avec [[, les opérateurs < et > ordonnent d'un point  de  vue  lexicographique  en  utilisant  les 
-              paramètres linguistiques régionaux actuels. 
- 
-       Consultez  la description de la commande interne test (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous) pour la gestion 
-       des paramètres (c'est-à-dire des paramètres manquants). 
- 
-       Quand les opérateurs == et != sont utilisés, la chaîne placée à droite de l'opérateur est considérée comme étant un motif dont la 
-       correspondance  est recherchée selon les règles décrites ci-dessous dans Motifs génériques, comme si l’option extglob de l’inter‐ 
-       préteur était activée. L’opérateur = est équivalent à ==. Si l'option d'interpréteur nocasematch est activée, la mise en  corres‐ 
-       pondance  est  effectuée  sans  tenir compte de la casse (différence majuscule/minuscule) des caractères alphabétiques. La valeur 
-       renvoyée est 0 si les chaînes correspondent (==), ou ne correspondent pas (!=), au motif et 1 sinon. Toute partie du  motif  peut 
-       être protégée pour forcer la partie protégée à correspondre en tant que chaîne. 
- 
-       Un  opérateur  binaire supplémentaire, =~, est disponible, avec la même priorité que == et !=. Lorsqu'il est utilisé, la chaîne à 
-       droite de l'opérateur est considérée comme une expression rationnelle étendue et est mise en correspondance en conséquence (comme 
-       avec regex(3)). La valeur renvoyée est 0 si la chaîne correspond au motif et 1 si elle ne correspond pas. Si l'expression ration‐ 
-       nelle n'est pas syntaxiquement correcte, la valeur renvoyée de l'expression conditionnelle  est  2.  Si  l'option  d'interpréteur 
-       nocasematch  est  activée, la mise en correspondance est effectuée sans tenir compte de la casse. Toute partie du motif peut être 
-       protégée pour forcer la partie protégée à correspondre en tant que chaîne. Les expressions entre crochets des expressions ration‐ 
-       nelles  doivent être traitées prudemment car les caractères de protection habituels perdent leur signification entre crochets. Si 
-       le motif est stocké dans une variable de l’interpréteur, la protection de développement de variable force le motif entier à  cor‐ 
-       respondre en tant que chaîne. Les sous-chaînes mises en correspondance avec des sous-expressions entre parenthèses dans l'expres‐ 
-       sion rationnelle sont sauvegardées dans la variable tableau BASH_REMATCH. L'élément d'indice 0 de BASH_REMATCH est la  partie  de 
-       la chaîne correspondant à l'expression rationnelle complète. L'élément d'indice n de BASH_REMATCH est la partie de la chaîne cor‐ 
-       respondant à la n-ième sous-expression entre parenthèses. 
- 
-       Les expressions peuvent être combinées en utilisant les opérateurs suivants, décrits par ordre de priorité décroissante : 
- 
-              ( expression ) 
-                     Renvoie la valeur de l'expression. Cela peut être utilisé pour surpasser la priorité normale des opérateurs. 
-              ! expression 
-                     Vrai si expression est fausse. 
-              expression1 && expression2 
-                     Vrai si expression1 et expression2 sont toutes les deux vraies. 
-              expression1 || expression2 
-                     Vrai si expression1 ou expression2 est vraie. 
- 
-              Les opérateurs && et || n'évaluent pas expression2 si la valeur de expression1 suffit à déterminer la valeur renvoyée  par 
-              la condition tout entière. 
- 
-       for nom [ [ in [ mot ... ] ] ; ] do liste ; done 
-              La  liste  de mots suivant in est développée, produisant une liste d'éléments. La variable nom prend tour à tour la valeur 
-              de chacun des éléments et liste est exécutée à chaque fois. Si in mot est omis, la commande for exécute la liste une  fois 
-              pour chacun des paramètres positionnels existants (consultez PARAMÈTRES ci-dessous). L'état renvoyé est l'état final de la 
-              dernière commande exécutée. Si le développement des éléments suivant in conduit à une liste vide,  aucune  commande  n'est 
-              exécutée et l'état renvoyé est 0. 
- 
-       for (( expr1 ; expr2 ; expr3 )) ; do liste ; done 
-              L'expression  arithmétique  expr1  est  d'abord évaluée selon les règles décrites ci-dessous sous ÉVALUATION ARITHMÉTIQUE. 
-              L'expression arithmétique expr2 est ensuite évaluée répétitivement jusqu'à valoir zéro. Chaque fois que expr2 est  évaluée 
-              en  une valeur différente de zéro, liste est exécutée et l'expression arithmétique expr3 est évaluée. Si l'une des expres‐ 
-              sions est omise, elle est considérée comme s'évaluant à 1. La valeur renvoyée est l'état final  de  la  dernière  commande 
-              dans liste qui est exécutée ou faux si l'une des expressions est incorrecte. 
- 
-       select nom [ in mot ] ; do liste ; done 
-              La  liste  de  mots  à  la suite de in est développée, produisant une liste d'éléments. L'ensemble des mots développés est 
-              imprimé sur la sortie d'erreur standard, chacun précédé par un nombre. Si in mot est  omis,  les  paramètres  positionnels 
-              sont  imprimés (consultez PARAMÈTRES ci-dessous). L'invite PS3 est affichée et une ligne est lue depuis l'entrée standard. 
-              Si la ligne est constituée d'un nombre correspondant à l'un des mots affichés, alors ce mot est affecté à la valeur de  la 
-              variable  nom. Si la ligne est vide, les mots et l'invite sont affichés à nouveau. Si une fin de fichier (EOF) est lue, la 
-              commande se termine. Toute autre valeur lue force la variable nom à être définie à NULL. La ligne lue est  conservée  dans 
-              la  variable  REPLY.  La liste est exécutée après chaque sélection, jusqu'à ce qu'une commande break soit atteinte. L'état 
-              final de select est l'état final de la dernière commande exécutée dans la liste ou zéro si aucune commande n'a été  exécu‐ 
-              tée. 
- 
-       case mot in [ [(] motif [ | motif ] ... ) liste ;; ] ... esac 
-              Une commande case commence d'abord par développer le mot, puis essaye de le mettre en correspondance tour à tour avec cha‐ 
-              cun des motifs en utilisant les mêmes règles que pour le développement des chemins (consultez ci-dessous Développement des 
-              chemins).  Le  mot est développé en utilisant le développement du tilde, le développement des paramètres et des variables, 
-              la substitution arithmétique, la substitution de commande, la substitution de processus et la suppression des protections. 
-              Chaque  motif  examiné  est  développé  en  utilisant  le  développement  du tilde, le développement des paramètres et des 
-              variables, la substitution arithmétique, la substitution de commande et la substitution de processus. Si l'option d'inter‐ 
-              préteur  nocasematch  est  activée,  la  mise en correspondance est effectuée sans tenir compte de la casse des caractères 
-              alphabétiques. Quand une correspondance est trouvée, la liste associée est exécutée. Dès qu'un motif correct a été trouvé, 
-              il  n' a plus d'autre essai si l'opérateur ;; est utilisé. Si ;& est utilisé au lieu de ;;, l'exécution continue avec la 
-              liste associée au jeu de motifs suivant. Si ;;& est utilisé au lieu de ;;, l'interpréteur essaye la liste de  motifs  sui‐ 
-              vante,  si  elle existe, et exécute toute liste associée à un motif correspondant. L'état final est zéro si aucun motif ne 
-              correspond. Sinon il est l'état final de la dernière commande exécutée dans la liste. 
- 
-       if liste; then liste; [ elif liste; then liste; ] ... [ else liste; ] fi 
-              La liste du if est exécutée. Si son état final est zéro, la liste du then est exécutée. Sinon, chacune des listes des elif 
-              est  exécutée  tour  à  tour  et si son état final est zéro, la liste du then associé est exécutée et la commande termine. 
-              Sinon, la liste du else, si présente, est exécutée. L'état final est l'état final de la dernière commande exécutée ou zéro 
-              si aucune condition n'a été satisfaite. 
- 
-       while liste-1; do liste-2; done 
-       until liste-1; do liste-2; done 
-              La commande while répète la liste-2 tant que la dernière commande de la liste-1 renvoie un état final de zéro. La commande 
-              until est identique à la commande while, sauf que le test est inversé ; la liste-2 est exécutée tant que la dernière  com‐ 
-              mande de la liste-1 renvoie un état final différent de zéro. L'état final des commandes while et until est l'état final de 
-              la dernière commande exécutée dans la liste-2 ou zéro si aucune commande n'a été exécutée. 
- 
-   Coprocessus 
-       Un coprocessus est une commande d'interpréteur précédée par le mot réservé coproc. Un coprocessus est exécuté de façon asynchrone 
-       dans  un  sous-interpréteur,  comme si la commande se terminait par l'opérateur de contrôle &, avec un tube bidirectionnel établi 
-       entre l'interpréteur d'exécution et le coprocessus. 
- 
-       Le format d'un coprocessus est : 
- 
-              coproc [NOM] commande [redirections] 
- 
-       Un coprocessus appelé NOM est créé. Si NOM n'est pas fourni, le nom par défaut est COPROC. NOM ne doit pas être  fourni  si  com‐ 
-       mande  est  une  commande simple (voir ci-dessus) ; sinon, il est interprété comme le premier mot d'une commande simple. Quand le 
-       coprocessus est exécuté, l'interpréteur crée une variable tableau (consultez Tableaux ci-dessous) appelée NOM dans le contexte de 
-       l'interpréteur  d'exécution. La sortie standard de commande est connecté par un tube à un descripteur de fichier dans l'interpré‐ 
-       teur d'exécution, et ce descripteur de fichier est affecté à NOM[0]. L'entrée standard de commande est connecté par un tube à  un 
-       descripteur  de  fichier  dans  l'interpréteur d'exécution, et ce descripteur de fichier est affecté à NOM[1]. Ce tube est établi 
-       avant toute redirection indiquée par la commande  (consultez REDIRECTIONS ci-dessous). Les descripteurs de fichier  peuvent  être 
-       utilisés comme arguments aux commandes d'interpréteur et redirections utilisant les développements standards de mot. Les descrip‐ 
-       teurs de fichier ne sont pas disponibles dans les sous-interpréteurs. L'identifiant du processus (PID) de l'interpréteur engendré 
-       pour  exécuter  le coprocessus est la valeur disponible de la variable NAME_PID. La commande interne wait peut être utilisée pour 
-       attendre que le coprocessus soit terminé. 
- 
-       Puisque le coprocessus est créé comme une commande asynchrone, la commande coproc se termine toujours avec succès. L'état renvoyé 
-       d'un coprocessus est l'état final de commande. 
- 
-   Définitions des fonctions de l'interpréteur 
-       Une fonction de l'interpréteur est un objet qui est appelé comme une commande simple et qui exécute une commande composée avec un 
-       nouveau jeu de paramètres positionnels. Les fonctions de l'interpréteur sont déclarées de la façon suivante : 
- 
-       nom () commande-composée [redirection] 
-       function nom [()] commande-composée [redirection] 
-              Cela définit une fonction possédant le nom mentionné. Le mot réservé function est facultatif. S'il est fourni, les  paren‐ 
-              thèses  sont  facultatives. Le corps de la fonction est la commande composée commande-composée (consultez Commandes compo‐ 
-              sées ci-dessus). Cette commande est généralement une liste de commandes entre { et }, mais peut être n'importe quelle com‐ 
-              mande  décrite dans Commandes composées ci-dessus. La commande-composée est exécutée chaque fois que nom est indiqué comme 
-              le nom d'une commande normale. En mode posix, nom ne peut pas être le nom d’une des commandes internes spéciales de  POSIX 
-              (« special  builtins »).  Toutes  les  redirections  (consultez REDIRECTIONS ci-dessous) indiquées lorsqu'une fonction est 
-              définie sont effectuées lorsque la fonction est exécutée. L'état final d'une définition de  fonction  est  zéro,  à  moins 
-              qu'une  erreur  de  syntaxe  ne se produise ou qu'une fonction en lecture seule n'existe déjà avec le même nom. Lorsque la 
-              fonction est exécutée, l'état final est celui de la dernière commande exécutée dans le corps  de  la  fonction  (consultez 
-              FONCTIONS ci-dessous). 
- 
-COMMENTAIRES 
-       Dans un interpréteur non interactif ou dans un interpréteur interactif avec l'option interactive_comments activée par la commande 
-       interne shopt (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous), un mot commençant par # conduit à ignorer  ce  mot  et 
-       tous  les caractères restants sur la ligne. Un interpréteur interactif sans l'option interactive_comments n'autorise pas les com‐ 
-       mentaires. L'option interactive_comments est activée par défaut dans les interpréteurs interactifs. 
- 
-PROTECTIONS 
-       Les protections (« quoting ») permettent de forcer l'interpréteur à ignorer la signification spéciale de certains  caractères  ou 
-       mots.  Les protections peuvent être utilisées pour désactiver le traitement des caractères spéciaux, éviter la reconnaissance des 
-       mots réservés ou empêcher le développement des paramètres. 
- 
-       Tous les métacaractères décrits ci-dessus dans DÉFINITIONS ont des significations spéciales pour l'interpréteur et  doivent  être 
-       protégés pour ne représenter que leur propre caractère. 
- 
-       Lorsque  les outils de développement de l'historique des commandes sont utilisés (consultez DÉVELOPPEMENT DE L'HISTORIQUE ci-des‐ 
-       sous), le caractère de développement de l'historique, généralement !, doit être protégé pour éviter le développement de  l'histo‐ 
-       rique. 
- 
-       Il  y a trois mécanismes de protection : le caractère de protection, les guillemets simples (« single quotes ») et les guillemets 
-       doubles (« double quotes »). 
- 
-       Le caractère de protection est une contre-oblique (\) non protégée. Il préserve la valeur littérale du caractère qui le  suit,  à 
-       l'exception  du  <changement  de ligne>. Si un couple \<changement de ligne> apparaît et si la contre-oblique n'est pas elle-même 
-       protégée, l'ensemble \<changement de ligne> est considéré comme une continuation de ligne (c'est-à-dire  qu'il  est  supprimé  du 
-       flux d'entrée et ignoré en pratique). 
- 
-       Encadrer  des  caractères  entre  des  guillemets  simples préserve la valeur littérale de chacun des caractères entre guillemets 
-       simples. Un guillemet simple ne peut pas être placé entre deux guillemets simples, même s'il est précédé d'une contre-oblique. 
- 
-       Encadrer des caractères entre des guillemets doubles préserve la valeur littérale de chacun des  caractères  sauf  $,  `,  \  et, 
-       lorsque  le  développement  de  l'historique est activé, !. Les caractères $ et ` conservent leurs significations spéciales entre 
-       guillemets doubles. La contre-oblique ne conserve sa signification spéciale que lorsqu'elle est suivie par  l'un  des  caractères 
-       suivants : $, `, ", \ ou <changement de ligne>. Un guillemet double peut être protégé entre deux guillemets doubles en étant pré‐ 
-       cédé d'une contre-oblique. S'il est activé, le développement de l'historique sera effectué, à moins qu'un  !  apparaissant  entre 
-       guillemets doubles ne soit protégé par une contre-oblique. La contre-oblique précédant le ! n'est pas supprimée. 
- 
-       Les  caractères  spéciaux  * et @ ont des significations spéciales lorsqu'ils se trouvent entre des guillemets doubles (consultez 
-       PARAMÈTRES ci-dessous). 
- 
-       Les mots de la forme $'chaîne' sont traités spécialement. Le mot est  développé  en  chaîne  avec  les  caractères  protégés  par 
-       contre-oblique  remplacés  comme  indiqué par le standard ANSI C. Les suites de protection par contre-oblique, si présentes, sont 
-       décodées comme suit : 
-              \a     alerte (alarme) ; 
-              \b     effacement arrière (« backspace ») ; 
-              \e 
-              \E     caractère de protection ; 
-              \f     saut de page (« form feed ») ; 
-              \n     saut de ligne (« new line ») ; 
-              \r     retour chariot (« carriage return ») ; 
-              \t     tabulation horizontale ; 
-              \v     tabulation verticale ; 
-              \\     contre-oblique ; 
-              \'     guillemet simple ; 
-              \"     guillemet double ; 
-              \nnn   le caractère 8 bits dont la valeur octale est nnn (un à trois chiffres) ; 
-              \xHH   le caractère 8 bits dont la valeur hexadécimale est HH (un ou deux chiffres hexadécimaux) ; 
-              \uHHHH le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHH (un à quatre chiffres hexadécimaux) ; 
-              \UHHHHHHHH 
-                     le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHHHHHH (un à huit chiffres hexadécimaux) ; 
-              \cx    un caractère contrôle-x. 
- 
-       Le résultat développé est protégé par des guillemets simples comme si le symbole dollar n'avait pas été présent. 
- 
-       Une chaîne entre guillemets doubles précédée d'un symbole dollar ($"chaîne") conduira à la traduction  de  la  chaîne  selon  les 
-       paramètres  linguistiques régionaux en vigueur. Si les paramètres linguistiques régionaux actuels est C ou POSIX, le symbole dol‐ 
-       lar est ignoré. Si la chaîne est traduite et remplacée, le résultat est protégé par des guillemets doubles. 
- 
-PARAMÈTRES 
-       Un paramètre est une entité permettant de stocker des valeurs. Il peut être un nom, un  nombre  ou  un  des  caractères  spéciaux 
-       décrits  ci-dessous,  dans Paramètres spéciaux. Une variable est un paramètre noté par un nom. Une variable possède une valeur et 
-       zéro ou plusieurs attributs. Les attributs sont affectés en utilisant la commande interne declare (consultez  declare  dans  COM‐ 
-       MANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). 
- 
-       Un  paramètre  est  créé  si  une valeur lui a été affectée. La chaîne NULL est une valeur correcte. Une fois qu'une variable est 
-       créée, elle ne peut être détruite qu'en utilisant la commande interne  unset  (consultez  COMMANDES  INTERNES  DE  L'INTERPRÉTEUR 
-       ci-dessous). 
- 
-       Une variable peut recevoir une valeur par une affectation de la forme 
- 
-              nom=[valeur] 
- 
-       Si aucune valeur n'est indiquée, une chaîne NULL est affectée à la variable. Toutes les valeurs sont sujettes au développement du 
-       tilde, des paramètres et des variables, à la substitution de commande, au développement arithmétique et à la suppression des pro‐ 
-       tections  (consultez  DÉVELOPPEMENTS ci-dessous). Si une variable a son attribut integer configuré, alors la valeur est soumise à 
-       l'évaluation arithmétique, même si la syntaxe $((...)) n'est pas utilisée (consultez Développement arithmétique  ci-dessous).  Le 
-       découpage  en mots n'est pas effectué, à l'exception de "$@" comme expliqué ci-dessous dans Paramètres spéciaux. Le développement 
-       des chemins n'est pas effectué. Les affectations peuvent également apparaître comme argument des commandes  internes  suivantes : 
-       alias, declare, typeset, export, readonly et local. En mode posix, ces commandes internes pourraient apparaître dans une commande 
-       après une ou plusieurs instances de la commande interne command et conserver ces propriétés d’affectation. 
- 
-       Dans le contexte où une affectation affecte une valeur à une variable de l'interpréteur ou à un indice de tableau, l'opérateur += 
-       peut  être  utilisé  pour ajouter ou additionner à la précédente valeur de la variable. Lorsque l'opérateur += est appliqué à une 
-       variable dont l'attribut integer (entier) a été positionné, la valeur est évaluée comme une expression arithmétique et  addition‐ 
-       née  à  la  valeur actuelle de la variable qui est également évaluée. Lorsque += est appliqué à une variable tableau en utilisant 
-       l'affectation composée (consultez Tableaux ci-dessous), la valeur de la variable n'est pas détruite (comme elle l'est  lorsque  = 
-       est  utilisé)  et  les  nouvelles valeurs sont ajoutées au tableau, en commençant à l'indice maximal du tableau plus un (pour les 
-       tableaux indicés) ou ajoutées comme un couple clef valeur pour un tableau associatif. Lorsque  l'opérateur  est  appliqué  à  une 
-       variable de type chaîne, la valeur est développée et concaténée en valeur de la variable. 
- 
-       L’attribut  nameref  peut être affecté à une variable en utilisant l’option -n des commandes internes declare et local (consultez 
-       la description des commandes declare et local ci-dessous) pour créer une nameref ou une référence vers une autre  variable.  Cela 
-       permet  aux variables d’être manipulées indirectement. À chaque fois qu’une variable nameref est référencée ou affectée, l’opéra‐ 
-       tion est en fait réalisée sur la variable indiquée par la valeur de la variable nameref. nameref est généralement  utilisée  dans 
-       des  fonctions  d’interpréteur  pour référencer une variable dont le nom est passé en argument de la fonction. Par exemple, si un 
-       nom de variable est passé en premier argument à une fonction d’interpréteur, exécuter 
-              declare -n ref=$1 
-       dans la fonction crée une variable nameref ref dont la valeur est le nom de la variable passée en  premier  argument.  Les  réfé‐ 
-       rences  et affectations de ref sont traitées comme des références et affectations sur la variable dont le nom a été passé par $1. 
-       Si la variable de contrôle dans une boucle for a l’attribut nameref, la liste de mots peut être une liste de  variables  d’inter‐ 
-       préteur  et une référence de nom est établie pour chaque mot de la liste, tour à tour, lorsque la boucle est exécutée. L’attribut 
-       -n ne peut pas être donné aux variables de type tableau. Cependant, les variables nameref peuvent  référencer  des  variables  de 
-       type  tableau  et des variables de type tableau indicé. nameref peut être détruit en utilisant l’option -n de la commande interne 
-       unset. Sinon, si unset est exécuté avec le nom d’une variable nameref en argument, la variable référencée par la variable nameref 
-       sera détruite. 
- 
-   Paramètres positionnels 
-       Un  paramètre  positionnel  est  un paramètre noté par un ou plusieurs chiffres (à l'exception du chiffre 0 seul). Les paramètres 
-       positionnels sont affectés avec les arguments de l'interpréteur lors de son appel. Ils peuvent être réaffectés avec  la  commande 
-       interne set. On ne peut pas utiliser les affectations pour les paramètres positionnels. Ils sont temporairement remplacés lors de 
-       l'exécution d'une fonction de l'interpréteur (consultez FONCTIONS ci-dessous). 
- 
-       Un paramètre positionnel constitué de plusieurs chiffres doit être encadré par des accolades lors de son développement (consultez 
-       DÉVELOPPEMENTS ci-dessous). 
- 
-   Paramètres spéciaux 
-       L'interpréteur  traite plusieurs paramètres spécifiquement. Ces paramètres peuvent uniquement être consultés, il n'est pas permis 
-       de leur affecter une valeur. 
-            Se développe en ensemble des paramètres positionnels, commençant par le premier. Quand le développement  n’est  pas  entre 
-              guillemets  doubles, tous les paramètres positionnels se développent en mots séparés. Dans les contextes où il sont réali‐ 
-              sés, ces mots sont soumis à d’autres découpages de mot et développements de chemin.  Quand  le  développement  se  produit 
-              entre  des  guillemets  doubles, * se transforme en un seul mot constitué de la valeur de tous les paramètres positionnels 
-              séparés par le premier caractère de la variable spéciale IFS. C'est-à-dire que "$*" est équivalent à "$1c$2c...", où c est 
-              le premier caractère de la valeur de la variable IFS. Si IFS est inexistante, les paramètres sont séparés par des espaces. 
-              Si IFS est NULL, les paramètres sont accolés sans séparateurs. 
-            Se développe en ensemble des paramètres positionnels, commençant par le premier.  Quand  le  développement  a  lieu  entre 
-              guillemets  doubles,  chaque  paramètre  se développe en un mot distinct. C'est-à-dire que "$@" est équivalent à "$1" "$2" 
-              .... Si le développement des guillemets doubles survient dans un mot, le développement du premier paramètre est  accolé  à 
-              la première partie du mot d'origine et le développement du dernier paramètre est accolé à la dernière partie du mot d'ori‐ 
-              gine. Quand il n'y a pas de paramètres positionnels, "$@" et $@ ne se développent en rien (c'est-à-dire qu'ils  sont  sim‐ 
-              plement éliminés). 
-       #      Correspond au nombre de paramètres positionnels, en base décimale. 
-       ?      Se développe en état final de la dernière conduite exécutée au premier plan. 
-            Est remplacé par la liste des options de l'interpréteur indiquées durant l'appel, configurées avec la commande interne set 
-              ou celles créées par l'interpréteur lui-même (comme avec l'option -i). 
-            Se transforme en PID de l'interpréteur. Dans un sous-interpréteur (), il se transforme en PID de l'interpréteur et non pas 
-              du sous-interpréteur. 
-            Se  transforme  en  PID  de la dernière tâche placée en arrière-plan, soit exécutée comme une commande asynchrone, soit en 
-              utilisant la commande interne bg (consultez CONTRÔLE DES TÂCHES ci-dessous). 
-            Se développe en nom de l'interpréteur ou du script. Ce paramètre est créé lors de l'initialisation de  l'interpréteur.  Si 
-              bash  est  appelé  avec  un  fichier de commandes, $0 correspond au nom de ce fichier. Si bash est lancé avec l'option -c, 
-              alors $0 contient le premier argument, s'il y en a un, après la chaîne  de  commandes  à  exécuter.  Sinon,  ce  paramètre 
-              contient le nom de fichier utilisé pour appeler bash, comme indiqué par l'argument zéro. 
-            Au  lancement  de  l'interpréteur,  contient le chemin d'accès absolu utilisé pour appeler l'interpréteur, ou le script en 
-              cours d'exécution tel qu'il est passé dans l'environnement ou dans la liste des arguments. Devient le dernier argument  de 
-              la  commande  précédente, après développement. Contient également le chemin d'accès complet de chaque commande exécutée et 
-              se retrouve dans l'environnement exporté à cette commande. Lors de la vérification de l'arrivée de courrier,  contient  le 
-              nom du fichier de courrier en cours de consultation. 
- 
-   Variables de l'interpréteur 
-       Les variables suivantes sont créées par l'interpréteur : 
- 
-       BASH   Se développe en chemin d'accès complet à l'instance actuelle de bash. 
-       BASHOPTS 
-              Liste  des  options activées de l'interpréteur, séparées par des deux-points « : ». Chaque mot de la liste est un argument 
-              correct pour l'option -s de la commande interne shopt (consultez COMMANDES INTERNES  DE  L'INTERPRÉTEUR  ci-dessous).  Les 
-              options  apparaissant dans BASHOPTS sont celles indiquées comme actives par shopt. Si cette variable est dans l'environne‐ 
-              ment au lancement de bash, chaque option de la liste est activée  avant  de  lire  les  fichiers  d’initialisation.  Cette 
-              variable est en lecture seule. 
-       BASHPID 
-              Se transforme en PID de l'interpréteur bash actuel. Diffère de $$ sous certaines conditions, comme dans les sous-interpré‐ 
-              teurs ne nécessitant pas que bash soit réinitialisé. 
-       BASH_ALIASES 
-              Une variable de type tableau associatif dont les éléments correspondent à une liste interne d'alias comme celle gérée  par 
-              la  commande  interne  alias. Les éléments ajoutés à ce tableau apparaissent dans la liste d'alias ; la destruction d'élé‐ 
-              ments du tableau implique le retrait des alias de la liste. 
-       BASH_ARGC 
-              Une variable de type tableau contenant le nombre de paramètres de chaque trame de la pile d'appel d'exécution de  l'inter‐ 
-              préteur  bash actuel. Le nombre de paramètres du sous-programme actuel (fonction de l'interpréteur ou script exécuté par . 
-              ou source) est au sommet de la pile. Lorsqu'un sous-programme est exécuté, le nombre de paramètres passés est  placé  dans 
-              BASH_ARGC.  L'interpréteur crée BASH_ARGC seulement dans le mode de traçage étendu (consultez ci-dessous la description de 
-              l'option extdebug de la commande interne shopt). 
-       BASH_ARGV 
-              Une variable de type tableau contenant tous les paramètres de la pile d'appel d'exécution de l'interpréteur  bash  actuel. 
-              Le  dernier  paramètre du dernier sous-programme est au sommet de la pile ; le premier paramètre de l'appel initial est en 
-              bas. Lorsqu'un sous-programme est exécuté, les paramètres fournis sont placés dans BASH_ARGV. BASH_ARGV est  créé  unique‐ 
-              ment  dans  le  mode  de  traçage  étendu (consultez ci-dessous la description de l'option extdebug de la commande interne 
-              shopt). 
-       BASH_CMDS 
-              Une variable de type tableau associatif dont les éléments correspondent à une table de hachage interne de commandes  comme 
-              celle  gérée par la commande interne hash. Les éléments ajoutés à ce tableau apparaissent dans la liste table de hachage ; 
-              la destruction d'éléments du tableau implique le retrait des commandes de la table de hachage. 
-       BASH_COMMAND 
-              La commande en cours d'exécution ou sur le point d'être exécutée, à moins que l'interpréteur n'exécute une commande  à  la 
-              suite d'une capture, auquel cas c'est la commande s'exécutant au moment de la capture. 
-       BASH_EXECUTION_STRING 
-              L'argument commande de l'option d'appel -c. 
-       BASH_LINENO 
-              Une variable de type tableau dont les éléments sont les numéros de ligne des fichiers sources où chaque élément correspon‐ 
-              dant de FUNCNAME a été invoqué. ${BASH_LINENO[$i]} est le numéro de la ligne dans le fichier source (${BASH_SOURCE[$i+1]}) 
-              où  ${FUNCNAME[$i]} a été appelé (ou ${BASH_LINENO[$i-1]} si consulté depuis une autre fonction de l'interpréteur). Utili‐ 
-              sez LINENO pour obtenir le numéro de ligne actuel. 
-       BASH_REMATCH 
-              Une variable de type tableau dont les éléments sont affectés avec l'opérateur binaire =~ dans la  commande  conditionnelle 
-              [[.  L'élément d'indice 0 est la partie de la chaîne correspondant à l'expression rationnelle complète. L'élément d'indice 
-              n est la partie de la chaîne correspondant à la n-ième sous-expression entre parenthèses. Cette variable  est  en  lecture 
-              seule. 
-       BASH_SOURCE 
-              Une  variable de type tableau dont les éléments sont les noms des fichiers source où les noms des fonctions d'interpréteur 
-              correspondants à la variable de type tableau FUNCNAME sont définis. La fonction d'interpréteur ${FUNCNAME[$i]} est définie 
-              dans le fichier ${BASH_SOURCE[$i]} et appelée depuis ${BASH_SOURCE[$i+1]}. 
-       BASH_SUBSHELL 
-              Incrémentée dans tous les sous-interpréteurs et environnements de sous-interpréteur quand l’interpréteur commence à s’exé‐ 
-              cuter dans cet environnement. La valeur initiale est 0. 
-       BASH_VERSINFO 
-              Une variable de type tableau protégée en écriture dont les éléments représentent la version de  cette  instance  de  bash. 
-              Cette valeur est affectée aux éléments du tableau comme suit : 
-              BASH_VERSINFO[0]        Le numéro majeur de la version (release). 
-              BASH_VERSINFO[1]        Le numéro mineur de la version (version). 
-              BASH_VERSINFO[2]        Le niveau de correctif. 
-              BASH_VERSINFO[3]        Le numéro de compilation. 
-              BASH_VERSINFO[4]        Le statut de cette version (par exemple beta1). 
-              BASH_VERSINFO[5]        La valeur de MACHTYPE. 
-       BASH_VERSION 
-              Se développe en une chaîne décrivant le numéro de version de cette instance de bash. 
-       COMP_CWORD 
-              Un  indice  dans  ${COMP_WORDS} du mot contenant la position actuelle du curseur. Cette variable n'est disponible que dans 
-              les fonctions de l'interpréteur appelées par les outils de complètement programmables (consultez Complètement programmable 
-              ci-dessous). 
-       COMP_KEY 
-              La touche (ou dernière touche d'une suite de touches) utilisée pour appeler la fonction de complètement actuelle. 
-       COMP_LINE 
-              La  ligne  de commande actuelle. Cette variable n'est disponible que dans les fonctions de l'interpréteur appelées par les 
-              outils de complètement programmables (consultez Complètement programmable ci-dessous). 
-       COMP_POINT 
-              L'indice de la position actuelle du curseur relatif au début de la commande actuelle. Si la position actuelle  du  curseur 
-              est  à  la fin de la commande actuelle, la valeur de cette variable est égale à ${#COMP_LINE}. Cette variable n'est dispo‐ 
-              nible que dans les fonctions de l'interpréteur et les commandes externes appelées par les outils de complètement  program‐ 
-              mables (consultez Complètement programmable ci-dessous). 
-       COMP_TYPE 
-              Configurée à une valeur entière correspondant au type de complètement essayé qui a provoqué l'appel d'une fonction de com‐ 
-              plètement : TAB pour un complètement normal, ? pour l'affichage des complètements après tabulations  successives,  !  pour 
-              l'affichage  des  alternatives de complètement de mot partiel, @ pour afficher les complètements si le mot n'est pas modi‐ 
-              fié, ou % pour le menu de complètement. Cette variable n'est disponible que dans les fonctions de  l'interpréteur  et  les 
-              commandes externes appelées par les outils de complètement programmables (consultez Complètement programmable ci-dessous). 
-       COMP_WORDBREAKS 
-              Le  jeu  de  caractères  que  la bibliothèque readline considère comme séparateurs de mots lors du complètement de mot. Si 
-              COMP_WORDBREAKS est détruite, elle perd ses propriétés spéciales, même si elle est recréée par la suite. 
-       COMP_WORDS 
-              Une variable de type tableau (consultez Tableaux ci-dessous) consistant en  mots  individuels  de  la  ligne  de  commande 
-              actuelle. La ligne est découpée en mots comme readline la découperait, en utilisant COMP_WORDBREAKS tel que décrit ci-des‐ 
-              sus. Cette variable n'est disponible que dans les fonctions de l'interpréteur appelées par les outils de complètement pro‐ 
-              grammables (consultez Complètement programmable ci-dessous). 
-       COPROC Une  variable  de type tableau (consultez Tableaux ci-dessous) créée pour représenter les descripteurs de fichier pour les 
-              sorties depuis et les entrées vers un coprocessus non nommé (consultez Coprocessus ci-dessus). 
-       DIRSTACK 
-              Une variable de type tableau (consultez Tableaux ci-dessous) représentant le contenu actuel de la pile de répertoires. Les 
-              répertoires  apparaissent dans la pile dans l'ordre dans lequel la commande interne dirs les affiche. Les affectations des 
-              éléments de cette variable tableau peuvent être utilisés pour modifier les répertoires déjà dans la pile,  mais  les  com‐ 
-              mandes  internes  pushd  et  popd  doivent  être utilisées pour ajouter et enlever des répertoires. L'affectation de cette 
-              variable ne modifiera pas le répertoire actuel. Si DIRSTACK est détruite, elle perd ses propriétés spéciales, même si elle 
-              est recréée par la suite. 
-       EUID   Contient l'UID effectif de l'utilisateur, initialisé au démarrage de l'interpréteur. Cette variable est en lecture seule. 
-       FUNCNAME 
-              Une  variable de type tableau contenant le nom de toutes les fonctions de l'interpréteur actuellement dans la pile d'appel 
-              d'exécution. L'élément d'indice 0 est le nom de l'une des fonctions en cours d'exécution dans l'interpréteur. L'élément le 
-              plus  bas  (celui avec l'indice le plus grand) est « main ». Cette variable n'existe que si une fonction de l'interpréteur 
-              est en cours d'exécution. Les affectations de FUNCNAME n'ont aucun effet et renvoient un état d'erreur.  Si  FUNCNAME  est 
-              détruite, elle perd ses propriétés spéciales, même si elle est recréée par la suite. 
- 
-              Cette variable peut être utilisée avec BASH_LINENO et BASH_SOURCE. Chaque élément de FUNCNAME a des éléments correspondant 
-              dans BASH_LINENO et BASH_SOURCE pour décrire la pile d'appel. Par exemple, ${FUNCNAME[$i]} a été appelé depuis le  fichier 
-              ${BASH_SOURCE[$i+1]}  à  la  ligne  numéro ${BASH_LINENO[$i]}. La commande interne caller affiche la pile d'appel actuelle 
-              utilisant ces renseignements. 
-       GROUPS Une variable de type tableau contenant la liste des groupes dont l'utilisateur est  membre.  Les  affectations  de  GROUPS 
-              n'ont  aucun effet et renvoient un état d'erreur. Si GROUPS est détruite, elle perd ses propriétés spéciales, même si elle 
-              est recréée par la suite. 
-       HISTCMD 
-              Le numéro d'historique, ou l'indice dans la file d'historique, de la commande en cours. Si HISTCMD est détruite, elle perd 
-              ses propriétés spéciales, même si elle est recréée par la suite. 
-       HOSTNAME 
-              Automatiquement configurée au nom de la machine actuelle. 
-       HOSTTYPE 
-              Automatiquement  configurée  en chaîne décrivant de façon unique le type de machine sur laquelle bash s'exécute. La valeur 
-              par défaut dépend du système. 
-       LINENO Chaque fois que ce paramètre est consulté, l'interpréteur le remplace par un nombre décimal représentant le numéro  de  la 
-              ligne  actuelle  (commençant  à 1), au sein du script ou de la fonction. Hors d'un script ou d'une fonction, la valeur n'a 
-              pas nécessairement de sens. Si LINENO est détruite, elle perd ses propriétés spéciales, même si elle est  recréée  par  la 
-              suite. 
-       MACHTYPE 
-              Automatiquement  configurée  en  chaîne décrivant le type du système sur lequel bash s'exécute, dans le format standard de 
-              GNU processeur-compagnie-système. La valeur par défaut dépend du système. 
-       MAPFILE 
-              Une variable de type tableau (consultez Tableaux ci-dessous) créée pour représenter le texte lu par  la  commande  interne 
-              mapfile si aucun nom de variable n'a été fourni. 
-       OLDPWD Le répertoire de travail précédent tel que configuré par la commande cd. 
-       OPTARG La valeur du dernier argument d'option traité par la commande interne getopts (consultez COMMANDES INTERNES DE L'INTERPRÉ‐ 
-              TEUR ci-dessous). 
-       OPTIND L'indice du prochain argument à traiter par la commande interne getopts (consultez COMMANDES  INTERNES  DE  L'INTERPRÉTEUR 
-              ci-dessous). 
-       OSTYPE Automatiquement  configurée  en chaîne décrivant le système d'exploitation sur lequel bash s'exécute. La valeur par défaut 
-              dépend du système. 
-       PIPESTATUS 
-              Une variable de type tableau (consultez Tableaux ci-dessous) contenant une liste des états finaux des  processus  exécutés 
-              dans la conduite exécutée la plus récemment au premier plan (qui peut éventuellement contenir une seule commande). 
-       PPID   L'identifiant du processus parent de l'interpréteur. Cette variable est en lecture seule. 
-       PWD    Le répertoire de travail actuel tel que configuré par la commande cd. 
-       RANDOM À  chaque  fois  que  ce paramètre est consulté, un entier aléatoire entre 0 et 32767 est engendré. Cette suite de nombres 
-              aléatoires peut être initialisée en affectant une valeur à RANDOM. Si RANDOM est détruite, elle perd ses  propriétés  spé‐ 
-              ciales, même si elle est recréée par la suite. 
-       READLINE_LINE 
-              Le  contenu  du  tampon  de ligne readline, pour utiliser avec « bind -x » (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR 
-              ci-dessous). 
-       READLINE_POINT 
-              La position du point d'insertion dans le tampon de ligne readline, pour utiliser avec  « bind  -x »  (consultez  COMMANDES 
-              INTERNES DE L'INTERPRÉTEUR ci-dessous). 
-       REPLY  Configurée en ligne de saisie lue par la commande interne read lorsqu'aucun argument n'a été fourni. 
-       SECONDS 
-              À chaque fois que ce paramètre est consulté, le temps en seconde écoulé depuis le lancement de l'interpréteur est renvoyé. 
-              Si une valeur est affectée à SECONDS, la valeur renvoyée lors d’une consultation ultérieure est le temps en seconde écoulé 
-              depuis  l'affectation,  ajouté  à la valeur affectée. Si SECONDS est détruite, elle perd ses propriétés spéciales, même si 
-              elle est recréée par la suite. 
-       SHELLOPTS 
-              Liste des options activées de l'interpréteur, séparées par des deux-points « : ». Chaque mot de la liste est  un  argument 
-              correct  pour  l'option  -o  de  la  commande interne set (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). Les 
-              options apparaissant dans SHELLOPTS sont celles indiquées comme actives par set -o. Si cette variable est dans  l'environ‐ 
-              nement  au  lancement  de  bash,  chaque option de la liste est activée avant de lire les fichiers d’initialisation. Cette 
-              variable est en lecture seule. 
-       SHLVL  Incrémenté de 1 à chaque appel d'une instance de bash. 
-       UID    Contient l'UID de l'utilisateur actuel, initialisé au démarrage de l'interpréteur. Cette variable est en lecture seule. 
- 
-       Les variables suivantes sont utilisées par l'interpréteur. Dans certains cas, bash affecte des valeurs par défaut aux variables ; 
-       ces cas sont décrits ci-dessous. 
- 
-       BASH_COMPAT 
-              La  valeur est utilisée pour définir le niveau de compatibilité de l’interpréteur. Consultez la description de la commande 
-              interne shopt ci-dessous dans COMMANDES INTERNES DE L'INTERPRÉTEUR pour une description des différents niveaux de compati‐ 
-              bilité  et  leurs conséquences. La valeur peut être un nombre décimal (par exemple 4.2) ou entier (par exemple 42) corres‐ 
-              pondant au niveau de compatibilité voulu. Si BASH_COMPAT est détruite ou définie comme une chaîne vide, le niveau de  com‐ 
-              patibilité  est défini à la valeur par défaut de la version actuelle. Si BASH_COMPAT est définie à une valeur de niveau de 
-              compatibilité impossible, l’interpréteur affiche un message d’erreur et définit le niveau de compatibilité à la valeur par 
-              défaut  de la version actuelle. Les niveaux de compatibilité possibles correspondent aux options de compatibilité acceptée 
-              par la commande interne shopt décrite ci-dessous (par exemple, compat42 signifie que 4.2  et  42  sont  des  valeurs  pos‐ 
-              sibles). La version actuelle est aussi une valeur possible. 
-       BASH_ENV 
-              Si ce paramètre existe lorsque bash exécute un script, sa valeur est considérée comme un nom de fichier contenant les com‐ 
-              mandes d'initialisation de l'interpréteur, comme dans ~/.bashrc. La valeur de BASH_ENV est soumise  au  développement  des 
-              paramètres,  à  la  substitution  de  commande  et  au  développement arithmétique avant d'être considérée comme un nom de 
-              fichier. PATH n'est pas utilisée pour rechercher le fichier obtenu. 
-       BASH_XTRACEFD 
-              Si configurée à une valeur entière correspondant à un descripteur de fichier correct, bash écrira la trace  de  sortie  si 
-              set  -x est activé vers ce descripteur de fichier. Le descripteur de fichier est fermé quand BASH_XTRACEFD est détruite ou 
-              qu'une nouvelle valeur lui est affectée. Détruire BASH_XTRACEFD ou lui affecter la chaîne vide conduit la trace de  sortie 
-              à  être  envoyé vers la sortie d'erreur standard. Remarquez que configurer BASH_XTRACEFD à 2 (le descripteur de fichier de 
-              la sortie d'erreur standard) puis la détruire revient à fermer la sortie d'erreur standard. 
-       CDPATH Le chemin de recherche de la commande interne cd. Il s'agit d'une liste de répertoires, séparés par des deux-points « : », 
-              que  l'interpréteur  consulte lorsqu'il cherche un sous-répertoire destination de la commande cd. Un exemple de valeur est 
-              « .:~:/usr ». 
-       CHILD_MAX 
-              Définir le nombre de valeurs d’état de sortie des fils dont l’interpréteur doit se souvenir. Bash ne permettra pas à cette 
-              valeur  d’être inférieure à un minimum imposé par POSIX, ni d’être supérieure à une valeur maximale (8192 pour l’instant). 
-              La valeur minimale dépend du système. 
-       COLUMNS 
-              Utilisée par la commande composée select pour déterminer la largeur du terminal lors de l'affichage des listes  de  sélec‐ 
-              tion.  Automatiquement  configurée  si l’option checkwinsize est activée ou dans un interpréteur interactif à la réception 
-              d'un signal SIGWINCH 
-       COMPREPLY 
-              Une variable de type tableau dans lequel bash lit les complètements possibles produits par une fonction de  l'interpréteur 
-              appelée  par  les outils de complètement programmables (consultez Complètement programmable ci-dessous). Chaque élément du 
-              tableau contient un complètement possible. 
-       EMACS  Si bash trouve cette variable dans l'environnement lorsque l'interpréteur démarre avec la valeur « t », il  considère  que 
-              l'interpréteur est lancé dans un tampon d'interpréteur d'Emacs et désactive l'édition en ligne. 
-       ENV    Similaire à BASH_ENV. Utilisé quand l'interpréteur est invoqué en mode POSIX. 
-       FCEDIT L'éditeur par défaut utilisé par la commande interne fc. 
-       FIGNORE 
-              Une  liste  de  suffixes,  séparés  par des deux-points « : », que bash ignorera lors du complètement des noms de fichiers 
-              (consultez READLINE ci-dessous). Un nom de fichier dont le suffixe correspond à l'un de ceux mentionnés dans  FIGNORE  est 
-              exclu  de  la  liste  des noms de fichiers correspondant pour le complètement. Par exemple, cette variable peut prendre la 
-              valeur « .o:~ » (des protections sont nécessaires pour l'affectation d'une  valeur  à  cette  variable  qui  contient  des 
-              tildes). 
-       FUNCNEST 
-              Si  configurée à une valeur numérique strictement positive, cela définit le niveau maximal d'imbrication de fonctions. Les 
-              invocations de fonctions qui dépassent ce niveau d'imbrication forceront la commande actuelle à abandonner. 
-       GLOBIGNORE 
-              Une liste de motifs séparés par des deux-points « : », définissant l'ensemble des noms de fichiers à ignorer lors du déve‐ 
-              loppement  des  chemins. Si un nom de fichier correspondant à un motif de développement des chemins correspond également à 
-              un motif dans GLOBIGNORE, il est supprimé de la liste des correspondances. 
-       HISTCONTROL 
-              Une liste de valeurs, séparées par des deux-points « : », commandant la façon dont les commandes sont sauvegardées dans la 
-              file  d'historique.  Si  la liste des valeurs contient la valeur ignorespace, les lignes commençant par une espace ne sont 
-              pas sauvegardées dans la file d'historique. La valeur ignoredups conduit à ne  pas  sauvegarder  une  ligne  correspondant 
-              exactement à la ligne de commande précédente. La présence de ignoreboth est un condensé pour ignorespace et ignoredups. La 
-              valeur erasedups conduit à retirer de la file d'historique toutes les lignes précédant la ligne actuelle et lui correspon‐ 
-              dant  avant  que cette ligne y soit sauvegardée. Toute valeur qui ne fait pas partie de la liste ci-dessus est ignorée. Si 
-              HISTCONTROL est inexistante ou si elle ne contient pas une valeur correcte, toutes les  lignes  lues  par  l'analyseur  de 
-              l'interpréteur  seront sauvegardées dans la file d'historique, selon la valeur de HISTIGNORE. La seconde ligne et les sui‐ 
-              vantes d'une commande multiligne ne sont pas testées et sont ajoutées dans l'historique indépendamment  de  la  valeur  de 
-              HISTCONTROL. 
-       HISTFILE 
-              Le  nom du fichier dans lequel l'historique des commandes est sauvegardé (consultez HISTORIQUE ci-dessous). Par défaut, il 
-              s'agit de ~/.bash_history. Si inexistante, l'historique des commandes n'est pas sauvegardé lorsqu'un interpréteur se  ter‐ 
-              mine. 
-       HISTFILESIZE 
-              Le  nombre  maximal de lignes contenues dans le fichier d'historique. Quand cette variable contient une valeur, le fichier 
-              d’historique est tronqué, si besoin, pour ne pas contenir plus que ce nombre de lignes en enlevant les  entrées  les  plus 
-              anciennes.  Ce  fichier est aussi tronqué à cette taille après son écriture quand un interpréteur se termine. Si la valeur 
-              est 0, le fichier d’historique est tronqué à une taille nulle. Les valeurs non numériques ou négatives empêchent la  tron‐ 
-              cature. L’interpréteur définit la valeur par défaut à la valeur de HISTSIZE après avoir lu tous les fichiers d’initialisa‐ 
-              tion. 
-       HISTIGNORE 
-              Une liste de motifs, séparés par des deux-points « : », déterminant quelles lignes de commande devraient être sauvegardées 
-              dans  la file d'historique. Chaque motif est accroché au début de la ligne et doit lui correspondre en complètement (aucun 
-              ajout de « * » implicite). Chaque motif est comparé à chaque ligne après application des vérifications de HISTCONTROL.  En 
-              plus  des  motifs  génériques usuels de l'interpréteur, « & » correspond à la ligne précédente de l'historique. « & » peut 
-              être protégée par une contre-oblique ; la contre-oblique est supprimée avant de tenter une comparaison. La  seconde  ligne 
-              et  les  suivantes d'une commande multiligne ne sont pas testées et sont ajoutées dans l'historique quelque soit la valeur 
-              de HISTIGNORE. 
-       HISTSIZE 
-              Le nombre de commandes à mémoriser dans l'historique (consultez HISTORIQUE ci-dessous). Si la valeur est 0, les  commandes 
-              ne  sont pas sauvegardées dans la liste d’historique. Les valeurs négatives permettent de sauvegarder toutes les commandes 
-              dans la liste d’historique (sans limite). L’interpréteur définit la valeur par défaut  à  500  après  avoir  lu  tous  les 
-              fichiers d’initialisation. 
-       HISTTIMEFORMAT 
-              Si  cette  variable  existe  et n'est pas NULL, sa valeur est utilisée comme une chaîne de caractères par strftime(3) afin 
-              d'imprimer l'horodatage associé à chaque élément de l'historique  affiché  par  la  commande  interne  history.  Si  cette 
-              variable  existe,  les  horodatages  sont écrits dans le fichier d'historique afin d'être conservés au fur et à mesure des 
-              sessions de l'interpréteur. Cela utilise le caractère de commentaire d'historique pour distinguer l'horodatage des  autres 
-              lignes de l'historique. 
-       HOME   Le  répertoire  d'accueil  de  l'utilisateur  actuel ; l'argument par défaut de la commande interne cd. La valeur de cette 
-              variable est aussi utilisée lors du développement du tilde. 
-       HOSTFILE 
-              Contient le nom d'un fichier ayant le même format que /etc/hosts qui devra être lu lorsque l'interpréteur aura  besoin  de 
-              compléter  un  nom de machine. La liste des complètements possibles de noms de machines peut être changée pendant l'exécu‐ 
-              tion de l'interpréteur ; à la tentative de complètement de nom de machine suivant le changement de valeur, bash ajoute  le 
-              contenu du nouveau fichier à la liste existante. Si HOSTFILE existe mais est vide, ou désigne un fichier non accessible en 
-              lecture, bash essaie de lire /etc/hosts pour obtenir la liste des complètements de noms  de  machines  possibles.  Lorsque 
-              HOSTFILE est détruite, la liste des noms de machines est effacée. 
-       IFS    Le  séparateur  de champs interne (« Internal Field Separator ») qui est utilisé pour le découpage en mots après les déve‐ 
-              loppements  et  pour  découper  les  lignes  en  mots  avec  la  commande  interne  read.  La  valeur   par   défaut   est 
-              « <espace><tab><changement de ligne> ». 
-       IGNOREEOF 
-              Commande le comportement d'un interpréteur interactif à réception d'un caractère EOF (fin de fichier) comme unique saisie. 
-              Si elle existe, la valeur est le nombre de caractères EOF consécutifs qui doivent être tapés comme premiers caractères sur 
-              une ligne de saisie avant que bash ne termine. Si la variable existe mais que sa valeur n'est pas numérique ou si elle n'a 
-              pas de valeur, la valeur par défaut est 10. Si elle n'existe pas, EOF signifie la fin de la saisie pour l'interpréteur. 
-       INPUTRC 
-              Le nom du fichier d’initialisation pour readline, prioritaire sur le fichier par  défaut  ~/.inputrc  (consultez  READLINE 
-              ci-dessous). 
-       LANG   Utilisée  pour  déterminer le paramètre linguistique régional pour toute catégorie non spécifiquement sélectionnée par une 
-              variable commençant par LC_. 
-       LC_ALL Cette variable surpasse LANG et toute autre variable LC_ indiquant une catégorie de paramètres linguistiques régionaux. 
-       LC_COLLATE 
-              Cette variable détermine l'ordre de collation utilisé pour trier les résultats du développement des chemins  et  détermine 
-              le comportement des expressions d’intervalle, des classes d'équivalences et des suites de collations dans le développement 
-              des chemins et la correspondance de motifs. 
-       LC_CTYPE 
-              Cette variable détermine l'interprétation des caractères et le comportement des classes de caractères lors  du  développe‐ 
-              ment des chemins et de la recherche de correspondances de motifs. 
-       LC_MESSAGES 
-              Cette  variable  détermine  le  paramètre linguistique régional utilisé pour traduire les chaînes entre guillemets doubles 
-              précédées d'un $. 
-       LC_NUMERIC 
-              Cette variable détermine le paramètre linguistique régional utilisé pour formater les nombres. 
-       LINES  Utilisée par la commande composée select pour déterminer la taille des colonnes lors de l'affichage des listes  de  sélec‐ 
-              tion.  Automatiquement  configurée  si l’option checkwinsize est activée ou dans un interpréteur interactif à la réception 
-              d'un signal SIGWINCH. 
-       MAIL   Si ce paramètre correspond à un nom de fichier ou de répertoire et si la variable MAILPATH est inexistante,  bash  informe 
-              l'utilisateur de l'arrivée de messages dans le fichier indiqué ou le répertoire au format Maildir. 
-       MAILCHECK 
-              Indique  la durée (en seconde) au bout de laquelle bash vérifie si un nouveau message est arrivé. La valeur par défaut est 
-              60 secondes. Lorsque le délai est écoulé, l'interpréteur vérifiera la présence d'un courrier électronique avant d'afficher 
-              son  invite de base. Si cette variable est inexistante, ou contient une valeur strictement négative, l'interpréteur désac‐ 
-              tive la vérification du courrier. 
-       MAILPATH 
-              Une liste de noms de fichiers séparés par des deux-points « : », dans lesquels on vérifiera l'arrivée de courrier. Le  nom 
-              d'un  fichier  peut  être  suivi  d'un point d'interrogation « ? », puis d'une chaîne de caractères indiquant le message à 
-              afficher en cas de courrier. Dans cette chaîne, le paramètre $_ correspond au nom du fichier de courrier actuel. Exemple : 
-              MAILPATH='/usr/spool/mail/bfox?"Vous avez du courrier":~/shell-mail?"$_ a du courrier !"' 
-              Bash fournit une valeur par défaut pour cette variable, mais l'emplacement du fichier boîte à lettres  dépend  du  système 
-              (par exemple /usr/spool/mail/$USER). 
-       OPTERR Si configurée à la valeur 1, bash affiche les messages d'erreurs engendrés par la commande interne getopts (consultez COM‐ 
-              MANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). OPTERR est initialisée avec la valeur 1 à chaque appel de l'interpréteur ou 
-              au lancement d'un script. 
-       PATH   Le  chemin  de recherche des commandes à exécuter. Il s'agit d'une liste de répertoires, séparés par des deux-points « : » 
-              dans lesquels l'interpréteur recherche les commandes (consultez EXÉCUTION DES COMMANDES ci-dessous). Un nom de  répertoire 
-              de  taille nulle (NULL) dans la valeur de PATH désigne le répertoire actuel. Un répertoire NULL peut apparaître comme deux 
-              deux-points consécutifs ou comme des deux-points en début ou en fin. Le chemin par défaut dépend du système et est  choisi 
-              par          l'administrateur          installant          bash.          Une          valeur          commune         est 
-              « /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin ». 
-       POSIXLY_CORRECT 
-              Si cette variable existe dans l'environnement lorsque bash démarre, l'interpréteur passe en mode posix avant de  lire  les 
-              fichiers d’initialisation comme si l'option --posix avait été fournie. Si elle est créée pendant que l'interpréteur est en 
-              cours d'exécution, bash active le mode posix comme si la commande set -o posix avait été exécutée. 
-       PROMPT_COMMAND 
-              Si existante, sa valeur est exécutée comme commande préalablement à l'affichage de chaque invite de base. 
-       PROMPT_DIRTRIM 
-              Si elle contient un nombre supérieur à zéro, cette valeur est utilisée comme nombre de répertoires finaux à conserver lors 
-              du développement des protections de chaîne d'invite \w et \W (consultez INVITES ci-dessous). Les caractères supprimés sont 
-              remplacés par une ellipse. 
-       PS1    La valeur de ce paramètre est développée puis utilisée comme chaîne d'invite de base (consultez  INVITES  ci-dessous).  La 
-              valeur par défaut est « \s-\v\$  ». 
-       PS2    La  valeur  de  ce paramètre est développée comme PS1 puis utilisée comme chaîne d'invite secondaire. La valeur par défaut 
-              est « >  ». 
-       PS3    La valeur de ce paramètre est utilisée comme invite de la commande select (consultez GRAMMAIRE DE  L'INTERPRÉTEUR  ci-des‐ 
-              sus). 
-       PS4    La  valeur  de  ce  paramètre est développée comme PS1 puis affichée entre chaque commande lors d'un suivi d'exécution. Le 
-              premier caractère de PS4 est répété autant de fois que nécessaire pour indiquer le niveau  d'imbrication.  La  valeur  par 
-              défaut est « +  ». 
-       SHELL  Le  chemin  d'accès complet à l'interpréteur de commandes est conservé dans cette variable d'environnement. Si inexistante 
-              au démarrage de l'interpréteur, bash lui affecte le chemin d'accès complet à l'interpréteur de commandes de  connexion  de 
-              l'utilisateur actuel. 
-       TIMEFORMAT 
-              La  valeur  de  ce  paramètre  est utilisée en tant que chaîne de format indiquant comment les informations de paramétrage 
-              doivent être affichées pour les conduites précédées du mot réservé time. Le caractère % introduit une suite de  caractères 
-              de  protection qui est développée en valeur de temps ou autre information. Les suites de caractères de protection et leurs 
-              significations sont les suivantes ; les crochets marquent les parties facultatives. 
-              %%        Un % seul (non interprété). 
-              %[p][l]R  Le temps écoulé en seconde. 
-              %[p][l]U  Le temps processeur écoulé en mode utilisateur en seconde. 
-              %[p][l]S  Le temps processeur écoulé en mode système en seconde. 
-              %P        Le pourcentage de temps processeur utilisé calculé avec (%U + %S) / %R. 
- 
-              Le p facultatif est un chiffre indiquant la précision, le nombre de chiffres après la virgule. Une valeur de 0  conduit  à 
-              affichage  de  nombre entiers. Trois chiffres au plus peuvent être affichés après la virgule ; toute valeur supérieure à 3 
-              sera modifiée en 3. Si p n'est pas précisé, la valeur 3 est utilisée. 
- 
-              Le l facultatif indique un format plus long, incluant les minutes, de la forme MMmSS.DDs. La valeur de p détermine  si  la 
-              partie décimale est affichée ou non. 
- 
-              Si  cette  variable  n'existe  pas,  bash agit comme si elle avait la valeur $'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'. Si la 
-              valeur est NULL, aucune information de chronométrage n'est affichée. Un caractère final de changement de ligne est  ajouté 
-              quand la chaîne de format est affichée. 
-       TMOUT  Si  configurée  en valeur strictement positive, TMOUT est traitée comme le délai par défaut pour la commande interne read. 
-              La commande select se termine s'il n'y a pas de saisie au bout de TMOUT secondes lorsque  l'entrée  vient  d'un  terminal. 
-              Dans un interpréteur interactif, la valeur est interprétée comme une durée en seconde à attendre une ligne de saisie après 
-              avoir affiché l'invite de base. Bash se termine après avoir attendu pendant ce temps en seconde si aucune saisie de  ligne 
-              complète n'est arrivée. 
-       TMPDIR Si existante, bash utilise sa valeur comme nom de répertoire dans lequel bash crée les fichiers temporaires nécessaires au 
-              fonctionnement de l'interpréteur. 
-       auto_resume 
-              Cette variable commande le comportement de l'interpréteur vis-à-vis de l'utilisateur et du contrôle des tâches.  Si  cette 
-              variable  existe,  les  commandes simples constituées d'un seul mot, sans redirection, sont considérées comme de possibles 
-              relances de tâches suspendues. Aucune ambiguïté n'est possible, si plusieurs tâches commencent par la  chaîne  saisie,  la 
-              tâche  à  laquelle il a été accédé le plus récemment est sélectionnée. Le nom d'une tâche suspendue, dans ce contexte, est 
-              la ligne de commande utilisée pour la lancer. Si configurée à la valeur exact, la chaîne fournie doit correspondre exacte‐ 
-              ment  au  nom  d'une tâche suspendue ; si configurée à substring, la chaîne fournie doit correspondre à une sous-chaîne du 
-              nom de la tâche suspendue. La valeur substring donne une fonctionnalité analogue à l'identificateur de tâche %? (consultez 
-              CONTRÔLE  DES  TÂCHES ci-dessous). Si configurée à toute autre valeur, la chaîne fournie doit être le préfixe du nom d'une 
-              tâche suspendue ; cela fournit une fonctionnalité analogue à l'identificateur de tâche %string. 
-       histchars 
-              Les deux ou trois caractères commandant le développement de l'historique et le découpage en lexèmes (consultez  DÉVELOPPE‐ 
-              MENT  DE  L'HISTORIQUE  ci-dessous).  Le  premier  caractère  est le caractère de développement de l'historique, celui qui 
-              indique le début d'un développement d'historique (normalement « ! »).  Le  second  caractère  est  celui  de  substitution 
-              rapide,  utilisé  comme  raccourci  pour relancer la commande précédente, en modifiant une partie de la chaîne (par défaut 
-              « ^ »). Le troisième caractère facultatif est celui qui indique, lorsqu'on le trouve en début de mot que le  reste  de  la 
-              ligne  est  un  commentaire (normalement « # »). Ce caractère de commentaire empêche le développement de l'historique pour 
-              tous les mots restants sur la ligne. Il ne conduit pas nécessairement l'analyseur de l'interpréteur à considérer le  reste 
-              de la ligne comme un commentaire. 
- 
-   Tableaux 
-       Bash fournit des variables de type tableau indicé ou associatif, à une dimension. Toute variable peut être utilisée comme tableau 
-       indicé ; la commande interne declare peut servir à déclarer explicitement un tableau. Il n'y a pas de limitation  maximale  à  la 
-       taille  d'un tableau, ni d'obligation à indicer les éléments ou les affecter de façon contiguë. Les tableaux indicés sont consul‐ 
-       tés avec des entiers (évaluations arithmétiques comprises) commençant à zéro ; les tableaux associatifs sont consultés  avec  des 
-       chaînes arbitraires. Sauf mention contraire, les indices de tableaux indicés doivent être des entiers positifs. 
- 
-       Un  tableau  indicé  est créé automatiquement si une variable quelconque est affectée en utilisant la syntaxe nom[indice]=valeur. 
-       L'indice est traité comme une expression arithmétique et doit s'évaluer en un nombre. declare -a nom permet de déclarer  explici‐ 
-       tement  un tableau indicé (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). declare -a nom[indice] est aussi accepté ; 
-       l'indice est ignoré. 
- 
-       Les tableaux associatifs sont créés en utilisant declare -A nom. 
- 
-       Des attributs peuvent être indiqués pour une variable tableau en utilisant les commandes internes declare et readonly. Les attri‐ 
-       buts s'appliquent à tous les éléments d'un tableau. 
- 
-       Les  tableaux  sont affectés en utilisant l'affectation composée de la forme nom=(valeur_1 ... valeur_n), où chaque valeur est de 
-       la forme [indice]=chaîne. Les affectations de tableau indicé ne nécessitent rien d’autre que chaîne.  Lors  de  l'affectation  de 
-       tableaux  indicés,  si  les  crochets  et  les indices facultatifs sont fournis, les affectations ont lieu en conséquence ; sinon 
-       l'indice de l'élément affecté est le dernier indice affecté plus un. L'indexation commence à zéro. 
- 
-       Lors de l'affectation d'un tableau associatif, l'indice est obligatoire. 
- 
-       Cette syntaxe est aussi acceptée par la commande interne declare. Les éléments individuels du tableau sont affectés en  utilisant 
-       la syntaxe nom[indice]=valeur présentée ci-dessus. Lors de l’affectation vers un tableau indicé, si nom est indicé avec un nombre 
-       négatif, ce nombre est considéré comme ajouté à l'indice maximal de nom plus un (ainsi un indice négatif compte à rebours  depuis 
-       la fin du tableau et un indice -1 fait référence au dernier élément du tableau). 
- 
-       Tout élément d'un tableau est accessible avec la notation ${nom[indice]}. Les accolades sont nécessaires pour éviter les conflits 
-       avec le développement des chemins. Si indice est @ ou *, le mot se développe en tous les éléments de nom.  Ces  deux  indices  ne 
-       diffèrent que lorsque le mot apparaît entre guillemets doubles. Si le mot est entre guillemets doubles, ${nom[*]} se développe en 
-       un seul mot contenant les valeurs de chaque élément du tableau séparées par le premier caractère de la variable spéciale  IFS  et 
-       ${nom[@]} développe chaque élément de nom en un mot distinct. Quand il n'y a pas d'élément dans le tableau, ${nom[@]} ne se déve‐ 
-       loppe en rien. Si le développement entre guillemets doubles  survient  à  l'intérieur  d'un  mot,  le  développement  du  premier 
-       paramètre  est accolé à la première partie du mot original et le développement du dernier paramètre est accolé à la dernière par‐ 
-       tie du mot original. Le comportement est analogue à celui des paramètres spéciaux * et @ (consultez Paramètres  spéciaux  ci-des‐ 
-       sus).  ${#nom[indice]}  s'évalue  en  longueur de l'élément ${nom[indice]}. Si l'indice est * ou @, s'évalue en nombre d'éléments 
-       dans le tableau. Accéder à une variable tableau sans indice est équivalent à accéder  à  l'élément  de  tableau  d'indice  0.  Si 
-       l'indice  utilisé  pour  référencer  un  élément de tableau indicé s'évalue en un nombre négatif, il est considéré comme ajouté à 
-       l'indice maximal du tableau plus un (ainsi un indice négatif compte à rebours depuis la fin du tableau et un indice -1 fait réfé‐ 
-       rence au dernier élément du tableau). 
- 
-       Une variable tableau est considérée configurée si une valeur a été affectée à un indice. La chaîne NULL est une valeur possible. 
- 
-       Les  clefs  (indices)  d’un  tableau peuvent être aussi bien obtenues que les valeurs. ${!nom[@]} et ${!nom[*]} se développent en 
-       indices assignés dans la variable tableau nom. Le  traitement  entre  guillemets  doubles  est  similaire  au  développement  des 
-       paramètres spéciaux @ et * entre guillemets doubles. 
- 
-       La  commande  interne  unset  sert  à  détruire les tableaux. unset nom[indice] détruit l'élément de tableau d'indice indice. Les 
-       indices négatifs des tableaux indicés sont traités comme décrit précédemment. Un soin particulier doit être apporté afin d'éviter 
-       des  effets  de  bords  non  désirés  provoqués  par  le  développement  des  chemins. unset nom, où nom est un tableau, ou unset 
-       nom[indice], avec indice valant * ou @ supprime le tableau entier. 
- 
-       Les commandes internes declare, local et readonly acceptent toutes une option -a pour préciser un tableau indicé et une option -A 
-       pour  préciser un tableau associatif. Si les deux options sont fournies, -A est prioritaire. La commande interne read accepte une 
-       option -a pour affecter une liste de mots lus depuis l'entrée standard dans un tableau. Les commandes  internes  set  et  declare 
-       affichent les valeurs d'un tableau d'une façon qui permet de les réutiliser pour des affectations. 
- 
-DÉVELOPPEMENTS 
-       Les  développements  sont  appliqués  à  la ligne de commande après avoir été découpée en mots. Sept types de développements sont 
-       effectués : le développement des accolades, le développement du tilde, le développement des paramètres et des variables, la  sub‐ 
-       stitution de commande, le développement arithmétique, le découpage en mots et le développement des chemins. 
- 
-       L'ordre  des développements est : développement des accolades ; développement du tilde, des paramètres, des variables et arithmé‐ 
-       tique, et substitution de commande (effectuée de la gauche vers la droite) ; découpage en mots ; et développement des chemins. 
- 
-       Sur les systèmes qui le permettent, un développement supplémentaire a lieu : la substitution de processus. Il est réalisé en même 
-       temps que le développement du tilde, des paramètres, des variables et arithmétique, et que la substitution de commande. 
- 
-       Seuls  le  développement  des accolades, le découpage en mots et le développement des chemins peuvent modifier le nombre de mots. 
-       Les autres développements transforment un mot unique en un autre mot unique. La seule exception à cette règle est  le  développe‐ 
-       ment de « $@ » et « ${nom[@]} » comme expliqué ci-dessus (consultez PARAMÈTRES). 
- 
-   Développement des accolades 
-       Le développement des accolades est un mécanisme permettant de produire des chaînes quelconques. Il est similaire au développement 
-       des chemins, mais les noms de fichiers produits n'existent pas nécessairement. Les motifs qui seront développés prennent la forme 
-       d'un préambule facultatif, suivi soit par une série de chaînes séparées par des virgules, soit par l'expression d'une série entre 
-       accolades, et suivi par un post-scriptum facultatif. Le préambule est inséré devant chacune des chaînes contenues entre les acco‐ 
-       lades  et  le  post-scriptum  est  concaténé à la fin de chacune des chaînes résultantes, le développement se faisant de gauche à 
-       droite. 
- 
-       Plusieurs développements d'accolades peuvent être imbriqués. Les résultats de chaque développement ne sont pas triés, l'ordre  de 
-       gauche à droite est conservé. Par exemple a{d,c,b}e se développe en « ade ace abe ». 
- 
-       Une expression de série est de la forme {x..y[..incr]}, où x et y sont soit des entiers, soit des caractères uniques, et incr, un 
-       incrément facultatif, est un entier. Lorsqu'il s'agit d'entiers, l'expression est remplacée par la liste des nombres entre x et y 
-       inclus.  Les  entiers fournis peuvent être préfixés par 0 pour forcer chaque terme à avoir la même longueur. Si x ou y commencent 
-       par un zéro, l'interpréteur essaiera de forcer tous les termes créés à la même longueur, en ajoutant des zéros  au  besoin.  S'il 
-       s'agit de caractères, l'expression se développe en l’ensemble des caractères situés entre x et y, inclus, d'un point de vue lexi‐ 
-       cographique en utilisant les paramètres régionaux par défaut de C. Remarquez que x et y doivent être du même type. Si l'incrément 
-       est fourni, il est utilisé comme différence entre chaque terme. L'incrément par défaut est 1 ou -1 suivant les valeurs de x et y. 
- 
-       Le  développement  des  accolades est effectué avant tout autre développement et tous les caractères ayant une signification spé‐ 
-       ciale pour les autres développements sont conservés dans le résultat. Il  s'agit  d'une  modification  purement  littérale.  Bash 
-       n'effectue aucune interprétation syntaxique du texte entre les accolades. 
- 
-       Un  développement  d'accolades  correctement formé doit contenir des accolades ouvrante et fermante non protégées et au moins une 
-       virgule non protégée ou une expression de  série  correcte.  Tout  développement  d'accolades  incorrectement  formé  est  laissé 
-       inchangé.  Un  { ou un , peuvent être protégés par une contre-oblique pour éviter d'être considérés comme partie d'une expression 
-       entre accolades. Pour éviter tout conflit avec le développement des paramètres, la chaîne ${ n'est pas considérée comme  éligible 
-       au développement des accolades. 
- 
-       Cette  construction  est typiquement utilisée comme raccourci lorsque le préfixe commun aux chaînes à engendrer est plus long que 
-       dans l'exemple ci-dessous : 
- 
-              mkdir /usr/local/src/bash/{old,new,dist,bugs} 
-       ou 
-              chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} 
- 
-       Le développement des accolades induit une légère incompatibilité avec les versions historiques de sh. sh n'effectue aucun traite‐ 
-       ment  sur  les accolades ouvrantes et fermantes lorsqu'elles apparaissent dans un mot et les laisse inchangées. Bash supprime les 
-       accolades dans les mots, après développement. Par exemple, si le mot file{1,2} est fourni à sh, il reste inchangé en  sortie.  En 
-       revanche,  il  est  transformé  en  file1  file2  par bash. Si une compatibilité stricte avec sh est nécessaire, lancez bash avec 
-       l'option +B ou désactivez le développement des accolades avec l'option +B de la commande set  (consultez  COMMANDES  INTERNES  DE 
-       L'INTERPRÉTEUR ci-dessous). 
- 
-   Développement du tilde 
-       Si un mot commence par un caractère tilde (« ~ ») non protégé, tous les caractères précédant la première barre oblique non proté‐ 
-       gée (voire tous les caractères s'il n'y a pas de barre oblique non protégée), sont considérés comme un préfixe  tilde.  Si  aucun 
-       caractère  du  préfixe  tilde  n'est protégé, les caractères suivant le tilde sont traités comme un identifiant de connexion pos‐ 
-       sible. Si cet identifiant de connexion est la chaîne NULL, le tilde est remplacé par la valeur du paramètre d'interpréteur  HOME. 
-       Si  HOME n'existe pas, le répertoire d'accueil de l'utilisateur exécutant l'interpréteur est utilisé à la place. Sinon le préfixe 
-       tilde est remplacé par le répertoire d'accueil associé à l'identifiant de connexion indiqué. 
- 
-       Si le préfixe tilde est « ~+ », la valeur de la variable de l'interpréteur PWD le remplace. Si le préfixe tilde  est  « ~- »,  la 
-       valeur  de  la variable de l'interpréteur OLDPWD, si existante, lui est substituée. Si les caractères à la suite du tilde dans le 
-       préfixe tilde représentent un nombre N préfixé facultativement par un « + » ou un « - » le préfixe tilde est remplacé par  l'élé‐ 
-       ment  correspondant  de  la  pile  de répertoires telle qu'il serait affiché par la commande interne dirs appelée avec le préfixe 
-       tilde en argument. Si les caractères à la suite du tilde dans le préfixe tilde représentent un nombre sans un « + » ou  « - »  en 
-       tête, on suppose qu'il s'agit de « + ». 
- 
-       Si l'identifiant de connexion est incorrect ou si le développement du tilde échoue, le mot est inchangé. 
- 
-       Chaque  affectation  de  variable  vérifie immédiatement la présence de préfixes tilde non protégés suivant un : ou le premier =. 
-       Dans ces cas, le développement des tildes est aussi effectué. On peut donc utiliser des noms de fichiers avec des tildes dans des 
-       affectations de PATH, MAILPATH et CDPATH et l'interpréteur affectera la valeur développée. 
- 
-   Remplacement des paramètres 
-       Le  caractère « $ » permet d'introduire le développement des paramètres, la substitution de commande ou le développement arithmé‐ 
-       tique. Le nom du paramètre ou du symbole à développer peut être encadré par des accolades facultatives mais  permettant  d'éviter 
-       le  développement de la variable à partir de caractères la suivant immédiatement et qui pourraient être considérés comme apparte‐ 
-       nant à son nom. 
- 
-       Lorsque les accolades sont utilisées, l'accolade de fin correspondante  est  le  premier  caractère  « } »  ni  protégé  par  une 
-       contre-oblique,  ni inclus dans une chaîne protégée, un développement arithmétique, une substitution de commande ou un développe‐ 
-       ment des paramètres. 
- 
-       ${paramètre} 
-              est remplacé par la valeur du paramètre. Les accolades sont nécessaires quand le paramètre est  un  paramètre  positionnel 
-              ayant  plusieurs  chiffres,  ou  si  le paramètre est suivi de caractères n'appartenant pas à son nom. Le paramètre est un 
-              paramètre d’interpréteur (comme décrit précédemment dans PARAMÈTRES) ou une référence de tableau (Tableaux). 
- 
-       Si le premier caractère du paramètre est un point d'exclamation (!), il introduit un niveau d'imbrication de variable. Bash  uti‐ 
-       lise  la  valeur de la variable formée par le reste du paramètre comme un nom de variable. Cette variable est alors développée et 
-       la valeur utilisée pour le reste de la substitution plutôt que la valeur du paramètre lui-même. On appelle ce mécanisme le  déve‐ 
-       loppement  imbriqué.  Les  exceptions  à celui-ci sont les développements de ${!préfixe*} et de ${!nom[@]} décrits ci-dessous. Le 
-       point d'exclamation doit immédiatement suivre l'accolade ouvrante afin d'introduire l'imbrication. 
- 
-       Dans chacun des cas ci-dessous, le mot est soumis au développement du tilde, au développement des paramètres, à  la  substitution 
-       de commande et au développement arithmétique. 
- 
-       Quand  il  n'effectue  pas de développement de sous-chaîne, en utilisant les formes documentées ci-dessous (par exemple :-), bash 
-       teste si le paramètre est inexistant ou NULL. L'absence de deux-points induit un test sur la seule inexistence du paramètre. 
- 
-       ${paramètre:-mot} 
-              Utilisation de valeur par défaut. Si le paramètre est inexistant ou NULL, le développement du mot  est  substitué.  Sinon, 
-              c'est la valeur du paramètre qui est substituée. 
-       ${paramètre:=mot} 
-              Affectation  de  valeur  par  défaut.  Si le paramètre est inexistant ou NULL, le développement du mot lui est affecté. La 
-              valeur du paramètre est alors substitué. Les paramètres positionnels et spéciaux ne peuvent pas  être  affectés  de  cette 
-              façon. 
-       ${paramètre:?mot} 
-              Affichage  d'erreur  si NULL ou inexistant. Si le paramètre est inexistant ou NULL, le développement du mot (ou un message 
-              approprié si aucun mot n'est fourni) est affiché sur la sortie d'erreur standard et l'interpréteur termine, s'il n'est pas 
-              interactif. Sinon, la valeur du paramètre est substituée. 
-       ${paramètre:+mot} 
-              Utilisation de valeur alternative. Si le paramètre est NULL ou inexistant, rien n'est substitué. Sinon le développement du 
-              mot est substitué. 
-       ${paramètre:début} 
-       ${paramètre:début:longueur} 
-              Développement des sous-chaînes. Se développe pour fournir la sous-chaîne de longueur indiquée (en caractère) commençant au 
-              début.  Si  le  paramètre  est @, un tableau indicé par @ ou *, ou un nom de tableau associatif, le résultat diffère comme 
-              décrit ci-dessous. Si la longueur est omise, fournit la sous-chaîne commençant au caractère indiqué par début  et  s'éten‐ 
-              dant  jusqu'à la fin de la valeur. La longueur et le début sont des expressions arithmétiques (consultez ÉVALUATION ARITH‐ 
-              MÉTIQUE ci-dessous). 
- 
-              Si le début est négatif, sa valeur est considérée à partir de la fin du contenu du paramètre. Si longueur est négatif,  sa 
-              valeur  est  considérée  comme  une position en caractère à partir de la fin de la valeur de paramètre plutôt que comme un 
-              nombre de caractères, et le développement est constitué des caractères entre le début et cette position. Remarquez que les 
-              positions  négatives  doivent  être séparées des deux-points par au moins une espace pour éviter d’être confondues avec le 
-              développement de :-. 
- 
-              Si le paramètre est @, le résultat correspond à longueur paramètres positionnels commençant au début. Une valeur  négative 
-              de début est considérée relative au plus grand paramètre positionnel plus un (ainsi un indice -1 fait référence au dernier 
-              paramètre positionnel). C’est une erreur de développement si longueur est évaluée en nombre négatif. 
- 
-              Si le paramètre est un nom de tableau indicé par @ ou *, le résultat est les longueur éléments  du  tableau  commençant  à 
-              ${paramètre[début]}.  Une  valeur  négative  de  début  est prise relativement à la valeur maximale de l'indice du tableau 
-              considéré plus un. C’est une erreur de développement si longueur est évaluée en nombre négatif. 
- 
-              Le développement de sous-chaîne appliqué à un tableau associatif produit des résultats non définis. 
- 
-              L'indexation des sous-chaînes commence à zéro, sauf pour les paramètres positionnels pour lesquels l'indexation commence à 
-              1 par défaut. Si début est 0, et que les paramètres positionnels sont utilisés, la liste est préfixée par $0. 
- 
-       ${!préfixe*} 
-       ${!préfixe@} 
-              Noms  correspondant  au  préfixe.  Se développe en noms des variables dont les noms commencent par préfixe, séparés par le 
-              premier caractère de la variable spéciale IFS. Si @ est utilisé et que le développement apparaît entre guillemets doubles, 
-              chaque nom de variable se développe séparément. 
- 
-       ${!nom[@]} 
-       ${!nom[*]} 
-              Liste  des  clefs  du  tableau. Si nom est une variable de type tableau, elle se développe en liste des indices (clefs) du 
-              tableau affecté à nom. Si nom n'est pas un tableau, se développe en 0 si nom existe et en NULL sinon. Quand @ est  utilisé 
-              et que le développement apparaît entre guillemets doubles, chaque clef se développe en un mot séparé. 
- 
-       ${#paramètre} 
-              Longueur du paramètre. Est remplacé par la longueur, en caractères, de la valeur du paramètre. Si le paramètre est * ou @, 
-              la valeur est le nombre de paramètres positionnels. Si le paramètre est un nom de tableau indicé par *  ou  @,  la  valeur 
-              donnée  est le nombre d'éléments du tableau. Si le paramètre est un nom de tableau indicé par un nombre négatif, ce nombre 
-              est considéré comme ajouté à l'indice maximal de paramètre plus un (ainsi un indice négatif compte à rebours depuis la fin 
-              du tableau et un indice -1 fait référence au dernier élément). 
- 
-       ${paramètre#mot} 
-       ${paramètre##mot} 
-              Retrait  du  motif  correspondant  au préfixe. Le mot est développé pour fournir un motif, comme dans le développement des 
-              chemins. Si le motif correspond au début de la valeur du paramètre, alors le développement prend la valeur  développée  du 
-              paramètre  après  suppression  du plus court (cas « # ») ou du plus long (cas « ## ») motif correspondant. Si le paramètre 
-              est @ ou *, l'opération de suppression de motif est appliquée à chaque paramètre positionnel tour à tour et le  développe‐ 
-              ment  est  la liste résultante. Si le paramètre est une variable tableau indicée par @ ou *, l'opération de suppression de 
-              motif est appliquée à chaque élément du tableau tour à tour et le développement est la liste résultante. 
- 
-       ${paramètre%mot} 
-       ${paramètre%%mot} 
-              Retrait du motif correspondant au suffixe. Le mot est développé pour fournir un motif, comme  dans  le  développement  des 
-              chemins. Si le motif correspond à une portion finale de la valeur développée du paramètre, alors le développement prend la 
-              valeur développée du paramètre après suppression du plus court (cas « % ») ou du plus long (cas « %% »)  motif  correspon‐ 
-              dant.  Si le paramètre est @ ou *, l'opération de suppression de motif est appliquée à chaque paramètre positionnel tour à 
-              tour et le développement est la liste résultante. Si le paramètre est une variable tableau indicée par @ ou *, l'opération 
-              de suppression de motif est appliquée à chaque élément du tableau tour à tour et le développement est la liste résultante. 
- 
-       ${paramètre/motif/chaîne} 
-              Substitution  de motif. Le motif est développé comme dans le traitement des chemins. Le paramètre est développé et la plus 
-              longue portion correspondant au motif est remplacée par la chaîne. Si le motif commence par /, toutes les  correspondances 
-              au  motif sont remplacées par la chaîne. Normalement, seule la première correspondance est remplacée. Si le motif commence 
-              par #, il doit correspondre au début de la valeur développée du paramètre. Si le motif commence par  %,  il  doit  corres‐ 
-              pondre  à la fin du développement du paramètre. Si la chaîne est NULL, les portions correspondant au motif sont supprimées 
-              et le / suivant le motif peut être omis. Si le paramètre est @ ou *, l'opération de substitution est  appliquée  à  chacun 
-              des  paramètres  positionnels  tour  à  tour et le développement est la liste résultante. Si le paramètre est une variable 
-              tableau indicée par @ ou *, l'opération de substitution s'applique à chaque élément du tableau tour à tour et le  dévelop‐ 
-              pement est la liste résultante. 
- 
-       ${paramètre^motif} 
-       ${paramètre^^motif} 
-       ${paramètre,motif} 
-       ${paramètre,,motif} 
-              Modification  de la casse. Ce développement modifie la casse des caractères alphabétiques du paramètre. Le motif est déve‐ 
-              loppé pour fournir un motif, comme dans le développement  des  chemins.  Chaque  caractère  de  la  valeur  développée  de 
-              paramètre  est  testé  par  rapport au motif et, en cas de correspondance, sa casse est convertie. Le motif ne devrait pas 
-              essayer de correspondre à plus d’un caractère. L'opérateur ^ convertit les lettre minuscules correspondant à ce  motif  en 
-              majuscules ;  l'opérateur  , convertit les lettre majuscules correspondant à ce motif en minuscules. Les développements ^^ 
-              et ,, convertissent tous les caractères correspondant à leur valeur développée ; les développements ^ et  ,  convertissent 
-              seulement  le premier caractère de la valeur développée correspondant. Si motif est omis, il est traité comme un ?, ce qui 
-              correspond à n'importe quel caractère. Si le paramètre est @ ou *, la modification de casse s'applique à chaque  paramètre 
-              positionnel  tour à tour et le développement est la liste résultante. Si le paramètre est une variable tableau indicée par 
-              @ ou *, la modification de casse s'applique à chaque élément du tableau tour à tour  et  le  développement  est  la  liste 
-              résultante. 
- 
-   Substitution de commande 
-       La substitution de commande permet de remplacer le nom d'une commande par son résultat. Il en existe deux formes : 
- 
-              $(commande) 
-       ou 
-              `commande` 
- 
-       Bash  effectue  la  substitution  en exécutant la commande et en la remplaçant par sa sortie standard dont les éventuels sauts de 
-       lignes finaux sont supprimés. Les changements de ligne internes ne sont pas supprimés mais peuvent disparaître lors du  découpage 
-       en mots. La substitution de commande $(cat fichier) peut être remplacée par l'équivalent plus rapide $(< fichier). 
- 
-       Quand  l'ancienne forme de substitution avec les accents graves « ` » est utilisée, le caractère contre-oblique garde sa signifi‐ 
-       cation propre sauf lorsqu'il est suivi de $, ` ou \. Le premier accent grave non protégé par une contre-oblique termine  la  sub‐ 
-       stitution  de  commande.  Quand  on utilise la forme $(commande), tous les caractères entre parenthèses constituent la commande ; 
-       aucun n'est traité spécifiquement. 
- 
-       Les substitutions de commande peuvent être imbriquées. Pour imbriquer en utilisant la forme à accents graves,  il  faut  protéger 
-       les accents graves internes avec des contre-obliques. 
- 
-       Si  la substitution apparaît entre guillemets doubles, le découpage en mots et le développement des chemins ne sont pas effectués 
-       sur ses résultats. 
- 
-   Développement arithmétique 
-       Le développement arithmétique permet de remplacer une expression arithmétique par le résultat de son  évaluation.  Le  format  du 
-       développement arithmétique est : 
- 
-              $((expression)) 
- 
-       L'ancien format $[expression] est obsolète et sera supprimé dans les prochaines versions de bash. 
- 
-       L'expression  est  traitée  comme  si  elle était entre guillemets doubles, mais un guillemet double à l'intérieur de parenthèses 
-       n'est pas traité spécifiquement. Tous les lexèmes dans l'expression sont sujet au développement des paramètres et des  variables, 
-       à  la substitution de commande et à la suppression des protections. Le résultat est traité comme l’expression arithmétique à éva‐ 
-       luer. Les développements arithmétiques peuvent être imbriqués. 
- 
-       L'évaluation est effectuée en suivant les règles décrites ci-dessous dans ÉVALUATION ARITHMÉTIQUE.  Si  l'expression  est  incor‐ 
-       recte, bash affiche un message indiquant l'échec et aucune substitution n'a lieu. 
- 
-   Substitution de processus 
-       La  substitution  de processus n'est disponible que sur les systèmes acceptant le mécanisme des tubes nommés (FIFO) ou la méthode 
-       /dev/fd de noms de fichiers. Elle prend la forme <(liste) ou >(liste). La liste de processus est exécutée avec son entrée  ou  sa 
-       sortie  connectée à une FIFO ou à un fichier dans /dev/fd. Le nom de ce fichier est passé en argument à la commande qui sera exé‐ 
-       cutée comme résultat de cette substitution. Si on utilise la forme >(liste), l'écriture dans le fichier fournira des entrées pour 
-       la liste. Si la forme <(liste) est utilisée, le fichier passé en argument devra être lu pour obtenir la sortie de la liste. 
- 
-       Sur  les  systèmes qui le permettent, la substitution de processus est effectuée simultanément au développement des paramètres et 
-       variables, à la substitution de commande et au développement arithmétique. 
- 
-   Découpage en mots 
-       Les résultats du développement des paramètres, de la substitution de commande et du développement arithmétique qui ne se trouvent 
-       pas entre guillemets doubles sont analysés par l'interpréteur afin d'appliquer le découpage en mots. 
- 
-       L'interpréteur  considère  chaque caractère du paramètre IFS comme un délimiteur et découpe le résultat des autres développements 
-       en mots utilisant ces caractères  comme  terminaisons  de  champ.  Si  IFS  est  inexistante  ou  si  sa  valeur  est  exactement 
-       <espace><tab><changement de ligne>, la valeur par défaut, alors les suites de caractères <espace>, <tab> et <changement de ligne> 
-       au début ou à la fin du résultat des développements précédents sont ignorés, et toute suite de caractères de IFS ni au début ni à 
-       la fin sert à délimiter les mots. Si IFS a une valeur autre que celle par défaut, alors les suites de caractères blancs espace et 
-       tabulation sont ignorées en début et fin de mot, à condition que ces caractères blancs se trouvent dans  la  valeur  de  IFS  (un 
-       caractère  blanc de IFS). Tout caractère de IFS qui n'est pas un caractère blanc, se trouvant à côté d'un caractère blanc de IFS, 
-       délimite un champ. Une suite de caractères blancs de IFS est également traitée comme un délimiteur. Si la valeur de IFS est NULL, 
-       aucun découpage en mots n'a lieu. 
- 
-       Les  arguments  NULL explicites ("" ou '') sont conservés. Les arguments NULL implicites non protégés, résultant du développement 
-       des paramètres qui n'ont pas de valeurs, sont supprimés. Si un paramètre sans valeur est développé entre guillemets  doubles,  le 
-       résultat est un argument NULL qui est conservé. 
- 
-       Remarquez que si aucun développement n'a lieu, le découpage en mots n'est pas effectué. 
- 
-   Développement des chemins 
-       Après  le  découpage  en mots, à moins que l'option -f soit présente, bash recherche dans chaque mot les caractères *, ? et [. Si 
-       l'un d'eux apparaît, le mot est considéré comme un motif et remplacé par une liste, classée par ordre alphabétique, des  noms  de 
-       fichiers  correspondant à ce motif (consultez Motifs génériques ci-dessous). Si aucun nom de fichier ne correspond et si l'option 
-       d'interpréteur nullglob n'est pas activée, le mot reste inchangé. Si l'option nullglob existe et si aucune  correspondance  n'est 
-       trouvée,  le  mot  est supprimé. Si l'option d'interpréteur failglob existe et si aucune correspondance n'est trouvée, un message 
-       d'erreur est affiché et la commande n'est pas exécutée. Si l'option d'interpréteur nocaseglob est activée, la correspondance  est 
-       effectuée  sans  tenir  compte de la casse des caractères alphabétiques. Remarquez que lorsque des expressions d’intervalle comme 
-       [a-z] (voir ci-dessous) sont utilisées les lettres de l'autre casse peuvent être incluses, selon le  paramétrage  de  LC_COLLATE. 
-       Quand  un  motif  est utilisé pour le développement des chemins, le caractère « . » au début d'un nom ou immédiatement à la suite 
-       d'une barre oblique doit être explicitement mis en correspondance, à moins que l'option d'interpréteur dotglob n'existe. Lors  de 
-       la  correspondance  avec  un  chemin, le caractère barre oblique doit toujours être mis en correspondance explicitement. Dans les 
-       autres cas, le caractère « . » n'est pas traité spécifiquement. Voyez la description de la commande shopt dans COMMANDES INTERNES 
-       DE L'INTERPRÉTEUR pour une description des options d'interpréteur nocaseglob, nullglob, failglob et dotglob. 
- 
-       La  variable  de l'interpréteur GLOBIGNORE peut servir à restreindre l'ensemble des noms de fichiers correspondant à un motif. Si 
-       GLOBIGNORE existe, chaque nom de fichier qui correspond aussi à un motif de GLOBIGNORE est supprimé de la  liste  des  correspon‐ 
-       dances. Les noms de fichiers « . » et « .. » sont toujours ignorés quand GLOBIGNORE existe et n'est pas NULL. Toutefois, configu‐ 
-       rer GLOBIGNORE avec une valeur non NULL a pour effet d'activer l'option d'interpréteur dotglob, ainsi tous  les  autres  noms  de 
-       fichiers  commençant  par « . » correspondront. Pour obtenir l'ancien comportement ignorant les noms commençant par « . », placez 
-       « .* » dans l'un des motifs de GLOBIGNORE. L'option dotglob est désactivée si la variable GLOBIGNORE est inexistante. 
- 
-       Motifs génériques 
- 
-       Tout caractère apparaissant dans un motif, hormis les caractères spéciaux décrits ci-dessous, correspond à lui-même. Le caractère 
-       NUL  ne  peut pas se trouver dans un motif. Une contre-oblique protège le caractère qui la suit ; la contre-oblique de protection 
-       est supprimée lors de la recherche de correspondance. Les caractères spéciaux de motifs doivent être protégés s'ils sont destinés 
-       à une correspondance littérale. 
- 
-       Les caractères spéciaux ont les significations suivantes : 
- 
-              *      Correspond à n'importe quelle chaîne, y compris la chaîne NULL. Si l'option globstar de l'interpréteur est activée, 
-                     et que * est utilisé dans un contexte de développement des chemins, deux * adjacents sont  utilisés  pour  un  seul 
-                     motif  correspondant  à tous les fichiers et zéro ou plus de répertoires et sous-répertoires. Lorsqu'il sont suivis 
-                     de /, deux * adjacents correspondront seulement aux répertoires et sous-répertoires. 
-              ?      Correspond à n'importe quel caractère. 
-              [...]  Correspond à tout caractère entre les crochets. Un couple de caractères séparés par un trait  d'union  indique  une 
-                     expression  d’intervalle ;  tout  caractère  qui  correspond à n'importe quel caractère situé entre les deux bornes 
-                     incluses, en utilisant les suites de collations et le jeu de  caractères  des  paramètres  linguistiques  régionaux 
-                     actuels,  est  capturé.  Si  le premier caractère suivant le [ est un ! ou un ^ alors la correspondance se fait sur 
-                     tous les caractères hors intervalle. L'ordre de tri des caractères dans les expressions d’intervalle est  déterminé 
-                     par les paramètres linguistiques régionaux actuels et par les valeurs des variables de l'interpréteur LC_COLLATE et 
-                     LC_ALL si existantes. Pour obtenir l’interprétation traditionnelle des expressions d’intervalle, où [a-d] est équi‐ 
-                     valent  à  [abcd], configurez la valeur de la variable d’interpréteur LC_ALL à C ou activez l’option d’interpréteur 
-                     globasciiranges. Un - peut faire partie du motif de correspondance à condition d’être  le  premier  ou  le  dernier 
-                     caractère  de l'ensemble. Un ] peut faire partie du motif de correspondance à condition d’être le premier caractère 
-                     de l'ensemble. 
- 
-                     Entre [ et ], on peut indiquer une classe de caractère en utilisant la syntaxe [:classe:], où classe est l'une  des 
-                     classes suivantes, définies dans la norme POSIX : 
-                     alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit 
-                     Une  classe  correspond  à  n'importe  quel  caractère  qui s'y trouve. La classe de caractères word correspond aux 
-                     lettres, aux chiffres et au caractère souligné « _ ». 
- 
-                     Entre [ et ], on peut indiquer une classe d'équivalence en utilisant la syntaxe [=c=] qui  correspond  à  n'importe 
-                     quel  caractère ayant le même poids de collation (comme indiqué par les paramètres linguistiques régionaux actuels) 
-                     que le caractère c. 
- 
-                     Entre [ et ], la syntaxe [.symbole.] correspond au symbole de collation symbole. 
- 
-       Si l'option extglob d'interpréteur est activée par la commande interne shopt plusieurs opérateurs de correspondance étendue  sont 
-       reconnus. Dans la description suivante, une liste-motif est une liste d'un ou plusieurs motifs séparés par des |. Les motifs com‐ 
-       posés sont formés en utilisant un ou plusieurs sous-motifs comme suit : 
- 
-              ?(liste-motif) 
-                     Correspond à zéro ou une occurrence des motifs indiqués. 
-              *(liste-motif) 
-                     Correspond à zéro ou plusieurs occurrences des motifs indiqués. 
-              +(liste-motif) 
-                     Correspond à une ou plusieurs occurrences des motifs indiqués. 
-              @(liste-motif) 
-                     Correspond à une occurrence exactement des motifs indiqués. 
-              !(liste-motif) 
-                     Correspond à tout sauf l'un des motifs indiqués. 
- 
-   Suppression des protections 
-       Après les développements précédents, toutes les occurrences non protégées des caractères \, ' et " qui ne résultent pas d'un  des 
-       développements ci-dessus sont supprimées. 
- 
-REDIRECTIONS 
-       Avant  qu'une  commande ne soit exécutée, il est possible de rediriger son entrée ou sa sortie en utilisant une notation spéciale 
-       prise en compte par l'interpréteur. La redirection permet aux descripteurs de fichier d’être dupliqués, ouverts, fermés, de faire 
-       référence  à d’autres fichiers et peut modifier les fichiers lus et écrits par la commande. Les redirections permettent également 
-       de modifier les descripteurs de fichiers dans l'environnement d’exécution actuel de l'interpréteur. Les opérateurs de redirection 
-       suivants peuvent précéder ou apparaître n'importe où dans une commande simple ou suivre une commande. Les redirections sont trai‐ 
-       tées dans leur ordre d'apparition, de gauche à droite. 
- 
-       Toutes les redirections pouvant être précédées par un numéro de descripteur de fichier peuvent aussi être précédées par un mot de 
-       la  forme  {nom_de_variable}.  Dans  ce  cas,  pour chaque opérateur de redirection à part >&- et <&-, l'interpréteur de commande 
-       allouera un descripteur de fichier supérieur ou égal à 10 et l'affectera  à  nom_de_variable.  Si  >& ou  <& est  précédé  de 
-       {nom_de_variable}, la valeur de nom_de_variable définit le descripteur de fichier à fermer. 
- 
-       Dans  les  descriptions  suivantes,  si le numéro de descripteur de fichier est omis et si le premier caractère de l'opérateur de 
-       redirection est <, la redirection se rapporte à l'entrée standard (descripteur de fichier 0). Si le premier caractère de l'opéra‐ 
-       teur de redirection est >, la redirection se rapporte à la sortie standard (descripteur de fichier 1). 
- 
-       Le mot qui suit l'opérateur de redirection dans les descriptions suivantes, à moins qu'il en soit fait état autrement, est soumis 
-       au développement des accolades, du tilde, des paramètres et des variables, à la substitution de commande, au développement arith‐ 
-       métique,  à  la suppression des protections, au développement des chemins et au découpage en mots. S'il se développe en plusieurs 
-       mots, bash signale une erreur. 
- 
-       Remarquez que l'ordre des redirections est important. Par exemple, la commande 
- 
-              ls > liste_répertoires 2>&1 
- 
-       redirige à la fois la sortie standard et la sortie d'erreur standard vers le fichier liste_répertoires, alors que la commande 
- 
-              ls 2>&1 > liste_répertoires 
- 
-       ne redirige que la sortie standard vers le fichier liste_répertoires, car la sortie d'erreur standard a été dupliquée de la  sor‐ 
-       tie standard avant que celle-ci ne soit redirigée vers liste_répertoires. 
- 
-       Bash  gère plusieurs noms de fichiers de façon particulière, lorsqu'ils sont utilisés dans des redirections, comme décrit dans la 
-       table suivante : 
- 
-              /dev/fd/df 
-                     Si df est un entier correct, le descripteur de fichier df est dupliqué. 
-              /dev/stdin 
-                     Le descripteur de fichier 0 est dupliqué. 
-              /dev/stdout 
-                     Le descripteur de fichier 1 est dupliqué. 
-              /dev/stderr 
-                     Le descripteur de fichier 2 est dupliqué. 
-              /dev/tcp/hôte/port 
-                     Si hôte est un nom de machine ou une adresse Internet corrects et si port est un numéro de port entier ou un nom de 
-                     service, bash tentera d'ouvrir la socket TCP correspondante. 
-              /dev/udp/hôte/port 
-                     Si hôte est un nom de machine ou une adresse Internet corrects et si port est un numéro de port entier ou un nom de 
-                     service, bash tentera d'ouvrir la socket UDP correspondante. 
- 
-       Un échec à l'ouverture ou à la création de fichier conduit à l'échec de la redirection. 
- 
-       Les redirections utilisant des descripteurs de fichiers supérieurs à 9 doivent être utilisées avec précaution  car  des  conflits 
-       peuvent survenir avec les descripteurs de fichiers utilisés en interne par l'interpréteur. 
- 
-       Notez que la commande interne exec peut faire appliquer les redirections à l'interpréteur de commande en cours. 
- 
-   Redirection d'entrée 
-       Une  redirection d'entrée conduit à l'ouverture en lecture avec le descripteur de fichier numéro n du fichier dont le nom résulte 
-       du développement du mot ou en tant qu'entrée standard (descripteur de fichier 0) si n n'est pas indiqué. 
- 
-       Le format général des redirections d'entrée est : 
- 
-              [n]<mot 
- 
-   Redirection de sortie 
-       Une redirection de sortie conduit à l'ouverture en écriture du fichier dont le nom résulte du développement  du  mot  avec  comme 
-       descripteur de fichier n ou en tant que sortie standard (descripteur de fichier 1) si n n'est pas indiqué. Si le fichier n'existe 
-       pas, il est créé. S'il existait déjà, sa taille est réduite à zéro. 
- 
-       Le format général des redirections de sortie est le suivant : 
- 
-              [n]>mot 
- 
-       Si l'opérateur de redirection est > et si l'option noclobber de la commande interne set est activée, la redirection  échouera  si 
-       le  fichier  dont le nom résulte du développement du mot existe et est un fichier normal. Si l'opérateur de redirection est >| ou 
-       l'opérateur > avec l'option noclobber de la commande interne set n'est pas activée, la redirection sera tentée même si le fichier 
-       dont le nom résulte du développement du mot existe. 
- 
-   Ajout d'une sortie redirigée 
-       La  redirection  de  la  sortie  de cette façon conduit à l'ouverture du fichier dont le nom résulte du développement du mot pour 
-       ajouter au descripteur de fichier n ou à la sortie standard (descripteur de fichier 1) si n n'est  pas  indiqué.  Si  le  fichier 
-       n'existe pas, il est créé. 
- 
-       Le format général pour les sorties avec ajout est : 
- 
-              [n]>>mot 
- 
-   Redirection de la sortie standard et de la sortie d'erreur standard 
-       Cette construction permet la redirection simultanée de la sortie standard (descripteur 1) et de la sortie d'erreur standard (des‐ 
-       cripteur 2), dans un fichier dont le nom est le résultat du développement du mot. 
- 
-       Il y a deux formes pour rediriger les sortie standard et sortie d'erreur standard : 
- 
-              &>mot 
-       et 
-              >&mot 
- 
-       La première des deux formes est préférée. C'est sémantiquement équivalent à 
- 
-              >mot 2>&1 
- 
-       En utilisant la deuxième forme, mot ne peut pas être développé en nombre ou -. Si c’est le cas, les autres opérateurs de redirec‐ 
-       tion s’appliquent (consultez Dédoublement de descripteurs de fichier ci-dessous) pour des raisons de compatibilité. 
- 
-   Ajout de la sortie standard et de la sortie d'erreur standard 
-       Cette  construction permet l'ajout simultané de la sortie standard (descripteur 1) et de la sortie d'erreur standard (descripteur 
-       2), dans un fichier dont le nom est le résultat du développement du mot. 
- 
-       La forme pour ajouter les sortie standard et sortie d'erreur standard est : 
- 
-              &>>mot 
- 
-       C'est sémantiquement équivalent à 
- 
-              >>mot 2>&1 
- 
-       (consultez Dédoublement de descripteurs de fichier ci-dessous). 
- 
-   Document en ligne 
-       Ce type de redirection commande à l'interpréteur de lire son entrée de la source actuelle jusqu'à ce qu'il voie une ligne  conte‐ 
-       nant  seulement  le  délimiteur  prévu (sans blancs finaux). Toutes les lignes lues jusqu'à ce point sont ensuite utilisées comme 
-       l'entrée standard pour une commande. 
- 
-       Le format des documents en ligne est le suivant : 
- 
-              <<[-]mot 
-                      document_en_ligne 
-              délimiteur 
- 
-       Aucun développement des paramètres ou des variables, ni substitution de commande, ni développement arithmétique  ou  des  chemins 
-       n’est  effectué sur le mot. Si un des caractères du mot est protégé, délimiteur est le résultat de la suppression des protections 
-       sur mot et les lignes du document_en_ligne ne sont pas développées. Si  mot  n'est  pas  protégé,  toutes  les  lignes  du  docu‐ 
-       ment_en_ligne  sont  soumises au développement des paramètres, à la substitution de commande et au développement arithmétique, la 
-       suite de caractères \<changement de ligne> est ignorée et \ doit être utilisée pour protéger les caractères \, $ et `. 
- 
-       Si l'opérateur de redirection est <<-, alors les tabulations en tête de chaque ligne sont supprimées de l'entrée, y compris  dans 
-       la ligne contenant délimiteur. Cela permet d'indenter de façon naturelle les documents en ligne au sein des scripts. 
- 
-   Chaînes en ligne 
-       Une variante aux documents en ligne, le format est : 
- 
-              <<<mot 
- 
-       Le  mot  est  sujet  au développement des accolades, du tilde, des paramètres et des variables, à la substitution de commande, au 
-       développement arithmétique et à la suppression des protections. Ni le développement des chemins, ni le découpage  en  mots  n’est 
-       réalisé. Le résultat est fourni comme une seule chaîne à la commande sur son entrée standard. 
- 
-   Dédoublement de descripteurs de fichier 
-       L'opérateur de redirection 
- 
-              [n]<&mot 
- 
-       permet  de  dupliquer les descripteurs de fichiers en entrée. Si le mot se transforme en un ou plusieurs chiffres, le descripteur 
-       de fichier noté par n devient une copie de ce descripteur. Si les chiffres du mot ne correspondent pas à un descripteur ouvert en 
-       lecture,  une erreur de redirection se produit. Si le mot prend la forme -, le descripteur n est fermé. Si n n'est pas mentionné, 
-       l'entrée standard (descripteur 0) est utilisée. 
- 
-       L'opérateur 
- 
-              [n]>&mot 
- 
-       est utilisé de façon similaire pour dupliquer les descripteurs de sortie. Si n n'est pas explicité, la sortie standard  (descrip‐ 
-       teur 1) est utilisée. Si les chiffres du mot ne correspondent pas à un descripteur en écriture, une erreur de redirection se pro‐ 
-       duit. Si mot est évalué en -, le descripteur de fichier n est fermé. Dans le cas particulier où n est omis et où mot ne se  déve‐ 
-       loppe  pas  en un ou plusieurs chiffres, ou -, les sorties standard et d'erreur standard sont toutes deux redirigées comme décrit 
-       précédemment. 
- 
-   Déplacement de descripteurs de fichiers 
-       L'opérateur de redirection 
- 
-              [n]<&chiffre- 
- 
-       déplace le descripteur de fichier chiffre vers le descripteur de fichier n ou sur l'entrée standard (descripteur de fichier 0) si 
-       n n'est pas indiqué. chiffre est fermé après avoir été dupliqué en n. 
- 
-       De la même façon, l'opérateur de redirection 
- 
-              [n]>&chiffre- 
- 
-       déplace  le  descripteur de fichier chiffre vers le descripteur de fichier n ou sur la sortie standard (descripteur de fichier 1) 
-       si n n'est pas indiqué. 
- 
-   Ouverture en Lecture/Écriture d'un descripteur de fichier 
-       L'opérateur de redirection 
- 
-              [n]<>mot 
- 
-       conduit à l'ouverture du fichier dont le nom résulte du développement du mot, à la fois en lecture et en écriture et lui  affecte 
-       le descripteur de fichier n ou bien le descripteur 0 si n n'est pas mentionné. Si le fichier n'existe pas, il est créé. 
- 
-ALIAS 
-       Les alias permettent de substituer une chaîne à un mot lorsqu'il est utilisé comme premier mot d'une commande simple. L'interpré‐ 
-       teur gère une liste d'alias qui peuvent être créés et détruits avec les commandes internes alias et unalias (consultez  COMMANDES 
-       INTERNES  DE  L'INTERPRÉTEUR ci-dessous). L'interpréteur vérifie si le premier mot de chaque commande simple, si non protégé, est 
-       un alias. Si c'est le cas, ce mot est remplacé par le texte de l'alias. Les caractères /, $, ` et  =  et  tout  métacaractère  de 
-       l'interpréteur  ou caractère de protection décrits ci-dessus ne peuvent pas apparaître dans un nom d'alias. Le texte de remplace‐ 
-       ment peut contenir toute entrée correcte pour l'interpréteur, y compris  les  métacaractères  de  l'interpréteur.  L'interpréteur 
-       vérifie si le premier mot du texte de remplacement est à son tour un alias, mais un mot identique à un alias en cours de dévelop‐ 
-       pement n'est pas développé une seconde fois. Cela signifie qu'on peut, par exemple, créer un  alias  ls  valant  ls  -F  et  bash 
-       n'essaiera  pas  de  développer  récursivement  le  texte de substitution. Si le dernier caractère de la valeur de l'alias est un 
-       blanc, alors le prochain mot de commande suivant l'alias connaîtra aussi le développement d'alias. 
- 
-       Les alias sont créés et affichés avec la commande alias et supprimés avec la commande unalias. 
- 
-       Il n'existe pas de mécanisme permettant d'utiliser des arguments dans le texte de remplacement. S'ils sont nécessaires, une fonc‐ 
-       tion de l'interpréteur devrait être utilisée (consultez FONCTIONS ci-dessous). 
- 
-       Les  alias ne sont pas développés quand l'interpréteur n'est pas interactif sauf si l'option expand_aliases de l'interpréteur est 
-       créée par la commande shopt (consultez la description de shopt dans COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). 
- 
-       Les règles concernant la définition et l'utilisation des alias sont un peu  confuses.  Bash  lit  toujours  au  moins  une  ligne 
-       d'entrée  complètement  avant  d'exécuter une des commandes de cette ligne. Les alias sont traités lorsque la commande est lue et 
-       non pas lorsqu'elle est exécutée. Ainsi, une définition d'alias apparaissant sur la même ligne qu'une autre commande ne prend pas 
-       effet  avant  la  lecture de la prochaine ligne d'entrée. Autrement dit, une commande placée à la suite d'une définition d'alias, 
-       sur la même ligne ne sera pas affectée par cet alias. Ce comportement est également important lors de l'exécution des  fonctions. 
-       Les  alias  sont traités lorsque la définition de la fonction est lue et non pas lors de l'exécution de cette fonction. Ainsi des 
-       alias définis dans une fonction ne sont pas disponibles avant la fin de l'exécution de la fonction. Pour  plus  de  tranquillité, 
-       placez  toujours  les définitions d'alias sur des lignes isolées et n'utilisez jamais la commande alias dans les commandes compo‐ 
-       sées. 
- 
-       Les alias sont surpassés par les fonctions de l'interpréteur dans la plupart des situations. 
- 
-FONCTIONS 
-       Une fonction de l'interpréteur, définie comme décrit ci-dessus, dans GRAMMAIRE DE L'INTERPRÉTEUR, conserve une suite de commandes 
-       pour exécution ultérieure. Lorsque le nom d'une fonction de l'interpréteur est utilisée comme un simple nom de commande, la liste 
-       des commandes associées à ce nom de fonction est exécutée. Les fonctions  sont  exécutées  dans  le  contexte  de  l'interpréteur 
-       actuel ; aucun nouveau processus n'est créé pour les interpréter (à la différence d'un script). Lorsqu'une fonction est exécutée, 
-       les arguments de la fonction deviennent les paramètres positionnels pendant son exécution. Le paramètre spécial # est mis à  jour 
-       en  conséquence. Le paramètre spécial 0 reste inchangé. Le premier élément de la variable FUNCNAME contient le nom de la fonction 
-       pendant son exécution. 
- 
-       Tous les autres aspects de l'environnement d'exécution de l'interpréteur  sont  identiques  entre  la  fonction  et  le  contexte 
-       d'appel,  aux  exceptions  suivantes : les captures de DEBUG et RETURN (consultez la description de la commande interne trap dans 
-       COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous) ne sont pas héritées, à moins que l'attribut trace ne soit  positionné  pour  la 
-       fonction  (consultez  la description de la commande interne declare ci-dessous) ou que l'option d'interpréteur -o functrace n'ait 
-       été activée avec la commande interne set (auquel cas toutes les fonctions hériteront des captures de DEBUG et RETURN), et la cap‐ 
-       ture ERR n'est pas héritée à moins que l'option d'interpréteur -o errtrace n'ait été activée. 
- 
-       Les variables locales d'une fonction peuvent être déclarées avec la commande interne local. Dans le cas général, les variables et 
-       leurs valeurs sont partagées entre la fonction et le contexte d'appel. 
- 
-       La variable FUNCNEST, si configurée à une valeur numérique strictement positive, définit le niveau maximal d'imbrication de fonc‐ 
-       tions. Les invocations de fonctions qui dépassent la limite forceront toute la commande à abandonner. 
- 
-       Si la commande interne return est exécutée dans une fonction, celle-ci se termine et l'exécution reprend avec la commande suivant 
-       l'appel de fonction. Toute commande associée à la capture de RETURN est exécutée avant que l'exécution reprenne. Quand une  fonc‐ 
-       tion  se termine, les paramètres positionnels et le paramètre spécial # reprennent les valeurs qu'ils avaient avant l'appel de la 
-       fonction. 
- 
-       Les noms de fonctions et leurs définitions peuvent être affichés avec l'option -f des commandes internes declare ou typeset.  Les 
-       options  -F  de  declare ou typeset n'afficheront que les noms de fonctions (et facultativement le fichier source et le numéro de 
-       ligne, si l'option d'interpréteur extdebug est activée). Les fonctions peuvent être exportées avec l'option  -f  de  la  commande 
-       interne  export, afin d'être automatiquement définies dans les sous-interpréteurs. Une définition de fonction peut être supprimée 
-       avec l'option -f de la commande interne unset. Remarquez que les fonctions et variables de l'interpréteur de  même  nom  pourront 
-       induire  à  plusieurs éléments de mêmes noms dans l'environnement passé aux fils de l'interpréteur. Un soin particulier doit être 
-       pris dans les cas où cela peut conduire à un problème. 
- 
-       Les fonctions peuvent être récursives. La variable FUNCNEST peut être utilisée pour limiter la profondeur de la pile  d'appel  de 
-       la fonction et restreindre le nombre d'invocations de fonctions. Par défaut, aucune limite n'est imposée quant au nombre d'appels 
-       récursifs. 
- 
-ÉVALUATION ARITHMÉTIQUE 
-       L'interpréteur permet, dans certaines circonstances, l'évaluation d'expressions arithmétiques (consultez les  commandes  internes 
-       let  et declare ainsi que Développement arithmétique). L'évaluation est effectuée en utilisant des entiers de longueur fixe, sans 
-       vérification du débordement. Néanmoins, la division par 0 est capturée et marquée comme une erreur. Les  opérateurs,  leur  prio‐ 
-       rité,  associativité  et  leur valeur sont identiques à ceux du langage C. La liste suivante d'opérateurs est entre opérateurs de 
-       niveaux de priorité identiques. Les niveaux sont décrits par ordre de priorité décroissante. 
- 
-       id++ id-- 
-              post-incrément et post-décrément de variables 
-       ++id --id 
-              préincrément et prédécrément de variables 
-       - +    moins et plus unaires 
-       ! ~    négations logique et binaire 
-       **     exponentiation 
-       * / %  multiplication, division, reste 
-       + -    addition, soustraction 
-       << >>  décalage arithmétique à gauche et à droite 
-       <= >= < > 
-              comparaisons 
-       == !=  égalité et différence 
-       &      ET binaire 
-            OU exclusif binaire 
-            OU binaire 
-       &&     ET logique 
-       ||     OU logique 
-       expr?expr:expr 
-              opérateur conditionnel 
-       = *= /= %= += -= <<= >>= &= ^= |= 
-              affectations 
-       expr1 , expr2 
-              virgule 
- 
-       Les variables de l'interpréteur sont utilisables comme opérandes, le développement des paramètres étant effectué avant  l'évalua‐ 
-       tion  arithmétique.  Dans  une  expression, les variables de l'interpréteur peuvent également être référencées par leur nom, sans 
-       utiliser la syntaxe de développement des paramètres. Une variable d'interpréteur NULL ou inexistante est évaluée à 0  lorsqu'elle 
-       est  consultée  par  son nom sans utiliser la syntaxe de développement des paramètres. La valeur d'une variable est évaluée comme 
-       une expression arithmétique lorsqu'elle est consultée, ou lorsqu'une valeur lui  est  affecté  alors  que  son  attribut  integer 
-       (entier)  a  été  positionné  en  utilisant declare -i. Une valeur NULL est évaluée à 0. Une variable d'interpréteur n'a donc pas 
-       besoin d'avoir son attribut integer positionné pour être utilisable dans un calcul. 
- 
-       Les constantes commençant par 0 sont interprétées comme des nombres octaux. Un en-tête 0x ou 0X indique une valeur  hexadécimale. 
-       Sinon, les nombres ont la forme [base#]n où la base facultative est un nombre décimal entre 2 et 64 représentant la base arithmé‐ 
-       tique et n est un nombre exprimé dans cette base. Si la base# est omise, la base 10 est utilisée. En indiquant  n,  les  chiffres 
-       supérieurs  à 9 sont représentés par les lettres minuscules, les lettres majuscules, le @ et le _, dans cet ordre. Si la base est 
-       inférieure ou égale à 36 les minuscules et les majuscules sont interchangeables pour représenter les nombres entre 10 et 35. 
- 
-       Les opérateurs sont évalués par ordre de priorité. Les sous-expressions entre parenthèses sont évaluées en premier, ce qui permet 
-       de surpasser les règles de priorité ci-dessus. 
- 
-CONDITIONS 
-       Les  conditions  sont utilisées par la commande composée [[ et les commandes internes test et [ pour vérifier l'état d'un fichier 
-       et effectuer des comparaisons arithmétiques ou sur des chaînes. Les conditions se forment à  partir  des  primitives  unaires  ou 
-       binaires suivantes. Si n'importe quel argument fichier de l'une des primitives est de la forme /dev/fd/n, alors le descripteur de 
-       fichier n est examiné. Si l'argument fichier de l'une des primitives est parmi /dev/stdin, /dev/stdout ou  /dev/stderr,  le  des‐ 
-       cripteur de fichier 0, 1 ou 2, respectivement, est examiné. 
- 
-       Sauf  indication  contraire,  les primitives relatives aux fichiers suivent les liens symboliques et opèrent sur la cible du lien 
-       plutôt que sur le lien lui-même. 
- 
-       Lorsqu'ils sont utilisés avec [[, les opérateurs < et > ordonnent d'un point de vue lexicographique en utilisant  les  paramètres 
-       linguistiques régionaux actuels. La commande test trie en utilisant l'ordre ASCII. 
- 
-       -a fichier 
-              Vrai si le fichier existe. 
-       -b fichier 
-              Vrai si le fichier existe et est un fichier spécial bloc. 
-       -c fichier 
-              Vrai si le fichier existe et est un fichier spécial caractère. 
-       -d fichier 
-              Vrai si le fichier existe et est un répertoire. 
-       -e fichier 
-              Vrai si le fichier existe. 
-       -f fichier 
-              Vrai si le fichier existe et est un fichier normal. 
-       -g fichier 
-              Vrai si le fichier existe et a son bit Set-GID positionné. 
-       -h fichier 
-              Vrai si le fichier existe et est un lien symbolique. 
-       -k fichier 
-              Vrai si le fichier existe et a son bit « sticky » positionné. 
-       -p fichier 
-              Vrai si le fichier existe et est un tube nommé (FIFO). 
-       -r fichier 
-              Vrai si le fichier existe et est accessible en lecture. 
-       -s fichier 
-              Vrai si le fichier existe et a une taille strictement positive. 
-       -t df  Vrai si le descripteur de fichier df est ouvert et se rapporte à un terminal. 
-       -u fichier 
-              Vrai si le fichier existe et a son bit Set-UID positionné. 
-       -w fichier 
-              Vrai si le fichier existe et est accessible en écriture. 
-       -x fichier 
-              Vrai si le fichier existe et est exécutable. 
-       -G fichier 
-              Vrai si le fichier existe et appartient au GID effectif du groupe. 
-       -L fichier 
-              Vrai si le fichier existe et est un lien symbolique. 
-       -N fichier 
-              Vrai si le fichier existe et a été modifié depuis sa dernière lecture. 
-       -O fichier 
-              Vrai si le fichier existe et appartient à l'UID effectif de l'utilisateur. 
-       -S fichier 
-              Vrai si le fichier existe et est une socket. 
-       fichier_1 -ef fichier_2 
-              Vrai si le fichier_1 et le fichier_2 se rapportent au même périphérique et ont les mêmes numéros d'inœuds. 
-       fichier_1 -nt fichier_2 
-              Vrai si le fichier_1 est plus récent que le fichier_2 (selon les dates de dernière modification) ou si fichier_1 existe et 
-              non fichier_2. 
-       fichier_1 -ot fichier_2 
-              Vrai si le fichier_1 est plus ancien que le fichier_2 ou si fichier_2 existe et non fichier_1. 
-       -o nom_opt 
-              Vrai si l'option d'interpréteur nom_opt est activée. Consulter la liste des options  ci-dessous  dans  la  description  de 
-              l'option -o de la commande interne set. 
-       -v nom_de_variable 
-              Vrai si la variable nom_de_variable de l'interpréteur est configurée (si une valeur lui a été assignée). 
-       -R nom_de_variable 
-              Vrai si la variable nom_de_variable de l'interpréteur est configurée et est une référence de nom. 
-       -z chaîne 
-              Vrai si la longueur de la chaîne est nulle. 
-       chaîne 
-       -n chaîne 
-              Vrai si la longueur de la chaîne est non nulle. 
- 
-       chaîne_1 == chaîne_2 
-       chaîne_1 = chaîne_2 
-              Vrai  si  les  deux  chaînes  sont égales. Le symbole = devrait être utilisé avec la commande test pour être en conformité 
-              POSIX. Utilisée avec la commande [[, cela réalise une correspondance de motif tel que décrit précédemment (Commandes  com‐ 
-              posées). 
- 
-       chaîne_1 != chaîne_2 
-              Vrai si les deux chaînes sont différentes. 
- 
-       chaîne_1 < chaîne_2 
-              Vrai si chaîne_1 se trouve avant chaîne_2 dans l'ordre lexicographique. 
- 
-       chaîne_1 > chaîne_2 
-              Vrai si chaîne_1 se trouve après chaîne_2 dans l'ordre lexicographique. 
- 
-       arg1 OP arg2 
-              OP  est  l'un des opérateurs suivants -eq, -ne, -lt, -le, -gt ou -ge. Ces opérateurs arithmétiques binaires renvoient vrai 
-              si arg1 est respectivement égal, différent, inférieur, inférieur ou égal, supérieur, supérieur ou égal  à  arg2.  arg1  et 
-              arg2 peuvent être des entiers positifs ou négatifs. 
- 
-DÉVELOPPEMENT DES COMMANDES SIMPLES 
-       Lors  de  l'exécution d'une commande simple, l'interpréteur effectue les développements, affectations et redirections suivants de 
-       gauche à droite. 
- 
-       1.     Les mots que l'analyseur a repéré comme affectations de variables (ceux qui précèdent le nom de la commande) et les  redi‐ 
-              rections sont conservées pour un traitement ultérieur. 
- 
-       2.     Les  mots  qui  ne sont ni des affectations de variables ni des redirections sont développés. S'il reste des mots après le 
-              développement, le premier mot est considéré comme le nom d'une commande et les suivants comme ses arguments. 
- 
-       3.     Les redirections sont effectuées comme décrit ci-dessus dans REDIRECTIONS. 
- 
-       4.     Le texte suivant le signe = de chaque affectation de variable est sujet au développement du tilde, des  paramètres,  à  la 
-              substitution  de  commande,  au  développement  arithmétique et à la suppression des protections avant d'être affecté à la 
-              variable. 
- 
-       Si aucun nom de commande ne résulte des précédentes opérations, les affectations de variables modifient l'environnement actuel de 
-       l'interpréteur. Sinon les variables sont ajoutées à l'environnement de la commande exécutée et n'affectent pas l'environnement de 
-       l'interpréteur actuel. Si l'une des tentatives d'affectation concerne une variable en lecture seule, une erreur se produit et  la 
-       commande termine avec un état différent de zéro. 
- 
-       Si  aucun  nom de commande n'est obtenu, les redirections sont effectuées mais ne modifient pas l'environnement de l'interpréteur 
-       actuel. Une erreur de redirection conduit à la terminaison de la commande avec un état différent de zéro. 
- 
-       S'il reste un nom de commande après le développement, l'exécution a lieu comme décrit ci-dessous. Sinon la commande  termine.  Si 
-       l'un  des  développements contient une substitution de commande, l'état final de la commande est l'état final de la dernière sub‐ 
-       stitution de commande effectuée. S'il n'y avait aucune substitution de commande, la commande termine avec un état de zéro. 
- 
-EXÉCUTION DES COMMANDES 
-       Après le découpage de la ligne de commande en mots, si le résultat est une commande simple suivie d'une liste facultative d'argu‐ 
-       ments, les actions suivantes sont effectuées. 
- 
-       Si  le  nom  de  la  commande ne contient aucune barre oblique, l'interpréteur tente de la localiser. S'il existe une fonction de 
-       l'interpréteur de ce nom, elle est appelée comme nous l'avons vu ci-dessus dans FONCTIONS. Si le nom n'est pas celui d'une  fonc‐ 
-       tion, l'interpréteur le recherche dans la liste des commandes internes. Si une correspondance est trouvée, cette commande interne 
-       est appelée. 
- 
-       Si le nom n'est ni celui d'une fonction de l'interpréteur, ni celui d'une commande interne et  s'il  ne  contient  pas  de  barre 
-       oblique, bash va chercher dans chacun des éléments de PATH un répertoire contenant un fichier exécutable du nom désiré. Bash uti‐ 
-       lise une table de hachage pour mémoriser les chemins d'accès complets aux fichiers exécutables (consultez la commande  hash  dans 
-       COMMANDES  INTERNES  DE L'INTERPRÉTEUR ci-dessous). Une recherche complète dans les répertoires du PATH n'est effectuée que si la 
-       commande ne se trouve pas dans la table de hachage. Si la recherche est infructueuse, l'interpréteur recherche  une  fonction  de 
-       l'interpréteur  appelée  command_not_found_handle.  Si  cette  fonction  existe, elle est appelée avec pour arguments la commande 
-       d'origine et ses arguments, et l'état final de la fonction devient l'état final de l'interpréteur. Si cette  fonction  n'est  pas 
-       définie, l'interpréteur affiche un message d'erreur et renvoie un état final de 127. 
- 
-       Si  la  recherche  réussit  ou si le nom de la commande contient une ou plusieurs barres obliques, l'interpréteur exécute le pro‐ 
-       gramme demandé dans un environnement d'exécution distinct. L'argument 0 est configuré au nom indiqué et les  éventuels  arguments 
-       restants de la commande sont configurés aux arguments indiqués. 
- 
-       Si  cette  exécution  échoue parce que le programme n'est pas un exécutable et si le fichier n'est pas un répertoire, il est pris 
-       pour un script, un fichier contenant des commandes d'interpréteur. Un sous-interpréteur est alors créé pour exécuter  ce  script. 
-       Ce  sous-interpréteur  se réinitialisera lui-même, comme si un nouvel interpréteur avait été appelé pour exécuter le script, à la 
-       différence qu'il continuera à mémoriser l'emplacement des commandes connues de son parent (consultez hash dans COMMANDES INTERNES 
-       DE L'INTERPRÉTEUR ci-dessous). 
- 
-       Si le programme est un fichier commençant par #!, le reste de la première ligne indique un interprète pour ce programme. L'inter‐ 
-       préteur se chargera d'exécuter l'interprète indiqué sur les systèmes d'exploitation qui ne gèrent pas eux-mêmes ce format  d'exé‐ 
-       cutable.  Les  arguments  de  l'interprète consistent en un seul argument facultatif fourni sur la première ligne du fichier à la 
-       suite du nom de l'interprète, suivi du nom du programme, suivi des arguments de la commande s'il y en a. 
- 
-ENVIRONNEMENT D'EXÉCUTION DES COMMANDES 
-       L'interpréteur fournit un environnement d'exécution consistant en l'ensemble des éléments suivants : 
- 
-       ·      les fichiers ouverts hérités par l'interpréteur à son appel et modifiés  par  les  redirections  fournies  à  la  commande 
-              interne exec ; 
- 
-       ·      le répertoire de travail actuel comme configuré par cd, pushd ou popd ou hérité par l'interpréteur à son appel ; 
- 
-       ·      le masque de création de fichier comme configuré par umask ou hérité du parent de l'interpréteur ; 
- 
-       ·      les captures actuelles configurées par trap ; 
- 
-       ·      les paramètres de l'interpréteur configurés par des affectations de variables, avec la commande interne set, ou hérités de 
-              l'environnement du parent de l'interpréteur ; 
- 
-       ·      les fonctions de l'interpréteur définies lors de l'exécution ou héritées de l'environnement du parent de l'interpréteur ; 
- 
-       ·      les options activées à l'appel (par défaut ou avec les arguments de ligne de commande) ou par set ; 
- 
-       ·      les options activées par shopt ; 
- 
-       ·      les alias de l'interpréteur définies par la commande alias ; 
- 
-       ·      les ID des divers processus, y compris ceux des tâches en arrière-plan, la valeur de $$ et la valeur de PPID. 
- 
-       Lorsqu'une commande différente d'une commande interne ou d'une fonction de l'interpréteur doit être exécutée,  elle  est  appelée 
-       dans  un  environnement  d'exécution  séparé  constitué  de  ce qui suit. Sauf indication contraire, les valeurs sont héritées de 
-       l'environnement de l'interpréteur : 
- 
- 
-       ·      les fichiers ouverts de l'interpréteur, ainsi que toutes modifications et ajouts précisés par les redirections de la  com‐ 
-              mande ; 
- 
-       ·      le répertoire de travail actuel ; 
- 
-       ·      le masque de création de fichiers ; 
- 
-       ·      les  variables et les fonctions de l'interpréteur marquées pour l'exportation, ainsi que les variables exportées spéciale‐ 
-              ment pour la commande ; 
- 
-       ·      les captures interceptées par l'interpréteur sont réinitialisées aux valeurs héritées de l'interpréteur parent et les cap‐ 
-              tures ignorées par l'interpréteur restent ignorées. 
- 
-       Une commande appelée dans un environnement distinct ne peut pas affecter l'environnement d'exécution de l'interpréteur. 
- 
-       Les  substitutions de commande, les commandes groupées entre parenthèses et les commandes asynchrones sont appelées dans un envi‐ 
-       ronnement de sous-interpréteur qui est une copie de celui de l'interpréteur, mais les captures  interceptées  par  l'interpréteur 
-       sont réinitialisées aux valeurs que l'interpréteur avait héritées de son parent à son appel. Les commandes internes appelées dans 
-       une conduite sont aussi exécutées dans un environnement de sous-interpréteur. Les modifications apportées à l'environnement  d'un 
-       sous-interpréteur n'affectent aucunement l'environnement d'exécution de l'interpréteur. 
- 
-       Les  sous-interpréteurs  engendrés pour exécuter les substitutions de commande héritent des valeurs de l'option -e de l'interpré‐ 
-       teur parent. En dehors du mode posix, bash efface l'option -e de tels sous-interpréteurs. 
- 
-       Si une commande est suivie par un & et que le contrôle des tâches n'est pas actif, l'entrée standard par défaut  de  la  commande 
-       est  le  fichier  vide /dev/null. Sinon, la commande appelée hérite des descripteurs de fichiers de l'interpréteur appelant comme 
-       modifiés par les redirections. 
- 
-ENVIRONNEMENT 
-       Quand un programme est appelé, il reçoit un tableau de chaînes que l'on appelle environnement. Il s'agit d'une liste  de  couples 
-       nom-valeur, de la forme nom=valeur. 
- 
-       L'interpréteur  fournit  plusieurs façons de gérer l'environnement. Au démarrage, l'interpréteur analyse son propre environnement 
-       et crée un paramètre pour chaque nom trouvé, en le marquant comme exportable vers les processus  fils.  Les  commandes  exécutées 
-       héritent  de  cet  environnement.  Les  commandes export et declare -x permettent d'ajouter ou de supprimer des paramètres ou des 
-       fonctions de l'environnement. Si la valeur d'un paramètre de l'environnement est modifiée, la nouvelle valeur devient une  partie 
-       de l'environnement et elle remplace l'ancienne. L'environnement hérité par toute commande exécutée est l'environnement initial de 
-       l'interpréteur, dont les valeurs peuvent être modifiées dans l'interpréteur, sans les éléments supprimés par la  commande  unset, 
-       et avec les éléments ajoutés par les commandes export et declare -x. 
- 
-       L'environnement  d'une  commande  simple ou d'une fonction peut être augmenté temporairement, en la faisant précéder des affecta‐ 
-       tions de paramètres, comme nous l'avons vu ci-dessus dans PARAMÈTRES. Ces affectations ne concernent que l'environnement  vu  par 
-       cette commande. 
- 
-       Si  l'option  -k  est configurée (consultez ci-dessous la commande interne set), alors toutes les affectations de paramètres sont 
-       placées dans l'environnement d'une commande exécutée et non seulement celles qui précèdent son nom. 
- 
-       Quand bash appelle une commande externe, la variable _ est configurée en chemin d'accès complet à  cette  commande  et  elle  est 
-       transmise dans l'environnement. 
- 
-ÉTAT FINAL 
-       L'état final d'une commande exécutée est la valeur renvoyée par l'appel système waitpid ou fonction équivalente. Les états finaux 
-       prennent leurs valeurs entre 0 et 255, néanmoins, comme expliqué ci-dessous, l'interpréteur peut utiliser les valeurs supérieures 
-       à  125  de façon particulière. Les états finaux des commandes internes et composées sont également limités à cet intervalle. Sous 
-       certaines conditions, l'interpréteur utilisera des valeurs particulières pour indiquer des modes d'échec particuliers. 
- 
-       Du point de vue de l'interpréteur, une commande qui termine avec état final valant zéro a réussi. Un état final de  zéro  indique 
-       le  succès.  Un état final différent de zéro indique un échec. Quand une commande se termine par un signal mortel N, bash utilise 
-       la valeur 128+N comme état final. 
- 
-       Si une commande n'est pas trouvée, le processus fils créé pour l'exécuter renvoie un état de 127. Si  une  commande  est  trouvée 
-       mais pas exécutable, la valeur renvoyée est 126. 
- 
-       Si  une  commande  échoue à cause d'une erreur survenue lors d'un développement ou des redirections, l'état final est strictement 
-       plus grand que zéro. 
- 
-       Les commandes internes renvoient un état de 0 (vrai) si réussies et une valeur différente de zéro (faux) si une erreur se produit 
-       pendant leur exécution. Toutes les commandes internes renvoient un état final de 2 pour indiquer un usage incorrect. 
- 
-       Bash  lui-même renvoie l'état final de la dernière commande exécutée, à moins qu'une erreur de syntaxe ne se produise, auquel cas 
-       il termine avec une valeur différente de zéro. Consultez aussi ci-dessous la commande interne exit. 
- 
-SIGNAUX 
-       Quand bash fonctionne de façon interactive, en absence de toute capture, il ignore SIGTERM (c'est ainsi que kill 0 ne tue pas  un 
-       interpréteur interactif) et SIGINT est intercepté et géré (c'est ainsi que la commande interne wait est interruptible). Dans tous 
-       les cas, bash ignore SIGQUIT. Si le contrôle des tâches est actif, bash ignore SIGTTIN, SIGTTOU et SIGTSTP. 
- 
-       Les commandes externes lancées par bash ont les gestionnaires de signaux configurés aux valeurs héritées  par  l'interpréteur  de 
-       son  parent.  Quand  le contrôle des tâches n'est pas actif, les tâches en arrière-plan ignorent les signaux SIGINT et SIGQUIT en 
-       plus des gestionnaires hérités. Les commandes exécutées en tant que résultat d'une substitution de commande ignorent les  signaux 
-       de contrôle de tâches émis par le clavier SIGTTIN, SIGTTOU et SIGTSTP. 
- 
-       Par  défaut,  l'interpréteur  termine à la réception de SIGHUP. Avant de terminer, un interpréteur interactif renvoie le SIGHUP à 
-       toutes les tâches en cours ou suspendues. Les tâches suspendues reçoivent aussi SIGCONT pour s'assurer qu'elles reçoivent bien le 
-       SIGHUP.  Pour  empêcher  l'interpréteur d'envoyer le signal à une tâche particulière, elle devrait être supprimée de la table des 
-       tâches avec la commande interne disown (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous) ou marquée comme  exemptée  de 
-       SIGHUP en utilisant disown -h. 
- 
-       Si  l'option  d'interpréteur  huponexit a été configurée avec la fonction shopt, bash envoie un signal SIGHUP à toutes les tâches 
-       lorsqu'un interpréteur de commandes de connexion interactif termine. 
- 
-       Lorsque bash attend qu'une commande se termine et qu'il reçoit un signal pour lequel une capture a été configurée, la capture  ne 
-       sera  pas  exécutée tant que la commande n'est pas terminée. Lorsque bash attend la fin d'une commande asynchrone par la commande 
-       interne wait, la réception d'un signal pour lequel une capture a été configurée conduira à un  retour  immédiat  de  la  commande 
-       interne wait avec un état final supérieur à 128, à la suite de quoi la capture est immédiatement exécutée. 
- 
-CONTRÔLE DES TÂCHES 
-       Le contrôle des tâches se réfère à la capacité de suspendre (suspend) sélectivement l'exécution d'un processus et de la reprendre 
-       (resume) ultérieurement. L'utilisateur bénéficie généralement de cette possibilité grâce à l'action conjointe du pilote de termi‐ 
-       nal du noyau de système d'exploitation et de bash. 
- 
-       L'interpréteur  associe  une tâche à chaque conduite. Il maintient une table des tâches en cours d'exécution, cette table pouvant 
-       être affichée avec la commande jobs. Quand bash lance une tâche de façon asynchrone (en arrière-plan), il affiche une  ligne  qui 
-       ressemble à : 
- 
-              [1] 25647 
- 
-       Cette ligne indique que la tâche est la tâche numéro 1 et que le PID du dernier processus dans la conduite associée à cette tâche 
-       est 25647. Tous les processus d'une même conduite font partie de la même tâche. Bash utilise la notion de  tâche  comme  base  du 
-       contrôle des tâches. 
- 
-       Pour  faciliter  l'implémentation  d'une interface utilisateur pour le contrôle de tâches, le système introduit la notion d'ID de 
-       groupe de processus associés à un terminal. Les membres de ce groupe de processus (processus dont le  GID  est  égal  au  Process 
-       Group ID du terminal actuel) reçoivent les signaux émis par le clavier comme SIGINT. Ces processus sont dits au premier plan. Les 
-       processus en arrière-plan sont ceux dont le Process-GID diffère de celui du terminal ; ils sont indifférents aux signaux émis par 
-       le  clavier. Seuls les processus au premier plan peuvent lire depuis le terminal ou, si l'utilisateur l'indique avec stty tostop, 
-       y écrire. Les processus en arrière-plan qui tentent une lecture (ou une écriture si stty  tostop  est  actif)  dans  le  terminal 
-       reçoivent un signal SIGTTIN (SIGTTOU) émis par le pilote du terminal du noyau, qui, sauf interception, suspend le processus. 
- 
-       Si  le  système d'exploitation sur lequel bash fonctionne permet le contrôle des tâches, bash fournit des outils pour l'utiliser. 
-       La frappe d'un caractère de suspension (généralement ^Z, Contrôle-Z) pendant l'exécution d'un processus conduit à  la  suspension 
-       de  celui-ci  et redonne la main à bash. La frappe d'un caractère de suspension différée (généralement ^Y, Contrôle-Y) conduira à 
-       la suspension du processus au moment où il tentera de lire des saisies depuis le terminal et la main reviendra à bash. L'utilisa‐ 
-       teur  peut alors manipuler l'état de cette tâche en utilisant la commande bg (background = arrière-plan) pour en continuer l'exé‐ 
-       cution en arrière-plan, la commande fg (foreground = premier plan) pour la continuer au premier plan ou encore la  commande  kill 
-       pour la tuer. Un ^Z s'applique immédiatement et a pour effet de bord d'éliminer les sorties et saisies en attente. 
- 
-       Plusieurs  façons  permettent  de se rapporter à une tâche. Le caractère % introduit une spécification de tâche (jobspec). Il est 
-       possible de se rapporter à la tâche numéro n avec %n. Il est également possible de se rapporter à une tâche en utilisant un  pré‐ 
-       fixe  du nom utilisé pour la lancer ou une sous-chaîne qui apparaît dans sa ligne de commande. Par exemple, %ce se rapporte à une 
-       tâche suspendue nommée ce. Si ce préfixe correspond à plusieurs tâches, bash signale une erreur. Utiliser %?ce, d'un autre  côté, 
-       se rapporte à toute tâche contenant la chaîne ce dans sa ligne de commande. Si la sous-chaîne correspond à plusieurs tâches, bash 
-       signale une erreur. Les symboles %% et %+ se rapportent à la notion de tâche actuelle de l'interpréteur, c'est-à-dire la dernière 
-       tâche suspendue alors qu'elle était au premier plan ou démarrée en arrière-plan. La tâche précédente peut être désignée en utili‐ 
-       sant %-. Si une seule tâche existe, %+ et %- peuvent tous deux être utilisés pour se rapporter à cette tâche. Dans les affichages 
-       se  rapportant  aux tâches (par exemple la sortie de la commande jobs), la tâche actuelle est toujours annotée d'un + et la tâche 
-       précédente d'un -. Un simple % (non accompagné de spécification de tâche) se rapporte également à la tâche actuelle. 
- 
-       Il suffit de nommer une tâche pour la ramener au premier  plan :  %1  est  synonyme  de  « fg  %1 »  et  ramène  la  tâche  1  de 
-       l'arrière-plan vers le premier plan. De même, « %1 & » reprend la tâche 1 en arrière-plan, de façon équivalente à « bg %1 ». 
- 
-       L'interpréteur  est  immédiatement  prévenu  lorsqu'une  tâche  change d'état. Normalement bash attend d'être prêt à afficher son 
-       interpréteur avant de signaler des changements dans l'état des tâches, afin de ne pas interrompre toute autre sortie. Si l'option 
-       -b  de  la  commande interne set est activée, bash signalera de telles modifications immédiatement. Toute capture sur SIGCHLD est 
-       exécutée pour chaque fils qui se termine. 
- 
-       Si une tentative visant à terminer bash est réalisée alors que des tâches sont suspendues (ou, si l'option d'interpréteur  check‐ 
-       jobs  a  été activée par la commande interne shopt, en cours d'exécution), l'interpréteur affiche un message d'avertissement, et, 
-       si l'option d'interpréteur checkjobs est activée, affiche la liste les tâches et leurs états. La commande jobs  peut  alors  être 
-       utilisée  pour  examiner  leur état. Si une deuxième tentative est faite pour terminer sans commande intercalaire, l'interpréteur 
-       n'affiche aucun autre avertissement et les tâches suspendues sont terminées. 
- 
-INVITES 
-       Quand il est exécuté de façon interactive, bash affiche l'invite de base PS1 dès qu'il est prêt à lire une commande  et  l'invite 
-       secondaire  PS2  quand  il  a  besoin  de  plus  de  saisies pour exécuter une commande. Bash permet de personnaliser ces chaînes 
-       d'invite, en insérant un certain nombre de caractères spéciaux protégés par des contre-obliques qui sont décodés comme suit : 
-              \a     un caractère ASCII d'alarme (07) ; 
-              \d     la date au format « Jour_de_la_semaine Mois Quantième » (par exemple : « Tue May 26 ») ; 
-              \D{format} 
-                     le format est passé à strftime(3) et le résultat est inséré dans la chaîne de l'invite ; un  format  vide  implique 
-                     une représentation du temps spécifique aux paramètres linguistiques régionaux. Les accolades sont nécessaires ; 
-              \e     un caractère de protection ASCII (033) ; 
-              \h     le nom de la machine, jusqu'au premier point « . » ; 
-              \H     le nom de la machine ; 
-              \j     le nombre de tâches actuellement gérées par l'interpréteur ; 
-              \l     le nom de base du nom de périphérique de terminal de l'interpréteur ; 
-              \n     changement de ligne ; 
-              \r     retour chariot (« carriage return ») ; 
-              \s     le nom de l'interpréteur, c'est-à-dire le nom de base de $0 (la portion suivant la dernière barre oblique) ; 
-              \t     l'heure actuelle au format HH:MM:SS sur 24 heures ; 
-              \T     l'heure actuelle au format HH:MM:SS sur 12 heures ; 
-              \@     l'heure actuelle au format HH:MM sur 12 heures ; 
-              \A     l'heure actuelle au format HH:MM sur 24 heures ; 
-              \u     le nom de l'utilisateur ; 
-              \v     la version de bash (par exemple, 2.00) ; 
-              \V     le numéro de version complet (avec niveau de correctifs) de bash, (par exemple, 2.00.0) ; 
-              \w     le  répertoire  de  travail  actuel, avec $HOME abrégé en tilde « ~ » (utilise la valeur de la variable PROMPT_DIR‐ 
-                     TRIM) ; 
-              \W     le nom de base du répertoire de travail actuel, avec $HOME abrégé en tilde (« ~ ») ; 
-              \!     le numéro d'historique de la commande ; 
-              \#     le numéro de la commande ; 
-              \$     # si l'UID effectif est 0, $ sinon ; 
-              \nnn   le caractère de code octal nnn ; 
-              \\     une contre-oblique ; 
-              \[     débute une suite de caractères non imprimables, qui peuvent être utilisés pour inclure une suite de  caractères  de 
-                     contrôle du terminal dans l'interpréteur ; 
-              \]     finit une suite de caractères non imprimables. 
- 
-       Le numéro de commande et le numéro d'historique sont généralement différents : le numéro d'historique d'une commande correspond à 
-       sa position dans la file d'historique qui peut contenir des commandes relues depuis cette  liste  (consultez  HISTORIQUE  ci-des‐ 
-       sous),  alors  que  le  numéro de commande est simplement une position dans la suite de commandes exécutées depuis le début de la 
-       session d'interpréteur actuelle. Après que la chaîne ait été décodée, elle est soumise au développement des paramètres, à la sub‐ 
-       stitution  de commande, au développement arithmétique, au découpage des mots et à la suppression des protections, selon la valeur 
-       de l'option d'interpréteur promptvars (consultez la description de shopt dans COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). 
- 
-READLINE 
-       C'est la bibliothèque qui gère la lecture des saisies lors des sessions interactives de  l'interpréteur,  à  moins  que  l'option 
-       --noediting  ne  soit  indiquée à l'appel de l'interpréteur. Par défaut les commandes d'édition de ligne sont similaires à celles 
-       d'Emacs. Une interface d'édition de ligne dans le style vi est aussi disponible. Pour arrêter l'édition de ligne après le  démar‐ 
-       rage  de l'interpréteur, utiliser l'option +o emacs ou +o vi de la commande interne set (consultez COMMANDES INTERNES DE L'INTER‐ 
-       PRÉTEUR ci-dessous). 
- 
-   Notation readline 
-       Dans ce paragraphe on utilisera la notation « à la Emacs » pour indiquer les frappes de touches. Les touches Contrôle sont notées 
-       C-touche,  par  exemple  C-n  signifie Contrôle-N. De même, les touches Méta sont notées par M-touche, ainsi M-x signifie Méta-X. 
-       (Sur les claviers sans touches Méta, M-x signifie ESC x, c'est-à-dire presser la touche d'Échappement puis la touche x. Cela fait 
-       de  ESC le préfixe méta. La combinaison M-C-x signifie ESC-Contrôle-x ou encore presser la touche d'Échappement puis maintenir la 
-       touche Contrôle enfoncée tout en pressant la touche x.) 
- 
-       Les commandes readline peuvent recevoir des arguments numériques, qui fonctionnent en règle générale comme compteurs  de  répéti‐ 
-       tions.  Parfois,  cependant, c'est le signe de l'argument qui est significatif. L'utilisation d'un argument négatif pour une com‐ 
-       mande agissant dans un sens donné (par exemple kill-line) conduit cette commande à agir dans la direction opposée. Les  commandes 
-       dont le comportement avec les arguments diffère de cela sont indiquées ci-dessous. 
- 
-       Lorsqu'une  commande est indiquée comme détruisant du texte, le texte effacé est en fait sauvegardé pour une éventuelle récupéra‐ 
-       tion ultérieure (« yanking »). Il est conservé dans un tampon circulaire (« kill ring »). Les suppressions successives conduisent 
-       à  l'accumulation  du texte en un seul bloc qui peut être récupéré en une fois. Les commandes non destructives séparent les blocs 
-       de textes dans le tampon circulaire. 
- 
-   Initialisation de readline 
-       Readline est personnalisé en plaçant des commandes dans un fichier d'initialisation (le fichier inputrc). Le nom  de  ce  fichier 
-       est  pris  dans  la  variable  de  l'interpréteur  INPUTRC.  Si cette variable est inexistante, le nom par défaut est ~/.inputrc. 
-       Lorsqu'un programme utilisant la bibliothèque readline démarre, le fichier d'initialisation est lu et les raccourcis  clavier  et 
-       les  variables  sont mis en place. Il n'y a que quelques constructions élémentaires possibles dans le fichier d'initialisation de 
-       readline. Les lignes blanches sont ignorées. Les lignes commençant par # sont des  commentaires.  Les  lignes  commençant  par  $ 
-       indiquent des constructions conditionnelles. Les autres lignes indiquent des raccourcis clavier et des paramétrages de variables. 
- 
-       Les  raccourcis  clavier par défaut peuvent être modifiés par un fichier inputrc. D'autres programmes qui utilisent cette biblio‐ 
-       thèque peuvent ajouter leurs propres commandes et raccourcis. 
- 
-       Par exemple, en plaçant 
- 
-              M-Control-u: universal-argument 
-       ou 
-              C-Meta-u: universal-argument 
-       dans le fichier inputrc, on associera la suite de touches M-C-u à la commande readline universal-argument. 
- 
-       Les caractères symboliques suivants sont acceptés : RUBOUT, DEL, ESC, LFD, NEWLINE, RET, RETURN, SPC, SPACE et TAB. 
- 
-       En plus des noms de commandes, readline permet d'associer à une touche une chaîne de  caractères  qui  sera  insérée  lorsque  la 
-       touche est pressée (une macro). 
- 
-   Raccourcis clavier readline 
-       La  syntaxe  de définition des raccourcis clavier dans le fichier inputrc est simple. Tout ce qui est nécessaire est le nom de la 
-       commande ou le texte d'une macro et la suite de touches à laquelle il faut l'associer. Les noms de touches peuvent être  indiqués 
-       de l'une des deux façons : comme un nom de touche symbolique, éventuellement précédé des préfixes Meta- ou Control- ou sous forme 
-       d'une suite de touches. 
- 
-       En utilisant la forme touche:nom_de_fonction ou macro, touche est le nom de la touche en anglais. Par exemple : 
- 
-              Control-u: universal-argument 
-              Meta-Rubout: backward-kill-word 
-              Control-o: "> sortie" 
- 
-       Dans l'exemple ci-dessus, C-u est associé à la fonction universal-argument, M-DEL à  la  fonction  backward-kill-word  et  C-o  à 
-       l'exécution de la macro exprimée dans la partie gauche (c'est-à-dire, insérer le texte « > sortie » sur la ligne). 
- 
-       Avec  la  seconde forme, "touches":nom_de_fonction ou macro, touches diffère de touche ci-dessus en ce que les chaînes notant une 
-       suite complète de touches peuvent être indiquées en plaçant la suite  entre  guillemets  doubles.  Certaines  suites  de  touches 
-       d'Échappement  dans  le  style GNU Emacs peuvent être utilisées, comme dans l'exemple suivant, mais les noms de caractères symbo‐ 
-       liques ne sont pas reconnus. 
- 
-              "\C-u": universal-argument 
-              "\C-x\C-r": re-read-init-file 
-              "\e[11~": "Function Key 1" 
- 
-       Dans cet exemple, C-u est à nouveau associé à la fonction universal-argument, C-x C-r à la fonction re-read-init-file et ESC [  1 
-       1 ~ à l'insertion du texte « Function Key 1 ». 
- 
-       Le jeu complet des suites de caractères de protection du style GNU Emacs est : 
-              \C-    préfixe Contrôle ; 
-              \M-    préfixe Méta ; 
-              \e     caractère de protection ; 
-              \\     contre-oblique ; 
-              \"     un guillemet " littéral ; 
-              \'     un guillemet ' littéral. 
- 
-       En  plus  des suites de caractères de protection dans le style GNU Emacs, un second jeu de suites de caractères de protection par 
-       contre-obliques est disponible : 
-              \a     alerte (alarme) ; 
-              \b     effacement arrière (« backspace ») ; 
-              \d     effacement ; 
-              \f     saut de page (« form feed ») ; 
-              \n     changement de ligne ; 
-              \r     retour chariot (« carriage return ») ; 
-              \t     tabulation horizontale ; 
-              \v     tabulation verticale ; 
-              \nnn   le caractère 8 bits dont la valeur octale est nnn (un à trois chiffres) ; 
-              \xHH   le caractère 8 bits dont la valeur hexadécimale est HH (un ou deux chiffres hexadécimaux) ; 
- 
-       Lorsqu'on saisit le texte d'une macro, il faut utiliser des guillemets simples ou doubles  pour  indiquer  la  définition  de  la 
-       macro.  Les  textes  non  protégés  sont  considérés  comme des noms de fonctions. Dans le corps de la macro, les protections par 
-       contre-oblique décrites ci-dessus sont développées. La contre-oblique protégera tout autre caractère dans le texte de la macro, y 
-       compris " et '. 
- 
-       Bash  permet  d'afficher ou de modifier les raccourcis clavier readline avec la commande interne bind. On peut basculer d'un mode 
-       d'édition à l'autre en mode interactif en utilisant l'option -o de la commande  interne  set  (consultez  COMMANDES  INTERNES  DE 
-       L'INTERPRÉTEUR ci-dessous). 
- 
-   Variables de readline 
-       Readline dispose de variables permettant de personnaliser encore plus son comportement. Une variable peut être configurée dans le 
-       fichier inputrc avec une affectation de la forme 
- 
-              set nom_de_variable valeur 
- 
-       Sauf indication contraire, les variables de readline prennent les valeurs On ou Off (la casse étant sans importance). Les noms de 
-       variables  non  reconnues  sont  ignorés.  Lorsqu'une  valeur  de variable est lue, les variables vides ou de valeur NULL, « on » 
-       (insensible à la casse) et « 1 » sont équivalentes à On. Toutes les autres valeurs sont équivalentes  à  Off.  Les  variables  et 
-       leurs valeurs par défaut, sont : 
- 
-       bell-style (audible) 
-              Cette  variable  commande  readline  lorsqu'il faut déclencher l'alarme du terminal. Si configurée à none, readline n'émet 
-              jamais d'alarme. Si configurée à visible, readline utilise une alarme visuelle s'il y en a une disponible. Si configurée à 
-              audible, readline essaie de faire sonner l'alarme du terminal. 
-       bind-tty-special-chars (On) 
-              Si configurée à On, readline tente d'associer les caractères de contrôle traités spécialement par le pilote de terminal du 
-              noyau à leurs équivalents readline. 
-       colored-stats (Off) 
-              Si configurée à On, readline affiche les complètements possibles en utilisant des couleurs différentes pour indiquer  leur 
-              type de fichier. Les définitions de couleur sont prises dans la valeur de la variable d’environnement LS_COLORS. 
-       comment-begin (« # ») 
-              Cette chaîne est insérée quand la commande readline insert-comment est exécutée. Cette commande est associée à M-# en mode 
-              Emacs et à # en mode de commande vi. 
-       completion-ignore-case (Off) 
-              Si configurée à On, readline effectue les correspondances et complètements de noms de fichiers sans  tenir  compte  de  la 
-              casse. 
-       completion-prefix-display-length (0) 
-              La  longueur, en caractères, du préfixe commun d'une liste de complètements possibles affiché sans modification. Si confi‐ 
-              gurée en valeur positive, les préfixes communs plus longs que cette valeur sont remplacés par une ellipse lors de  l'affi‐ 
-              chage des complètements possibles. 
-       completion-query-items (100) 
-              Cela  détermine  quand l'utilisateur est interrogé pour voir le nombre de complètements possibles produits par la commande 
-              possible-completions. Elle peut être configurée à toute valeur entière positive. Si le nombre de  complètements  possibles 
-              est supérieur ou égal à la valeur de cette variable, il est demandé à l'utilisateur s'il veut ou non les voir ; sinon, ils 
-              sont simplement affichés sur le terminal. 
-       convert-meta (On) 
-              Si configurée à On, readline transformera les caractères avec leur huitième bit à 1 en suite de caractères ASCII  en  sup‐ 
-              primant  le  huitième  bit  et en insérant comme préfixe un caractère de protection (en fait, en utilisant le caractère de 
-              protection comme préfixe méta). 
-       disable-completion (Off) 
-              Si configurée à On, readline empêchera le complètement des mots. Les caractères de  complètement  seront  insérés  sur  la 
-              ligne comme s'ils avaient été associés à self-insert. 
-       editing-mode (emacs) 
-              Commande  si  readline  doit démarrer avec des raccourcis clavier similaires à Emacs ou à vi. editing-mode peut être posi‐ 
-              tionné soit à emacs, soit à vi. 
-       echo-control-characters (On) 
-              Si configurée à On, sur les systèmes d'exploitation le permettant, readline affiche un caractère correspondant à un signal 
-              provenant du clavier. 
-       enable-keypad (Off) 
-              Quand  configurée à On, readline essayera d'activer le pavé numérique de l'application une fois appelée. Sur certains sys‐ 
-              tèmes, c'est nécessaire pour utiliser les flèches. 
-       enable-meta-key (On) 
-              Quand configurée à On, readline essayera d'activer toutes les touches de modificateur Méta que le terminal peut prendre en 
-              charge une fois appelé. Sur de nombreux terminaux, la touche Méta est utilisée pour saisir des caractères sur huit bits. 
-       expand-tilde (Off) 
-              Si configurée à On, le développement du tilde est effectué lorsque readline tente un complètement de commandes. 
-       history-preserve-point (Off) 
-              Si  configurée  à  On,  le programme d'historique tente de placer le curseur au même endroit sur chaque ligne d'historique 
-              récupérée avec previous-history ou next-history. 
-       history-size (0) 
-              Configure le nombre d'éléments sauvegardés dans la file de l'historique. Si configurée à  zéro,  tous  les  éléments  sont 
-              effacés et aucun nouvel élément n’est sauvegardé. Si configurée à une valeur strictement négative, le nombre d'éléments de 
-              la file d’historique n'est pas limité. Par défaut, le nombre d’éléments n’est pas limité. 
-       horizontal-scroll-mode (Off) 
-              Quand configurée à On, readline utilisera une seule ligne d'affichage et fera défiler la saisie  horizontalement  sur  une 
-              seule ligne d'écran quand elle devient plus longue que la largeur de l'écran, plutôt que de faire un retour à la ligne. 
-       input-meta (Off) 
-              Si  configurée  à  On,  readline acceptera des saisies sur huit bits (autrement dit il ne supprimera pas le huitième bit), 
-              quel que soit le terminal utilisé. Le nom meta-flag est un synonyme pour cette variable. 
-       isearch-terminators (« C-[C-J ») 
-              La chaîne de caractères qui doit terminer une recherche incrémentale sans que le caractère ne soit exécuté comme une  com‐ 
-              mande. Si cette variable n'a pas reçu de valeur, les caractères ESC et C-J termineront une recherche incrémentale. 
-       keymap (emacs) 
-              Configure  le jeu de raccourcis readline actuel. L'ensemble des noms corrects de jeux de raccourcis est emacs, emacs-stan‐ 
-              dard, emacs-meta, emacs-ctlx, vi, vi-command et vi-insert. vi  est  équivalent  à  vi-command ;  emacs  est  équivalent  à 
-              emacs-standard. La valeur par défaut est emacs ; la valeur de editing-mode modifie aussi le jeu de raccourcis par défaut. 
-       keyseq-timeout (500) 
-              Indique  le  temps  que readline attendra un caractère lors de la lecture d’une suite de touches ambiguë (c’est-à-dire qui 
-              peut former une suite de touches complète en utilisant l’entrée lue jusqu’à présent, ou accepter une entrée supplémentaire 
-              pour compléter une suite de touches plus longue). Si aucune entrée n’est reçue pendant le temps d’attente, readline utili‐ 
-              sera la suite la plus courte, mais complète. La valeur est indiquée en milliseconde, donc une valeur de 1000 signifie  que 
-              readline  attendra pendant une seconde une entrée supplémentaire. Si cette variable est configurée à une valeur inférieure 
-              ou égale à zéro, ou à une valeur non numérique, readline attendra la saisie d’une autre touche pour décider de la suite de 
-              touches à compléter. 
-       mark-directories (On) 
-              Si configurée à On, une barre oblique est ajoutée aux noms de répertoires. 
-       mark-modified-lines (Off) 
-              Si configurée à On, les lignes d'historique qui ont été modifiées seront précédées à l'affichage d'un astérisque (*). 
-       mark-symlinked-directories (Off) 
-              Si configurée à On, une barre oblique est ajoutée aux noms complétés si ce sont des liens symboliques vers des répertoires 
-              (selon la valeur de mark-directories). 
-       match-hidden-files (On) 
-              Cette variable, quand elle est configurée à On, conduit readline à faire correspondre des fichiers dont  le  nom  commence 
-              par  un « . » (fichiers cachés) lors du complètement de noms de fichiers. Si configurée à Off, le « . » du début doit être 
-              fourni par l'utilisateur dans le nom de fichier à compléter. 
-       menu-complete-display-prefix (Off) 
-              Si configurée à On, le complètement de menu affiche le préfixe commun à la liste de complétements possibles (qui peut être 
-              vide) avant de tourner dans la liste. 
-       output-meta (Off) 
-              Si  configurée  à On, readline affichera directement les caractères ayant leur huitième bit à 1, plutôt que d'utiliser une 
-              suite de caractères de protection avec préfixe méta. 
-       page-completions (On) 
-              Si configurée à On, readline utilise un afficheur de texte interne du type more pour afficher les complètements  possibles 
-              sur un seul plein écran. 
-       print-completions-horizontally (Off) 
-              Si  configurée  à  On, readline affichera les complètements correspondants triés horizontalement dans l'ordre alphabétique 
-              plutôt que verticalement. 
-       revert-all-at-newline (Off) 
-              Si configurée à On, readline  annulera  toutes  les  modifications  des  lignes  d'historique  avant  de  s'arrêter  quand 
-              accept-line  est  exécuté. Par défaut les lignes d'historique peuvent être modifiées et conservent les listes d'annulation 
-              individuelles au fur et à mesure des appels à readline. 
-       show-all-if-ambiguous (Off) 
-              Cela modifie le comportement par défaut des fonctions de complètement. Si configurée à On, les mots qui ont plus d'un com‐ 
-              plètement possibles conduisent à l'affichage immédiat des correspondances plutôt qu'à l'émission d'une alarme. 
-       show-all-if-unmodified (Off) 
-              Cela  modifie  le  comportement  par  défaut  des fonctions de complètement de façon similaire à show-all-if-ambiguous. Si 
-              configurée à On, les mots qui ont plus d'un complètement possible sans aucun complètement partiel possible (les  complète‐ 
-              ments  possibles  ne  partagent  pas  de préfixe commun) conduisent à l'affichage immédiat des correspondances plutôt qu'à 
-              l'émission d'une alarme. 
-       show-mode-in-prompt (Off) 
-              Si configurée à On, ajoute un caractère au début de l’invite indiquant le mode d’édition : Emacs (@), commande Vi  (:)  ou 
-              insertion Vi (+). 
-       skip-completed-text (Off) 
-              Si  configurée  à  On,  modifie le comportement par défaut du complètement lors de l'insertion d'une unique correspondance 
-              dans la ligne. Elle n'est utilisée que lors d'un complètement effectué au milieu d'un mot. Si elle est  activée,  readline 
-              n'insère  pas  de  caractères  de complètement correspondant à des caractères situés après le curseur dans le mot en train 
-              d'être complété, ainsi les parties du mots situées après le curseur ne sont pas dupliquées. 
-       visible-stats (Off) 
-              Si configurée à On, un caractère indiquant le type de fichier, comme signalé par stat(2) est ajouté aux noms  de  fichiers 
-              en affichant les complètements possibles. 
- 
-   Constructions conditionnelles de readline 
-       Readline implémente un mécanisme inspiré des fonctionnalités de compilation conditionnelle du préprocesseur C qui permet d'effec‐ 
-       tuer le paramétrage des raccourcis clavier et des variables selon les résultats de tests. Il y a quatre directives d'analyse uti‐ 
-       lisées. 
- 
-       $if    La  structure $if permet de choisir les raccourcis selon le mode d'édition, le terminal utilisé ou l'application utilisant 
-              readline. Le texte du test va jusqu'à la fin de la ligne ; aucun caractère n'est nécessaire pour le délimiter. 
- 
-              mode   La forme mode= de la directive $if est utilisée pour vérifier si readline est en mode emacs ou vi. Cela  peut  être 
-                     utilisé  conjointement à la commande set keymap, par exemple pour ne configurer les raccourcis des jeux de raccour‐ 
-                     cis emacs-standard et emacs-ctlx que si readline démarre en mode emacs. 
- 
-              term   La forme term= peut être utilisée pour ajouter des raccourcis clavier spécifiques au terminal, comme  associer  des 
-                     suites  de  touches  produites par des touches de fonction du terminal. Le mot à droite du signe = est comparé à la 
-                     fois au nom complet du terminal et à la portion de nom du terminal qui précède le premier signe -. Cela permet, par 
-                     exemple, de faire correspondre sun avec à la fois sun et sun-cmd. 
- 
-              application 
-                     La  structure  application est utilisée pour inclure des paramétrages spécifiques à chaque application. Chaque pro‐ 
-                     gramme utilisant la bibliothèque readline configure un nom d'application et un fichier d'initialisation peut tester 
-                     une  valeur  particulière.  Ce peut être utilisé pour associer des suites de touches à des fonctions utiles pour un 
-                     certain programme. Par exemple, les commandes suivantes ajoutent une suite de touches qui protège le mot actuel  ou 
-                     précédant dans bash : 
- 
-                     $if Bash 
-                     # Protéger le mot actuel ou le précédant 
-                     "\C-xq": "\eb\"\ef\"" 
-                     $endif 
- 
-       $endif Cette commande, comme on l'a vu dans l'exemple ci-dessus, termine une commande $if. 
- 
-       $else  Permet d'ajouter des commandes qui seront exécutées si un $if échoue. 
- 
-       $include 
-              Cette  directive  prend  un  seul  nom de fichier comme argument et y lit les commandes et les raccourcis. Par exemple, la 
-              directive suivante lirait le fichier /etc/inputrc : 
- 
-              $include  /etc/inputrc 
- 
-   Recherche 
-       Readline fournit des commandes de recherche au sein de l'historique de commandes (consultez  HISTORIQUE  ci-dessous)  des  lignes 
-       contenant une chaîne donnée. Il y a deux modes de recherche : incrémental et non incrémental. 
- 
-       Les  recherches  incrémentales  commencent  avant  même  que l'utilisateur n'ait terminé de saisir la chaîne recherchée. À chaque 
-       caractère saisi, readline affiche l'élément suivant de l'historique qui correspond à la chaîne déjà entrée. Une recherche  incré‐ 
-       mentale nécessite seulement le nombre de caractères indispensable pour retrouver l'élément d'historique désiré. Les caractères se 
-       trouvant dans la variable isearch-terminators servent à terminer une recherche incrémentale. Si aucune valeur n'a été affectée  à 
-       cette  variable,  les  caractères  Échappement (« Escape ») et Contrôle-J terminent une recherche incrémentale. Contrôle-G permet 
-       d'interrompre une recherche incrémentale et de restaurer la ligne originale. Lorsque la recherche est finie,  l'élément  d'histo‐ 
-       rique contenant la chaîne désirée devient la ligne actuelle. 
- 
-       Pour  trouver les autres éléments correspondant dans la file d'historique, saisissez selon Contrôle-S ou Contrôle-R. Cela recher‐ 
-       chera en avant ou en arrière dans l'historique l'élément suivant correspondant à la chaîne saisie jusque-là. Toute autre suite de 
-       touches  associée  à une commande readline interrompra la recherche et exécutera la commande. Par exemple, un changement de ligne 
-       interrompra la recherche et acceptera la ligne, exécutant ainsi la commande de la file d'historique. 
- 
-       Readline se souvient de la dernière chaîne de recherche incrémentale. Si deux Contrôle-R sont tapés sans caractère  pour  définir 
-       une nouvelle recherche de chaîne, toute chaîne mémorisée sera utilisée. 
- 
-       Les  recherches  non  incrémentales  lisent  la chaîne désirée en entier avant de démarrer la recherche de correspondance dans la 
-       liste d'historique. La chaîne peut être saisie par l'utilisateur ou faire partie du contenu de la ligne actuelle. 
- 
-   Noms des commandes readline 
-       Ce qui suit est une liste des noms de commandes et les suites de touches auxquelles elles sont associées par défaut. Les noms  de 
-       commandes  sans  suite  de  touche les accompagnant ne sont pas associées par défaut. Dans les descriptions suivantes, le curseur 
-       (« point ») se rapporte à la position actuelle du curseur et la marque se rapporte à une position de curseur sauvegardée  par  la 
-       commande set-mark. Le texte entre le curseur et la marque est désigné comme la zone. 
- 
-   Commandes de déplacement 
-       beginning-of-line (C-a) 
-              Reculer au début de la ligne actuelle. 
-       end-of-line (C-e) 
-              Avancer à la fin de la ligne. 
-       forward-char (C-f) 
-              Avancer d'un caractère. 
-       backward-char (C-b) 
-              Reculer d'un caractère. 
-       forward-word (M-f) 
-              Avancer jusqu'à la fin du mot suivant. Les mots sont composés de caractères alphanumériques (lettres et chiffres). 
-       backward-word (M-b) 
-              Reculer  jusqu'au  début  du  mot actuel ou du précédent. Les mots sont composés de caractères alphanumériques (lettres et 
-              chiffres). 
-       shell-forward-word 
-              Avancer jusqu'à la fin du mot suivant. Les mots sont séparés par des métacaractères non protégés de l'interpréteur. 
-       shell-backward-word 
-              Reculer jusqu'au début du mot actuel ou du précédent. Les mots  sont  séparés  par  des  métacaractères  non  protégés  de 
-              l'interpréteur. 
-       clear-screen (C-l) 
-              Effacer  l'écran,  en  laissant la ligne actuelle au sommet de l'écran. S'il y a un argument, rafraîchir la ligne actuelle 
-              sans effacer l'écran. 
-       redraw-current-line 
-              Rafraîchir la ligne actuelle. 
- 
-   Commandes de manipulation de l'historique 
-       accept-line (changement de ligne, retour chariot) 
-              Valider la ligne, sans se soucier de l'emplacement du curseur. Si la ligne n'est pas vide, l'ajouter à  la  file  d'histo‐ 
-              rique,  sous contrôle de la variable HISTCONTROL. Si cette ligne est une ligne d'historique modifiée, restaurer cette der‐ 
-              nière. 
-       previous-history (C-p) 
-              Récupérer la commande précédente de la file d'historique, en remontant dans la file. 
-       next-history (C-n) 
-              Récupérer la commande suivante dans la file d'historique, en descendant dans la file. 
-       beginning-of-history (M-<) 
-              Récupérer la première ligne de l'historique. 
-       end-of-history (M->) 
-              Retourner à la fin de l'historique de saisie, c'est-à-dire à la ligne en cours de saisie. 
-       reverse-search-history (C-r) 
-              Rechercher en arrière dans l'historique, en remontant. C'est une recherche incrémentale. 
-       forward-search-history (C-s) 
-              Rechercher en avant dans l'historique, en descendant. C'est une recherche incrémentale. 
-       non-incremental-reverse-search-history (M-p) 
-              Rechercher une chaîne en arrière dans l'historique, en remontant depuis la ligne  actuelle,  utiliser  une  recherche  non 
-              incrémentale pour une chaîne fournie par l'utilisateur. 
-       non-incremental-forward-search-history (M-n) 
-              Rechercher  une  chaîne  en  avant  dans l'historique, utiliser une recherche non incrémentale pour une chaîne fournie par 
-              l'utilisateur. 
-       history-search-forward 
-              Rechercher en avant dans l'historique la chaîne comprise entre le début de la ligne actuelle et la  position  du  curseur. 
-              C'est une recherche non incrémentale. 
-       history-search-backward 
-              Rechercher  en arrière dans l'historique la chaîne comprise entre le début de la ligne actuelle et la position du curseur. 
-              C'est une recherche non incrémentale. 
-       yank-nth-arg (M-C-y) 
-              Insérer, à l'emplacement du curseur, le premier argument de la commande précédente. Généralement, il s'agit du second  mot 
-              de  la  ligne  précédente.  Avec un argument n, insérer le n-ième mot de la commande précédente (les mots sont numérotés à 
-              partir de 0). Un argument négatif insère le n-ième mot en partant de la fin  de  la  commande  précédente.  Une  fois  que 
-              l'argument n est traité, l'argument est extrait comme si le développement d'historique « !n » avait été indiqué. 
-       yank-last-arg (M-., M-_) 
-              Insérer  le  dernier  argument  de la commande précédente (le dernier mot de l'élément précédent de la file d'historique). 
-              Avec un argument numérique, se comporte exactement comme yank-nth-arg. Les appels  successifs  à  yank-last-arg  remontent 
-              dans  la  file d'historique en insérant le dernier mot (ou le mot indiqué par l'argument du premier appel) de chaque ligne 
-              tour à tour. Tous les arguments numériques fournis à ces appels successifs déterminent la direction  de  déplacement  dans 
-              l'historique.  Un argument négatif modifie la direction dans l'historique (en avant ou en arrière). Les outils de dévelop‐ 
-              pement d'historique sont utilisés pour extraire le dernier mot, comme si le développement d'historique  « !$ »  avait  été 
-              indiqué. 
-       shell-expand-line (M-C-e) 
-              Développer,  comme  le  fait  l'interpréteur, la ligne actuelle. Cela effectue le développement des alias et d'historique, 
-              ainsi que tous les développements de mot de l'interpréteur. Consultez ci-dessous DÉVELOPPEMENT DE L'HISTORIQUE,  pour  une 
-              description détaillée du développement de l'historique. 
-       history-expand-line (M-^) 
-              Effectuer  le  développement  d'historique sur la ligne actuelle. Consultez ci-dessous DÉVELOPPEMENT DE L'HISTORIQUE, pour 
-              une description détaillée. 
-       magic-space 
-              Effectuer le développement de l'historique sur la ligne actuelle et insérer une espace. Consultez ci-dessous DÉVELOPPEMENT 
-              DE L'HISTORIQUE, pour une description détaillée. 
-       alias-expand-line 
-              Effectuer  le développement des alias sur la ligne actuelle. Consultez ALIAS ci-dessus pour une description des développe‐ 
-              ments d'alias. 
-       history-and-alias-expand-line 
-              Effectuer le développement de l'historique et des alias sur la ligne actuelle. 
-       insert-last-argument (M-., M-_) 
-              Un synonyme de yank-last-arg. 
-       operate-and-get-next (C-o) 
-              Valider la ligne actuelle et récupérer la ligne suivante de l'historique pour édition. Tout argument est ignoré. 
-       edit-and-execute-command (C-xC-e) 
-              Appeler un éditeur sur la ligne de commande actuelle et exécuter le résultat comme une commande d'interpréteur. Bash tente 
-              d'appeler, dans cet ordre, $VISUAL, $EDITOR et emacs comme éditeur. 
- 
-   Commande d'édition de texte 
-       end-of-file (généralement C-d) 
-              Le  caractère  indiquant  la  fin de ligne, comme défini, par exemple, par « stty ». Si ce caractère est lu alors qu’aucun 
-              caractère n’est sur la ligne, et que le curseur est au début de la ligne, readline l’interprète comme le fin  de  l’entrée 
-              et renvoie EOF. 
-       delete-char (C-d) 
-              Effacer  le  caractère sous le curseur. Si cette fonction est associée au même caractère que le caractère EOF du terminal, 
-              comme c’est souvent le cas avec C-d, consultez les effets dans le paragraphe précédent. 
-       backward-delete-char (Effacement ou « Rubout ») 
-              Effacer le caractère avant le curseur. Lorsque un argument numérique est indiqué, le texte effacé est sauvegardé  dans  le 
-              tampon circulaire. 
-       forward-backward-delete-char 
-              Effacer le caractère sous le curseur, sauf s'il est en fin de ligne, auquel cas le caractère avant le curseur est effacé. 
-       quoted-insert (C-q, C-v) 
-              Ajouter  littéralement  sur  la  ligne  le  caractère  saisi  suivant. Cela permet d'insérer des caractères comme C-q, par 
-              exemple. 
-       tab-insert (C-v TAB) 
-              Insérer un caractère de tabulation. 
-       self-insert (a, b, A, 1, !, ...) 
-              Insérer le caractère mentionné. 
-       transpose-chars (C-t) 
-              Échanger les caractères se trouvant devant et sous le curseur. Le curseur est avancé d'un caractère. À la fin d'une ligne, 
-              les caractères échangés sont les deux précédents. Les arguments négatifs n'ont aucun effet. 
-       transpose-words (M-t) 
-              Déplace  le mot avant le curseur au-delà du mot après le curseur et déplace aussi le curseur sur ce mot. Si le curseur est 
-              à la fin de la ligne, cela échange les deux derniers mots de la ligne. 
-       upcase-word (M-u) 
-              Transformer le mot actuel (ou le suivant) en majuscules. Avec un argument négatif, agir sur le mot précédent mais  ne  pas 
-              déplacer le curseur. 
-       downcase-word (M-l) 
-              Transformer  le  mot actuel (ou le suivant) en minuscules. Avec un argument négatif, agir sur le mot précédent mais ne pas 
-              déplacer le curseur. 
-       capitalize-word (M-c) 
-              Passer en majuscule l'initiale du mot actuel (ou du suivant). Avec un argument négatif, agir sur le mot précédent mais  ne 
-              pas déplacer le curseur. 
-       overwrite-mode 
-              Basculer  en  mode  d'écrasement.  Avec un argument numérique explicite strictement positif, bascule en mode d'écrasement. 
-              Avec un argument numérique explicite négatif ou nul, bascule en mode d'insertion. Cette commande  n'affecte  que  le  mode 
-              emacs ;  le  mode  vi écrase de façon différente. Chaque appel à readline() démarre en mode d'insertion. En mode d'écrase‐ 
-              ment, les caractères associés à self-insert remplacent le texte sous le curseur plutôt que de déplacer le  texte  vers  la 
-              droite.  Les  caractères  associés  à  backward-delete-char  remplacent  le caractère avant le curseur par une espace. Par 
-              défaut, cette commande n'est pas associée. 
- 
-   Effacement et récupération 
-       kill-line (C-k) 
-              Effacer le texte depuis la position du curseur jusqu'à la fin de la ligne. 
-       backward-kill-line (C-x Effacement) 
-              Effacer en arrière jusqu'au début de ligne. 
-       unix-line-discard (C-u) 
-              Effacer le texte entre le début de la ligne et la position du curseur. Le texte est sauvegardé dans le tampon circulaire. 
-       kill-whole-line 
-              Effacer toute la ligne sans tenir compte de la position du curseur. 
-       kill-word (M-d) 
-              Effacer le texte entre le curseur et la fin du mot actuel ou, si entre des mots,  jusqu'à  la  fin  du  mot  suivant.  Les 
-              limites des mots sont identiques à celles utilisées par forward-word. 
-       backward-kill-word (M-Effacement) 
-              Effacer le mot sous le curseur. Les limites de mots sont identiques à celles utilisées par backward-word. 
-       shell-kill-word (M-d) 
-              Effacer  le  texte  entre  le  curseur  et  la fin du mot actuel ou, si entre des mots, jusqu'à la fin du mot suivant. Les 
-              limites des mots sont identiques à celles utilisées par shell-forward-word. 
-       shell-backward-kill-word (M-Effacement) 
-              Effacer le mot sous le curseur. Les limites de mots sont identiques à celles utilisées par shell-backward-word. 
-       unix-word-rubout (C-w) 
-              Effacer le mot sous le curseur, en utilisant une espace blanche comme limite de mot. Le texte effacé est  sauvegardé  dans 
-              le tampon circulaire. 
-       unix-filename-rubout 
-              Effacer  le mot sous le curseur, en utilisant l'espace blanche et la barre oblique comme limites de mot. Le texte supprimé 
-              est sauvegardé dans le tampon circulaire. 
-       delete-horizontal-space (M-\) 
-              Effacer toutes les espaces blanches et les tabulations autour du curseur. 
-       kill-region 
-              Effacer le texte de la zone actuelle. 
-       copy-region-as-kill 
-              Copier le texte de la zone vers le tampon circulaire. 
-       copy-backward-word 
-              Copier le mot précédant le curseur dans le tampon circulaire. Les limites de  mots  sont  identiques  à  celles  de  back‐ 
-              ward-word. 
-       copy-forward-word 
-              Copier le mot suivant le curseur dans le tampon circulaire. Les limites de mots sont identiques à celles de forward-word. 
-       yank (C-y) 
-              Récupérer le texte au sommet du tampon circulaire à la position du curseur dans le tampon. 
-       yank-pop (M-y) 
-              Exécuter  une  rotation du tampon circulaire et récupérer le texte situé à son nouveau sommet. Cela ne fonctionne qu'après 
-              yank ou yank-pop. 
- 
-   Arguments numériques 
-       digit-argument (M-0, M-1, ..., M--) 
-              Ajouter ce chiffre à l'argument en cours de rédaction ou créer un nouvel argument. M-- crée un argument négatif. 
-       universal-argument 
-              Il s'agit d'une autre façon d'indiquer un argument. Si cette commande est suivie d'un ou plusieurs  chiffres  facultative‐ 
-              ment  précédés  d'un signe moins, ces chiffres définissent l'argument. Si la commande est suivie de chiffres, une nouvelle 
-              exécution de universal-argument termine l'argument numérique, mais est ignorée dans les  autres  cas.  Par  exception,  si 
-              cette  commande  est  suivie immédiatement par un caractère qui n'est ni un chiffre ni le signe moins, le compteur d'argu‐ 
-              ments de la commande suivante est multiplié par 4. Le compteur d'arguments est initialement à un, donc la première  exécu‐ 
-              tion  de  cette commande amène le compteur d'arguments à quatre, une seconde fois porte le compteur d'arguments à seize et 
-              ainsi de suite. 
- 
-   Complètement 
-       complete (TAB) 
-              Essayer d'effectuer un complètement du texte situé avant le curseur. Bash effectue le complètement en considérant  tour  à 
-              tour  le  texte  comme  une  variable (s'il commence par $), un nom d'utilisateur (s'il commence par ~), un nom de machine 
-              (s'il commence par @) ou une commande (y compris les alias et les fonctions). Si aucun ne correspond, un  complètement  de 
-              nom de fichier est essayé. 
-       possible-completions (M-?) 
-              Afficher les complètements possibles pour le texte situé avant le curseur. 
-       insert-completions (M-*) 
-              Insérer avant le curseur l'ensemble des complètements qui auraient été produits par possible-completions. 
-       menu-complete 
-              Analogue à complete, mais en remplaçant le mot à compléter par une seule correspondance de la liste des complètements pos‐ 
-              sibles. Des exécutions répétées de menu-complete parcourent la liste des complètements possibles, en insérant chaque  cor‐ 
-              respondance  tour  à  tour.  À  la  fin  de  la  liste  des complètements, une alarme est émise (selon la configuration de 
-              bell-style) et le texte original est restauré. Un argument de n déplace de n positions dans la liste des  correspondances. 
-              Un argument négatif peut être utilisé pour revenir en arrière dans la liste. Cette commande est destinée à être associée à 
-              la touche TAB, mais ne l'est pas par défaut. 
-       menu-complete-backward 
-              Identique à menu-complete, mais se déplace en arrière dans la liste des complètements  possibles,  comme  si  un  argument 
-              négatif avait été passé à menu-complete. Cette commande n'est associée à aucune touche par défaut. 
-       delete-char-or-list 
-              Effacer  le  caractère  sous le curseur sauf au début ou en fin de ligne (comme delete-char). En fin de ligne, se comporte 
-              comme possible-completions. Cette commande n'est associée à aucune touche par défaut. 
-       complete-filename (M-/) 
-              Essayer le complètement des noms de fichiers sur le texte situé avant le curseur. 
-       possible-filename-completions (C-x /) 
-              Afficher les complètements possibles du texte situé avant le curseur, traité comme un nom de fichier. 
-       complete-username (M-~) 
-              Essayer le complètement sur le texte situé avant le curseur, en le traitant comme un nom d'utilisateur. 
-       possible-username-completions (C-x ~) 
-              Afficher les complètements possibles du texte situé avant le curseur, en le traitant comme un nom d'utilisateur. 
-       complete-variable (M-$) 
-              Essayer le complètement sur le texte situé avant le curseur, en le traitant comme une variable de l'interpréteur. 
-       possible-variable-completions (C-x $) 
-              Afficher les complètements possibles du texte situé avant le curseur, en le traitant comme une variable de l'interpréteur. 
-       complete-hostname (M-@) 
-              Essayer le complètement sur le texte situé avant le curseur, en le traitant comme un nom de machine. 
-       possible-hostname-completions (C-x @) 
-              Afficher les complètements possibles du texte situé avant le curseur, en le traitant comme un nom de machine. 
-       complete-command (M-!) 
-              Essayer le complètement sur le texte situé avant le curseur, en le traitant comme un nom de commande. Le complètement  des 
-              commandes  essaie  de  faire correspondre le texte, dans cet ordre, aux alias, mots réservés, fonctions de l'interpréteur, 
-              commandes internes de l'interpréteur et finalement les noms de fichiers exécutables. 
-       possible-command-completions (C-x !) 
-              Afficher les complètements possibles du texte situé avant le curseur, en le traitant comme un nom de commande. 
-       dynamic-complete-history (M-TAB) 
-              Essayer le complètement du texte situé avant le curseur, en le comparant aux lignes de la file d'historique lui correspon‐ 
-              dant pour les complètements possibles. 
-       dabbrev-expand 
-              Essayer  le  menu  de complètement du texte situé avant le curseur, en le comparant aux lignes de la file d'historique lui 
-              correspondant pour les complètements possibles. 
-       complete-into-braces (M-{) 
-              Effectuer un complètement en noms de fichiers et insérer la liste des complètements possibles entre accolades afin que  la 
-              liste soit exploitable par l'interpréteur (consultez Développement des accolades ci-dessus). 
- 
-   Macros clavier 
-       start-kbd-macro (C-x () 
-              Démarrer la mémorisation dans la macro en cours des caractères tapés. 
-       end-kbd-macro (C-x )) 
-              Arrêter la mémorisation dans la macro en cours des caractères saisis et conserver la définition. 
-       call-last-kbd-macro (C-x e) 
-              Réexécuter la dernière macro définie, en agissant comme si les caractères contenus dans cette macro étaient saisis au cla‐ 
-              vier. 
-       print-last-kbd-macro () 
-              Afficher la dernière macro de clavier définie, mise en forme de façon à être incorporée dans un fichier inputrc. 
- 
-   Divers 
-       re-read-init-file (C-x C-r) 
-              Lire le contenu du fichier inputrc et prendre en compte tous raccourcis ou affectations de variables qui s'y trouvent. 
-       abort (C-g) 
-              Abandonner l'édition en cours et émettre une alarme de terminal (selon la configuration de la variable bell-style). 
-       do-uppercase-version (M-a, M-b, M-x, ...) 
-              Si le caractère x précédé de Méta est en minuscule, exécuter la commande qui est associée aux caractères  majuscules  cor‐ 
-              respondants. 
-       prefix-meta (ESC) 
-              Considérer le prochain caractère saisi comme un Méta. ESC f est équivalent à Meta-f. 
-       undo (C-_, C-x C-u) 
-              Fonction d'annulation incrémentale, chaque ligne étant mémorisée séparément. 
-       revert-line (M-r) 
-              Annuler  toutes  les  modifications  sur cette ligne. C’est équivalent à répéter undo suffisamment de fois pour ramener la 
-              ligne à son état initial. 
-       tilde-expand (M-&) 
-              Effectuer le développement du tilde sur le mot actuel. 
-       set-mark (C-@, M-<space>) 
-              Placer la marque à la position actuelle du curseur. Si un argument numérique est fourni, la marque est posée à la position 
-              correspondante. 
-       exchange-point-and-mark (C-x C-x) 
-              Échanger le curseur et la marque. La position actuelle du curseur est configurée à la position sauvegardée précédemment et 
-              l'ancienne position du curseur est mémorisée comme la marque. 
-       character-search (C-]) 
-              Un caractère est lu et le curseur déplacé à l'occurrence suivante de ce  caractère.  Un  argument  négatif  recherche  les 
-              occurrences précédentes. 
-       character-search-backward (M-C-]) 
-              Un  caractère  est  lu  et le curseur déplacé à l'occurrence précédente de ce caractère. Un argument négatif recherche les 
-              occurrences suivantes. 
-       skip-csi-sequence 
-              Lire suffisamment de caractères pour englober une suite multitouche comme celles définies pour des touches comme Début  et 
-              Fin. De telles suites commencent par un indicateur de suite de contrôle (« control sequence indicator » ou CSI), habituel‐ 
-              lement ESC-[. Si cette suite est associée à "\[", les touches qui produisent de telles suites n'auront pas d'effet à moins 
-              d'être  explicitement  associées à une commande readline, au lieu d'insérer des caractères parasites dans le tampon d'édi‐ 
-              tion. N'est associée à aucune touche par défaut, mais est souvent associée à ESC-[. 
-       insert-comment (M-#) 
-              Sans argument numérique, la valeur de la variable comment-begin de readline est insérée au début de la ligne actuelle.  Si 
-              un  argument  numérique est fourni, cette commande agit comme une bascule : si les caractères du début de ligne ne corres‐ 
-              pondent pas à la valeur de comment-begin, la valeur est insérée, sinon, les caractères de comment-begin  sont  effacés  du 
-              début de la ligne. Dans les deux cas, la ligne est acceptée comme si un changement de ligne avait été saisi. La valeur par 
-              défaut de comment-begin conduit cette commande à transformer la ligne actuelle de l'interpréteur  en  commentaire.  Si  un 
-              argument numérique conduit à l'effacement du caractère de commentaire, la ligne sera exécutée par l'interpréteur. 
-       glob-complete-word (M-g) 
-              Le  mot  avant  le  curseur  est  traité  comme un motif pour un développement de chemin, avec un astérisque implicitement 
-              ajouté. Ce motif est utilisé pour produire une liste de noms de fichiers correspondants pour de possibles complètements. 
-       glob-expand-word (C-x *) 
-              Le mot précédant le curseur est considéré comme un motif de développement de chemin et la liste  des  fichiers  correspon‐ 
-              dants est insérée à sa place. Si un argument numérique est fourni, un astérisque est ajouté avant le développement du che‐ 
-              min. 
-       glob-list-expansions (C-x g) 
-              La liste des développements qui auraient été produits par glob-expand-word est affichée et la ligne est rafraîchie. Si  un 
-              argument numérique est fourni, un astérisque est ajouté devant le développement du chemin. 
-       dump-functions 
-              Afficher  toutes les fonctions et leurs raccourcis clavier sur le flux de sortie de readline. Si un argument numérique est 
-              fourni, la sortie est mise en forme de façon à être incorporée dans un fichier inputrc. 
-       dump-variables 
-              Afficher toutes les variables readline modifiables et leurs valeurs sur le flux de sortie  de  readline.  Si  un  argument 
-              numérique est fourni, la sortie est mise en forme de façon à être incorporée dans un fichier inputrc. 
-       dump-macros 
-              Afficher toutes les suites de touches readline associées à des macros et les chaînes auxquelles elles correspondent. Si un 
-              argument numérique est fourni, la sortie est mise en forme de façon à être incorporée dans un fichier inputrc. 
-       display-shell-version (C-x C-v) 
-              Afficher des informations sur la version actuelle de bash. 
- 
-   Complètement programmable 
-       Lorsqu'un complètement de mot est tenté pour un argument d'une commande pour laquelle une spécification  de  complètement  a  été 
-       définie en utilisant la commande interne complete (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous), les outils de com‐ 
-       plètement programmables sont appelés. 
- 
-       En premier lieu, le nom de la commande est identifié. Si le mot de commande est vide  (complètement  essayé  en  début  de  ligne 
-       vide),  toutes  les  spécifications  de complètement définies par l'option -E de complete sont utilisées. Si une spécification de 
-       complètement a été définie pour cette commande, elle est utilisée pour produire la liste des complètements possibles pour le mot. 
-       Si  le mot de commande est un chemin d'accès complet, on cherche en premier lieu une spécification de complètement pour le chemin 
-       d'accès complet. Si aucune spécification de complètement n'est trouvée pour le chemin d'accès complet, une tentative  est  effec‐ 
-       tuée  pour  trouver  une  spécification de complètement pour la partie située après la barre oblique finale. Si ces recherches ne 
-       donnent aucun résultat sous forme de spécification de complètement,  toutes  les  spécifications  de  complètement  définies  par 
-       l'option -D de complete sont utilisées par défaut. 
- 
-       Une fois qu'une spécification de complètement a été trouvée, elle est utilisée pour produire la liste des mots correspondants. Si 
-       aucune spécification de complètement n'est trouvée, le complètement par défaut de bash, tel que décrit ci-dessus  dans  Complète‐ 
-       ment est effectué. 
- 
-       Tout  d'abord, les actions définies par la spécification de complètement sont utilisées. Seules les correspondances préfixées par 
-       le mot à compléter sont renvoyées. Lorsque l'option -f ou -d est utilisée pour le complètement des noms de fichiers ou de  réper‐ 
-       toire, la variable de l'interpréteur FIGNORE est utilisée pour filtrer les correspondances. 
- 
-       Tous les complètements indiqués par le motif de développement de chemin de l'option -G sont ensuite produits. Il n'est pas néces‐ 
-       saire que les mots produits par le motif correspondent au mot à compléter. La variable de  l'interpréteur  GLOBIGNORE  n'est  pas 
-       utilisée pour filtrer les correspondances, mais la variable FIGNORE est utilisée. 
- 
-       Ensuite, la chaîne indiquée comme argument à l'option -W est prise en compte. Cette chaîne est tout d'abord découpée en utilisant 
-       les caractères de la variable spéciale IFS comme délimiteurs. Les protections de l'interpréteur sont prises en compte. Chaque mot 
-       est ensuite développé en utilisant les développements d'accolades, du tilde, des paramètres et des variables, de même que la sub‐ 
-       stitution de commande et le développement arithmétique comme décrit ci-dessus dans DÉVELOPPEMENTS. Les résultats sont découpés en 
-       utilisant  les  règles décrites ci-dessus dans Découpage en mots. Les résultats du développement sont comparés au mot à compléter 
-       en considérant ce dernier comme préfixe et les mots correspondants deviennent les complètements possibles. 
- 
-       Après la création de ces correspondances, toute fonction de l'interpréteur ou commande indiquée avec les options  -F  et  -C  est 
-       appelée. Lorsque la commande ou la fonction est appelée, les variables COMP_LINE , COMP_POINT , COMP_LINKEY , et COMP_POINTYPE se 
-       voient affectées de valeurs comme décrit ci-dessus dans Variables de l'interpréteur. Si une fonction de l'interpréteur est  appe‐ 
-       lée,  les  variables  COMP_WORDS et COMP_CWORD sont également créées. Lorsqu'une fonction ou une commande est appelée, le premier 
-       argument ($1) est le nom de la commande dont les arguments doivent être complétés, le deuxième argument ($2) est le mot à complé‐ 
-       ter  et  le troisième argument ($3) est le mot précédant celui devant être complété sur la ligne de commande actuelle. Aucun fil‐ 
-       trage des complètements produits pour le mot à compléter n'est effectué ; la fonction ou la commande a toute liberté dans la pro‐ 
-       duction des correspondances. 
- 
-       Toute  fonction indiquée avec -F est appelée en premier. La fonction peut utiliser tous les outils de l'interpréteur, incluant la 
-       commande interne compgen décrite ci-dessous, pour produire les correspondances. Elle doit mettre les complètements possibles dans 
-       la variable tableau COMPREPLY, une par élément de tableau. 
- 
-       Ensuite,  toute  commande  indiquée  avec l'option -C est appelée dans un environnement équivalent à la substitution de commande. 
-       Elle devrait afficher une liste des complètements  possibles,  une  par  ligne,  sur  la  sortie  standard.  Si  nécessaire,  une 
-       contre-oblique peut être utilisée pour protéger un caractère de changement de ligne. 
- 
-       Après  la création de tous les complètements possibles, tout filtre, indiqué avec l'option -X, est appliqué à la liste. Ce filtre 
-       est un motif comme dans le développement des chemins ; un & dans le motif est remplacé par le texte du mot en cours de  complète‐ 
-       ment. Un & littéral peut être protégé par une contre-oblique ; la contre-oblique est supprimée avant la tentative de mise en cor‐ 
-       respondance. Tout complètement qui correspond au motif sera supprimé de la liste. Un ! au début du motif provoque la négation  de 
-       ce motif ; dans ce cas, tout complètement ne correspondant pas au motif sera supprimé de la liste. 
- 
-       Finalement,  tous préfixe et suffixe indiqués avec les options -P et -S sont ajoutés à chacun des éléments de la liste de complè‐ 
-       tement et le résultat est renvoyé au programme de complètement de readline comme étant la liste des complètements possibles. 
- 
-       Si les opérations précédemment appliquées ne produisent aucune correspondance et si l'option -o dirnames a été fournie à complete 
-       lorsque la spécification de complètement a été définie, le complètement des noms de répertoire est tenté. 
- 
-       Si  l'option  -o plusdirs a été fournie à complete lors de la définition de la spécification de complètement, le complètement des 
-       noms de répertoires est tenté et toute correspondance est ajoutée aux résultats des autres actions. 
- 
-       Par défaut, si une spécification de complètement est trouvée, tout ce qu'elle produit est renvoyé au  programme  de  complètement 
-       comme  un  jeu complet des complètements possibles. Les complètements par défaut de bash ne sont pas tentés et le complètement de 
-       fichiers par défaut de readline est désactivé. Si l'option -o bashdefault a été fournie à complete lors de la  définition  de  la 
-       spécification  de  complètement,  les complètements par défaut de bash sont tentés si la spécification de complètement ne produit 
-       aucune correspondance. Si l'option -o default a été fournie à complete lors de la définition de la spécification de complètement, 
-       le  complètement  par  défaut de readline sera effectué si la spécification de complètement (et, si tentés, les complètements par 
-       défaut de bash) ne produit aucune correspondance. 
- 
-       Lorsqu'une spécification de complètement indique qu'un complètement de nom de répertoire est souhaité, les fonctions de complète‐ 
-       ment  programmable  forcent  readline à ajouter une barre oblique pour compléter les noms qui sont des liens symboliques vers des 
-       répertoires, selon la valeur de la variable mark-directories de readline, indépendamment du paramétrage de la variable  mark-sym‐ 
-       linked-directories de readline. 
- 
-       La modification dynamique des complètements est également possible. C'est particulièrement utile combiné avec un complètement par 
-       défaut indiqué à l'aide de complete -D. Les fonctions de l'interpréteur exécutés comme gestionnaires de  complètement  permettent 
-       d'annoncer que le complètement devrait être réessayé en renvoyant un état final de 124. Si une fonction de l'interpréteur renvoie 
-       124, et modifie la spécification de complètement associée à la commande sur laquelle le complètement est  essayé  (fournie  comme 
-       premier argument quand la fonction est exécutée), le complètement programmable recommence depuis le début, en essayant de trouver 
-       une nouvelle spécification de complètement pour cette commande. Un jeu de complètements peut ainsi être  construit  dynamiquement 
-       lorsque le complètement est essayé, plutôt que d'être chargé entièrement au début. 
- 
-       Par  exemple,  en  supposant  l'existence d'une bibliothèque de spécifications de complètement, chacune conservée dans un fichier 
-       correspondant au nom de la commande, la fonction de complètement par défaut suivante chargerait les complètements de façon  dyna‐ 
-       mique : 
- 
-       _completion_loader() 
-       { 
-            . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124 
-       } 
-       complete -D -F _completion_loader -o bashdefault -o default 
- 
- 
-HISTORIQUE 
-       Quand  l'option  -o  history  de  la  commande interne set est activée, l'interpréteur donne accès à un historique des commandes, 
-       c'est-à-dire la liste des commandes précédemment utilisées. La valeur de la variable HISTSIZE est utilisée comme nombre  de  com‐ 
-       mandes  à  sauvegarder  dans  la  file  d'historique.  Le texte des HISTSIZE dernières commandes (par défaut 500) est sauvegardé. 
-       L'interpréteur conserve chaque commande dans la file d'historique avant le développement des paramètres et des variables (consul‐ 
-       tez  DÉVELOPPEMENTS  ci-dessus)  mais  après  avoir effectué le développement de l'historique, selon les valeurs des variables de 
-       l'interpréteur HISTIGNORE et HISTCONTROL. 
- 
-       Au démarrage, l'historique est initialisé avec le fichier dont  le  nom  est  contenu  dans  la  variable  HISTFILE  (par  défaut 
-       ~/.bash_history). Le fichier désigné par la valeur de HISTFILE est tronqué si nécessaire, pour ne pas contenir plus de lignes que 
-       le nombre précisé par HISTFILESIZE. Si HISTFILESIZE est détruite, ou définie à NULL, une valeur non numérique ou une valeur numé‐ 
-       rique  strictement inférieure à zéro, le fichier d’historique n’est pas tronqué. Quand le fichier d'historique est lu, les lignes 
-       commençant par le caractère de commentaire d'historique suivi immédiatement par un chiffre sont considérées comme des horodatages 
-       de  la ligne d'historique précédente. Ces horodatages sont facultativement affichés en fonction de la valeur de la variable HIST‐ 
-       TIMEFORMAT termine, les HISTSIZE dernières lignes de la file d'historique sont copiées dans  le  fichier  HISTFILE.  Si  l'option 
-       d'interpréteur  histappend  est activée (consultez la description de shopt dans COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous), 
-       les lignes sont ajoutées au fichier d'historique, sinon le fichier est écrasé. Si HISTFILE  est  inexistante  ou  si  le  fichier 
-       d'historique  n'est  pas accessible en écriture, l'historique n'est pas sauvegardé. Si la variable HISTTIMEFORMAT est configurée, 
-       les horodatages sont écrits dans le fichier d'historique, repérés par le  caractère  de  commentaire  d'historique,  afin  d'être 
-       conservés au fur et à mesure des sessions de l'interpréteur. Le caractère de commentaire d'historique est utilisé pour distinguer 
-       l'horodatage des autres lignes de l'historique. Après la sauvegarde de l'historique, le fichier d'historique est tronqué pour  ne 
-       pas contenir plus de HISTFILESIZE lignes. Si HISTFILESIZE est détruite, ou définie à NULL, une valeur non numérique ou une valeur 
-       numérique strictement inférieure à zéro, le fichier d’historique n’est pas tronqué. 
- 
-       La commande interne fc (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous) permet d'afficher, d'éditer ou  de  réexécuter 
-       une partie de la file d'historique. La commande interne history permet d'afficher la file d'historique et de manipuler le fichier 
-       d'historique. Quelque soit le mode d'édition en ligne de commande, des commandes de recherche donnent accès à  la  file  d'histo‐ 
-       rique. 
- 
-       L'interpréteur permet de configurer quelles commandes seront sauvegardées dans la file d'historique. Les variables HISTCONTROL et 
-       HISTIGNORE peuvent être configurées pour conduire l'interpréteur à ne sauvegarder  qu'un  sous-ensemble  des  commandes  saisies. 
-       L'option  d'interpréteur  cmdhist, si activée, conduit l'interpréteur à essayer de sauvegarder chaque ligne d'une commande multi‐ 
-       ligne dans le même élément de l'historique, en ajoutant des points-virgules si nécessaire pour préserver l'exactitude de la  syn‐ 
-       taxe. L'option d'interpréteur lithist conduit l'interpréteur à sauvegarder les commandes avec des changements de ligne incorporés 
-       plutôt que des points-virgules. Consultez ci-dessous la description de la commande  interne  shopt  dans  COMMANDES  INTERNES  DE 
-       L'INTERPRÉTEUR pour des détails sur la création et la destruction des options d'interpréteur. 
- 
-DÉVELOPPEMENT DE L'HISTORIQUE 
-       L'interpréteur  propose  des  possibilités  de  développement  de l'historique qui sont semblables à celles de csh. Ce paragraphe 
-       décrit quelles syntaxes sont disponibles. Cette fonctionnalité est activée par défaut dans les interpréteurs interactifs et  peut 
-       être  désactivée en utilisant l'option +H de la commande interne set (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous). 
-       Les interpréteurs non interactifs n'effectuent pas de développement d'historique par défaut. 
- 
-       Le développement de l'historique permet d'insérer des mots de la file d'historique dans le flux de saisie, facilitant la  répéti‐ 
-       tion  de  commandes,  l'insertion  des arguments d'une ligne antérieure dans la saisie en cours ou la correction rapide d'erreurs 
-       dans les commandes précédentes. 
- 
-       Le développement de l'historique est effectué immédiatement après la lecture d'une ligne complète, avant que l'interpréteur ne la 
-       décompose  en  mots. Il se déroule en deux parties. La première consiste à déterminer la ligne de la file d'historique à utiliser 
-       pour les substitutions, la seconde permet de sélectionner les parties de la ligne à inclure dans  la  nouvelle  ligne.  La  ligne 
-       sélectionnée  dans l'historique est l'événement et les parties de cette ligne à réutiliser sont des mots. Plusieurs modificateurs 
-       permettent de manipuler les mots sélectionnés. La ligne est découpée en mots de la même façon que lors de la lecture  d'une  sai‐ 
-       sie,  ainsi  plusieurs mots séparés par des métacaractères et encadrés par des guillemets simples sont considérés comme un unique 
-       mot. Le développement de l'historique est introduit par l'apparition du caractère de développement, qui est ! par  défaut.  Seule 
-       la contre-oblique (\) et les guillemets simples permettent de protéger le caractère de développement de l'historique. 
- 
-       Plusieurs  caractères empêchent le développement de l'historique s'ils se trouvent immédiatement après le caractère de développe‐ 
-       ment de l'historique, même s'il n'est pas protégé : espace, tabulation, changement de ligne, retour chariot  et  =.  Si  l'option 
-       d'interpréteur extglob est activée, ( empêchera aussi le développement. 
- 
-       Plusieurs  options d'interpréteur, configurables avec la commande interne shopt, permettent d'ajuster le comportement du dévelop‐ 
-       pement de l'historique. Si l'option d'interpréteur histverify est activée (consultez la description de la commande interne  shopt 
-       ci-dessous)  et  si  readline  est utilisée, les substitutions d'historique ne sont pas transmises tout de suite à l'analyseur de 
-       l'interpréteur. À la place, la ligne développée est rechargée dans le tampon d'édition de readline pour permettre  des  modifica‐ 
-       tions  ultérieures.  Si readline est utilisée et si l'option histreedit est activée, une substitution d'historique qui échoue est 
-       rechargée dans la mémoire tampon de readline pour correction. L'option -p de la commande interne history peut servir  à  examiner 
-       ce  qu'une  substitution  donnera avant de l'employer réellement. L'option -s de la commande interne history permet d'ajouter des 
-       commandes à la fin de la file d'historique sans les avoir effectivement exécutées, afin qu'elles soient disponibles pour des rap‐ 
-       pels ultérieurs. 
- 
-       L'interpréteur  offre  le contrôle des divers caractères utilisés par le mécanisme de développement de l'historique (consultez la 
-       description de histchars ci-dessus dans Variables de l'interpréteur). L'interpréteur utilise le caractère de commentaire d'histo‐ 
-       rique pour repérer l'horodatage lors de l'écriture du fichier d'historique. 
- 
-   Indicateur d'événement 
-       Un  indicateur  d'événement  est  une  référence à un élément ligne de commande dans la file d'historique. Sauf s'il s'agit d'une 
-       référence absolue, les événements sont relatifs à la position actuelle dans la file d'historique. 
- 
-            Débute une substitution d'historique, sauf s'il est suivi par un blanc, changement  de  ligne,  retour  chariot,  =  ou  ( 
-              (lorsque l'option d'interpréteur extglob est activée en utilisant la commande interne shopt). 
-       !n     Se rapporte à la ligne de commande n. 
-       !-n    Se rapporte à la commande actuelle moins n. 
-       !!     Se rapporte à la commande précédente. C'est un synonyme de « !-1 ». 
-       !chaîne 
-              Se rapporte à la commande la plus récente précédant la position actuelle dans la liste d'historique commençant par chaîne. 
-       !?chaîne[?] 
-              Se rapporte à la commande la plus récente précédant la position actuelle dans la liste d'historique contenant chaîne. Le ? 
-              final peut être omis si chaîne est immédiatement suivie d'un changement de ligne. 
-       ^chaîne_1^chaîne_2^ 
-              Substitution  rapide.  Répéter  la   commande   précédente   en   remplaçant   chaîne_1   par   chaîne_2.   Équivalent   à 
-              « !!:s/chaîne_1/chaîne_2/ » (consultez Modificateurs ci-dessous). 
-       !#     La ligne entière tapée jusqu'à présent. 
- 
-   Indicateurs de mots 
-       Ces  indicateurs servent à sélectionner les mots désirés dans un événement. Un : sépare l'indicateur d'événements de l'indicateur 
-       de mot. On peut l'omettre si l'indicateur de mot commence par ^, $, *, - ou %. Les mots sont numérotés  depuis  le  début  de  la 
-       ligne, le premier étant noté 0 (zéro). Les mots sont insérés dans la ligne actuelle, séparés par des espaces. 
- 
-       0 (zéro) 
-              Le zéro-ième mot. Pour l'interpréteur, c'est le nom de la commande. 
-            Le n-ième mot. 
-            Le premier argument, c'est-à-dire le mot 1. 
-            Le dernier mot. C’est généralement le dernier argument, mais qui sera développé en zéro-ième mot s’il n’y a qu’un seul mot 
-              sur la ligne. 
-            Le mot correspondant à la recherche « ?chaîne? » la plus récente. 
-       x-y    Un intervalle de mots, « -y » permet d'abréger « 0-y ». 
-            Tous les mots sauf le zéro-ième. C'est un synonyme pour « 1-$ ». Il n'est pas erroné d'utiliser * s'il  n' a  qu'un  mot 
-              dans l'événement ; la chaîne vide est renvoyée dans ce cas. 
-       x*     Abréviation de x-$. 
-       x-     Abréviation de x-$ comme x*, mais sans le dernier mot. 
- 
-       Si un indicateur de mot est fourni sans indication d'événement, la dernière commande est utilisée. 
- 
-   Modificateurs 
-       Après un indicateur de mot facultatif, une suite d'un ou plusieurs des modificateurs suivants peut apparaître, chacun précédé par 
-       un « : ». 
- 
-            Éliminer la fin du chemin d'accès, en ne gardant que le début. 
-            Supprimer tout le début d'un chemin d'accès, en ne gardant que la fin. 
-            Supprimer un suffixe final de la forme .xxx, en ne gardant que le nom de base. 
-            Supprimer tout sauf le suffixe final. 
-            Afficher la nouvelle commande sans l'exécuter. 
-            Protéger les mots substitués, pour éviter des substitutions futures. 
-            Protéger les mots substitués comme avec q, mais avec séparation des mots aux blancs et changements de ligne. 
-       s/ancien/nouveau/ 
-              Remplacer par nouveau la première occurrence de ancien sur la ligne d'événement. Tout délimiteur peut être  utilisé  à  la 
-              place de /. Le dernier délimiteur est facultatif si c'est le dernier caractère de la ligne d'événement. Le délimiteur peut 
-              être protégé dans ancien et nouveau avec une seule contre-oblique. Si & apparaît dans nouveau, il est remplacé par ancien. 
-              Une  seule  contre-oblique  protégera  le &. Si ancien est NULL, il est configuré au dernier ancien substitué ou si aucune 
-              substitution n'a eu lieu précédemment, à la dernière chaîne dans une recherche !?chaîne[?]. 
-       &      Répéter la substitution précédente. 
-            Appliquer les modifications  sur  toute  la  ligne  d'événements.  C'est  utilisé  conjointement  à  « :s »  (par  exemple 
-              « :gs/ancien/nouveau/ »)  ou  « :& ». Si utilisé avec « :s », tout délimiteur peut être utilisé à la place de / et le der‐ 
-              nier délimiteur est facultatif si c'est le dernier caractère de la ligne d'événements. Un a peut être utilisé en tant  que 
-              synonyme de g. 
-            Appliquer le modificateur « s » suivant une fois à tous les mots de la ligne d'événements. 
- 
-COMMANDES INTERNES DE L'INTERPRÉTEUR 
-       Sauf indication contraire, chaque commande interne décrite dans ce paragraphe comme acceptant des options précédées par - accepte 
-       également la notation -- pour signaler la fin des options. Les commandes internes :,  true,  false  et  test  n'acceptent  aucune 
-       option  et  -- est ignoré. Les commandes internes exit, logout, break, continue, let et shift acceptent et traitent les arguments 
-       commençant par - sans avoir besoin de --. Les autres commandes internes qui acceptent les arguments mais qui ne sont pas déclarés 
-       explicitement  comme  acceptant des options considèrent les arguments commençant par - comme des options non valides, donc -- est 
-       obligatoire pour éviter cette interprétation. 
-       : [arguments] 
-              Sans effet ; cette commande ne fait rien d'autre que développer les arguments et effectuer toute redirection indiquée.  Un 
-              code final de zéro est renvoyé. 
- 
-        .  fichier [arguments] 
-       source fichier [arguments] 
-              Lire  et exécuter les commandes du fichier dans l'environnement de l'interpréteur actuel, puis renvoyer l'état final de la 
-              dernière commande exécutée dans fichier. Si le nom du fichier ne contient pas de barre oblique, les chemins d'accès conte‐ 
-              nus  dans  PATH  sont  parcourus  pour rechercher le répertoire contenant le fichier. Lorsqu'il est recherché dans PATH le 
-              fichier n'a pas besoin d'être exécutable. Lorsque bash n'est pas en mode posix, le répertoire de travail actuel est  fina‐ 
-              lement  examiné  si aucun fichier n'est trouvé dans PATH. Si l'option sourcepath de la commande interne shopt est désacti‐ 
-              vée, le PATH n'est pas parcouru. Si des arguments sont fournis, ils sont transmis dans les paramètres positionnels lorsque 
-              le  fichier  est exécuté. Sinon les paramètres positionnels ne sont pas modifiés. L'état renvoyé est l'état de la dernière 
-              commande terminée au sein du script (0 si aucune commande n'a été exécutée) et faux si le fichier n'est pas trouvé  ou  ne 
-              peut être lu. 
- 
-       alias [-p] [nom[=valeur] ...] 
-              La  commande  alias sans argument ou avec l'option -p affiche sur la sortie standard la liste des alias actuellement défi‐ 
-              nis, sous la forme nom=valeur. Lorsque des arguments sont fournis, un alias est créé pour chaque nom auquel on a donné une 
-              valeur.  Une  espace  finale  dans une valeur conduira à la recherche d'alias dans le mot suivant lors du développement de 
-              l'alias. Pour tous les noms sans valeur fournie dans la liste d'arguments, le nom et la valeur de l'alias  sont  affichés. 
-              La commande alias renvoie vrai, à moins qu'un nom n'ait été indiqué pour lequel aucun alias n'a été défini. 
- 
-       bg [tâche ...] 
-              Reprendre  en  arrière-plan chaque tâche suspendue, comme si elle avait été lancée avec &. Si aucune tâche n'est précisée, 
-              la notion d'interpréteur de tâche actuelle est utilisée. bg tâche renvoie 0 sauf si le contrôle des tâches est  désactivé, 
-              ou,  quand  le  contrôle des tâches est activé, si une tâche précisée n'a pas été trouvée ou a été lancée sans contrôle de 
-              tâches. 
- 
-       bind [-m jeu_de_raccourcis] [-lpsvPSVX] 
-       bind [-m jeu_de_raccourcis] [-q fonction] [-u fonction] [-r suite_de_touches] 
-       bind [-m jeu_de_raccourcis] -f fichier 
-       bind [-m jeu_de_raccourcis] -x suite_de_touches:commande_de_l'interpréteur 
-       bind [-m jeu_de_raccourcis] suite_de_touches:nom_de_fonction 
-       bind commande_readline 
-              Afficher les associations de touches readline actuelles et les raccourcis de fonctions, associer une suite  de  touches  à 
-              une  fonction  ou une macro readline ou créer une variable readline. Chaque argument qui n'est pas une option est une com‐ 
-              mande comme elle devrait apparaître dans .inputrc, mais chaque raccourci ou commande doit être fourni  comme  un  argument 
-              indépendant ; par exemple « "\C-x\C-r": re-read-init-file ». Les options, si fournies, ont les significations suivantes : 
-              -m jeu_de_raccourcis 
-                     Utiliser  le jeu_de_raccourcis comme jeu de raccourcis devant être concerné par les raccourcis ultérieurs. Les noms 
-                     de jeux_de_raccourcis possibles sont emacs, emacs-standard, emacs-meta,  emacs-ctlx,  vi,  vi-move,  vi-command  et 
-                     vi-insert. vi est équivalent à vi-command ; emacs est équivalent à emacs-standard. 
-              -l     Afficher la liste des noms de toutes les fonctions readline. 
-              -p     Afficher les noms des fonctions readline et leurs raccourcis de façon à pouvoir les relire. 
-              -P     Afficher les noms des fonctions readline et leurs raccourcis. 
-              -s     Afficher les suites de touches readline associées aux macros et les chaînes correspondantes, de façon à pouvoir les 
-                     relire. 
-              -S     Afficher les suites de touches readline associées aux macros et les chaînes correspondantes. 
-              -v     Afficher les noms des variables readline et leurs valeurs de façon à pouvoir les relire. 
-              -V     Afficher les noms des variables readline et leurs valeurs. 
-              -f fichier 
-                     Lire les raccourcis clavier dans fichier. 
-              -q fonction 
-                     Rechercher les touches permettant d'appeler la fonction indiquée. 
-              -u fonction 
-                     Dissocier toutes les touches associées à fonction. 
-              -r suite_de_touches 
-                     Supprimer tout raccourci actuel pour la suite_de_touches. 
-              -x suite_de_touches:commande_de_l'interpréteur 
-                     Conduire la commande_de_l'interpréteur à être exécutée chaque fois que la suite_de_touches  est  saisie.  Quand  la 
-                     commande_de_l'interpréteur est exécutée, l'interpréteur configure la variable READLINE_LINE au contenu du tampon de 
-                     ligne de readline et la variable READLINE_POINT à la position actuelle du curseur d'insertion. Si la commande  exé‐ 
-                     cutée  modifie les valeurs de READLINE_LINE ou READLINE_POINT, ces nouvelles valeurs seront prises en considération 
-                     dans l'état d'édition. 
-              -X     Afficher toutes les suites de touches associées aux commandes de l’interpréteur et  aux  commandes  associées  pour 
-                     pouvoir être réutilisées en entrée. 
- 
-              La valeur renvoyée est 0, à moins qu'une option inconnue ne soit indiquée ou qu'une erreur ne se soit produite. 
- 
-       break [n] 
-              Sortir  d'une  boucle for, while, until ou select. Si n est indiqué, sortir de n niveaux de boucles. n doit être ≥ 1. Si n 
-              est supérieur au nombre de boucles imbriquées, sortir de toutes les boucles. La valeur renvoyée est 0, à moins  que  n  ne 
-              soit pas supérieur ou égal à 1. 
- 
-       builtin commande_interne [arguments] 
-              Exécuter la commande interne de l'interpréteur indiquée, en lui passant les arguments, puis renvoyer son état final. C'est 
-              utile lorsqu'une fonction est définie avec le même nom qu'une commande interne, et que cette commande est  appelée  depuis 
-              l'intérieur  de  la  fonction.  La commande interne cd est souvent redéfinie de cette façon. L'état renvoyé est faux si la 
-              commande_interne n'est pas une commande interne de l'interpréteur. 
- 
-       caller [expr] 
-              Renvoyer le contexte de tout appel de sous-programme actif (une fonction de l'interpréteur ou un  script  lancé  avec  les 
-              commandes  internes  .  ou  source).  Sans  expr, caller affiche le numéro de ligne et le nom de fichier du sous-programme 
-              actuel. Si un entier positif est fourni comme expr, caller affiche le numéro de ligne, le nom du sous-programme et le  nom 
-              de fichier source correspondant à la position dans la pile d'appels d'exécution actuelle. Cette information supplémentaire 
-              peut être utilisée, par exemple, pour afficher une trace de la pile. La trame actuelle est la trame 0. La valeur  renvoyée 
-              est  0,  à moins que l'interpréteur ne soit pas en train d'exécuter un sous-programme ou que expr ne corresponde pas à une 
-              position correcte dans la pile d'appels. 
- 
-       cd [-L|[-P [-e]] [-@]] [rép] 
-              Remplacer le répertoire de travail actuel par rép. Si rép n’est pas fourni, la valeur de la variable  d’interpréteur  HOME 
-              est la valeur par défaut. Tous les arguments supplémentaires suivant rép sont ignorés. La variable CDPATH définit des che‐ 
-              mins de recherche pour trouver le répertoire contenant rép : tous les noms de répertoire contenus dans CDPATH sont parcou‐ 
-              rus  à  la recherche de rép. Les répertoires possibles y sont fournis dans une liste séparés par des deux-points « : ». Un 
-              nom de répertoire NULL dans CDPATH est équivalent au répertoire actuel, c'est-à-dire « . ». Si rép commence par une  barre 
-              oblique  (/),  alors CDPATH n'est pas utilisé. L'option -P force cd à n'employer que la structure de répertoires physiques 
-              en résolvant les liens symboliques en traversant rép et avant de traiter les instances de ..  dans  rép  (consultez  aussi 
-              l'option  -P  de la commande interne set) ; l'option -L force à suivre les liens symboliques en résolvant les liens symbo‐ 
-              liques après le traitement des instances de .. dans rép. Si .. apparaît dans dir, il est traité en supprimant le composant 
-              de  chemin précédant directement rép, jusqu’à une barre oblique ou le début de rép. Si l'option -e est fournie avec -P, et 
-              que le répertoire de travail actuel ne peut pas être déterminé avec succès après un changement de répertoire avec  succès, 
-              cd  renverra un état d'échec. Sur les systèmes qui le permettent, l’option -@ présente les attributs étendus associés à un 
-              fichier comme à un répertoire. Un argument - est converti en $OLDPWD avant d’essayer un changement de  répertoire.  Si  un 
-              nom  de  répertoire non vide de CDPATH est utilisé ou si - est le premier argument et si le changement de répertoire réus‐ 
-              sit, le chemin absolu du nouveau répertoire de travail est écrit sur la sortie standard. La valeur renvoyée est vrai si le 
-              changement de répertoire a réussi, faux sinon. 
- 
-       command [-pVv] commande [arguments ...] 
-              Exécuter  la  commande  avec  les arguments indiqués, mais en supprimant le processus habituel de recherche des commandes. 
-              Seules les commandes internes et les commandes trouvées dans PATH seront  exécutées.  Si  l'option  -p  est  indiquée,  la 
-              recherche  de la commande est effectuée en utilisant une valeur par défaut pour PATH garantissant de trouver tous les uti‐ 
-              litaires standards. Si l'option -V ou -v est fournie, une description de la commande est affichée. L'option -v  conduit  à 
-              n'afficher qu'un seul mot indiquant la commande ou le nom de fichier utilisé pour appeler la commande. L'option -V fournit 
-              une description plus prolixe. Si l'option -V ou -v est fournie, l'état final est 0 si la  commande  a  été  trouvée  et  1 
-              sinon. Si aucune option n'est fournie et si une erreur s'est produite ou si la commande ne peut être trouvée, l'état final 
-              est 127. Sinon, l'état final de la commande interne est l'état final de commande. 
- 
-       compgen [option] [mot] 
-              Produire les correspondances des complètements possibles pour mot selon les options, qui peuvent être toute option  accep‐ 
-              tée par la commande interne complete à l'exception de -p et -r et écrit le résultat sur la sortie standard. Lorsqu'on uti‐ 
-              lise les options -F ou -C, les diverses variables de l'interpréteur créées par les outils de  complètement  programmables, 
-              lorsque disponibles, n'auront pas de valeurs utilisables. 
- 
-              Les correspondances seront produites de la même façon que si le programme de complètement programmable les avait produites 
-              directement à partir d'une spécification de complètement avec les mêmes attributs. Si mot est indiqué, seuls les complète‐ 
-              ments qui correspondent à mot sont affichés. 
- 
-              La valeur renvoyée est vrai, sauf si une option incorrecte a été fournie ou si aucune correspondance n'a été produite. 
- 
-       complete [-abcdefgjksuv] [-o option-complètement] [-DE] [-A action] [-G globpat] [-W liste_de_mots] [-F fonction] [-C commande] 
-              [-X motif_filtre] [-P préfixe] [-S suffixe] nom [nom ...] 
-       complete -pr [-DE] [nom ...] 
-              Indiquer  la façon de compléter les arguments de chaque nom. Si l'option -p est fournie ou si aucune option n'est fournie, 
-              les spécifications de complètement existantes sont affichées de telle  façon  qu'elles  puissent  être  réutilisées  comme 
-              entrée. L'option -r retire une spécification de complètement à chaque nom fourni ou, si aucun nom n'est fourni, toutes les 
-              spécifications de complètement. L'option -D indique que les options restantes et les actions devraient  s'appliquer  à  la 
-              commande  de complètement par « défaut », c'est-à-dire le complètement essayé sur une commande pour laquelle aucun complè‐ 
-              tement n'a été préalablement défini. L'option -E indique que les options restantes et les actions devraient s'appliquer  à 
-              la commande de complètement « vide », c'est-à-dire le complètement essayé sur une ligne vide. 
- 
-              Le  processus  d'application  de  ces  spécifications de complètement, lorsqu'un complètement de mot est tenté, est décrit 
-              ci-dessus dans Complètement programmable. 
- 
-              Les autres options, si indiquées, ont les significations suivantes. Les arguments des options -G, -W et -X (et, si  néces‐ 
-              saire,  les  options  -P et -S) devraient être protégées pour éviter leur développement avant que la commande interne com‐ 
-              plete ne soit appelée. 
-              -o option-complètement 
-                      L'option-complètement commande plusieurs aspects du comportement des spécifications de complètement au-delà de  la 
-                      simple production de complètement. option-complètement peut être l'une des suivantes : 
-                      bashdefault 
-                              Effectuer  le  reste  des  complètements par défaut de bash si la spécification de complètement ne produit 
-                              aucune correspondance. 
-                      default Utiliser le complètement de nom de fichier par défaut de readline si la spécification de  complètement  ne 
-                              produit aucune correspondance. 
-                      dirnames 
-                              Effectuer  le complètement de nom de répertoire si la spécification de complètement ne produit aucune cor‐ 
-                              respondance. 
-                      filenames 
-                              Indiquer à readline que la spécification de complètement produit des  noms  de  fichiers,  ainsi  il  peut 
-                              effectuer  tout  traitement  spécifique  aux noms de fichiers (comme ajouter une barre oblique aux noms de 
-                              répertoires, protéger les caractères spéciaux ou supprimer les espaces de fin de ligne). Destinée  à  être 
-                              utilisée avec les fonctions de l'interpréteur. 
-                      noquote Indiquer  à readline de protéger les mots complétés s’il s’agit de noms de fichier (la protection des noms 
-                              de fichier est par défaut). 
-                      nospace Indiquer à readline de ne pas ajouter une espace (comportement par défaut) aux mots complétés  en  fin  de 
-                              ligne. 
-                      plusdirs 
-                              Après  création de toutes les correspondances définies par la spécification de complètement, une tentative 
-                              de complètement de nom de répertoire est effectuée et toutes les correspondances sont ajoutées aux  résul‐ 
-                              tats des autres actions. 
-              -A action 
-                      L'action peut être l'une des suivantes pour produire une liste des complètements possibles : 
-                      alias   Noms d'alias. Peut également être indiquée avec -a. 
-                      arrayvar 
-                              Noms de variable de type tableau. 
-                      binding Noms de raccourci clavier readline. 
-                      builtin Noms de commandes internes de l'interpréteur. Peut également être indiquée avec -b. 
-                      command Noms de commande. Peut également être indiquée avec -c. 
-                      directory 
-                              Noms de répertoire. Peut également être indiquée avec -d. 
-                      disabled 
-                              Noms de commandes internes de l'interpréteur désactivées. 
-                      enabled Noms de commandes internes de l'interpréteur activées. 
-                      export  Noms de variables de l'interpréteur exportées. Peut également être indiquée avec -e. 
-                      file    Noms de fichier. Peut également être indiquée avec -f. 
-                      function 
-                              Noms de fonctions de l'interpréteur. 
-                      group   Noms de groupe. Peut également être indiquée avec -g. 
-                      helptopic 
-                              Sujets de l'aide acceptés par la commande interne help. 
-                      hostname 
-                              Noms de machine tels qu'ils sont extraits du fichier indiqué par la variable de l'interpréteur HOSTFILE. 
-                      job     Noms de tâche si le contrôle des tâches est actif. Peut également être indiquée avec -j. 
-                      keyword Mots réservés de l'interpréteur. Peut également être indiquée avec -k. 
-                      running Noms de tâches en cours d'exécution si le contrôle des tâches est actif. 
-                      service Noms de service. Peut également être indiquée avec -s. 
-                      setopt  Arguments corrects de l'option -o de la commande interne set. 
-                      shopt   Noms des options d'interpréteur acceptées par la commande interne shopt. 
-                      signal  Noms de signaux. 
-                      stopped Noms de tâches suspendues si le contrôle des tâches est actif. 
-                      user    Noms d'utilisateur. Peut également être indiquée avec -u. 
-                      variable 
-                              Noms de toutes les variables de l'interpréteur. Peut également être indiquée avec -v. 
-              -C commande 
-                      La  commande est exécutée dans un environnement de sous-interpréteur et sa sortie est utilisée comme complètements 
-                      possibles. 
-              -F fonction 
-                      La fonction de l'interpréteur est exécutée dans l'interpréteur actuel. Lorsqu'une fonction est exécutée,  le  pre‐ 
-                      mier  argument ($1) est le nom de la commande dont les arguments doivent être complétés, le deuxième argument ($2) 
-                      est le mot à compléter et le troisième argument ($3) est le mot précédant celui devant être complété sur la  ligne 
-                      de  commande  actuelle.  Lorsqu'elle finit, les complètements possibles sont récupérés à partir de la valeur de la 
-                      variable de type tableau COMPREPLY. 
-              -G globpat 
-                      Le motif de développement des chemins globpat est développé pour produire les complètements possibles. 
-              -P préfixe 
-                      préfixe est ajouté au début de chaque complètement possible après application de toutes les autres options. 
-              -S suffixe 
-                      suffixe est ajouté à chaque complètement possible après application de toutes les autres options. 
-              -W liste_de_mots 
-                      La liste_de_mots est découpée en utilisant les caractères de la variable spéciale IFS comme délimiteurs et  chaque 
-                      mot  résultant  est  développé.  Les  complètements possibles sont les éléments de la liste résultante qui corres‐ 
-                      pondent au mot en cours de complètement. 
-              -X motif_filtre 
-                      motif_filtre est un motif utilisé pour le développement des chemins. Il est appliqué à la liste des  complètements 
-                      possibles produite par les options et arguments précédents et chaque complètement correspondant à motif_filtre est 
-                      supprimé de la liste. Un ! au début du motif_filtre inverse le motif ; dans ce cas, tout complètement qui ne  cor‐ 
-                      respond pas à motif_filtre est supprimé. 
- 
-              La  valeur renvoyée est vrai, sauf si une option incorrecte a été fournie, si une option comme -p ou -r a été fournie sans 
-              un nom d'argument, si une tentative a été faite pour supprimer une spécification de complètement pour un nom  pour  lequel 
-              il n'existe pas de spécification, ou si une erreur est survenue lors de l'ajout d'une spécification de complètement. 
- 
-       compopt [-o option] [-DE] [+o option] [nom] 
-              Modifier les options de complètement pour chaque nom en fonction des options, ou pour le complètement en cours d'exécution 
-              si aucun nom n'est fourni. Si aucune option n'est donnée, afficher les options de complètement pour chaque nom ou pour  le 
-              complètement  actuel.  Les  valeurs  d’options possibles sont celles décrites ci-dessus pour la commande interne complete. 
-              L'option -D indique que les options restantes et les actions devraient s'appliquer  à  la  commande  de  complètement  par 
-              « défaut » ;  c'est-à-dire  le complètement essayé sur une commande pour laquelle aucun complètement n'a été préalablement 
-              défini. L'option -E indique que les options restantes et les actions devraient s'appliquer à la commande  de  complètement 
-              par « vide » ; c'est-à-dire le complètement essayé sur une ligne vide. 
- 
-              La  valeur  renvoyée est vrai, à moins qu'une option incorrecte ait été fournie, qu'une tentative ait été faite pour modi‐ 
-              fier les options pour un nom pour lequel il n'existe pas de spécification de complètement, ou bien qu'une erreur de sortie 
-              soit survenue. 
- 
-       continue [n] 
-              Reprendre  l'exécution à l'itération suivante d'une boucle for, while, until ou encore select. Si n est indiqué, reprendre 
-              l'exécution à la n-ième boucle imbriquée. n doit être ≥ 1. Si n est supérieur au nombre de boucles imbriquées, l'exécution 
-              reprend  à  la boucle la plus externe (la boucle « au sommet »). La valeur renvoyée est 0, à moins que n ne soit supérieur 
-              ou égal à 1. 
- 
-       declare [-aAfFgilnrtux] [-p] [nom[=valeur] ...] 
-       typeset [-aAfFgilnrtux] [-p] [nom[=valeur] ...] 
-              Déclarer des variables ou leur fournir des attributs. Si aucun nom n'est indiqué,  afficher  les  valeurs  des  variables. 
-              L'option  -p  affichera  les  attributs  et  les  valeurs de chaque nom. Quand -p est utilisée avec des arguments nom, les 
-              options supplémentaires, à part -f et -F, sont ignorées. Quand -p est fourni sans argument nom, les attributs  et  valeurs 
-              de  toutes  les  variables  ayant  des  attributs indiqués par les options additionnelles seront affichés. Si aucune autre 
-              option n'est fournie avec -p, declare affichera les attributs et  valeurs  de  toutes  les  variables  de  l'interpréteur. 
-              L'option  -f  limite l'affichage aux fonctions de l'interpréteur. L'option -F empêche l'affichage des définitions de fonc‐ 
-              tions : seuls le nom de la fonction et ses attributs sont affichés. Si l'option d'interpréteur  extdebug  est  activée  en 
-              utilisant  shopt,  le nom du fichier source et le numéro de ligne où la fonction est définie sont aussi affichés. L'option 
-              -F implique -f. L'option -g force la création ou la modification de variables avec une portée globale, même si declare est 
-              exécutée  dans une fonction de l'interpréteur. Elle est ignorée dans tous les autres cas. Les options suivantes permettent 
-              de restreindre l'affichage aux variables dotées de certains attributs ou de configurer les attributs des variables : 
-              -a     Chaque nom est une variable de type tableau indicé (consultez Tableaux ci-dessus). 
-              -A     Chaque nom est une variable de type tableau associatif (consultez Tableaux ci-dessus). 
-              -f     Utiliser seulement les noms de fonctions. 
-              -i     La variable est traitée comme un entier ; l'évaluation arithmétique (consultez ÉVALUATION  ARITHMÉTIQUE  ci-dessus) 
-                     est effectuée lorsqu'une valeur est affectée à la variable. 
-              -l     Quand  cette variable contient une valeur, toutes les majuscules seront converties en minuscules. L'attribut majus‐ 
-                     cule est désactivé. 
-              -n     Donner à chaque nom l’attribut nameref, le rendant une référence de  nom  vers  une  autre  variable.  Cette  autre 
-                     variable  est définie par la valeur de nom. Toutes les références et affectations de nom, à part la modification de 
-                     l’attribut -n lui-même, sont réalisées sur la variable référencée par la valeur de nom. L’attribut -n ne  peut  pas 
-                     être appliqué aux variables de type tableau. 
-              -r     Rendre  les  noms  accessibles en lecture seule. Plus aucune valeur ne pourra leur être affectée et ils ne pourront 
-                     plus être détruits. 
-              -t     Donner à chaque nom l'attribut trace. Les fonctions tracées héritent des captures de DEBUG et RETURN de l'interpré‐ 
-                     teur appelant. L'attribut trace n'a pas de signification spéciale pour les variables. 
-              -u     Quand  cette variable contient une valeur, toutes les minuscules seront converties en majuscules. L'attribut minus‐ 
-                     cule est désactivé. 
-              -x     Marquer les noms pour qu'ils soit exportés dans l'environnement des commandes ultérieures. 
- 
-              En utilisant « + » à la place de « - », l'attribut correspondant est désactivé, aux exceptions que +a  ne  peut  pas  être 
-              utilisé  pour  détruire  une  variable  tableau et que +r n'enlèvera pas l'attribut lecture seule. Quand utilisés dans une 
-              fonction, declare et typeset rendent chaque nom local, comme avec la commande local sauf si l'option -g est fournie. Si un 
-              nom de variable est suivi par =valeur, la valeur de cette variable est configurée à valeur. Lors de l’utilisation de -a ou 
-              -A et de la syntaxe d’affectation composée pour créer des variables de type tableau, les  attributs  supplémentaires  sont 
-              sans  effet  jusqu’aux  affectations suivantes. La valeur renvoyée est 0, sauf si une option incorrecte est rencontrée, si 
-              une tentative est faite de définir une fonction en utilisant « -f truc=bidule », si une tentative est faite d'affecter une 
-              valeur  à  une  variable  en  lecture  seule, si une tentative est faite d'affecter une valeur à une variable tableau sans 
-              employer la syntaxe d'affectation composée (consultez Tableaux ci-dessus), si un des noms n'est pas un  nom  correct  pour 
-              une variable de l'interpréteur, si une tentative est faite de supprimer l'attribut lecture seule d'une variable en lecture 
-              seule, si une tentative est faite de supprimer l'attribut tableau d'une variable tableau, ou si une  tentative  est  faite 
-              avec -f d'afficher une fonction inexistante. 
- 
-       dirs [-clpv] [+n] [-n] 
-              Sans  option,  afficher  la liste des répertoires actuellement mémorisés. L'affichage par défaut est réalisé sur une seule 
-              ligne, les noms de répertoires étant séparés par des espaces. Les répertoires sont ajoutés à la  liste  avec  la  commande 
-              pushd et supprimés avec la commande popd. 
-              -c     Effacer la liste des répertoires en les supprimant tous. 
-              -l     Produire  une  liste  en  utilisant  les  chemins complets ; le format d'affichage par défaut utilise le tilde pour 
-                     représenter le répertoire d'accueil. 
-              -p     Afficher la pile des répertoires avec un élément par ligne. 
-              -v     Afficher la pile des répertoires avec un élément par ligne, en préfixant chaque entrée  avec  son  numéro  d'indice 
-                     dans la pile. 
-              +n     Afficher  le  n-ième  élément  de la liste fournie par dirs, lorsqu'appelé sans options, en comptant à partir de la 
-                     gauche en commençant à zéro. 
-              -n     Afficher le n-ième élément de la liste fournie par dirs, lorsqu'appelé sans options, en comptant  à  partir  de  la 
-                     droite en commençant à zéro. 
- 
-              La  valeur renvoyée est 0, sauf si une option incorrecte a été fournie ou si l'indice n dépasse la longueur de la pile des 
-              répertoires. 
- 
-       disown [-ar] [-h] [tâche ...] 
-              Sans options, supprimer chaque tâche de la table des tâches actives. Si aucune  tâche  n'est  précisée  et  qu’aucune  des 
-              options  -a ou -r n'est fournie, la tâche actuelle est utilisée. Si l'option -h est indiquée, aucune tâche n'est supprimée 
-              de la table, mais chaque tâche est marquée pour que le signal SIGHUP ne lui soit pas envoyé si  l'interpréteur  reçoit  un 
-              signal  SIGHUP.  Si  aucune tâche n'est fournie, l'option -a signifie la suppression ou le marquage de toutes les tâches ; 
-              l'option -r sans l'argument tâche restreint les opérations aux tâches en cours d'exécution. La valeur renvoyée est 0, sauf 
-              si tâche n'indique pas une tâche correcte. 
- 
-       echo [-neE] [arguments ...] 
-              Afficher  les  arguments,  séparés  par  des  espaces,  suivis  par un saut de ligne. La valeur renvoyée est 0 sauf en cas 
-              d’erreur. Si -n est indiqué, le changement de ligne final est supprimé. Si l'option -e est indiquée, l'interprétation  des 
-              caractères de protection suivants par une contre-oblique est activée. L'option -E désactive l'interprétation de ces carac‐ 
-              tères de protection, même sur les systèmes où ils sont interprétés par défaut. L'option d'interpréteur xpg_echo peut  être 
-              utilisée dynamiquement pour déterminer si echo développe ou non par défaut ces caractères de protection. echo n'interprète 
-              pas -- comme signifiant la fin des options. echo reconnaît les suites de caractères de protection suivants : 
-              \a     alerte (alarme) ; 
-              \b     effacement arrière (« backspace ») ; 
-              \c     supprime tout affichage suivant ; 
-              \e 
-              \E     caractère de protection ; 
-              \f     saut de page (« form feed ») ; 
-              \n     saut de ligne (« new line ») ; 
-              \r     retour chariot (« carriage return ») ; 
-              \t     tabulation horizontale ; 
-              \v     tabulation verticale ; 
-              \\     contre-oblique ; 
-              \0nnn  le caractère 8 bits dont la valeur en octal est nnn (zéro à trois chiffres octaux) ; 
-              \xHH   le caractère 8 bits dont la valeur hexadécimale est HH (un ou deux chiffres hexadécimaux) ; 
-              \uHHHH le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHH (un à quatre chiffres hexadécimaux) ; 
-              \UHHHHHHHH 
-                     le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHHHHHH (un à huit chiffres hexadécimaux) ; 
- 
-       enable [-a] [-dnps] [-f fichier] [nom ...] 
-              Activer ou désactiver les commandes internes de l'interpréteur. Désactiver une commande interne permet d'exécuter une com‐ 
-              mande disque ayant le même nom qu'une commande interne de l'interpréteur, sans avoir à indiquer un chemin d'accès complet, 
-              même quand l'interpréteur recherche normalement les commandes internes avant les commandes du disque. Si -n  est  utilisé, 
-              chaque  nom  indiqué  est  désactivé,  sinon ils sont activés. Par exemple, pour utiliser le programme binaire test qui se 
-              trouve dans PATH plutôt que la commande interne, utilisez « enable -n test ». L'option -f demande de charger  la  nouvelle 
-              commande  interne avec le nom indiqué depuis le fichier objet partagé sur les systèmes qui le permettent. L'option -d per‐ 
-              met de supprimer une commande interne chargée précédemment avec -f. Si aucun argument nom n'est indiqué ou si l'option  -p 
-              est  fournie,  une  liste des commandes internes de l'interpréteur est affichée. Sans autre option, la liste est celle des 
-              commandes internes actives de l'interpréteur. Si -n est fournie, seules les commandes désactivées sont  affichées.  Si  -a 
-              est  fournie,  la liste de toutes les commandes est affichée, avec une indication des activations et désactivations. Si -s 
-              est fournie, la sortie est limitée aux commandes internes spéciales POSIX. La valeur renvoyée est 0, sauf si nom n'est pas 
-              une commande interne ou qu'il y a une erreur au chargement d'une nouvelle commande interne d'un objet partagé. 
- 
-       eval [arguments ...] 
-              Les arguments sont lus et regroupés en une seule commande simple. Cette commande est alors lue et exécutée par l'interpré‐ 
-              teur et son état final est renvoyé comme valeur de la commande eval. S'il n'y a pas d'arguments ou  uniquement  des  argu‐ 
-              ments NULL, eval renvoie 0. 
- 
-       exec [-cl] [-a nom] [commande [arguments]] 
-              Si  une  commande est indiquée, elle remplace l'interpréteur. Aucun nouveau processus n'est créé. Les arguments deviennent 
-              ceux de la commande. Si l'option -l est fournie, l'interpréteur place un tiret en guise de zéro-ième argument fourni à  la 
-              commande.  C'est  ce  que  fait  login(1). L'option -c conduit à l'exécution de la commande avec un environnement vide. Si 
-              l'option -a est fournie, l'interpréteur transmet le nom comme zéro-ième argument. Si la commande  ne  peut  être  exécutée 
-              pour  une raison quelconque, un interpréteur non interactif termine, sauf si l'option de l'interpréteur execfail est acti‐ 
-              vée. Dans ce cas, une erreur est renvoyée. Un interpréteur interactif renvoie une erreur si le fichier ne  peut  pas  être 
-              exécuté. Si aucune commande n'est indiquée, les éventuelles redirections sont mises en place dans l'interpréteur actuel et 
-              l'état renvoyé est 0. S'il y a une erreur de redirection, l'état renvoyé est 1. 
- 
-       exit [n] 
-              Termine l'interpréteur avec un état de n. Si n est omis, l'état final est celui de la dernière commande exécutée. Une cap‐ 
-              ture sur EXIT est exécutée avant que l'interpréteur ne se termine. 
- 
-       export [-fn] [nom[=mot]] ... 
-       export -p 
-              Les  noms  fournis  sont  marqués  pour  être exportés automatiquement dans l'environnement des commandes exécutées par la 
-              suite. Si l'option -f est indiquée, les noms se rapportent à des fonctions. Si aucun nom n'est donné ou si l'option -p est 
-              fournie,  une  liste  de  noms  de toutes les variables exportées est affichée. L'option -n conduit à supprimer l'attribut 
-              d'exportation de toutes les variables nommées. Si un nom de variable est suivi par =mot, la  valeur  de  la  variable  est 
-              configurée  à  mot.  export renvoie un état final de 0, sauf si une option incorrecte est rencontrée, si un des noms n'est 
-              pas un nom correct de variable de l'interpréteur, ou si l'option -f est fournie avec un nom qui n'est pas une fonction. 
- 
-       fc [-e éditeur] [-lnr] [première] [dernière] 
-       fc -s [motif=nouveau] [commande] 
-              La première forme sélectionne un intervalle de commandes de la première  à  la  dernière  dans  la  file  d’historique  et 
-              l’affiche  ou  l’édite  pour les réexécuter. La première et la dernière peuvent être indiquées sous forme de chaînes (pour 
-              trouver la dernière commande commençant par cette chaîne) ou sous forme numérique (un indice dans la file d'historique  
-              un  nombre  négatif  est  utilisé  comme décalage par rapport au numéro de la commande actuelle). Si la dernière n'est pas 
-              indiquée, elle est configurée à la commande actuelle si l'on veut afficher la liste (ainsi « fc -l -10 »  affiche  les  10 
-              dernières  commandes)  et  à l'identique de la première sinon. Si la première n'est pas indiquée, elle est configurée à la 
-              commande précédente pour une édition et à -16 pour l'affichage de liste. 
- 
-              L'option -n supprime l'affichage des numéros dans la liste. L'option -r inverse l'ordre des commandes. Si l'option -l  est 
-              indiquée,  les commandes sont affichées sur la sortie standard. Sinon, l'éditeur indiqué est appelé avec un fichier conte‐ 
-              nant les commandes sélectionnées. Si aucun éditeur n'est indiqué, on utilise la valeur de la variable FCEDIT ou la  valeur 
-              de EDITOR si FCEDIT n'existe pas. Si aucune variable n'existe, vi est utilisé. Lorsque l'édition se termine, les commandes 
-              sont affichées puis exécutées. 
- 
-              Dans la seconde forme, la commande est réexécutée après avoir remplacé chaque instance du motif par nouveau. commande  est 
-              interprétée  de la même façon que première ci-dessus. Un alias utile pour cela est « r="fc -s" », ainsi en tapant « r cc » 
-              on relance la dernière commande commençant par « cc » et en tapant « r » on réexécute la commande précédente. 
- 
-              Lorsque la première forme est utilisée, la valeur renvoyée est 0, sauf si une option incorrecte est trouvée ou si première 
-              ou dernière indiquent des lignes d'historique hors d'atteinte. Si l'option -e est fournie, la valeur renvoyée est celle de 
-              la dernière commande exécutée ou un échec si une erreur s'est produite avec le fichier temporaire des commandes.  Avec  la 
-              seconde  forme,  l'état  renvoyé est celui de la commande réexécutée, sauf si commande n'indique pas une ligne correcte de 
-              l'historique, auquel cas fc renvoie un échec. 
- 
-       fg [tâche] 
-              Reprendre la tâche au premier plan qui devient la tâche actuelle. Si aucune tâche n'est précisée,  l'interpréteur  utilise 
-              la notion de tâche actuelle. La valeur renvoyée est celle de la commande placée au premier plan ou un échec si le contrôle 
-              des tâches est désactivé ou, lorsque le contrôle des tâches est activé, si la tâche n'indique pas une tâche correcte ou si 
-              la tâche indique une tâche lancée sans contrôle des tâches. 
- 
-       getopts chaîne_d_options nom [arguments] 
-              getopts est utilisé par les scripts d'interpréteur pour analyser les paramètres positionnels. La chaîne_d_options contient 
-              l'ensemble des caractères d'options à reconnaître ; si un caractère est suivi par  un  deux-points,  l'option  est  censée 
-              avoir  un  argument,  qui devrait en être séparé par une espace. Les caractères deux-points et le point d'interrogation ne 
-              peuvent pas être utilisés comme caractères d'option. À chaque appel, getopts place l'option suivante dans la  variable  de 
-              l'interpréteur  dont le nom est fourni, en la créant si elle n'existe pas et l'indice de l'argument suivant à traiter dans 
-              la variable OPTIND. OPTIND est initialisée à 1 à chaque appel d'un interpréteur ou d'un script. Quand une option nécessite 
-              un  argument,  getopts  place cet argument dans la variable OPTARG. L'interpréteur ne réinitialise pas OPTIND automatique‐ 
-              ment, il faut le faire manuellement entre des appels multiples à getopts au sein du même appel d'interpréteur si  un  nou‐ 
-              veau jeu de paramètres doit être utilisé. 
- 
-              Lorsque  la  fin  des options est atteinte, getopts termine avec une valeur renvoyée strictement supérieure à zéro. OPTIND 
-              est positionné à l'indice du premier argument obligatoire et un point d'interrogation (?) est placé dans la variable nom. 
- 
-              getopts analyse en principe les paramètres positionnels, mais si plus d'arguments sont  indiqués,  getopts  analysera  ces 
-              derniers à la place. 
- 
-              getopts  peut  signaler des erreurs de deux façons. Si le premier caractère de la chaîne_d_options est un deux-points, les 
-              erreurs sont signalées de façon silencieuse. Lors d'un fonctionnement normal, des messages de diagnostic sont affichés  si 
-              une  option  est  incorrecte  ou s'il manque un argument d'option. Si la variable OPTERR est configurée à 0, aucun message 
-              d'erreur ne sera affiché, même si le premier caractère de la chaîne_d_options n'est pas un deux-points. 
- 
-              Si une option incorrecte est rencontrée, getopts place un point d'interrogation (?) dans la variable nom, affiche un  mes‐ 
-              sage d'erreur (s'il n'est pas en mode silencieux) et détruit la variable OPTARG. Si getopts fonctionne en mode silencieux, 
-              le caractère d'option est placé dans OPTARG et aucun message de diagnostic n'est affiché. 
- 
-              Lorsqu'un argument d'option nécessaire est absent et si getopts n'est pas silencieux, un  point  d'interrogation  (?)  est 
-              placé  dans  la  variable  nom, OPTARG est détruite et un message de diagnostic est affiché. Si getopts est silencieux, un 
-              deux-points (:) est placé dans la variable nom et OPTARG est positionné à l'option monocaractère trouvée. 
- 
-              getopts renvoie vrai si une option, indiquée ou non, est trouvée. Il renvoie faux si la fin des options est atteinte ou si 
-              une erreur se produit. 
- 
-       hash [-lr] [-p fichier] [-dt] [nom] 
-              Chaque fois que hash est invoquée, le chemin d'accès complet de la commande nom est déterminé en examinant les répertoires 
-              de $PATH, et mémorisé. Tous les chemins précédemment  mémorisés  sont  supprimés.  Si  l'option  -p  est  fournie,  aucune 
-              recherche  de  chemin  d'accès  n'est  effectuée  et le fichier est utilisé comme chemin d'accès complet pour la commande. 
-              L'option -r conduit l'interpréteur à oublier tous les emplacements mémorisés. L'option -d conduit l'interpréteur à oublier 
-              tous les emplacements mémorisés de chaque nom. Si l'option -t est fournie, le chemin d'accès complet de chaque nom corres‐ 
-              pondant est affiché. Si plusieurs arguments nom sont fournis avec -t, le nom est affiché avant chaque chemin d'accès  com‐ 
-              plet  associé.  L'option  -l  conduit  à afficher la sortie dans un format réutilisable en entrée. Si aucun argument n'est 
-              indiqué ou si seulement -l est fournie, des informations sur les commandes mémorisées sont affichées. La  valeur  renvoyée 
-              est vrai, sauf si nom n'est pas trouvé ou si une option incorrecte est fournie. 
- 
-       help [-dms] [motif] 
-              Afficher  des  informations  d'aide  au  sujet des commandes internes. Si un motif est indiqué, help fournit de l'aide sur 
-              toutes les commandes internes correspondant à ce motif, sinon, une liste des  commandes  internes  et  des  structures  de 
-              contrôle de l'interpréteur est affichée. 
-              -d     Afficher une courte description de chaque motif. 
-              -m     Afficher la description de chaque motif dans un format du type pages de manuel. 
-              -s     Afficher seulement un court synopsis d'utilisation de chaque motif. 
- 
-              L'état renvoyé est 0, sauf si aucune commande ne correspond au motif. 
- 
-       history [n] 
-       history -c 
-       history -d nombre 
-       history -anrw [fichier] 
-       history -p argument [argument ...] 
-       history -s argument [argument ...] 
-              Sans options, afficher la liste des commandes de la file d'historique, avec les numéros de ligne. Les lignes marquées avec 
-              un * ont été modifiées. Un argument n permet de n'afficher que les n dernières lignes. Si la  variable  de  l'interpréteur 
-              HISTTIMEFORMAT existe et n'est pas NULL, elle est utilisée comme chaîne de format pour strftime(3) afin d'afficher l'horo‐ 
-              datage associé à chaque élément de l'historique. Aucun blanc ne sépare l'horodatage ainsi mis en forme de la ligne  d'his‐ 
-              torique. Si un argument fichier est fourni, il est utilisé comme nom de fichier d'historique ; sinon la valeur de HISTFILE 
-              est utilisée. Les options, si fournies, ont les significations suivantes : 
-              -c     Effacer la file de l'historique en supprimant tous les éléments. 
-              -d nombre 
-                     Détruire l'élément de l'historique à la position nombre. 
-              -a     Ajouter les « nouvelles » lignes d'historique (celles créées depuis le début de la session actuelle de  bash)  dans 
-                     le fichier d'historique. 
-              -n     Lire  dans  le  fichier  d'historique les lignes non encore lues et les ajouter à la file d'historique actuelle. Il 
-                     s'agit des lignes qui ont été ajoutées dans le fichier d'historique depuis le début de la session bash. 
-              -r     Lire le contenu du fichier et l'ajouter à l’historique actuel. 
-              -w     Écrire la liste actuelle d’historique dans le fichier d’historique, en écrasant le contenu précédent. 
-              -p     Effectuer la substitution d'historique sur les arguments suivants et afficher le résultat sur la  sortie  standard. 
-                     Ne  pas  mémoriser  les  résultats  dans la file d'historique. Chaque argument doit être protégé pour désactiver le 
-                     développement normal de l'historique. 
-              -s     Conserver les arguments dans la file d'historique comme un unique élément. La dernière commande de la file d'histo‐ 
-                     rique est supprimée avant que les arguments ne soient ajoutés. 
- 
-              Si  la  variable  HISTTIMEFORMAT  existe,  les  informations  d'horodatage associées à chaque élément de l'historique sont 
-              écrites dans le fichier d'historique, repérés par le caractère de commentaire d'historique. Quand le fichier  d'historique 
-              est  lu, les lignes commençant par le caractère de commentaire d'historique suivi immédiatement par un chiffre sont consi‐ 
-              dérés comme des horodatages de la ligne d'historique précédente. La valeur renvoyée est 0, sauf si une  option  incorrecte 
-              est  fournie, si une erreur se produit durant la lecture ou l'écriture du fichier, si un nombre incorrect est fourni comme 
-              argument à -d ou si le développement de l'historique fourni en argument à -p échoue. 
- 
-       jobs [-lnprs] [ tâche ... ] 
-       jobs -x commande [ arguments ... ] 
-              La première forme affiche la liste des tâches actives. Les options ont les significations suivantes : 
-              -l     Afficher les PID, en plus des informations normales. 
-              -n     Afficher uniquement des informations sur les tâches dont l'état a changé depuis la dernière  notification  de  leur 
-                     état à l'utilisateur. 
-              -p     Afficher uniquement le PID du meneur du groupe de processus de la tâche. 
-              -r     N’afficher que les tâches en cours d'exécution. 
-              -s     N’afficher que les tâches suspendues. 
- 
-              Si  une tâche est indiquée, l'affichage est restreint aux informations relatives à cette tâche. L'état renvoyé est 0, sauf 
-              si une option incorrecte est rencontrée ou si une tâche incorrecte est fournie. 
- 
-              Si l'option -x est fournie, jobs remplace toute tâche trouvée dans la commande ou dans  ses  arguments  avec  les  Process 
-              Group ID correspondant, puis il exécute la commande en lui transmettant les arguments et en renvoyant son état final. 
- 
-       kill [-s signal | -n num-signal | -signal] [pid | tâche] ... 
-       kill -l [signal | état_final] 
-              Envoyer  le  signal  indiqué par signal ou num-signal aux processus indiqués par pid ou par tâche. signal est soit sous la 
-              forme de nom de signal (indifférent à la casse), comme SIGKILL (avec ou sans le préfixe SIG), soit sous forme  numérique ; 
-              num-signal  est un numéro de signal. Si signal est absent, SIGTERM est supposé par défaut. Un argument -l provoque l'affi‐ 
-              chage de la liste des noms de signaux. Si des arguments sont fournis quand -l est indiqué, les noms des signaux correspon‐ 
-              dant  aux  arguments  sont  affichés et l'état renvoyé est 0. L'argument état_final de l'option -l est un nombre indiquant 
-              soit un numéro de signal, soit l'état final d'un processus terminé par un signal. kill renvoie vrai si au moins un  signal 
-              a été envoyé avec succès ou faux si une erreur s'est produite ou si une option incorrecte a été rencontrée. 
- 
-       let argument [argument ...] 
-              Chaque  argument  est une expression arithmétique à évaluer (consultez ÉVALUATION ARITHMÉTIQUE ci-dessus). Si l'évaluation 
-              du dernier argument donne 0, let renvoie 1 ; sinon 0 est renvoyé. 
- 
-       local [option] [nom[=valeur] ...] 
-              Pour chaque argument, une variable locale nom est créée et la valeur lui est affectée. L'option peut être n'importe quelle 
-              option  acceptée  par  declare. Quand local est utilisé dans une fonction, la variable nom possède une portée visible res‐ 
-              treinte à cette fonction et ses fils. Sans opérandes, local affiche la liste des variables locales sur la sortie standard. 
-              Une  utilisation  de  local hors des fonctions est erronée. La valeur renvoyée est 0, sauf si local est utilisé hors d'une 
-              fonction, si un nom incorrect est fourni ou si nom est une variable en lecture seule. 
- 
-       logout Terminer un interpréteur de connexion. 
- 
-       mapfile [-n nombre] [-O origine] [-s nombre] [-t] [-u df] [-C rappel] [-c quantum] [tableau] 
-       readarray [-n nombre] [-O origine] [-s nombre] [-t] [-u df] [-C rappel] [-c quantum] [tableau] 
-              Lire les lignes depuis l'entrée standard dans la variable de type tableau indicé tableau,  ou  depuis  le  descripteur  de 
-              fichier  df  si  l'option -u est fournie. La variable MAPFILE est le tableau par défaut. Les options, si fournies, ont les 
-              significations suivantes : 
-              -n     Copier au plus nombre lignes. Si nombre est 0, toutes les lignes sont copiées. 
-              -O     Commencer l'affectation de tableau à l'indice origine. L'indice par défaut est 0. 
-              -s     Supprimer les nombre premières lignes lues. 
-              -t     Éliminer le changement de ligne de chaque ligne lue. 
-              -u     Lire les lignes à partir du descripteur de fichier df plutôt que depuis l'entrée standard. 
-              -C     Évaluer rappel à chaque fois que quantum lignes sont lues. L'option -c précise le quantum. 
-              -c     Préciser le nombre de lignes entre chaque appel à rappel. 
- 
-              Si -C est précisé sans -c, le quantum par défaut est 5000. Quand rappel  est  évalué,  l'indice  du  prochain  élément  de 
-              tableau à affecter et la ligne à affecter à cet élément sont fournis en arguments supplémentaires. rappel est évalué après 
-              la lecture de la ligne, mais avant l'affectation de l'élément de tableau. 
- 
-              Si aucune origine explicite n'est fournie, mapfile effacera tableau avant de lui affecter des valeurs. 
- 
-              mapfile termine avec succès sauf si une option ou un de ses arguments n'est pas valable, ou si tableau n'est pas  valable, 
-              n'est pas un tableau indicé ou si son affectation est impossible. 
- 
-       popd [-n] [+n] [-n] 
-              Enlever des éléments de la pile des répertoires. Sans arguments, seul le répertoire du sommet de la pile est éliminé et un 
-              cd est effectué en direction du nouveau répertoire au sommet. Les arguments,  si  fournis,  ont  les  significations  sui‐ 
-              vantes : 
-              -n     Empêcher  le  changement  normal de répertoire lors de la suppression d'un répertoire de la pile. Seule la pile est 
-                     manipulée. 
-              +n     Supprimer le n-ième élément de la liste affichée par dirs, en comptant depuis la  gauche  à  partir  de  zéro.  Par 
-                     exemple : « popd +0 » enlève le premier répertoire, « popd +1 » le second. 
-              -n     Supprimer  le  n-ième  élément  de  la  liste affichée par dirs, en comptant depuis la droite à partir de zéro. Par 
-                     exemple : « popd -0 » supprime le dernier répertoire et « popd -1 » l'avant-dernier. 
- 
-              Si la commande popd réussit, un dirs est effectué et l'état renvoyé est 0. popd renvoie faux si une option incorrecte  est 
-              trouvée,  si la pile de répertoires est vide, si le répertoire indiqué est absent de la pile ou si le changement de réper‐ 
-              toire a échoué. 
- 
-       printf [-v var] format [arguments] 
-              Écrire les arguments mis en forme sur la sortie standard sous le contrôle du format. L'option -v  conduit  à  affecter  la 
-              sortie à la variable var plutôt que de l'afficher sur la sortie standard. 
- 
-              Ce  format  est une chaîne contenant trois types de caractères : les caractères normaux, qui sont simplement copiés sur la 
-              sortie standard, les caractères de protection qui sont convertis puis copiés sur la sortie standard et les  spécifications 
-              de  format, qui conduisent chacun à l'affichage des arguments successifs. En plus des spécifications de format standard de 
-              printf(1), printf interprète les extensions suivantes : 
-              %b     conduit printf à développer les suites de caractères de protection par contre-oblique se trouvant  dans  l'argument 
-                     correspondant  (à  l'exception  de  \c qui termine la sortie, des contre-obliques dans \', \" et \? qui ne sont pas 
-                     supprimées et des suites de caractères de protection pour les nombres en octal commençant par \0 qui peuvent conte‐ 
-                     nir jusqu'à quatre chiffres) ; 
-              %q     conduit printf à afficher l'argument correspondant dans un format réutilisable en entrée de l'interpréteur ; 
-              %(formatdate)T 
-                     conduit  printf à afficher la chaîne date-heure résultant de l'utilisation de formatdate en tant que chaîne de for‐ 
-                     mat pour strftime(3). L'argument correspondant est un entier représentant le temps en seconde écoulé depuis  epoch. 
-                     Deux  valeurs  particulières  d'argument  peuvent  être  utilisées : -1 représente l'heure actuelle et -2 l'heure à 
-                     laquelle l'interpréteur a été invoqué. Si aucun argument n’est indiqué, la conversion se comporte comme si -1 avait 
-                     été fourni. C’est une exception au comportement habituel de printf. 
- 
-              Les  arguments  des  spécificateurs  de format qui ne sont pas des chaînes sont traités comme des constantes C, sauf qu'un 
-              signe plus ou moins est permis au début, et que, si le premier caractère est un guillemet simple ou double, la valeur  est 
-              la valeur ASCII du caractère suivant. 
- 
-              Le format est réutilisé si nécessaire pour englober tous les arguments. Si le format demande plus d'arguments que fournis, 
-              les spécifications supplémentaires se comportent comme si une valeur zéro ou une chaîne NULL, suivant le  besoin,  avaient 
-              été fournies. La valeur renvoyée est zéro en cas de succès, différente de zéro en cas d'échec. 
- 
-       pushd [-n] [+n] [-n] 
-       pushd [-n] [rép] 
-              Ajouter  un  répertoire au sommet de la pile des répertoires ou effectuer une rotation dans la pile, en ramenant le réper‐ 
-              toire actuel au sommet. Sans argument, cette commande échange les deux répertoires au sommet et renvoie 0, sauf si la pile 
-              est vide. Les arguments, si fournis, ont les significations suivantes : 
-              -n     Empêcher le changement normal de répertoire lors d'un ajout dans la pile. Seule la pile est manipulée. 
-              +n     Effectuer  une  rotation  dans  la pile, de façon à amener au sommet le n-ième répertoire (de la liste affichée par 
-                     dirs, en comptant depuis la gauche à partir de zéro). 
-              -n     Effectuer une rotation dans la pile, de façon à amener au sommet le n-ième répertoire (de  la  liste  affichée  par 
-                     dirs, en comptant depuis la gauche à partir de zéro). 
-              rép    Ajouter  le  répertoire  rép au sommet de la pile de répertoires et en faire le nouveau répertoire de travail comme 
-                     s’il avait été fourni en argument de la commande interne cd. 
- 
-              Si la commande pushd réussit, un dirs est aussi effectué. Avec la première forme, pushd renvoie 0 sauf si  le  déplacement 
-              vers  rép  échoue. Avec la seconde forme, pushd renvoie 0, sauf si la pile est vide, si un élément inexistant dans la pile 
-              est indiqué ou si le changement de répertoire vers le nouveau répertoire indiqué échoue. 
- 
-       pwd [-LP] 
-              Afficher le chemin d'accès absolu au répertoire de travail actuel. Le chemin ne contiendra pas  de  liens  symboliques  si 
-              l'option  -P  est fournie, ou si l'option -o physical de la commande interne set est activée. Si l'option -L est utilisée, 
-              le chemin affiché peut contenir des liens symboliques. L'état renvoyé est 0, sauf si une erreur s'est produite lors de  la 
-              lecture du nom du répertoire actuel ou si une option incorrecte est fournie. 
- 
-       read [-ers] [-a tableau] [-d délimiteur] [-i texte] [-n nb_car] [-N nb_car] [-p invite] [-t délai] [-u df] [nom ...] 
-              Une ligne est lue depuis l'entrée standard ou à partir du descripteur de fichier df fourni en argument à l'option -u, puis 
-              le premier mot de cette ligne est affecté au premier nom, le second mot au second nom, et ainsi de  suite  avec  les  mots 
-              restants  et leurs séparateurs affectés au dernier nom. S'il y a moins de mots lus dans le flux d'entrée que de variables, 
-              des valeurs vides sont affectées à celles restantes. Les caractères contenus dans  la  variable  IFS  sont  utilisés  pour 
-              découper  la  ligne  en  mots  en utilisant les mêmes règles que celles utilisées par l’interpréteur pour le développement 
-              (décrites précédemment dans Découpage en mots ). Le caractère contre-oblique (\) permet de supprimer  toute  signification 
-              spéciale  pour le caractère suivant et autorise la continuation de ligne. Les options, si fournies, ont les significations 
-              suivantes : 
-              -a tableau 
-                     Les mots sont affectés aux indices successifs d'une variable tableau de nom tableau, en commençant à 0. tableau est 
-                     détruit avant que de nouvelles valeurs ne soient affectées. Les autres arguments nom sont ignorés. 
-              -d délimiteur 
-                     Le premier caractère de délimiteur est utilisé pour terminer la ligne de saisie, plutôt qu'un changement de ligne. 
-              -e     Si  l'entrée  standard provient d'un terminal, la bibliothèque readline (consultez READLINE ci-dessus) est utilisée 
-                     pour obtenir la ligne. Readline utilise les configurations d'édition en cours (ou par défaut, si l'édition de ligne 
-                     n'était pas préalablement active). 
-              -i texte 
-                     Si readline est utilisée pour lire la ligne, texte est placé dans le tampon d'édition avant le début de l'édition. 
-              -n nb_car 
-                     read  s'arrête après avoir lu nb_car caractères plutôt que d'attendre une ligne complète en entrée, mais un délimi‐ 
-                     teur est respecté si moins de nb_car caractères ont été lus avant le délimiteur. 
-              -N nb_car 
-                     read s'arrête après avoir lu exactement nb_car caractères plutôt que d'attendre une ligne complète en entrée,  sauf 
-                     si  une  fin de fichier (EOF) est rencontrée ou si read dépasse son délai de réponse. Les délimiteurs rencontrés en 
-                     entrée ne sont pas pris en compte et n'entraînent pas la fin de read avant que nb_car caractères n'aient été lus. 
-              -p invite 
-                     Afficher invite sur la sortie d'erreur standard, sans caractère final de changement de ligne,  avant  d'essayer  de 
-                     lire toute nouvelle saisie. L'invite est affichée seulement si l'entrée vient d'un terminal. 
-              -r     La  contre-oblique n'agit pas comme un caractère de protection. La contre-oblique est considérée comme faisant par‐ 
-                     tie de la ligne. En particulier une contre-oblique suivie d'un changement de ligne n'est pas considérée  comme  une 
-                     continuation de ligne. 
-              -s     Mode silencieux. Si une entrée arrive à partir d'un terminal, les caractères ne sont pas affichés. 
-              -t délai 
-                     Conduire  read  à expirer et renvoyer un échec si une ligne complète en entrée (ou un nombre indiqué de caractères) 
-                     n'a pas été lue dans le délai en seconde. délai est un nombre décimal avec éventuellement  des  chiffres  après  la 
-                     virgule  (NdT :  point en l'occurrence). Cette option n'est effective que si read lit l'entrée à partir d'un termi‐ 
-                     nal, d'un tube, ou depuis un autre fichier spécial ; elle n'a aucun effet lors de la lecture d'un  fichier  normal. 
-                     Si read expire, read sauvegarde toute entrée partielle lue dans la variable nom indiquée. Si délai est nul, read se 
-                     termine immédiatement, sans essayer de lire des données. L’état de sortie est 0 si une entrée est  disponible  pour 
-                     le descripteur de fichier indiqué, non nulle sinon. L'état final est supérieur à 128 si le délai est dépassé. 
-              -u df  Lire l'entrée à partir du descripteur de fichier df. 
- 
-              Si  aucun  nom  n'est fourni, la ligne lue est affectée entièrement à la variable REPLY. Le code renvoyé est zéro, sauf si 
-              une fin de fichier (EOF) est rencontrée, si read dépasse son délai de réponse (auquel cas le code renvoyé est  plus  grand 
-              que  128), en cas d’erreur d’affectation (comme une affectation de variable à une variable en lecture seule) ou si un des‐ 
-              cripteur de fichier incorrect est fourni en argument de -u. 
- 
-       readonly [-aAf] [-p] [nom[=mot] ...] 
-              Les noms indiqués reçoivent un attribut lecture seule ; les valeurs de ces noms ne pourront plus être  modifiées  par  des 
-              affectations ultérieures. Si l'option -f est fournie, les fonctions correspondant à ces noms sont marquées en conséquence. 
-              L'option -a restreint l'action aux variables tableaux indicés ; l'option -A  restreint  l'action  aux  variables  tableaux 
-              associatifs.  Si les deux options sont fournies, -A est prioritaire. Si aucun argument nom n'est indiqué ou si l'option -p 
-              est fournie, une liste de tous les noms en lecture seule est affichée. Les autres options peuvent être utilisées pour res‐ 
-              treindre  l'affichage à un sous-ensemble de l'ensemble des noms en lecture seule. L'option -p conduit à afficher la sortie 
-              dans un format susceptible d'être réutilisé en entrée. Si le nom d'une variable est suivi par =mot, la variable est confi‐ 
-              gurée  à mot. L'état renvoyé est 0, sauf si une option incorrecte a été rencontrée, si l'un des noms n'est pas un nom cor‐ 
-              rect de variable de l'interpréteur ou si l'option -f est fournie avec un nom qui n'est pas une fonction. 
- 
-       return [n] 
-              Forcer une fonction à arrêter son exécution et à renvoyer la valeur indiquée par n dans son contexte  d'appel.  Si  n  est 
-              omis,  la  valeur renvoyée est celle de la dernière commande exécutée dans le corps de la fonction. Si return est utilisée 
-              hors d'une fonction, mais pendant l'exécution d'un script par la commande . (source), elle conduit à l'arrêt  de  l'exécu‐ 
-              tion  du  script  par l'interpréteur et renvoie comme état final du script : soit n, soit l'état final de la dernière com‐ 
-              mande exécutée dans le script. Si n est fourni, la valeur de retour est ses 8 bits de poids faible. La  valeur  de  retour 
-              est non nulle si un argument non numérique est fourni à return, ou si elle est utilisée hors d'une fonction ou d'un script 
-              exécuté par . ou source. Toute commande associée à la capture de RETURN est exécutée avant la reprise de l'exécution après 
-              la fonction ou le script. 
- 
-       set [--abefhkmnptuvxBCEHPT] [-o nom_d_option] [argument ...] 
-       set [+abefhkmnptuvxBCEHPT] [+o nom_d_option] [argument ...] 
-              Sans  options,  le  nom  et  la  valeur de toutes les variables de l'interpréteur sont affichés dans un format susceptible 
-              d'être réutilisé en entrée pour créer ou réinitialiser les variables actuelles. Les variables en lecture seule ne  peuvent 
-              pas  être  réinitialisées.  En  mode  posix, seules les variables de l'interpréteur sont affichées. La sortie est triée en 
-              fonction des paramètres linguistiques régionaux actuels. Lorsque des options sont indiquées, elles  créent  ou  détruisent 
-              des attributs de l'interpréteur. Tous les arguments restant après traitement des options sont considérés comme des valeurs 
-              pour les paramètres positionnels et sont affectés, dans l'ordre, à : $1, $2, ... $n. Les options, si  indiquées,  ont  les 
-              significations suivantes : 
-              -a      Marquer automatiquement des variables et fonctions modifiées ou créées pour qu'elles soient exportées dans l'envi‐ 
-                      ronnement des commandes exécutées ultérieurement. 
-              -b      Signaler l'état des tâches terminées en arrière-plan immédiatement, plutôt que d'attendre l'affichage de  la  pro‐ 
-                      chaine invite de base. N'est effectif que si le contrôle des tâches est activé. 
-              -e      Se  terminer  immédiatement si une conduite (qui peut être réduite à une unique commande simple), une liste ou une 
-                      commande composée (consultez GRAMMAIRE DE L'INTERPRÉTEUR ci-dessus) se termine avec un  état  différent  de  zéro. 
-                      L'interpréteur ne se termine pas si la commande qui échoue fait partie d'une liste de commandes immédiatement sui‐ 
-                      vie par un mot clef while ou until, d'un test suivant les mots réservés if ou elif, d'une commande  exécutée  dans 
-                      une liste && ou || sauf si la commande est située après le dernier && ou ||, d'une commande de conduite à l'excep‐ 
-                      tion de la dernière, ou si la valeur renvoyée par la commande est inversée par !. Si une commande  composée  autre 
-                      qu’un  sous-interpréteur  renvoie un état non nul parce qu’une commande échoue alors que -e était ignoré, l’inter‐ 
-                      préteur ne se termine pas. Une capture sur ERR, si existante, est exécutée avant que l'interpréteur ne se termine. 
-                      Cette option s'applique à l'environnement de l'interpréteur ainsi qu'à l'environnement de chaque sous-interpréteur 
-                      individuellement (consultez ENVIRONNEMENT D'EXÉCUTION DES COMMANDES ci-dessus), et peut conduire  des  sous-inter‐ 
-                      préteurs à se terminer avant d'y avoir exécuté toutes les commandes. 
- 
-                      Si  une  commande composée ou une fonction de l’interpréteur s’exécutent dans un contexte où -e est ignoré, aucune 
-                      des commandes exécutées dans une commande composée ou dans un corps de fonction ne sera affectée  par  le  réglage 
-                      -e,  même si -e est défini et qu’une commande renvoie un état d’échec. Si une commande composée ou une fonction de 
-                      l’interpréteur définissent -e pendant son exécution dans un contexte où -e est ignoré,  ce  réglage  n’aura  aucun 
-                      effet avant la fin de la commande composée ou de la commande contenant l’appel de fonction. 
-              -f      Désactiver le développement des chemins. 
-              -h      Mémoriser l'emplacement des commandes lors de leur exécution. Activée par défaut. 
-              -k      Tous les arguments sous la forme d'affectations sont placés dans l'environnement d'une commande, et non pas seule‐ 
-                      ment ceux qui précèdent le nom de la commande. 
-              -m      Mode supervision. Le contrôle des tâches est activé. Cette option est activée par défaut  pour  les  interpréteurs 
-                      interactifs  sur les systèmes qui le permettent (consultez CONTRÔLE DES TÂCHES ci-dessus). Tous les processus sont 
-                      exécutés dans un groupe de processus séparé. Quand une tâche en arrière-plan se  termine,  l’interpréteur  affiche 
-                      une ligne contenant son état final. 
-              -n      Lecture de commandes sans exécution. Cela peut être utilisé pour rechercher les erreurs de syntaxe dans un script. 
-                      Cette option est ignorée par les interpréteurs interactifs. 
-              -o nom_d_option 
-                      Le nom_d_option est l'un des suivants : 
-                      allexport 
-                              Identique à -a. 
-                      braceexpand 
-                              Identique à -B. 
-                      emacs   Utiliser une interface d'édition des lignes de commande « à la Emacs ». C'est le comportement  activé  par 
-                              défaut  quand l'interpréteur est interactif, sauf si l'interpréteur est démarré avec l'option --noediting. 
-                              L'interface d'édition utilisée par read -e est modifiée également. 
-                      errexit Identique à -e. 
-                      errtrace 
-                              Identique à -E. 
-                      functrace 
-                              Identique à -T. 
-                      hashall Identique à -h. 
-                      histexpand 
-                              Identique à -H. 
-                      history Activer l'historique des commandes, comme décrit ci-dessus dans HISTORY.  Cette  option  est  activée  par 
-                              défaut dans les interpréteurs interactifs. 
-                      ignoreeof 
-                              Identique à l'exécution de la commande d'interpréteur « IGNOREEOF=10 » (consultez Variables de l'interpré‐ 
-                              teur ci-dessus). 
-                      keyword Identique à -k. 
-                      monitor Identique à -m. 
-                      noclobber 
-                              Identique à -C. 
-                      noexec  Identique à -n. 
-                      noglob  Identique à -f. 
-                      nolog   Actuellement ignorée. 
-                      notify  Identique à -b. 
-                      nounset Identique à -u. 
-                      onecmd  Identique à -t. 
-                      physical 
-                              Identique à -P. 
-                      pipefail 
-                              Si existante, la valeur renvoyée par une conduite est la valeur de la dernière commande (la plus à droite) 
-                              à  terminer  avec un état final différent de zéro ou zéro si toutes les commandes de la conduite terminent 
-                              avec succès. Désactivée par défaut. 
-                      posix   Aligner le comportement de bash sur la norme (mode posix), en ce qui concerne les  options  dont  l'action 
-                              par  défaut diffère de la norme POSIX. La section VOIR AUSSI ci-dessous référence un document précisant la 
-                              façon dont le mode posix affecte le comportement de bash. 
-                      privileged 
-                              Identique à -p. 
-                      verbose Identique à -v. 
-                      vi      Utiliser une interface d'édition des lignes de commande « à la vi ». L'interface  d'édition  utilisée  par 
-                              read -e est modifiée également. 
-                      xtrace  Identique à -x. 
-                      Si  -o  est  fournie  sans  nom_d_option, les valeurs actuelles des options sont affichées. Si +o est fournie sans 
-                      nom_d_option, la série de commandes set permettant de recréer la configuration actuelle d'options est affichée sur 
-                      la sortie standard. 
-              -p      Basculer  en  mode  privilégié. Dans ce mode, les fichiers $ENV et $BASH_ENV ne sont pas traités, les fonctions de 
-                      l'interpréteur ne sont pas héritées de l'environnement, et les variables SHELLOPTS, BASHOPTS,  CDPATH,  et  GLOBI‐ 
-                      GNORE,  si présentes dans l'environnement, sont ignorées. Si l'interpréteur démarre avec un UID (ou respectivement 
-                      un GID) effectif différent de son UID (GID) réel et si l'option -p n'est pas fournie, ce comportement est appliqué 
-                      et  l'UID  (GID)  effectif est positionné à l'UID (GID) réel. Si l'option -p est fournie au démarrage, l'UID (GID) 
-                      effectif n'est pas modifié. Désactiver cette option conduit à la configuration des  UID  et  GID  effectifs  à  la 
-                      valeur des UID et GID réels. 
-              -t      Terminer après lecture et exécution d'une commande. 
-              -u      Considérer  les  variables  inexistantes et les paramètres différents des paramètres spéciaux « @ » et « * » comme 
-                      des erreurs lors du développement des paramètres. Si un développement de variable inexistante ou de paramètre  est 
-                      tenté, l'interpréteur affiche un message d'erreur et, s'il n'est pas interactif, termine avec un état différent de 
-                      zéro. 
-              -v      Afficher les lignes en entrée de l'interpréteur lorsqu'elles sont lues. 
-              -x      Après le développement de chaque commande simple, commande for, commande case, commande  select  ou  commande  for 
-                      arithmétique,  afficher la valeur développée de PS4, suivie de la commande et ses arguments développés ou la liste 
-                      de mots associés. 
-              -B      L'interpréteur effectue le développement des accolades (consultez Développement des accolades ci-dessus).  Activée 
-                      par défaut. 
-              -C      Si  configurée, bash n'écrasera pas un fichier existant avec les opérateurs >, >& et <>. Ce comportement peut être 
-                      surpassé lors de la création d'un fichier de sortie en utilisant l'opérateur de redirection >| à la place de >. 
-              -E      Si configurée, toute capture sur ERR est héritée par les fonctions d'interpréteur, les substitutions de  commandes 
-                      et les commandes exécutées dans un sous-interpréteur. La capture de ERR n'est normalement pas héritée dans de tels 
-                      cas. 
-              -H      Activer le style ! de substitution d'historique. C'est le  comportement  par  défaut  lorsque  l'interpréteur  est 
-                      interactif. 
-              -P      Si  configurée,  l'interpréteur  ne résout pas les liens symboliques en exécutant des commandes comme cd qui modi‐ 
-                      fient le répertoire de travail. Il utilise à la place le répertoire physique.  Par  défaut  bash  suit  la  chaîne 
-                      logique des répertoires lors des commandes qui modifient le répertoire actuel. 
-              -T      Si  configurée, toutes les captures de DEBUG et RETURN sont héritées par les fonctions de l'interpréteur, les sub‐ 
-                      stitutions de commande et les commandes exécutées dans un sous-interpréteur. Les captures de DEBUG  et  RETURN  ne 
-                      sont normalement pas héritées dans de tels cas. 
-              --      Si  aucun  argument  ne  suit cette option, alors les paramètres positionnels sont détruits. Sinon, les paramètres 
-                      positionnels sont configurés aux arguments, même si certains d'entre eux commencent par un -. 
-              -       Marquer la fin des options, tous les arguments restants sont  alors  affectés  aux  paramètres  positionnels.  Les 
-                      options -x et -v sont désactivées. S'il n'y a pas d'arguments, les paramètres positionnels ne sont pas modifiés. 
- 
-              Par  défaut  les attributs sont désactivés, sauf indication contraire. En utilisant « + » à la place de « - », les options 
-              sont désactivées. Les options peuvent également être fournies en argument lors de l'appel de l'interpréteur. Le jeu actuel 
-              des options peut être trouvé dans $-. La valeur renvoyée est toujours vrai, sauf si une option incorrecte est rencontrée. 
- 
-       shift [n] 
-              Les  paramètres  positionnels  à  partir de n+1 ... sont renommés en $1 .... Les paramètres représentés par les nombres $# 
-              jusqu'à $#-n+1 sont détruits. n doit être un entier positif inférieur ou égal à $#. Si n vaut  0,  aucun  paramètre  n'est 
-              modifié.  Si  n  est omis, on suppose qu'il vaut 1. Si n est supérieur à $#, les paramètres positionnels ne sont pas modi‐ 
-              fiés. L'état renvoyé est strictement positif si n est supérieur à $# ou strictement négatif, sinon 0 est renvoyé. 
- 
-       shopt [-pqsu] [-o] [nom_opt ...] 
-              Basculer la valeur des réglages contrôlant le comportement de gestion des options de l'interpréteur. Les réglages  peuvent 
-              soit  être  ceux  ci-dessous,  soit, si l’option -o est utilisée, ceux disponibles avec l’option -o de la commande interne 
-              set. Sans option ou avec l'option -p, une liste de toutes les options configurables est  affichée,  avec  l'indication  de 
-              l'état  de chacune d'entre elles. L'option -p conduit à un affichage de la sortie sous une forme susceptible d'être réuti‐ 
-              lisée en entrée. Les autres options ont les significations suivantes : 
-              -s     Activer (créer) chaque nom_opt. 
-              -u     Désactiver (détruire) chaque nom_opt. 
-              -q     Supprimer la sortie normale (mode silencieux) ; l'état renvoyé indique si nom_opt est existante  ou  non.  Si  plu‐ 
-                     sieurs  arguments  nom_opt sont indiqués avec -q, l'état renvoyé est zéro si tous les nom_opt sont activés ; diffé‐ 
-                     rent de zéro sinon. 
-              -o     Restreindre les valeurs de nom_opt à celles définies pour l'option -o de la commande interne set. 
- 
-              Si l'option -s ou -u est utilisée sans argument nom_opt, shopt affiche respectivement les options existantes ou non  exis‐ 
-              tantes. Sauf indication contraire, les options shopt sont désactivées (détruites) par défaut. 
- 
-              L'état renvoyé lors d'un affichage des options est zéro si tous les nom_opt sont activés, différent de zéro sinon. Lors de 
-              la création ou de la destruction d'options, l'état renvoyé est zéro, à moins que nom_opt ne soit pas une  option  correcte 
-              de l'interpréteur. 
- 
-              La liste des options shopt est : 
- 
-              autocd  Si existante, un nom de commande qui est le nom d'un répertoire est exécuté comme s'il était l'argument de la com‐ 
-                      mande interne cd. Cette option n'est utilisée que par les interpréteurs interactifs. 
-              cdable_vars 
-                      Si existante, un argument de la commande interne cd qui n'est pas  un  répertoire  est  supposé  être  un  nom  de 
-                      variable dont la valeur est le répertoire visé. 
-              cdspell Si  existante,  les erreurs minimes de frappe dans un composant du répertoire en argument de la commande cd seront 
-                      corrigées. Les erreurs corrigées sont les inversions d'un caractère, un caractère  manquant  et  un  caractère  en 
-                      trop.  Si  une correction est possible, le nom de répertoire corrigé est affiché et la commande est exécuté. Cette 
-                      option n'est utilisée que par les interpréteurs interactifs. 
-              checkhash 
-                      Si existante, bash vérifie si une commande trouvée dans la table de hachage existe avant d'essayer de  l'exécuter. 
-                      Si une commande hachée n'existe plus, une recherche normale de chemin est effectuée. 
-              checkjobs 
-                      Si  existante,  bash  affiche  la  liste  des états de toutes les tâches en cours et arrêtées avant de terminer un 
-                      interpréteur interactif. Si des tâches sont en cours, la sortie est différée jusqu'à  ce  qu'une  nouvelle  sortie 
-                      soit  tentée  sans  commande intermédiaire (consultez CONTRÔLE DES TÂCHES ci-dessus). L'interpréteur repousse tou‐ 
-                      jours la sortie si des tâches sont arrêtées. 
-              checkwinsize 
-                      Si existante, bash vérifie la taille de la fenêtre après chaque commande et, au besoin, met à jour les valeurs des 
-                      variables LINES et COLUMNS. 
-              cmdhist Si existante, bash essaie de sauvegarder les commandes s'étendant sur plusieurs lignes en un seul élément d'histo‐ 
-                      rique. Cela facilite l'édition ultérieure de commandes multilignes. 
-              compat31 
-                      Si existante, bash modifie son comportement de manière compatible à la version 3.1  en  respectant  les  arguments 
-                      protégés  pour  l’opérateur  =~  de  la  commande conditionnelle [[ et les comparaisons de chaînes spécifiques aux 
-                      paramètres linguistiques régionaux lors de l'utilisation des opérateurs < et > de la commande  conditionnelle  [[. 
-                      Les  versions  de bash antérieure à 4.1 utilisent la collation ASCII et strcmp(3). bash à partir de la version 4.1 
-                      utilise la suite de collation des paramètres linguistiques régionaux et strcoll(3). 
-              compat32 
-                      Si existante, bash modifie son comportement de manière compatible à la version 3.2 en respectant les  comparaisons 
-                      de  chaînes  spécifiques  aux paramètres linguistiques régionaux lors de l'utilisation des opérateurs < et > de la 
-                      commande conditionnelle [[ (consultez le paragraphe précédent). 
-              compat40 
-                      Si existante, bash modifie son comportement de manière compatible à la version 4.0 en respectant les  comparaisons 
-                      de  chaînes  spécifiques  aux paramètres linguistiques régionaux lors de l'utilisation des opérateurs < et > de la 
-                      commande conditionnelle [[ (consultez la description de compat31) et l'effet d'interruption de liste de commandes. 
-                      À  partir  de  la version 4.0, bash interrompt la liste comme si l’interpréteur recevait l’interruption ; les ver‐ 
-                      sions précédentes continuent avec la commande suivante de la liste. 
-              compat41 
-                      Si existante, bash, lorsqu'il est en mode posix, traite le guillemet simple dans l'expansion  de  paramètre  entre 
-                      guillemets doubles comme un caractère spécial. Les guillemets simples doivent correspondre (et même s'appairer) et 
-                      les caractères entre guillemets simples sont considérés protégés. C'est le comportement du mode posix de  la  ver‐ 
-                      sion 4.1. Le comportement par défaut de bash reste le même que dans les versions précédentes. 
-              compat42 
-                      Si  existante,  bash ne traite pas la chaîne de remplacement dans le motif de substitution du développement de mot 
-                      en utilisant la suppression des guillemets. 
-              complete_fullquote 
-                      Si existante, bash protège tous les métacaractères de l’interpréteur dans les noms de  fichier  et  de  répertoire 
-                      lors  du complètement. Si non existante, bash supprime les métacaractères comme les signes dollar du jeu de carac‐ 
-                      tères qui sera protégé dans les noms de fichiers complétés quand ces métacaractères apparaissent  dans  des  réfé‐ 
-                      rences  de variable d’interpréteur dans des mots à compléter. Cela signifie que les signes dollar dans les noms de 
-                      variables qui se développent en répertoires ne seront pas protégés ; cependant, tous les signes  dollar  apparais‐ 
-                      sant  dans  les  noms  de  fichier  ne  seront  pas  protégés  non  plus.  Ce  n’est actif que si bash utilise des 
-                      contre-obliques pour protéger des noms de fichier complétés. Cette variable est définie par défaut, ce qui est  le 
-                      comportement de bash par défaut jusqu’à la version 4.2. 
-              direxpand 
-                      Si existante, bash remplace les noms de répertoire par les résultats de développement de mots lors du complètement 
-                      des noms de fichier. Cela modifie le contenu du tampon d'édition de readline. Sinon, bash essaye de  conserver  ce 
-                      que l'utilisateur a tapé. 
-              dirspell 
-                      Si existante, bash essaie de corriger les erreurs de frappe sur les noms de répertoire lors du complètement de mot 
-                      si le nom de répertoire initialement fourni n'existe pas. 
-              dotglob Si existante, bash inclut les noms de fichiers commençant par un « . » dans les résultats  des  développements  de 
-                      chemins. 
-              execfail 
-                      Si existante, un interpréteur non interactif ne terminera pas s'il ne peut exécuter un fichier indiqué en argument 
-                      de la commande interne exec. Un interpréteur interactif ne termine pas si exec échoue. 
-              expand_aliases 
-                      Si existante, les alias sont développés comme décrit ci-dessus, dans ALIAS. Cette option est  activée  par  défaut 
-                      pour les interpréteurs interactifs. 
-              extdebug 
-                      Si existante, le comportement attendu par les traceurs est activé : 
-                      1.     L'option  -F  de la commande interne declare affiche le nom du fichier source et le numéro de ligne corres‐ 
-                             pondant à chaque nom de fonction fourni comme argument. 
-                      2.     Si la commande lancée par la capture de DEBUG renvoie une valeur différente de zéro, la  commande  suivante 
-                             est sautée et n'est pas exécutée. 
-                      3.     Si  la  commande  lancée par la capture de DEBUG renvoie la valeur 2 et si l'interpréteur s'exécute dans un 
-                             sous-programme (une fonction de l'interpréteur ou un  script  exécuté  par  les  commandes  internes  .  ou 
-                             source), un appel à return est simulé. 
-                      4.     BASH_ARGC et BASH_ARGV sont mises à jour comme expliqué dans leurs descriptions ci-dessus. 
-                      5.     Le  traçage  des fonctions est activé : la substitution de commande, les fonctions de l'interpréteur et les 
-                             sous-interpréteurs appelés avec ( command ) héritent des captures de DEBUG et RETURN. 
-                      6.     Le traçage d'erreur est activé : la substitution de  commande,  les  fonctions  de  l'interpréteur  et  les 
-                             sous-interpréteurs appelés avec ( command ) héritent de la capture de ERR. 
-              extglob Si  existante,  les  fonctionnalités  étendues de mise en correspondance décrites ci-dessus dans Développement des 
-                      chemins sont activées. 
-              extquote 
-                      Si existante, la protection par  $'chaîne'  et  $"chaîne"  est  effectuée  à  l'intérieur  des  développements  de 
-                      ${paramètres} entre guillemets doubles. Cette option est activée par défaut. 
-              failglob 
-                      Si  existante, les motifs qui échouent à faire correspondre les noms de fichiers pendant le développement des che‐ 
-                      mins font qu'ils provoqueront une erreur de développement. 
-              force_fignore 
-                      Si existante, les suffixes indiqués par la variable de l'interpréteur FIGNORE conduiront des mots à  être  ignorés 
-                      lors  du complètement de mot, même si les mots ignorés sont les seuls complètements possibles. Consultez VARIABLES 
-                      DE L'INTERPRÉTEUR ci-dessus pour une description de FIGNORE. Cette option est activée par défaut. 
-              globasciiranges 
-                      Si existante, les expressions d’intervalle utilisées dans les motifs de correspondance des expressions entre  cro‐ 
-                      chets (consultez Motifs génériques ci-dessus) se comportent comme avec les paramètres régionaux traditionnels de C 
-                      lors des comparaisons. Cela signifie que l’ordre de collation des paramètres régionaux actuels n’est pas  pris  en 
-                      compte,  donc b ne sera pas ordonné entre A et B, et les caractères ASCII en majuscule et minuscule seront fusion‐ 
-                      nés. 
-              globstar 
-                      Si existante, le motif ** utilisé dans un contexte de développement des chemins correspondra à tous  les  fichiers 
-                      et  zéro  ou  plusieurs  répertoires  et  sous-répertoires.  Si  le motif est suivi de /, seuls les répertoires et 
-                      sous-répertoires correspondent. 
-              gnu_errfmt 
-                      Si existante, les messages d'erreur de l'interpréteur seront écrits dans  le  format  standard  GNU  des  messages 
-                      d'erreurs. 
-              histappend 
-                      Si  existante,  la  file d'historique est ajoutée au fichier désigné par la valeur de la variable HISTFILE lorsque 
-                      l'interpréteur termine, plutôt que d'écraser ce fichier. 
-              histreedit 
-                      Si existante et si readline est utilisée, un utilisateur peut rééditer une substitution d'historique qui a échoué. 
-              histverify 
-                      Si existante et si readline est utilisée, le résultat de la substitution d'historique n'est pas transmise immédia‐ 
-                      tement  à  l'analyseur  de l'interpréteur. À la place, la ligne résultante est chargée dans le tampon d'édition de 
-                      readline, permettant des modifications ultérieures. 
-              hostcomplete 
-                      Si existante et si readline est utilisée, bash essayera d'effectuer le complètement des noms de machines lorsqu'un 
-                      mot contient un @ (consultez Complètement dans READLINE ci-dessus). Cette option est activée par défaut. 
-              huponexit 
-                      Si  existante,  bash  enverra  un signal SIGHUP à toutes les tâches lorsqu'un interpréteur de connexion interactif 
-                      termine. 
-              interactive_comments 
-                      Si existante, un mot commençant par un # conduira ce mot et tous les autres caractères restants de la ligne à être 
-                      ignorés dans un interpréteur interactif (consultez COMMENTAIRES ci-dessus). Cette option est activée par défaut. 
-              lastpipe 
-                      Si  existante,  et  que le contrôle des tâches n'est pas activé, l'interpréteur exécute la dernière commande d'une 
-                      conduite non exécutée en arrière-plan dans l'environnement d'interpréteur actuel. 
-              lithist Si existante et si l'option cmdhist est activée, les commandes multilignes  sont  sauvegardées  dans  l'historique 
-                      avec des changements de ligne incorporés comme séparateurs plutôt que des points-virgules là où c'est possible. 
-              login_shell 
-                      L'interpréteur  crée  cette  option s'il est démarré en tant qu'interpréteur de connexion (consultez APPEL ci-des‐ 
-                      sus). La valeur ne peut être modifiée. 
-              mailwarn 
-                      Si existante et s'il a été accédé à un fichier que bash surveille pour les courriers depuis sa dernière  vérifica‐ 
-                      tion, le message « Le courrier dans fichier_de_courrier a été lu. » est affiché. 
-              no_empty_cmd_completion 
-                      Si  existante  et si readline est utilisée, bash n'essaiera pas d'utiliser le PATH pour de possibles complètements 
-                      quand le complètement est tenté sur une ligne vide. 
-              nocaseglob 
-                      Si existante, bash fait correspondre les noms de fichiers d'une façon insensible à la casse lors du  développement 
-                      des chemins (consultez Développement des chemins ci-dessus). 
-              nocasematch 
-                      Si  existante,  bash  fait correspondre les motifs d'une façon insensible à la casse lors de la mise en correspon‐ 
-                      dance pendant l'exécution des commandes conditionnelles case ou [[. 
-              nullglob 
-                      Si existante, bash autorise les motifs ne correspondant à  aucun  fichier  (consultez  Développement  des  chemins 
-                      ci-dessus) à se développer en une chaîne NULL plutôt qu'en une valeur littérale. 
-              progcomp 
-                      Si  existante, les outils de complètement programmables (consultez Complètement programmable ci-dessus) sont acti‐ 
-                      vés. Cette option est activée par défaut. 
-              promptvars 
-                      Si existante, les chaînes d'invite sont sujettes au développement des paramètres, à la substitution  de  commande, 
-                      au développement arithmétique et à la suppression des protections après avoir été développées comme décrit ci-des‐ 
-                      sus dans INVITES. Cette option est activée par défaut. 
-              restricted_shell 
-                      L'interpréteur crée cette option s'il est démarré en mode restreint (consultez INTERPRÉTEUR RESTREINT ci-dessous). 
-                      Cette  valeur  ne  peut  pas être changée. Elle n'est pas réinitialisée lorsque les fichiers d’initialisation sont 
-                      exécutés, ce qui permet à ces fichiers de découvrir si un interpréteur est restreint ou non. 
-              shift_verbose 
-                      Si existante, la commande interne shift affiche un message d'erreur lorsque le  nombre  de  décalages  dépasse  le 
-                      nombre de paramètres positionnels. 
-              sourcepath 
-                      Si  existante,  la  commande  interne  source (.) utilise la valeur de la variable PATH pour trouver le répertoire 
-                      contenant le fichier fourni en argument. Cette option est activée par défaut. 
-              xpg_echo 
-                      Si existante, la commande  interne  echo  développe  par  défaut  les  suites  de  caractères  de  protection  par 
-                      contre-oblique. 
- 
-       suspend [-f] 
-              Suspendre l'exécution de l'interpréteur jusqu'à la réception d'un signal SIGCONT. Un interpréteur de connexion ne peut pas 
-              être suspendu ; l'option -f permet de surpasser ce comportement et force sa suspension. L'état  renvoyé  est  0,  sauf  si 
-              l'interpréteur  est  un  interpréteur  de connexion et que l'option -f est absente, ou si le contrôle des tâches n'est pas 
-              activé. 
- 
-       test expr 
-       [ expr ] 
-              Renvoyer un état de 0 (vrai) ou 1 (faux) suivant l'évaluation de la condition expr. Chaque opérateur et opérande doit être 
-              représenté par un argument distinct. Les conditions sont composées des primitives décrites ci-dessus dans CONDITIONS. test 
-              n'accepte aucune option, n'accepte pas non plus et ignore l'argument -- pour signifier la fin des options. 
- 
-              Les conditions peuvent être combinées avec les opérateurs suivant, décrits par ordre de priorité  décroissante.  L'évalua‐ 
-              tion  dépend  du  nombre  d'arguments, voir ci-dessous. La priorité des opérateurs est utilisée quand il y a au moins cinq 
-              arguments. 
-              ! expr Vrai si expr est fausse. 
-              ( expr ) 
-                     Renvoie la valeur de expr. Peut servir à surpasser la priorité normale des opérateurs. 
-              expr1 -a expr2 
-                     Vrai si expr1 et expr2 sont toutes deux vraies. 
-              expr1 -o expr2 
-                     Vrai si expr1 ou expr2 est vraie. 
- 
-              test et [ évaluent les conditions en fonction d'un jeu de règles dépendant du nombre d'arguments. 
- 
-              0 argument 
-                     La condition est fausse. 
-              1 argument 
-                     La condition est vraie si et seulement si l'argument n'est pas NULL. 
-              2 arguments 
-                     Si le premier argument est !, la condition est vraie si et seulement si le second argument est NULL. Si le  premier 
-                     argument  est  l'un des opérateurs conditionnel unaires décrits ci-dessus dans CONDITIONS la condition est vraie si 
-                     le test unaire est vrai. Si le premier argument n'est pas un opérateur conditionnel unaire  correct,  la  condition 
-                     est fausse. 
-              3 arguments 
-                     Les  conditions  suivantes  sont appliquées dans l'ordre de la liste. Si le second argument est l'un des opérateurs 
-                     conditionnels binaires décrits ci-dessus dans CONDITIONS, le résultat de la  condition  est  le  résultat  du  test 
-                     binaire utilisant le premier et le troisième argument en tant qu'opérandes. Les opérateurs -a et -o sont considérés 
-                     comme des opérateurs binaires quand ils sont avec trois arguments. Si le premier argument est !, la valeur  est  la 
-                     négation  du test binaire utilisant les deuxième et troisième arguments. Si le premier argument est exactement ( et 
-                     le troisième argument est exactement ), le résultat est le test unaire du second argument. Sinon la  condition  est 
-                     fausse. 
-              4 arguments 
-                     Si  le premier argument est !, le résultat est la négation de la condition à trois arguments composée des arguments 
-                     restants. Sinon la condition est analysée et évaluée selon les règles de priorité décrites ci-dessus. 
-              5 arguments ou plus 
-                     La condition est analysée et évaluée selon les règles de priorité décrites ci-dessus. 
- 
-              Lorsqu'ils sont utilisés avec test ou [, les opérateurs < et > ordonnent d'un point de vue  lexicographique  en  utilisant 
-              l'ordre ASCII. 
- 
-       times  Afficher  les  durées  cumulées  utilisateur  et système pour l'interpréteur et les processus lancés par cet interpréteur. 
-              L'état renvoyé est 0. 
- 
-       trap [-lp] [[argument] signal ...] 
-              La commande argument doit être lue et exécutée quand l'interpréteur reçoit au moins un signal. Si argument est absent  (et 
-              qu'un  seul signal est fourni) ou -, chaque signal indiqué est réinitialisé à sa position d'origine (la valeur qu'il avait 
-              lors de l'entrée dans l'interpréteur). Si argument est la chaîne NULL, chaque signal indiqué est ignoré par l'interpréteur 
-              et  par les commandes qu'il appelle. Si argument n'est pas présent et que -p est fourni, les commandes capturées associées 
-              à chaque signal sont affichées. Si aucun argument n'est fourni, ou si seul -p est donné, trap affiche la  liste  des  com‐ 
-              mandes  associées  à  chaque  signal.  L'option  -l conduit l'interpréteur à afficher une liste des noms de signal et leur 
-              numéro correspondant. Chaque signal est soit un nom de signal défini dans <signal.h>, soit un numéro de signal.  Les  noms 
-              de signal sont insensibles à la casse et le préfixe SIG est optionnel. 
- 
-              Si  un signal est EXIT (0), la commande argument est exécutée lors de la sortie de l'interpréteur. Si un signal est DEBUG, 
-              la commande argument est exécutée avant toute commande simple, commande for, commande case, commande  select,  toute  com‐ 
-              mande for arithmétique, et avant que la première commande n'exécute une fonction de l'interpréteur (consultez GRAMMAIRE DE 
-              L'INTERPRÉTEUR ci-dessus). Reportez-vous à la description de l'option extdebug de la commande interne shopt  pour  obtenir 
-              des renseignements sur les effets de la capture DEBUG. Si un signal est RETURN, la commande argument est exécutée à chaque 
-              fois qu'une fonction de l'interpréteur, ou un script exécuté avec les commandes internes . ou source, termine  son  exécu‐ 
-              tion. 
- 
-              Si  un  signal  est ERR, la commande argument est exécutée chaque fois qu'une conduite (qui peut être réduite à une unique 
-              commande simple), une liste ou une commande composée renvoie un état final différent de zéro, sujet  aux  conditions  sui‐ 
-              vantes.  La capture ERR n'est pas exécutée si la commande échouant fait partie d'une liste de commandes suivant immédiate‐ 
-              ment un mot clef while ou until, d'un test if, d'une commande exécutée au sein d'une liste de && ou de || sauf la commande 
-              suivant  le  dernier  && ou ||, n’importe quelle commande d’une conduite sauf la dernière, ou si la valeur renvoyée par la 
-              commande est inversée par !. Ce sont les mêmes conditions que celles observées par l'option errexit (-e). 
- 
-              Les signaux ignorés en entrant dans l'interpréteur ne peuvent être capturés ou réinitialisés. Les signaux capturés qui  ne 
-              sont  pas  ignorés sont réinitialisés à leur valeur d'origine dans un sous-interpréteur ou un environnement de sous-inter‐ 
-              préteur quand il est créé. L'état renvoyé est faux si un signal n'est pas valable, sinon trap renvoie vrai. 
- 
-       type [-aftpP] nom [nom ...] 
-              Sans option, indiquer la façon d’interpréter chaque nom s’il est utilisé en nom de commande. Si l'attribut -t est utilisé, 
-              type  affiche une des chaînes alias, keyword, function, builtin ou file selon que le nom est un alias, un mot clef réservé 
-              de l'interpréteur, une fonction, une commande interne ou un fichier sur le disque. Si le nom n'est pas trouvé, rien  n'est 
-              affiché  et un état final à faux est renvoyé. Si l'option -p est utilisée, type renvoie le nom du fichier qui sera exécuté 
-              si l'on tape le nom en guise de commande ou rien si « type -t  name »  ne  renvoyait  pas  file.  L'option  -P  force  une 
-              recherche  dans  PATH pour chaque nom, même si « type -t name » ne renvoyait pas file. Si une commande est disponible dans 
-              la table de hachage, -p et -P affichent la valeur de cette table, qui n'est pas nécessairement le fichier apparaissant  en 
-              premier  dans PATH. Si l'option -a est appelée, type affiche tous les emplacements contenant un exécutable du nom indiqué. 
-              Cela inclut les alias et les fonctions, sauf si l'option -p est également présente. La  table  de  hachage  des  commandes 
-              n'est  pas  consultée avec l'option -a. L'option -f supprime la fonction de l'interpréteur de consultation de table, comme 
-              avec la commande interne command. type renvoie vrai si tous les arguments sont trouvés et faux si aucun n'a été trouvé. 
- 
-       ulimit [-HSTabcdefilmnpqrstuvx [limitation]] 
-              Fournir, sur les systèmes qui le permettent, un mécanisme de contrôle des ressources disponibles  pour  l'interpréteur  et 
-              pour  les  processus  qu'il  lance.  Les  options  -H  et -S indiquent si la limitation est stricte (« hard ») ou flexible 
-              (« soft ») pour la ressource indiquée. Une limitation stricte ne peut pas être augmentée par un utilisateur non privilégié 
-              une fois qu'elle a été configurée ; une limitation flexible peut être augmentée jusqu'à la valeur de la limitation stricte 
-              correspondante. Si ni -H ni -S n'est indiqué, les limitations stricte et flexible sont toutes deux configurées. La  valeur 
-              de  la  limitation peut être un nombre (utilisant les unités particulières de la ressource) ou l'une des valeurs spéciales 
-              hard, soft ou unlimited, qui signifient, respectivement, la limitation stricte actuelle, la limitation  flexible  actuelle 
-              et l'absence de limitation. Si la limitation est omise, la valeur actuelle de la limitation flexible pour la ressource est 
-              affichée, à moins que l'option -H soit indiquée. Quand plusieurs ressources sont indiquées, les noms  des  limitations  et 
-              leurs unités sont affichés avant les valeurs. Les autres options sont interprétées comme suit : 
-              -a     Toutes les limitations actuelles sont signalées 
-              -b     La taille maximale du tampon de socket 
-              -c     La taille maximale des fichiers core créés 
-              -d     La taille maximale du segment de données d'un processus 
-              -e     La priorité maximale d’ordonnancement (« nice ») 
-              -f     La taille maximale d'un fichier écrit par l'interpréteur et ses fils 
-              -i     Le nombre maximal de signaux en attente 
-              -l     La taille maximale qui peut être verrouillée en mémoire 
-              -m     La  taille maximale de la partie résidente d'un processus (« resident set size » ou RSS, la plupart des systèmes ne 
-                     respectent pas cette limite) 
-              -n     Le nombre maximal de descripteurs de fichiers ouverts (la plupart des systèmes ne permettent pas de modifier  cette 
-                     valeur) 
-              -p     La taille d'un tube en blocs de 512 octets (parfois inexistante) 
-              -q     Le nombre maximal d'octets dans les files de messages POSIX 
-              -r     La priorité maximale d'ordonnancement temps-réel 
-              -s     La taille maximale de la pile 
-              -t     La durée maximale, en seconde, de temps processeur accordé à un processus 
-              -u     Le nombre maximal de processus autorisés pour un seul utilisateur 
-              -v     La quantité maximale de mémoire virtuelle disponible pour l'interpréteur et, sur certains systèmes, pour ses fils 
-              -x     Le nombre maximal de verrous de fichiers 
-              -T     Le nombre maximal de processus légers (« threads ») 
- 
-              Si  une limitation est indiquée, et que l'option -a n’est pas donnée, limitation sera la nouvelle valeur pour la ressource 
-              indiquée. Si aucune option n'est indiquée alors -f est supposée. Les valeurs s'expriment par pas de 1024 octets, sauf pour 
-              -t  qui  est  en  seconde,  -p  qui  utilise  comme unité le bloc de 512 octets, ainsi que -T, -b, -n et -u, qui n'ont pas 
-              d'unité. L'état renvoyé est 0, sauf si une option ou un argument incorrect a été fourni ou si une  erreur  se  produit  en 
-              configurant la nouvelle limitation. 
- 
-       umask [-p] [-S] [mode] 
-              Le masque de création de fichier de l'utilisateur est configuré à mode. Si mode commence par un chiffre, il est interprété 
-              comme un nombre octal, sinon il est considéré comme un masque symbolique, semblable à ceux acceptés par chmod(1). Si  mode 
-              est  omis  ou  si l'option -S est fournie, la valeur actuelle du masque est affichée. L'option -S conduit à l'affichage du 
-              masque sous forme symbolique, l'affichage par défaut étant en octal. Si l'option -p est fournie et si le mode est omis, la 
-              sortie  a  lieu dans un format réutilisable en entrée. L'état renvoyé est 0 si le mode a pu être changé correctement ou si 
-              aucun argument mode n'a été fourni, et faux sinon. 
- 
-       unalias [-a] [nom ...] 
-              Supprimer le nom de la liste des alias définis. Si l'option -a est fournie, toutes les définitions  d'alias  sont  suppri‐ 
-              mées. La valeur renvoyée est vrai, sauf si un nom fourni n'est pas un alias défini. 
- 
-       unset [-fv] [-n] [name ...] 
-              Pour  chaque  nom indiqué, supprimer la variable ou la fonction correspondante. Si l'option -v est indiquée, chaque nom se 
-              rapporte à une variable de l'interpréteur, et cette variable est supprimée. Les variables en lecture seule ne peuvent  pas 
-              être  détruites.  Si l'option -f est indiquée, chaque nom se rapporte à une fonction de l'interpréteur et la définition de 
-              la fonction est supprimée. Si l’option -n est fournie, et que nom est une  variable  avec  l’attribut  nameref,  nom  sera 
-              détruite  plutôt  que la variable qu’elle référence. -n n’a pas d’effet si l’option -f est fournie. Si aucune option n’est 
-              fournie, chaque nom fait référence à une variable ; si aucune variable de ce nom n’existe, toutes les fonctions de ce  nom 
-              sont  détruites.  Toutes  les  variables  et fonctions détruites sont supprimées de l'environnement transmis aux commandes 
-              ultérieures. Si l'une des variables COMP_WORDBREAKS, RANDOM, SECONDS, LINENO, HISTCMD, FUNCNAME, GROUPS  ou  DIRSTACK  est 
-              détruite,  elle perd ses propriétés spécifiques, même si elle est recréée ultérieurement. L'état final est vrai sauf si un 
-              des noms est en lecture seule. 
- 
-       wait [-n] [n ...] 
-              Attendre que tous les processus fils indiqués s’exécutent et renvoient leur état final. Chaque n peut être un PID  ou  une 
-              spécification  de tâche ; si une spécification de tâche est indiquée, la fin de tous les processus de la conduite de cette 
-              tâche sera attendue. Si n est omis, la fin de tous les processus fils actuellement actifs sera attendue et l'état  renvoyé 
-              est  zéro.  Si l’option -n est fournie, wait attend que chaque tâche se termine et renvoie son état final. Si n indique un 
-              processus ou une tâche inexistants, l'état renvoyé est 127. Sinon, l'état renvoyé est l'état final du  dernier  processus, 
-              ou tâche, attendu. 
- 
-INTERPRÉTEUR RESTREINT 
-       Si bash démarre sous le nom rbash ou si l'option -r est fournie lors de son appel, l'interpréteur devient restreint. Un interpré‐ 
-       teur restreint permet de créer un environnement plus contrôlé qu'un interpréteur standard. Il se comporte de même façon que  bash 
-       à la différence des actions suivantes qui sont interdites ou non effectuées : 
- 
-       ·      changer de répertoire avec cd ; 
- 
-       ·      créer ou détruire les valeurs de SHELL, PATH, ENV ou BASH_ENV ; 
- 
-       ·      indiquer des noms de commandes contenant un / ; 
- 
-       ·      indiquer un nom de fichier contenant un / comme argument de la commande interne . ; 
- 
-       ·      indiquer un nom de fichier contenant une barre oblique comme argument de l'option -p de la commande interne hash ; 
- 
-       ·      importer une définition de fonction dans l'environnement au démarrage ; 
- 
-       ·      analyser les valeurs de SHELLOPTS au démarrage ; 
- 
-       ·      rediriger la sortie en utilisant les opérateurs de redirection >, >|, <>, >&, &> et >> ; 
- 
-       ·      utiliser la commande interne exec pour remplacer l'interpréteur par une autre commande ; 
- 
-       ·      ajouter ou supprimer des commandes internes avec les options -f et -d de la commande interne enable ; 
- 
-       ·      utiliser la commande interne enable pour activer les commandes internes de l'interpréteur désactivées ; 
- 
-       ·      indiquer l'option -p à la commande interne commande ; 
- 
-       ·      supprimer le mode restreint avec set +r ou set +o restricted. 
- 
-       Ces restrictions sont mises en place après la lecture de tous les fichiers d’initialisation. 
- 
-       Quand  une  commande  exécutée se trouve être un script shell (consultez EXÉCUTION DES COMMANDES ci-dessus), rbash supprime toute 
-       restriction dans l'interpréteur créé pour exécuter le script. 
- 
-VOIR AUSSI 
-       Manuel de référence de Bash, Brian Fox et Chet Ramey 
-       The GNU Readline Library, Brian Fox et Chet Ramey 
-       The GNU History Library, Brian Fox et Chet Ramey 
-       Portable Operating System Interface (POSIX) Part 2: Shell and Utilities, IEEE – 
-              http://pubs.opengroup.org/onlinepubs/9699919799/ 
-       http://tiswww.case.edu/~chet/bash/POSIX – une description du mode posix 
-       sh(1), ksh(1), csh(1) 
-       emacs(1), vi(1) 
-       readline(3) 
- 
-FICHIERS 
-       /bin/bash 
-              L'exécutable bash 
-       /etc/profile 
-              Le fichier d'initialisation commun à tout le système, exécuté pour les interpréteurs de commandes de connexion 
-       /etc/bash.bashrc 
-              Le fichier d’initialisation commun à tout le système pour les interpréteurs interactifs 
-       /etc/bash.bash.logout 
-              Le fichier de nettoyage des interpréteurs de connexion commun  à  tout  le  système,  exécuté  lorsqu'un  interpréteur  de 
-              connexion termine 
-       ~/.bash_profile 
-              Le fichier d'initialisation personnel exécuté pour les interpréteurs de commandes de connexion 
-       ~/.bashrc 
-              Le fichier d’initialisation personnel pour les interpréteurs interactifs 
-       ~/.bash_logout 
-              Le fichier de nettoyage personnel des interpréteurs de commandes de connexion, exécuté lorsqu'un interpréteur de commandes 
-              de connexion termine 
-       ~/.inputrc 
-              Le fichier d'initialisation personnel de readline 
- 
-AUTEURS 
-       Brian Fox, Free Software Foundation 
-       bfox@gnu.org 
- 
-       Chet Ramey, Case Western Reserve University 
-       chet.ramey@case.edu 
- 
-SIGNALEMENTS D'ANOMALIES 
-       Si vous trouvez une anomalie dans bash, vous devriez la signaler. Tout d'abord vous devez vous assurer  qu'il  s'agit  réellement 
-       d'une  anomalie et qu'elle apparaît bien dans la dernière version disponible de bash. La dernière version est toujours disponible 
-       à partir de ftp://ftp.gnu.org/pub/gnu/bash/. 
- 
-       Une fois que vous avez déterminé qu'une anomalie existe effectivement, utilisez la commande bashbug pour envoyer  un  signalement 
-       d'anomalie. Si vous avez un correctif, vous êtes encouragé à l'envoyer en même temps ! Les suggestions ou les signalements d'ano‐ 
-       malies de nature « philosophique » peuvent être envoyés  (en  anglais)  à  bug-bash@gnu.org  ou  postés  dans  le  groupe  Usenet 
-       gnu.bash.bug. 
- 
-       TOUS les signalements d'anomalie doivent contenir : 
- 
-       Le numéro de version de bash 
-       Le matériel et le système d'exploitation utilisés 
-       Le compilateur utilisé pour compiler 
-       Une description (en anglais) de l'anomalie 
-       Un petit script ou une « recette » qui démontre l'anomalie 
- 
-       bashbug insère automatiquement les trois premiers éléments de cette liste dans le formulaire qu'il fournit pour remplir un signa‐ 
-       lement d'anomalie. 
- 
-       Les commentaires et signalement d'anomalies concernant la version originale de cette page de manuel  (en  anglais)  doivent  être 
-       transmis     à     chet.ramey@case.edu.    Ceux    concernant    cette    version    française    peuvent    être    envoyés    à 
-       debian-l10n-french@lists.debian.org. 
- 
-ANOMALIES 
-       Cet interpréteur de commandes est trop gros et trop lent. 
- 
-       Il y a quelques différences subtiles de comportement entre bash et les versions traditionnelles de sh, principalement à cause des 
-       spécifications POSIX. 
- 
-       L'utilisation des alias peut avoir des conséquences inattendues. 
- 
-       Les commandes internes et les fonctions de l'interpréteur ne peuvent pas être suspendues/relancées. 
- 
-       Les  commandes  composées et les suites de commandes de la forme « a ; b ; c » ne sont pas gérées élégamment lors d'une interrup‐ 
-       tion de processus. En cas de suspension d'un processus, l'interpréteur exécute immédiatement la commande suivante. Il  suffit  de 
-       placer  cette suite de commandes entre parenthèses pour la forcer à créer un sous-interpréteur, qui, lui, pourra être suspendu en 
-       bloc. 
- 
-       Les variables de type tableau ne peuvent pas (encore) être exportées. 
- 
-       Il ne peut exister qu'un seul coprocessus actif à la fois. 
- 
-TRADUCTION 
-       Ce document est une traduction réalisée par Christophe Blaess et Thierry Vignaud en 1997, et mise à jour par Alain Portal  <apor‐ 
-       tal AT univ-montp2 DOT fr> en 2006. 
- 
-       La  version présente dans Debian a été entièrement retravaillée par Frédéric Lehobey <Frederic AT Lehobey DOT net> et est doréna‐ 
-       vant maintenue par David Prévot david@tilapin.org et les membres de la liste debian-l10n-french@lists.debian.org. 
- 
-       Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra. 
- 
- 
- 
-GNU Bash 4.3                                                 2 février 2014                                                      BASH(1) 
-</code> 
man_de_bash.1450734810.txt.gz · Dernière modification : (modification externe)