Provided by: manpages-fr-extra_20101103_all bug

NOM

       bash - Interpreteur de commandes GNU Bourne-Again SHell

SYNOPSIS

       bash [options] [fichier]

COPYRIGHT

       Bash is Copyright (C) 1989-2009 by the Free Software Foundation, Inc.

DESCRIPTION

       Bash est un interpreteur de commandes (shell) compatible sh qui execute
       les commandes lues depuis l'entree standard ou depuis un fichier.  Bash
       inclut  aussi des fonctionnalites utiles des interpreteurs de commandes
       Korn et C (ksh et csh).

       Bash vise a etre une implementation conforme a la partie  relative  aux
       interpreteurs de commandes et utilitaires des specifications IEEE POSIX
       (norme IEEE 1003.1). Bash peut etre configure pour  etre  conforme  aux
       specifications POSIX par defaut.

OPTIONS

       En  plus  des options d'interpreteur monocaracteres documentees dans la
       description de la  commande  interne  set,  bash  accepte  les  options
       suivantes lors de son appel :

       -c cha^ine Si  l'option  -c est presente, les commandes sont lues depuis
                 la cha^ine fournie. S'il y a des arguments  apres  la  cha^ine,
                 ils  sont affectes aux parametres positionnels, en commencant
                 par $0.
       -i        Si l'option -i est presente, l'interpreteur est interactif.
       -l        Faire que bash se comporte comme s'il avait ete appele  comme
                 interpreteur de commandes de connexion (voir APPEL plus bas).
       -r        Si l'option -r est presente, l'interpreteur devient restreint
                 (voir INTERPR'ETEUR RESTREINT plus bas).
       -s        Si l'option -s est presente ou s'il ne reste plus  d'argument
                 apres  le  traitement  des  options, alors les commandes sont
                 lues depuis l'entree standard. Cette option permet d'affecter
                 les  parametres positionnels tout en appelant un interpreteur
                 interactif.
       -D        Une liste de toutes  les  chaines  entre  guillemets  doubles
                 precedees  de  $ est affichee sur la sortie standard. Ce sont
                 les chaines qui sont  sujettes  a  une  traduction  quand  le
                 parametre  linguistique  regional  n'est  ni C ni POSIX. Cela
                 implique l'option -n ; aucune commande ne sera executee.
       [-+]O [option_shopt]
                 option_shopt est une des options de l'interpreteur  acceptees
                 par  la  commande  interne  shopt (voir COMMANDES INTERNES DE
                 L'INTERPR'ETEUR plus bas). Si option_shopt  est  presente,  -O
                 cree  cette option ; +O la detruit. Si option_shopt n'est pas
                 fournie, les noms et valeurs des  options  de  l'interpreteur
                 acceptees  par shopt sont affiches sur la sortie standard. Si
                 l'option d'appel est +O,  la  sortie  est  affichee  dans  un
                 format reutilisable en entree.
       --        Deux   caracteres   --   indiquent  la  fin  des  options  et
                 desactivent le traitement des arguments. Tous  les  arguments
                 apres  le  --  sont  traites  comme  des  noms de fichiers et
                 parametres. - est equivalent a --.

       Bash reconnait egalement plusieurs options multicaracteres. Ces options
       doivent, pour etre reconnues, apparaitre sur la ligne de commande avant
       les options monocaracteres.

       --debugger
              Prend les dispositions pour que le parametrage du  tracage  soit
              execute  avant  que l'interpreteur demarre. Enclenche le mode de
              tracage  etendu  (voir  plus  bas  la  description  de  l'option
              extdebug  de  la  commande  interne  shopt)  et  le  tracage des
              fonctions de l'interpreteur (voir plus  bas  la  description  de
              l'option -o functrace de la commande interne set).
       --dump-po-strings
              Equivalent  a -D, mais la sortie est dans le format des fichiers
              po (objets portables) de l'outil GNU gettext.
       --dump-strings
              Equivalent a -D.
       --help Affiche un message d'aide sur la sortie standard et termine avec
              succes.
       --init-file fichier
       --rcfile fichier
              Executer  les commandes contenues dans fichier plutot que celles
              du  fichier  d'initialisation   commun   a   tout   le   systeme
              /etc/bash.bashrc  et  que  le fichier d'initialisation personnel
              standard ~/.bashrc si l'interpreteur est interactif (voir  APPEL
              plus bas).

       --login
              Equivalent a -l.

       --noediting
              Ne  pas  utiliser  la  bibliotheque  GNU  readline pour lire les
              lignes de commande, lorsque l'interpreteur est interactif.

       --noprofile
              Ne lire ni le fichier de configuration generale  /etc/profile  ,
              ni  les  fichiers  d'initialisation  personnels ~/.bash_profile,
              ~/.bash_login ou ~/.profile. Par defaut, bash lit  ces  fichiers
              lorsqu'il   est   appele  comme  interpreteur  de  commandes  de
              connexion (voir APPEL plus bas).

       --norc Ne pas lire ou executer le fichier  de  configuration  commun  a
              tout  le  systeme  /etc/bash.bashrc,  ni  le  fichier  personnel
              d'initialisation   ~/.bashrc    lorsque    l'interpreteur    est
              interactif.   Cette   option   est   activee   par   defaut   si
              l'interpreteur est appele sous le nom sh.

       --posix
              Aligner le comportement de bash sur le standard POSIX, en ce qui
              concerne  les  options  dont  l'action  par defaut differe de ce
              standard (mode posix).

       --restricted
              L'interpreteur devient restreint  (voir  INTERPR'ETEUR  RESTREINT
              plus bas).

       --verbose
              Equivalent a -v.

       --version
              Affiche  le  numero de version de bash sur la sortie standard et
              termine avec succes.

ARGUMENTS

       S'il reste des arguments sur la ligne de commande apres traitement  des
       options  et  que  ni l'option -c, ni l'option -s n'ont ete fournies, le
       premier argument est suppose etre le nom du fichier  dans  lequel  lire
       les commandes d'interpreteur. Si bash est appele de cette facon, le nom
       du ficher est affecte  a  $0  et  les  arguments  restants  aux  autres
       parametres  positionnels.  Bash  lit et execute les commandes depuis ce
       fichier, puis termine. L'etat final de bash  est  l'etat  final  de  la
       derniere  commande  executee dans le script. Si aucune commande n'a ete
       executee, l'etat final est  0.  Une  tentative  est  d'abord  faite  de
       trouver  le  fichier  dans  le  repertoire courant et, si aucun fichier
       n'est trouve, l'interpreteur cherche le  script  dans  les  repertoires
       contenus dans PATH.

APPEL

       Un  interpreteur  de commandes est dit de connexion (login shell) si le
       premier caractere de son argument numero zero est  un  -  ou  s'il  est
       appele avec l'option --login.

       Un  interpreteur est interactif s'il est appele sans argument autre que
       des options et sans l'option -c, dont l'entree standard  et  sa  sortie
       d'erreur  sont  toutes deux connectees a des terminaux (comme determine
       par la fonction isatty(3)) ou s'il est appele avec  l'option  -i.   PS1
       est  creee  et  $-  contient la lettre i si bash est interactif, ce qui
       permet a un script ou a un fichier de demarrage de tester cet etat.

       Le  paragraphe  suivant  decrit  comment  bash  execute  ses   fichiers
       d'initialisation.   Si  un  de  ces  fichiers  existe  mais  n'est  pas
       accessible en  lecture,  bash  signale  une  erreur.  Les  tildes  sont
       remplaces  par  des  noms  de  fichiers  comme  decrit  plus  bas  dans
       D'eveloppement du tilde dans le paragraphe D'EVELOPPEMENTS.

       Lorsque bash est lance comme interpreteur  de  commandes  de  connexion
       interactif  ou comme interpreteur non interactif avec l'option --login,
       il lit et execute tout  d'abord  les  commandes  se  trouvant  dans  le
       fichier /etc/profile si ce fichier existe. Apres lecture de ce fichier,
       il recherche ~/.bash_profile, ~/.bash_login  et  ~/.profile,  dans  cet
       ordre,  puis  lit  et execute les commandes se trouvant dans le premier
       fichier existant et accessible en lecture.  L'option  --noprofile  peut
       etre   utilisee   a   l'appel   de   l'interpreteur  pour  empecher  ce
       comportement.

       Lorsqu'un interpreteur de commandes de connexion termine, bash  lit  et
       execute les commandes du fichier ~/.bash_logout, s'il existe.

       Quand  un  interpreteur interactif demarre sans etre un interpreteur de
       commandes de connexion, bash lit et execute les commandes  se  trouvant
       dans /etc/bash.bashrc et ~/.bashrc s'ils existent. Ce comportement peut
       etre empeche a l'aide de l'option  --norc.  L'option  --rcfile  fichier
       forcera  bash  a lire et executer les commandes dans fichier plutot que
       dans /etc/bash.bashrc et ~/.bashrc.

       Quand bash est demarre de  facon  non  interactive,  par  exemple  pour
       lancer   un   script,   il   consulte   la   variable   BASH_ENV   dans
       l'environnement, developpe son contenu  si  elle  existe  et  considere
       cette  valeur  comme  le  nom  d'un fichier a lire et executer. Bash se
       comporte comme si la commande suivante etait executee :
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       mais la valeur de la variable PATH n'est pas utilisee  pour  rechercher
       le fichier.

       Si  bash  est appele sous le nom sh, il essaye d'imiter le comportement
       de demarrage des  versions  historiques  de  sh  aussi  fidelement  que
       possible,  tout en restant conforme aux specifications POSIX. Lorsqu'il
       est appele comme interpreteur de commandes de connexion  interactif  ou
       non  interactif  avec  l'option  --login,  il essaye d'abord de lire et
       executer, dans  cet  ordre,  les  commandes  de  /etc/profile  puis  de
       ~/.profile.  L'option  --noprofile  peut etre utilisee pour empecher ce
       comportement. Quand il est appele en  tant  qu'interpreteur  interactif
       sous  le  nom sh, bash consulte la variable ENV, developpe sa valeur si
       elle est definie et utilise le resultat en tant que nom  de  fichier  a
       lire  et executer. Comme un interpreteur appele sous le nom sh n'essaye
       ni  de  lire,  ni  d'executer  des  commandes  d'un  autre  fichier  de
       demarrage,  l'option  --rcfile  n'a  aucun  effet.  Un interpreteur non
       interactif appele sous le nom sh n'essaie de lire aucun  autre  fichier
       d'initialisation.  Quand  il  est  appele sous le nom sh, bash entre en
       mode posix apres avoir lu les fichiers d'initialisation.

       Quand bash est appele en mode posix comme avec l'option --posix sur  la
       ligne  de  commande,  il  suit  le  standard POSIX pour les fichiers de
       demarrage. Dans ce mode, les interpreteurs interactifs  developpent  la
       variable  ENV  et  les  commandes  sont  lues  et executees a partir du
       fichier dont le nom est  la  valeur  developpee.  Aucun  autre  fichier
       d'initialisation n'est lu.

       Bash  tente  de  determiner  s'il  est execute avec son entree standard
       relie  a  une  connexion  reseau,  comme  par  le  demon  lancant   les
       interpreteurs  de commandes distants, generalement rshd, ou le demon de
       shell securise sshd. Si bash conclut qu'il est execute de cette  facon,
       il lit et execute 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 appele sous le nom sh. L'option --norc peut
       etre utilisee pour empecher ce comportement et l'option  --rcfile  peut
       etre  utilisee  pour  forcer  la  lecture d'un autre fichier, mais rshd
       n'appelle generalement pas l'interpreteur avec ces options ni ne permet
       de les indiquer.

       Si   l'interpreteur   est   lance   avec  un  identifiant  (de  groupe)
       d'utilisateur  effectif  different   de   l'identifiant   (de   groupe)
       d'utilisateur  reel  et si l'option -p n'est pas fournie, aucun fichier
       d'initialisation n'est lu, les fonctions de l'interpreteur ne sont  pas
       importees  depuis  l'environnement,  les variables SHELLOPTS, BASHOPTS,
       CDPATH,  et  GLOBIGNORE,  si  presentes  dans   l'environnement,   sont
       ignorees,  et  l'identifiant  de l'utilisateur effectif est configure a
       celui de l'utilisateur reel. Si l'option -p est fournie a  l'appel,  le
       comportement  au demarrage est le meme mais l'identifiant d'utilisateur
       effectif n'est pas modifie.

D'EFINITIONS

       Les definitions  suivantes  sont  utilisees  dans  toute  la  suite  ce
       document.
       blanc  Une espace ou une tabulation.
       mot    Une  suite  de caracteres consideree comme une unite elementaire
              par l'interpreteur. On parle egalement de lex`eme (<< token >>).
       nom    Un mot ne contenant que des caracteres alphanumeriques ou tirets
              bas  (<< underscore >>),  commencant  par une lettre ou un tiret
              bas. On s'y refere egalement sous le terme identificateur.
       m'etacaract`ere
              Un caractere qui, non protege, separe les mots. Un de ceux-ci :
              |  & ; ( ) < > space tab
       op'erateur de contr^ole
              Un lex`eme  ayant  une  fonction  de  controle.  C'est  l'un  des
              symboles suivants :
              || & && ; ;; ( ) | |& <newline>

MOTS R'ESERV'ES

       Les mots r'eserv'es sont des mots qui ont une signification speciale pour
       l'interpreteur.  Les  mots  suivants  sont  reconnus   comme   reserves
       lorsqu'ils  ne  sont  pas  proteges  et  sont soit le premier mot d'une
       commande simple (voir GRAMMAIRE DE L'INTERPR'ETEUR  plus  bas)  soit  le
       troisieme mot d'une commande case ou for :

       !  case  do done elif else esac fi for function if in select then until
       while { } time [[ ]]

GRAMMAIRE DE L'INTERPR'ETEUR

   Commandes simples
       Une commande  simple  est  une  suite  d'affectations  facultatives  de
       variables, suivie de mots separes par des blancs et de redirections, et
       terminee par un op'erateur  de  contr^ole.  Le  premier  mot  indique  la
       commande a executer et est passe comme argument zero. Les mots restants
       sont transmis comme arguments a la commande appelee.

       La valeur renvoyee par une commande simple est son etat final ou  128+n
       si la commande a ete terminee par le signal n.

   Conduites
       Une   conduite  (<< pipeline >>)  est  une  suite  d'une  ou  plusieurs
       commandes separees par un des operateurs de controle | ou |&. Le format
       d'une conduite est :

              [time [-p]] [ ! ] commande_1 [ [|||&] commande_2 ... ]

       La  sortie  standard  de  la  commande_1  est  connectee  par un tube a
       l'entree standard de la commande_2. Cette connexion est effectuee avant
       toute redirection indiquee par la commande elle-meme (voir REDIRECTIONS
       plus bas). Si |&  est  utilise,  la  sortie  d'erreur  standard  de  la
       commande_1  est  connectee a l'entree standard de la commande_2 dans le
       tube ; c'est un raccourci pour 2>&1 |. Cette redirection  implicite  de
       la  sortie  d'erreur  standard  est  realisee  apres  toute redirection
       precisee par la commande.

       L'etat renvoye par  une  conduite  est  l'etat  final  de  la  derniere
       commande,  a  moins que l'option pipefail soit activee. Si pipefail est
       activee, l'etat renvoye par la conduite est la valeur  de  la  derniere
       commande  (la  plus a droite) a terminer avec un etat different de zero
       ou zero si toutes les commandes se terminent avec  succes.  Si  le  mot
       reserve  ! precede une conduite, l'etat final de cette conduite sera la
       negation  logique  de  l'etat  final  tel   que   decrit   plus   haut.
       L'interpreteur  attend  que  toutes les commandes de la conduite soient
       terminees avant de renvoyer une valeur.

       Si le mot reserve time precede une conduite, les temps  passes  par  le
       programme  en  modes  utilisateur  et  systeme  sont  indiques quand la
       conduite se termine. L'option -p modifie le format de sortie pour celui
       indique  par  POSIX. La variable TIMEFORMAT peut contenir une chaine de
       format indiquant comment les informations de chronometrage doivent etre
       affichees ;  consultez  plus  bas  la  descriptions  de TIMEFORMAT dans
       Variables de l'interpr'eteur.

       Chaque commande dans une  conduite  est  executee  comme  un  processus
       independant (c'est-a-dire dans un sous-interpreteur).

   Listes
       Une  liste est une suite d'une ou plusieurs conduites separees par l'un
       des operateurs ;, &, && ou || et facultativement terminee par ;,  &  ou
       <newline>.

       Dans  cette  liste  d'operateurs,  && et || ont une priorite identique,
       suivis par ; et &, qui ont egalement une priorite identique.

       Une suite d'un ou plusieurs sauts de ligne  peut  apparaitre  dans  une
       liste a la place d'un point-virgule pour delimiter les commandes.

       Si   une   commande   se   termine   par  l'operateur  de  controle  &,
       l'interpreteur l'execute en arri`ere-plan,  dans  un  sous-interpreteur.
       L'interpreteur  n'attend  pas  que  la  commande  se  termine et l'etat
       renvoye  est  0.  Les  commandes  separees  par  un  ;  sont  executees
       successivement,  l'interpreteur  attend  que chaque commande se termine
       tour a tour. L'etat renvoye est l'etat final de  la  derniere  commande
       executee.

       Les  listes  ET  et  OU  sont  des  suites d'une ou plusieurs conduites
       separees respectivement par les operateurs de controle &&  et  ||.  Les
       listes  ET  et OU sont executees avec associativite a gauche. Une liste
       ET est de la forme

              commande_1 && commande_2

       commande_2 est executee si, et seulement si, commande_1 renvoie un etat
       final de zero.

       Une liste OU a la forme

              commande_1 || commande_2

       commande_2  est  executee si et seulement si commande_1 renvoie un etat
       final different de zero. L'etat renvoye par des listes de ET et  de  OU
       est l'etat final de la derniere commande executee dans la liste.

   Commandes compos'ees
       Une commande compos'ee est l'une des constructions suivantes :

       (liste)
              liste est executee dans un sous-interpreteur (voir ENVIRONNEMENT
              D'EX'ECUTION  DES  COMMANDES  plus  bas).  Les  affectations   de
              variables    et    les    commandes   internes   qui   affectent
              l'environnement de l'interpreteur n'ont pas d'effet une fois que
              la  commande  se  termine. L'etat renvoye est l'etat final de la
              liste.

       { liste; }
              liste  est   simplement   executee   avec   l'environnement   de
              l'interpreteur en cours. liste doit se terminer par un caractere
              de saut de ligne ou un  point-virgule.  Cette  construction  est
              connue  sous  le  nom  de commandes group'ees. L'etat renvoye est
              l'etat final  de  la  liste.  Remarquez  que  contrairement  aux
              metacaracteres  (  et  ),  {  et } sont des mots r'eserv'es qui ne
              doivent apparaitre que la ou un mot reserve peut  etre  reconnu.
              Puisqu'ils  ne  conduiront pas un decoupage en mots, ils doivent
              etre separes de la liste par un blanc ou un autre  metacaractere
              de l'interpreteur.

       ((expression))
              L'expression est evaluee selon les regles decrites plus bas dans
              'EVALUATION  ARITHM'ETIQUE.   Si   la   valeur   arithmetique   de
              l'expression  est  differente  de  zero,  l'etat renvoye est 0 ;
              sinon l'etat renvoye est 1. Ceci est exactement equivalent a let
              "expression".

       [[ expression ]]
              Renvoie  un  etat  de  0 ou 1 selon l'evaluation de la condition
              expression. Les conditions sont composees de primitives decrites
              plus   bas   dans  CONDITIONS.   Le  decoupage  en  mots  et  le
              developpement des chemins ne sont pas  effectues  sur  les  mots
              entre  [[  et  ]] ; le developpement des tildes, des parametres,
              des variables, le developpement arithmetique, la substitution de
              commande   et   de  processus,  ainsi  que  la  suppression  des
              protections sont effectues. Les operateurs  conditionnels  comme
              -f  ne  doivent  pas  etre  proteges  afin d'etre reconnus comme
              primitives.

              Lorsqu'ils  sont  utilises  avec  [[,  les  operateurs  <  et  >
              ordonnent  d'un  point  de  vue lexicographique en utilisant les
              parametres linguistiques regionaux courants.

              Quand les operateurs == et != sont utilises, la chaine placee  a
              droite  de  l'operateur est consideree comme etant un motif dont
              la correspondance est recherchee selon les regles decrites  plus
              bas   dans   Motifs   g'en'eriques.   Si  l'option  d'interpreteur
              nocasematch est activee, la mise en correspondance est effectuee
              sans  tenir  compte de la casse (difference majuscule/minuscule)
              des caracteres alphabetiques. La valeur renvoyee est  0  si  les
              chaines  correspondent  (==), ou respectivement ne correspondent
              pas (!=), au motif et 1 sinon. Toute partie du motif  peut  etre
              protegee pour la forcer a correspondre en tant que chaine.

              Un operateur binaire supplementaire, =~, est disponible, avec la
              meme priorite que == et !=. Lorsqu'il est utilise, la  chaine  a
              droite  de  l'operateur  est  consideree  comme  une  expression
              rationnelle etendue et est mise en correspondance en consequence
              (comme  avec  regex(3)).  La  valeur renvoyee est 0 si la chaine
              correspond  au  motif  et  1  si  elle  ne  correspond  pas.  Si
              l'expression  rationnelle  n'est pas syntaxiquement correcte, la
              valeur  renvoyee  de  l'expression  conditionnelle  est  2.   Si
              l'option  d'interpreteur  nocasematch  est  activee,  la mise en
              correspondance est effectuee sans  tenir  compte  de  la  casse.
              Toute  partie  du  motif  peut  etre  protegee  pour la forcer a
              correspondre en tant  que  chaine.  Les  sous-chaines  mises  en
              correspondance  avec des sous-expressions entre parentheses dans
              l'expression rationnelle  sont  sauvegardees  dans  la  variable
              tableau  BASH_REMATCH.  L'element d'indice 0 de BASH_REMATCH est
              la partie de la chaine correspondant a l'expression  rationnelle
              complete.  L'element d'indice n de BASH_REMATCH est la partie de
              la  chaine  correspondant  a  la  n-ieme  sous-expression  entre
              parentheses.

              Les   expressions   peuvent  etre  combinees  en  utilisant  les
              operateurs   suivants,   decrits   par   ordre    de    priorite
              decroissante :

              ( expression )
                     Renvoie la valeur de l'expression. Cela peut etre utilise
                     pour surpasser la priorite normale des operateurs.
              ! 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  operateurs && et || n'evaluent pas expression2 si la valeur
              de expression1 suffit a determiner la  valeur  renvoyee  par  la
              condition tout entiere.

       for nom [ [ in [ mot ... ] ] ; ] do liste ; done
              La liste de mots suivant in est developpee, produisant une liste
              d'elements. La variable nom prend  tour  a  tour  la  valeur  de
              chacun  des  elements et liste est executee a chaque fois. Si in
              mot est omis, la commande for execute la  liste  une  fois  pour
              chacun  des  parametres  positionnels existants (voir PARAM`ETRES
              plus bas). L'etat  renvoye  est  l'etat  final  de  la  derniere
              commande  executee.  Si le developpement des elements suivant in
              conduit a une liste vide,  aucune  commande  n'est  executee  et
              l'etat renvoye est 0.

       for (( expr1 ; expr2 ; expr3 )) ; do liste ; done
              L'expression  arithmetique  expr1  est d'abord evaluee selon les
              regles  decrites  plus   bas   sous   'EVALUATION   ARITHM'ETIQUE.
              L'expression    arithmetique    expr2    est   ensuite   evaluee
              repetitivement jusqu'a valoir zero. Chaque fois  que  expr2  est
              evaluee  en une valeur differente de zero, liste est executee et
              l'expression  arithmetique  expr3  est  evaluee.  Si  l'une  des
              expressions est omise, elle est consideree comme s'evaluant a 1.
              La valeur renvoyee est l'etat final de la derniere commande dans
              liste  qui  est  executee  ou  faux si l'une des expressions est
              incorrecte.

       select nom [ in mot ] ; do liste ; done
              La liste de mots a la suite de in est developpee, produisant une
              liste d'elements. L'ensemble des mots developpes est imprime sur
              la sortie d'erreur standard, chacun precede par un nombre. Si in
              mot  est  omis,  les parametres positionnels sont imprimes (voir
              PARAM`ETRES plus bas). L'invite PS3 est affichee et une ligne est
              lue  depuis  l'entree  standard. Si la ligne est constituee d'un
              nombre correspondant a l'un des mots affiches, alors ce mot  est
              affecte  a  la  valeur de la variable nom. Si la ligne est vide,
              les mots et l'invite sont affiches a  nouveau.  Si  une  fin  de
              fichier  (EOF)  est  lue,  la  commande  se termine. Toute autre
              valeur lue conduit a mettre a vide la variable nom. La ligne lue
              est  conservee  dans  la  variable  REPLY. La liste est executee
              apres chaque selection, jusqu'a ce qu'une  commande  break  soit
              atteinte. L'etat final de select est l'etat final de la derniere
              commande executee dans la liste ou zero si aucune  commande  n'a
              ete executee.

       case mot in [ [(] motif [ | motif ] ... ) liste ;; ] ... esac
              Une  commande  case commence d'abord par developper le mot, puis
              essaye de le mettre en correspondance tour a  tour  avec  chacun
              des   motifs   en   utilisant  les  memes  regles  que  pour  le
              developpement des  chemins  (voir  plus  bas  D'eveloppement  des
              chemins).  Le mot est developpe en utilisant le developpement du
              tilde, le developpement des  parametres  et  des  variables,  la
              substitution  arithmetique,  la  substitution  de  commande,  la
              substitution de processus et  la  suppression  des  protections.
              Chaque motif examine est developpe en utilisant le developpement
              du tilde, le developpement des parametres et des  variables,  la
              substitution  arithmetique,  la  substitution  de commande et la
              substitution   de   processus.   Si   l'option    d'interpreteur
              nocasematch est activee, la mise en correspondance est effectuee
              sans tenir compte de  la  casse  des  caracteres  alphabetiques.
              Quand  une  correspondance  est  trouvee,  la liste associee est
              executee. Des qu'un motif correct a ete trouve, il  n'y  a  plus
              d'autre  essai  si l'operateur ;; est utilise. Si ;& est utilise
              au lieu de ;;, l'execution continue avec la  liste  associee  au
              jeu  de  motifs  suivant.  Si  ;;&  est  utilise  au lieu de ;;,
              l'interpreteur essaye  la  liste  de  motifs  suivant,  si  elle
              existe,   et   execute   toute   liste   associee   a  un  motif
              correspondant.  L'etat  final  est  zero  si  aucun   motif   ne
              correspond.  Sinon  il  est l'etat final de la derniere commande
              executee dans la liste.

       if liste; then liste; [ elif liste; then liste; ] ... [ else  liste;  ]
       fi
              La  liste  du  if  est  executee. Si son etat final est zero, la
              liste du then est executee. Sinon, chacune des listes  des  elif
              est executee tour a tour et si son etat final est zero, la liste
              du then associe est executee et la commande termine.  Sinon,  la
              liste  du  else,  si  presente,  est  executee. L'etat final est
              l'etat final de la derniere commande executee ou zero si  aucune
              condition n'a ete satisfaite.

       while liste; do liste; done
       until liste; do liste; done
              La  commande  while  repete  la liste du do tant que la derniere
              commande de la liste du while renvoie un etat final de zero.  La
              commande  until  est  identique a la commande while, sauf que le
              test est inverse ; la liste du  do  est  executee  tant  que  la
              derniere commande de la liste renvoie un etat final different de
              zero. L'etat final des commandes while et until est l'etat final
              de  la derniere commande executee dans la liste du do ou zero si
              aucune commande n'a ete executee.

   Coprocessus
       Un coprocessus est une commande  d'interpreteur  precedee  par  le  mot
       reserve  coproc. Un coprocessus est execute de facon asynchrone dans un
       sous-interpreteur, comme si la commande se terminait par l'operateur de
       controle  &,  avec  un  tube bidirectionnel etabli entre l'interpreteur
       d'execution et le coprocessus.

       Le format d'un coprocessus est :

              coproc [NOM] commande [redirections]

       Un coprocessus appele NOM est cree. Si NOM n'est pas fourni, le nom par
       defaut  est  COPROC.  NOM  ne  doit pas etre fourni si commande est une
       commande simple (voir plus haut) ; sinon, il est  interprete  comme  le
       premier  mot  d'une  commande simple. Quand le coprocessus est execute,
       l'interpreteur cree une  variable  tableau  (voir  Tableaux  plus  bas)
       appelee  NOM  dans le contexte de l'interpreteur d'execution. La sortie
       standard de commande est connecte par  un  tube  a  un  descripteur  de
       fichier  dans  l'interpreteur d'execution, et ce descripteur de fichier
       est affecte a NOM[0]. L'entree standard de commande est connecte par un
       tube a un descripteur de fichier dans l'interpreteur d'execution, et ce
       descripteur de fichier est affecte a NOM[1]. Ce tube est  etabli  avant
       toute  redirection  indiquee  par  la commande  (voir REDIRECTIONS plus
       bas). Les descripteurs de fichier peuvent etre utilises comme arguments
       aux    commandes   d'interpreteur   et   redirections   utilisant   les
       developpements standards de mot. L'identifiant du  processus  (PID)  de
       l'interpreteur  engendre  pour  executer  le coprocessus est disponible
       comme valeur de la variable NAME_PID. La  commande  interne  wait  peut
       etre utilisee pour attendre que le coprocessus soit termine.

       L'etat renvoye d'un coprocessus est l'etat final de commande.

   D'efinitions des fonctions de l'interpr'eteur
       Une  fonction  de  l'interpreteur est un objet qui est appele comme une
       commande simple et qui execute une commande composee  avec  un  nouveau
       jeu  de  parametres  positionnels. Les fonctions de l'interpreteur sont
       declarees de la facon suivante :

       [ function ] nom () commande-compos'ee [redirection]
              Ceci definit une fonction possedant le  nom  mentionne.  Le  mot
              reserve   function   est   facultatif.   S'il  est  fourni,  les
              parentheses sont facultatives. Le corps de la  fonction  est  la
              commande  composee  commande-compos'ee  (voir Commandes compos'ees
              plus  haut).  Cette  commande  est  generalement  une  liste  de
              commandes entre { et }, mais peut etre n'importe quelle commande
              decrite dans Commandes compos'ees plus haut. La commande-compos'ee
              est  executee chaque fois que nom est indique comme le nom d'une
              commande normale. Toutes  les  redirections  (voir  REDIRECTIONS
              plus   bas)  indiquees  lorsqu'une  fonction  est  definie  sont
              effectuees lorsque la fonction est executee. L'etat final  d'une
              definition  de  fonction  est  zero,  a  moins  qu'une erreur de
              syntaxe ne se produise  ou  qu'une  fonction  en  lecture  seule
              n'existe  deja  avec  le  meme  nom.  Lorsque  la  fonction  est
              executee,  l'etat  final  est  celui  de  la  derniere  commande
              executee dans le corps de la fonction (voir FONCTIONS plus bas).

COMMENTAIRES

       Dans  un interpreteur non interactif ou dans un interpreteur interactif
       avec l'option interactive_comments  activee  par  la  commande  interne
       shopt  (voir  COMMANDES  INTERNES  DE  L'INTERPR'ETEUR plus bas), un mot
       commencant par # conduit a  ignorer  ce  mot  et  tous  les  caracteres
       restants  sur  la  ligne.  Un  interpreteur  interactif  sans  l'option
       interactive_comments  n'autorise   pas   les   commentaires.   L'option
       interactive_comments  est  activee  par  defaut  dans les interpreteurs
       interactifs.

PROTECTIONS

       Les protections (<< quoting >>) permettent de forcer  l'interpreteur  a
       ignorer  la  signification speciale de certains caracteres ou mots. Les
       protections peuvent etre utilisees pour desactiver  le  traitement  des
       caracteres  speciaux,  eviter  la  reconnaissance  des mots reserves ou
       empecher le developpement des parametres.

       Tous les m'etacaract`eres decrits plus  haut  dans  D'EFINITIONS  ont  des
       significations  speciales  pour l'interpreteur et doivent etre proteges
       pour ne representer que leur propre caractere.

       Lorsque les outils de developpement de l'historique des commandes  sont
       utilises (voir D'EVELOPPEMENT DE L'HISTORIQUE plus bas), le caractere de
       d'eveloppement de l'historique, generalement !, doit etre  protege  pour
       eviter le developpement de l'historique.

       Il y a trois mecanismes de protection : le caractere d'echappement, les
       guillemets simples (<< single  quotes >>)  et  les  guillemets  doubles
       (<< double quotes >>).

       Le  caract`ere d''echappement est une contre-oblique (\) non protegee. Il
       preserve la valeur litterale du caractere qui le suit, a l'exception du
       <newline>.  Si  un  couple  \<newline> apparait et si la contre-oblique
       n'est pas elle-meme protegee, l'ensemble \<newline> est considere comme
       une  continuation  de  ligne  (c'est-a-dire  qu'il est supprime du flux
       d'entree et ignore en pratique).

       Encadrer des caracteres entre des guillemets simples preserve la valeur
       litterale  de  chacun  des  caracteres  entre  guillemets  simples.  Un
       guillement simple ne peut pas etre place entre deux guillemets simples,
       meme s'il est precede d'une contre-oblique.

       Encadrer des caracteres entre des guillemets doubles preserve la valeur
       litterale de chacun  des  caracteres  sauf  $,  `,  \  et,  lorsque  le
       developpement  de  l'historique  est  active,  !. Les caracteres $ et `
       conservent leurs significations speciales entre guillemets doubles.  La
       contre-oblique  ne  conserve  sa signification speciale que lorsqu'elle
       est suivie par l'un des caracteres suivants : $, `, ", \ ou  <newline>.
       Un  guillemet double peut etre protege entre deux guillemets doubles en
       le  faisant  preceder  d'une  contre-oblique.  S'il  est   active,   le
       developpement   de   l'historique   sera  effectue,  a  moins  qu'un  !
       n'apparaissant  entre  guillemets  doubles  ne  soit  protege  par  une
       contre-oblique. La contre-oblique precedant le ! n'est pas supprimee.

       Les  caracteres  speciaux  *  et  @  ont  des  significations speciales
       lorsqu'ils se trouvent entre des guillemets  doubles  (voir  PARAM`ETRES
       plus bas).

       Les  mots  de  la forme $'cha^ine' sont traites specialement. Le mot est
       developpe en cha^ine avec les  caracteres  proteges  par  contre-oblique
       remplaces   comme   indique   par   le  standard  ANSI  C.  Les  suites
       d'echappement par contre-oblique, si  presentes,  sont  decodees  comme
       suit :
              \a     alerte (alarme) ;
              \b     effacement arriere (<< backspace >>) ;
              \e
              \E     caractere d'echappement ;
              \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  caractere  8 bits dont la valeur octale est nnn (un a
                     trois chiffres) ;
              \xHH   le caractere 8 bits dont la valeur  hexadecimale  est  HH
                     (un ou deux chiffres hexadecimaux) ;
              \cx    un caractere controle-x.

       Le  resultat  developpe est protege par des guillemets simples comme si
       le symbole dollar n'avait pas ete present.

       Une chaine  entre  guillemets  doubles  precedee  d'un  symbole  dollar
       ($"cha^ine")  conduira  a  la traduction de la chaine selon le parametre
       linguistique regional en vigueur. Si le parametre linguistique regional
       courant  est C ou POSIX, le symbole dollar est ignore. Si la chaine est
       traduite et remplacee, le  resultat  est  protege  par  des  guillemets
       doubles.

PARAM`ETRES

       Un  param`etre est une entite permettant de stocker des valeurs. Il peut
       etre un nom, un nombre ou un des caracteres speciaux decrits plus  bas,
       dans  Param`etres  sp'eciaux.  Une  variable est un parametre note par un
       nom. Une variable possede une valeur et zero  ou  plusieurs  attributs.
       Les  attributs  sont  affectes en utilisant la commande interne declare
       (voir declare dans COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).

       Un parametre est cree si une valeur lui a ete affectee. La chaine  vide
       est  une  valeur  correcte. Une fois qu'une variable est creee, elle ne
       peut etre detruite qu'en utilisant  la  commande  interne  unset  (voir
       COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).

       Une variable peut recevoir une valeur par une affectation de la forme

              nom=[valeur]

       Si  aucune  valeur  n'est  indiquee,  une chaine vide est affectee a la
       variable. Toutes les valeurs sont sujettes au developpement  du  tilde,
       des  parametres  et  des  variables,  a la substitution de commande, au
       developpement arithmetique et a la suppression  des  protections  (voir
       D'EVELOPPEMENTS  plus  bas).  Si  une  variable  a  son attribut integer
       configure, alors la valeur est  soumise  a  l'evaluation  arithmetique,
       meme  si  la  syntaxe  $((...))  n'est pas utilisee (voir D'eveloppement
       arithm'etique plus bas). Le decoupage en  mots  n'est  pas  effectue,  a
       l'exception  de  "$@" comme explique plus bas dans Param`etres sp'eciaux.
       Le developpement des  chemins  n'est  pas  effectue.  Les  affectations
       peuvent  egalement  apparaitre  comme  argument  des commandes internes
       suivantes : alias, declare, typeset, export, readonly et local.

       Dans le contexte ou une affectation affecte une valeur a  une  variable
       de  l'interpreteur  ou a un indice de tableau, l'operateur += peut etre
       utilise pour ajouter ou  additionner  a  la  precedente  valeur  de  la
       variable.  Lorsque  l'operateur  +=  est  applique  a une variable dont
       l'attribut integer (entier) a ete positionne,  la  valeur  est  evaluee
       comme  une  expression arithmetique et additionnee a la valeur actuelle
       de la variable qui est egalement evaluee. Lorsque += est applique a une
       variable  tableau  en  utilisant  l'affectation composee (voir Tableaux
       plus bas), la valeur de la variable  n'est  pas  detruite  (comme  elle
       l'est  lorsque = est utilise) et les nouvelles valeurs sont ajoutees au
       tableau, en commencant a l'indice maximum du tableau plus un (pour  les
       tableaux  indices) ou ajoutees comme comme un couple cle-valeur pour un
       tableau associatif. Lorsque l'operateur est applique a une variable  de
       type  chaine,  la  valeur  est developpee et concatenee en valeur de la
       variable.

   Param`etres positionnels
       Un param`etre positionnel est un parametre  note  par  un  ou  plusieurs
       chiffres (a l'exception du chiffre 0 seul). Les parametres positionnels
       sont affectes avec les arguments de l'interpreteur lors de  son  appel.
       Ils  peuvent  etre  reaffectes avec la commande interne set. On ne peut
       pas utiliser les affectations pour  les  parametres  positionnels.  Ils
       sont  temporairement  remplaces  lors  de l'execution d'une fonction de
       l'interpreteur (voir FONCTIONS plus bas).

       Un parametre positionnel constitue  de  plusieurs  chiffres  doit  etre
       encadre   par   des   accolades   lors   de   son  developpement  (voir
       D'EVELOPPEMENTS plus bas).

   Param`etres sp'eciaux
       L'interpreteur  traite   plusieurs   parametres   specifiquement.   Ces
       parametres  peuvent  uniquement  etre consultes, il n'est pas permis de
       leur affecter une valeur.
       *      Se developpe en ensemble des parametres positionnels, commencant
              par  le  premier.  Quand  le  developpement se produit entre des
              guillemets doubles, * se transforme en un seul mot constitue  de
              la  valeur  de  tous  les parametres positionnels separes par le
              premier caractere de la variable speciale IFS.  C'est-a-dire que
              "$*" est equivalent a "$1c$2c...", ou c est le premier caractere
              de la valeur de la variable IFS.  Si IFS  est  inexistante,  les
              parametres  sont  separes  par des espaces. Si IFS est vide, les
              parametres sont accoles sans separateurs.
       @      Se developpe en ensemble des parametres positionnels, commencant
              par  le  premier. Quand le developpement a lieu entre guillemets
              doubles, chaque parametre  se  developpe  en  un  mot  distinct.
              C'est-a-dire  que  "$@"  est  equivalent  a "$1" "$2" .... Si le
              developpement des guillemets doubles survient dans  un  mot,  le
              developpement  du  premier  parametre  est  accole a la premiere
              partie du mot d'origine et le developpement du dernier parametre
              est accole a la derniere partie du mot d'origine. Quand il n'y a
              pas de parametres positionnels, "$@" et $@ ne se developpent  en
              rien (c'est-a-dire qu'ils sont simplement elimines).
       #      Correspond   au  nombre  de  parametres  positionnels,  en  base
              decimale.
       ?      Se developpe en etat final de la derniere conduite  executee  au
              premier plan.
       -      Est   remplace  par  la  liste  des  options  de  l'interpreteur
              indiquees durant l'appel, configurees avec la  commande  interne
              set  ou  celles  creees  par l'interpreteur lui-meme (comme avec
              l'option -i).
       $      Se   transforme   en   PID   de    l'interpreteur.    Dans    un
              sous-interpreteur  (), il se transforme en PID de l'interpreteur
              et non pas du sous-interpreteur.
       !      Se transforme en PID de la  commande  (asynchrone)  executee  en
              arriere-plan le plus recemment.
       0      Se developpe en nom de l'interpreteur ou du script. Ce parametre
              est cree lors de l'initialisation de l'interpreteur. Si bash est
              appele  avec un fichier de commandes, $0 correspond au nom de ce
              fichier. Si bash est lance avec l'option -c, alors  $0  contient
              le  premier  argument,  s'il  y  en  a  un,  apres  la chaine de
              commandes a executer. Sinon, ce parametre  contient  le  nom  de
              fichier  utilise pour appeler bash, comme indique par l'argument
              zero.
       _      Au lancement  de  l'interpreteur,  contient  le  chemin  d'acces
              absolu  utilise  pour  appeler  l'interpreteur,  ou le script en
              cours d'execution tel qu'il est passe  dans  l'environnement  ou
              dans  la  liste des arguments. Devient le dernier argument de la
              commande precedente, apres developpement. Contient egalement  le
              chemin  d'acces  complet  de  chaque  commande  executee  et  se
              retrouve dans l'environnement exporte a cette commande. Lors  de
              la  verification  de  l'arrivee  de courrier, contient le nom du
              fichier de courrier en cours de consultation.

   Variables de l'interpr'eteur
       Les variables suivantes sont creees par l'interpreteur :

       BASH   Se developpe en chemin d'acces complet a l'instance courante  de
              bash.
       BASHOPTS
              Liste  des  options activees de l'interpreteur, separees par des
              deux-points << : >>. Chaque mot de  la  liste  est  un  argument
              correct  pour  l'option  -s  de  la commande interne shopt (voir
              COMMANDES INTERNES DE  L'INTERPR'ETEUR  plus  bas).  Les  options
              apparaissant  dans  BASHOPTS sont celles indiquees comme actives
              par  shopt.  Si  cette  variable  est  dans  l'environnement  au
              lancement  de  bash, chaque option de la liste est activee avant
              de lire n'importe quel fichier d'initialisation. Cette  variable
              est en lecture seule.
       BASHPID
              Se  transforme en PID de l'interpreteur bash courant. Differe de
              $$ sous certaines conditions, comme dans les  sous-interpreteurs
              ne necessitant pas que bash soit reinitialise.
       BASH_ALIASES
              Une  variable  de  type  tableau  associatif  dont  les elements
              correspondent a une liste interne d'alias comme celle geree  par
              la  commande  interne  alias.  Les elements ajoutes a ce tableau
              apparaissent dans la liste d'alias ; la  destruction  d'elements
              du tableau implique le retrait des alias de la liste.
       BASH_ARGC
              Une  variable  de type tableau contenant le nombre de parametres
              de chaque trame de la pile d'appel d'execution de l'interpreteur
              bash  courant. Le nombre de parametres du sous-programme courant
              (fonction de l'interpreteur ou script execute par .  ou  source)
              est  au sommet de la pile. Lorsqu'un sous-programme est execute,
              le  nombre  de  parametres  passes  est  place  dans  BASH_ARGC.
              L'interpreteur  cree BASH_ARGC seulement dans le mode de tracage
              etendu (voir plus bas la description de l'option extdebug de  la
              commande interne shopt).
       BASH_ARGV
              Une variable de type tableau contenant tous les parametres de la
              pile d'appel d'execution  de  l'interpreteur  bash  courant.  Le
              dernier  parametre du dernier sous-programme est au sommet de la
              pile ; le premier parametre  de  l'appel  initial  est  en  bas.
              Lorsqu'un  sous-programme  est  execute,  les parametres fournis
              sont places dans BASH_ARGV.  BASH_ARGV est cree uniquement  dans
              le  mode  de  tracage  etendu  (voir  plus bas la description de
              l'option extdebug de la commande interne shopt).
       BASH_CMDS
              Une variable  de  type  tableau  associatif  dont  les  elements
              correspondent  a une table de hachage interne de commandes comme
              celle geree par la commande interne hash. Les elements ajoutes a
              ce  tableau  apparaissent  dans  la  liste table de hachage ; la
              destruction  d'elements  du  tableau  implique  le  retrait  des
              commandes de la table de hachage.
       BASH_COMMAND
              La  commande  en  cours  d'execution  ou  sur  le  point  d'etre
              executee, a moins que l'interpreteur n'execute une commande a la
              suite d'une capture, auquel cas c'est la commande s'executant 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 elements sont les  numeros
              de  ligne  des  fichiers  sources  correspondant  a  chacun  des
              elements de FUNCNAME. ${BASH_LINENO[$i]} est  le  numero  de  la
              ligne dans le fichier source ou ${FUNCNAME[$i]} a ete appele (ou
              ${BASH_LINENO[$i-1]} si consulte depuis une  autre  fonction  de
              l'interpreteur).  Le  nom  du  fichier  source correspondant est
              ${BASH_SOURCE[$i]}. Utilisez LINENO pour obtenir  le  numero  de
              ligne courant.
       BASH_REMATCH
              Une  variable  de  type  tableau dont les elements sont affectes
              avec l'operateur binaire =~ dans la commande conditionnelle  [[.
              L'element  d'indice 0 est la partie de la chaine correspondant a
              l'expression rationnelle complete. L'element d'indice n  est  la
              partie  de  la  chaine correspondant a la n-ieme sous-expression
              entre parentheses. Cette variable est en lecture seule.
       BASH_SOURCE
              Une variable de type tableau dont les elements sont les noms des
              fichiers  source  correspondants  aux  elements  de  la variable
              tableau FUNCNAME.
       BASH_SUBSHELL
              Incrementee  chaque  fois  qu'un  sous-interpreteur   ou   qu'un
              environnement  de  sous-interpreteur  est  engendre.  La  valeur
              initiale est 0.
       BASH_VERSINFO
              Une variable de type  tableau  protegee  en  ecriture  dont  les
              elements  representent  la  version  de  cette instance de bash.
              Cette valeur est affectee aux elements du tableau comme suit :
              BASH_VERSINFO[0]        Le   numero   majeur   de   la   version
                                      (release).
              BASH_VERSINFO[1]        Le   numero   mineur   de   la   version
                                      (version).
              BASH_VERSINFO[2]        Le niveau de correctif.
              BASH_VERSINFO[3]        Le numero de compilation.
              BASH_VERSINFO[4]        Le statut de cette version (par  exemple
                                      beta1).
              BASH_VERSINFO[5]        La valeur de MACHTYPE.

       BASH_VERSION
              Se  developpe  en  une  chaine decrivant le numero de version de
              cette instance de bash.

       COMP_CWORD
              Un indice  dans  ${COMP_WORDS}  du  mot  contenant  la  position
              courante  du  curseur.  Cette variable n'est disponible que dans
              les fonctions de  l'interpreteur  appelees  par  les  outils  de
              completement  programmables (voir Compl`etement programmable plus
              bas).

       COMP_KEY
              La touche (ou derniere touche d'une suite de  touches)  utilisee
              pour appeler la fonction de completement courante.

       COMP_LINE
              La  ligne  de commande courante. Cette variable n'est disponible
              que dans les fonctions de l'interpreteur appelees par les outils
              de  completement  programmables  (voir Compl`etement programmable
              plus bas).

       COMP_POINT
              L'indice de la position courante du curseur relatif au debut  de
              la  commande  courante. Si la position courante du curseur est a
              la fin de la commande courante, la valeur de cette variable  est
              egale  a ${#COMP_LINE}. Cette variable n'est disponible que dans
              les  fonctions  de  l'interpreteur  et  les  commandes  externes
              appelees  par  les  outils  de  completement programmables (voir
              Compl`etement programmable plus bas).

       COMP_TYPE
              Configuree  a  une  valeur  entiere  correspondant  au  type  de
              completement  essaye  qui  a  provoque l'appel d'une fonction de
              completement :  TAB  pour  un  completement   normal,   ?   pour
              l'affichage  des  completements apres tabulations successives, !
              pour  l'affichage  des  alternatives  de  completement  de   mot
              partiel,  @  pour afficher les completements si le mot n'est pas
              modifie, ou % pour le menu de completement. Cette variable n'est
              disponible  que  dans  les  fonctions  de  l'interpreteur et les
              commandes externes  appelees  par  les  outils  de  completement
              programmables (voir Compl`etement programmable plus bas).

       COMP_WORDBREAKS
              Le  jeu  de  caracteres  que  la bibliotheque readline considere
              comme separateurs de  mots  lors  du  completement  de  mot.  Si
              COMP_WORDBREAKS   est   detruite,   elle   perd  ses  proprietes
              speciales, meme si elle est recreee par la suite.

       COMP_WORDS
              Une variable de type tableau (voir Tableaux plus bas) consistant
              en  mots  individuels de la ligne de commande courante. La ligne
              est decoupee en mots comme readline la decouperait, en utilisant
              COMP_WORDBREAKS  tel  que decrit plus haut. Cette variable n'est
              disponible que dans les fonctions de l'interpreteur appelees par
              les  outils  de  completement  programmables  (voir Compl`etement
              programmable plus bas).

       DIRSTACK
              Une  variable  de  type  tableau  (voir   Tableaux   plus   bas)
              representant  le  contenu courant de la pile de repertoires. Les
              repertoires apparaissent dans la pile dans l'ordre  dans  lequel
              la  commande  interne  dirs  les  affiche.  Les affectations des
              elements de cette variable tableau peuvent  etre  utilises  pour
              modifier  les  repertoires deja dans la pile, mais les commandes
              internes pushd et popd doivent etre utilisees  pour  ajouter  et
              enlever  des  repertoires.  L'affectation  de  cette variable ne
              modifiera pas le repertoire courant. Si DIRSTACK  est  detruite,
              elle perd ses proprietes speciales, meme si elle est recreee par
              la suite.

       EUID   Contient  l'UID  effectif  de   l'utilisateur,   initialise   au
              demarrage  de  l'interpreteur.  Cette  variable  est  en lecture
              seule.

       FUNCNAME
              Une variable de type tableau contenant  le  nom  de  toutes  les
              fonctions  de  l'interpreteur  actuellement dans la pile d'appel
              d'execution. L'element d'indice  0  est  le  nom  de  l'une  des
              fonctions en cours d'execution dans l'interpreteur. L'element le
              plus bas  est  "main".   Cette  variable  n'existe  que  si  une
              fonction   de  l'interpreteur  est  en  cours  d'execution.  Les
              affectations de FUNCNAME n'ont aucun effet et renvoient un  etat
              d'erreur.  Si  FUNCNAME  est  detruite, elle perd ses proprietes
              speciales, meme si elle est recreee par la suite.

       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 etat d'erreur.  Si  GROUPS  est  detruite,
              elle perd ses proprietes speciales, meme si elle est recreee par
              la suite.

       HISTCMD
              Le numero d'historique, ou l'indice dans la  file  d'historique,
              de  la commande en cours. Si HISTCMD est detruite, elle perd ses
              proprietes speciales, meme si elle est recreee par la suite.

       HOSTNAME
              Automatiquement configuree au nom de la machine courante.

       HOSTTYPE
              Automatiquement configuree en chaine decrivant de  facon  unique
              le  type  de  machine sur laquelle bash s'execute. La valeur par
              defaut depend du systeme.

       LINENO Chaque fois que ce parametre  est  consulte,  l'interpreteur  le
              remplace  par  un  nombre  decimal  representant le numero de la
              ligne actuelle (commencant a 1), au sein  du  script  ou  de  la
              fonction.  Hors d'un script ou d'une fonction, la valeur n'a pas
              necessairement de sens. Si LINENO est detruite,  elle  perd  ses
              proprietes speciales, meme si elle est recreee par la suite.

       MACHTYPE
              Automatiquement  configuree  en  chaine  decrivant  le  type  du
              systeme sur lequel bash s'execute, dans le  format  standard  de
              GNU processeur-compagnie-syst`eme. La valeur par defaut depend du
              systeme.

       OLDPWD Le repertoire de travail precedent  tel  que  configure  par  la
              commande cd.

       OPTARG La  valeur  du  dernier argument d'option traite par la commande
              interne getopts (voir COMMANDES INTERNES DE L'INTERPR'ETEUR  plus
              bas).

       OPTIND L'indice  du prochain argument a traiter par la commande interne
              getopts (voir COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).

       OSTYPE Automatiquement  configuree  en  chaine  decrivant  le   systeme
              d'exploitation  sur  lequel bash s'execute. La valeur par defaut
              depend du systeme.

       PIPESTATUS
              Une variable de type tableau (voir Tableaux plus bas)  contenant
              une  liste  des  etats  finaux  des  processus  executes dans la
              conduite executee la plus recemment au premier  plan  (qui  peut
              eventuellement contenir une seule commande).

       PPID   L'identifiant  du  processus  parent  de  l'interpreteur.  Cette
              variable est en lecture seule.

       PWD    Le repertoire de  travail  courant  tel  que  configure  par  la
              commande cd.

       RANDOM A chaque fois que ce parametre est consulte, un entier aleatoire
              entre 0 et 32767 est engendre. Cette suite de nombres aleatoires
              peut  etre  initialisee  en  affectant  une valeur a RANDOM.  Si
              RANDOM est detruite, elle perd ses proprietes speciales, meme si
              elle est recreee par la suite.

       REPLY  Configuree  en  ligne de saisie lue par la commande interne read
              lorsqu'aucun argument n'a ete fourni.

       SECONDS
              A chaque fois que  ce  parametre  est  consulte,  le  nombre  de
              secondes  ecoulees  depuis  le  lancement  de l'interpreteur est
              renvoye. Si une valeur  est  affectee  a  SECONDS,  les  valeurs
              renvoyees  lors  des consultations ulterieures sont le nombre de
              secondes ecoulees depuis l'affectation,  ajoutees  a  la  valeur
              affectee.  Si  SECONDS  est  detruite,  elle perd ses proprietes
              speciales, meme si elle est recreee par la suite.

       SHELLOPTS
              Liste des options activees de l'interpreteur, separees  par  des
              deux-points  << : >>.  Chaque  mot  de  la liste est un argument
              correct pour l'option  -o  de  la  commande  interne  set  (voir
              COMMANDES  INTERNES  DE  L'INTERPR'ETEUR  plus  bas). Les options
              apparaissant dans SHELLOPTS sont celles indiquees comme  actives
              par  set  -o.  Si  cette  variable  est  dans l'environnement au
              lancement de bash, chaque option de la liste est  activee  avant
              de  lire n'importe quel fichier d'initialisation. Cette variable
              est en lecture seule.

       SHLVL  Incremente de 1 a chaque appel d'une instance de bash.

       UID    Contient l'UID de l'utilisateur courant, initialise au demarrage
              de l'interpreteur. Cette variable est en lecture seule.

       Les   variables  suivantes  sont  utilisees  par  l'interpreteur.  Dans
       certains cas, bash affecte des valeurs par defaut aux  variables ;  ces
       cas sont decrits plus bas.

       BASH_ENV
              Si ce parametre existe lorsque bash execute un script, sa valeur
              est consideree comme un nom de fichier contenant  les  commandes
              d'initialisation  de  l'interpreteur,  comme  dans ~/.bashrc. La
              valeur de BASH_ENV est soumise au developpement des  parametres,
              a  la  substitution de commande et au developpement arithmetique
              avant d'etre consideree comme un nom de fichier.  PATH n'est pas
              utilisee pour rechercher le fichier obtenu.
       CDPATH Le  chemin  de  recherche  de  la commande interne cd. Il s'agit
              d'une liste de repertoires, separes par des deux-points << : >>,
              que l'interpreteur consulte lorsqu'il cherche un sous-repertoire
              destination  de  la  commande  cd.  Un  exemple  de  valeur  est
              ".:~:/usr".
       BASH_XTRACEFD
              Si   configuree   a   une  valeur  entiere  correspondant  a  un
              descripteur de fichier correct, bash ecrira la trace  de  sortie
              si  set  -x  est  active  vers  ce  descripteur  de  fichier. Le
              descripteur  de  fichier  est  ferme  quand  BASH_XTRACEFD   est
              detruite  ou  qu'une  nouvelle valeur lui est affectee. Detruire
              BASH_XTRACEFD ou lui affecter la chaine vide conduit la trace de
              sortie a etre envoye vers la sortie d'erreur standard. Remarquez
              que configurer BASH_XTRACEFD a 2 (le descripteur de  fichier  de
              la  sortie  d'erreur standard) puis la detruite revient a fermer
              la sortie d'erreur standard.
       COLUMNS
              Utilisee par la  commande  interne  select  pour  determiner  la
              taille  du terminal lors de l'affichage des listes de selection.
              Automatiquement configuree a la reception d'un signal SIGWINCH.
       COMPREPLY
              Une  variable  de  type  tableau  dans  lequel  bash   lit   les
              completements   possibles   produits   par   une   fonction   de
              l'interpreteur  appelee   par   les   outils   de   completement
              programmables (voir Compl`etement programmable plus bas).
       EMACS  Si  bash  trouve  cette  variable  dans  l'environnement lorsque
              l'interpreteur demarre avec la  valeur  "t",  il  considere  que
              l'interpreteur  est  lance dans un tampon d'interpreteur d'Emacs
              et desactive l'edition en ligne.
       FCEDIT L'editeur par defaut utilise par la commande interne fc.
       FIGNORE
              Une liste de suffixes, separes par des deux-points << : >>,  que
              bash  ignorera  lors  du completement des noms de fichiers (voir
              READLINE plus bas). Un nom de fichier dont le suffixe correspond
              a l'un de ceux mentionnes dans FIGNORE est exclu de la liste des
              noms  de  fichiers  correspondant  pour  le  completement.   Par
              exemple,  cette  variable  peut  prendre  la  valeur ".o:~" (des
              protections sont necessaires pour l'affectation d'une  valeur  a
              cette variable, qui contient des tildes).
       GLOBIGNORE
              Une  liste  de  motifs  separes  par  des  deux-points  << : >>,
              definissant l'ensemble des noms de fichiers a  ignorer  lors  du
              developpement  des chemins. Si un nom de fichier correspondant a
              un motif de developpement des chemins correspond egalement a  un
              motif   dans  GLOBIGNORE,  il  est  supprime  de  la  liste  des
              correspondances.
       HISTCONTROL
              Une liste de valeurs,  separees  par  des  deux-points  << : >>,
              commandant la facon dont les commandes sont sauvegardees dans la
              file d'historique. Si la liste des valeurs  contient  la  valeur
              ignorespace,  les  lignes  commencant par une espace ne sont pas
              sauvegardees dans la file  d'historique.  La  valeur  ignoredups
              conduit  a ne pas sauvegarder une ligne correspondant exactement
              a la ligne de commande precedente. La presence de ignoreboth est
              un  condense pour ignorespace et ignoredups. La valeur erasedups
              conduit a retirer de la  file  d'historique  toutes  les  lignes
              precedant la ligne courante et lui correspondant avant que cette
              ligne y soit sauvegardee. Toute valeur qui ne fait pas partie de
              la  liste  ci-dessus est ignoree. Si HISTCONTROL est inexistante
              ou si elle ne contient  pas  une  valeur  correcte,  toutes  les
              lignes   lues   par   l'analyseur   de   l'interpreteur   seront
              sauvegardees dans la  file  d'historique,  selon  la  valeur  de
              HISTIGNORE.  La  seconde  ligne  et les suivantes d'une commande
              multiligne  ne  sont  pas  testees   et   sont   ajoutees   dans
              l'historique independamment de la valeur de HISTCONTROL.
       HISTFILE
              Le  nom  du  fichier  dans lequel l'historique des commandes est
              sauvegarde (voir HISTORIQUE plus bas). Par defaut, il s'agit  de
              ~/.bash_history.  Si  inexistante,  l'historique  des  commandes
              n'est pas sauvegarde lorsqu'un interpreteur interactif termine.
       HISTFILESIZE
              Le  nombre  maximum  de  lignes  contenues   dans   le   fichier
              d'historique.  Quand  cette  variable  contient  une  valeur, le
              fichier historique est  tronque,  si  besoin,  en  enlevant  les
              entrees  les  plus  anciennes, pour ne contenir que ce nombre de
              lignes. La valeur par defaut  est  500.  Ce  fichier  est  aussi
              tronque  a cette taille apres son ecriture quand un interpreteur
              interactif termine.
       HISTIGNORE
              Une liste  de  motifs,  separes  par  des  deux-points  << : >>,
              determinant   quelles   lignes   de   commande   devraient  etre
              sauvegardees  dans  la  file  d'historique.  Chaque  motif   est
              accroche  au  debut  de  la  ligne  et  doit lui correspondre en
              completement (aucun ajout de << * >>  implicite).  Chaque  motif
              est  compare  a chaque ligne apres application des verifications
              de  HISTCONTROL.  En  plus  des  motifs  generiques  usuels   de
              l'interpreteur,  << & >>  correspond  a  la  ligne precedente de
              l'historique.   << & >>   peut    etre    protegee    par    une
              contre-oblique ; la contre-oblique est supprimee avant de tenter
              une  comparaison.  La  seconde  ligne  et  les  suivantes  d'une
              commande  multiligne  ne  sont pas testees et sont ajoutees dans
              l'historique quelque soit la valeur de HISTIGNORE.
       HISTSIZE
              Le nombre de  commandes  a  memoriser  dans  l'historique  (voir
              HISTORIQUE plus bas). La valeur par defaut est 500.
       HISTTIMEFORMAT
              Si  cette  variable  existe  et  n'est  pas  vide, sa valeur est
              utilisee comme une chaine de  caracteres  par  strftime(3)  afin
              d'imprimer l'horodatage associe a chaque element de l'historique
              affiche par la  commande  interne  history.  Si  cette  variable
              existe, les horodatages sont ecrits dans le fichier d'historique
              afin d'etre conserves  au  fur  et  a  mesure  des  sessions  de
              l'interpreteur.   Cela   utilise  le  caractere  de  commentaire
              d'historique pour distinguer l'horodatage des autres  lignes  de
              l'historique.
       HOME   Le  repertoire  d'accueil  de l'utilisateur courant ; l'argument
              par defaut de  la  commande  interne  cd.  La  valeur  de  cette
              variable est aussi utilisee lors du developpement du tilde.
       HOSTFILE
              Contient le nom d'un fichier ayant le meme format que /etc/hosts
              qui  devra  etre  lu  lorsque  l'interpreteur  aura  besoin   de
              completer   un  nom  de  machine.  La  liste  des  completements
              possibles  de  noms  de  machines  peut  etre  changee   pendant
              l'execution  de  l'interpreteur ; a la tentative de completement
              de nom de machine suivant le changement de valeur,  bash  ajoute
              le  contenu du nouveau fichier a la liste existante. Si HOSTFILE
              existe mais est vide, ou designe un fichier  non  accessible  en
              lecture,  bash  essaie  de lire /etc/hosts pour obtenir la liste
              des  completements  de  noms  de  machines  possibles.   Lorsque
              HOSTFILE  est  detruite,  la  liste  des  noms  de  machines est
              effacee.
       IFS    Le s'eparateur de champs interne (<< Internal Field Separator >>)
              qui   est   utilise   pour   le  decoupage  en  mots  apres  les
              developpements et pour decouper  les  lignes  en  mots  avec  la
              commande    interne    read.    La   valeur   par   defaut   est
              << <space><tab><newline> >>.
       IGNOREEOF
              Commande  le  comportement  d'un   interpreteur   interactif   a
              reception  d'un  caractere  EOF  (fin  de  fichier) comme unique
              saisie. Si elle existe, la valeur est le  nombre  de  caracteres
              EOF consecutifs qui doivent etre tapes comme premiers caracteres
              sur une ligne de  saisie  avant  que  bash  ne  termine.  Si  la
              variable  existe  mais  que  sa valeur n'est pas numerique ou si
              elle n'a pas de valeur, la valeur par defaut  est  10.  Si  elle
              n'existe   pas,   EOF   signifie   la  fin  de  la  saisie  pour
              l'interpreteur.
       INPUTRC
              Le nom du fichier de configuration de readline  prioritaire  sur
              le fichier par defaut ~/.inputrc (voir READLINE plus bas).
       LANG   Utilisee pour determiner le parametre linguistique regional pour
              toute categorie non specifiquement selectionnee par une variable
              commencant par LC_.
       LC_ALL Cette  variable  surpasse  LANG  et  toute  autre  variable  LC_
              indiquant une categorie de parametres linguistiques regionaux.
       LC_COLLATE
              Cette variable determine l'ordre de collation utilise pour trier
              les  resultats  du  developpement  des  chemins  et determine le
              comportement   des   expressions   de   plage,    des    classes
              d'equivalences et des suites de collations dans le developpement
              des chemins et la correspondance de motifs.
       LC_CTYPE
              Cette variable determine l'interpretation des caracteres  et  le
              comportement des classes de caracteres lors du developpement des
              chemins et de la recherche de correspondances de motifs.
       LC_MESSAGES
              Cette variable  determine  le  parametre  linguistique  regional
              utilise  pour  traduire  les  chaines  entre  guillemets doubles
              precedees d'un $.
       LC_NUMERIC
              Cette variable  determine  le  parametre  linguistique  regional
              utilise pour formater les nombres.
       LINES  Utilisee  par  la  commande  interne  select  pour determiner la
              longueur de colonne lors de l'affichage des listes de selection.
              Automatiquement configuree a la reception d'un signal SIGWINCH.
       MAIL   Si ce parametre correspond a un nom de fichier et si la variable
              MAILPATH  est  inexistante,  bash   informe   l'utilisateur   de
              l'arrivee de messages dans le fichier indique.
       MAILCHECK
              Indique  l'intervalle  (en secondes) avec lequel bash verifie si
              un nouveau message est arrive.  La  valeur  par  defaut  est  60
              secondes.  Lorsque le delai est ecoule, l'interpreteur verifiera
              la presence d'un  courrier  electronique  avant  d'afficher  son
              invite  de  base. Si cette variable est inexistante, ou contient
              une valeur strictement  negative,  l'interpreteur  desactive  la
              verification du courrier.
       MAILPATH
              Une  liste  de  noms  de  fichiers  separes  par des deux-points
              << : >>, dans lesquels on verifiera l'arrivee  de  courrier.  Le
              nom  d'un  fichier  peut  etre  suivi d'un point d'interrogation
              << ? >>, puis d'une chaine de caracteres indiquant le message  a
              afficher  en cas de courrier. Dans cette chaine, le parametre $_
              correspond au nom du fichier de courrier courant. Exemple :
              MAILPATH='/usr/spool/mail/bfox?"Vous           avez           du
              courrier":~/shell-mail?"$_ a du courrier !"'
              Bash  fournit  une  valeur  par defaut pour cette variable, mais
              l'emplacement du fichier boite a lettres depend du systeme  (par
              exemple /usr/spool/mail/$USER).
       OPTERR Si positionne a la valeur 1, bash affiche les messages d'erreurs
              engendres  par  la  commande  interne  getopts  (voir  COMMANDES
              INTERNES  DE  L'INTERPR'ETEUR  plus bas).  OPTERR est initialisee
              avec la  valeur  1  a  chaque  appel  de  l'interpreteur  ou  au
              lancement d'un script.
       PATH   Le chemin de recherche des commandes a executer. Il s'agit d'une
              liste de repertoires, separes par des deux-points  << : >>  dans
              lesquels  l'interpreteur recherche les commandes (voir EX'ECUTION
              DES COMMANDES plus bas). Un nom de repertoire  de  taille  nulle
              (vide)  dans la valeur de PATH designe le repertoire courant. Un
              repertoire  vide  peut   apparaitre   comme   deux   deux-points
              consecutifs  ou  comme  des  deux-points  en debut ou en fin. Le
              chemin  par  defaut  depend  du  systeme  et  est   choisi   par
              l'administrateur   installant   bash.  Une  valeur  commune  est
              ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin''.
       POSIXLY_CORRECT
              Si cette  variable  existe  dans  l'environnement  lorsque  bash
              demarre,  l'interpreteur  passe  en mode posix avant de lire les
              fichiers de configuration comme si l'option  --posix  avait  ete
              fournie.  Si  elle  est  creee pendant que l'interpreteur est en
              cours d'execution,  bash  active  le  mode  posix  comme  si  la
              commande set -o posix avait ete executee.
       PROMPT_COMMAND
              Si   existante,   sa   valeur   est   executee   comme  commande
              prealablement a l'affichage de chaque invite de base.
       PROMPT_DIRTRIM
              Si elle contient un nombre superieur a zero,  cette  valeur  est
              utilisee  comme nombre de repertoires finaux a conserver lors du
              developpement des protections de chaine d'invite \w et \W  (voir
              INVITES  plus  bas). Les caracteres supprimes sont remplaces par
              une ellipse.
       PS1    La valeur de ce parametre est  developpee  puis  utilisee  comme
              chaine  d'invite  de base (voir INVITES plus bas). La valeur par
              defaut est << \s-\v\$  >>.
       PS2    La valeur de ce parametre est developpee comme PS1 puis utilisee
              comme  chaine  d'invite  secondaire.  La  valeur  par defaut est
              << >  >>.
       PS3    La valeur de ce  parametre  est  utilisee  comme  invite  de  la
              commande select (voir GRAMMAIRE DE L'INTERPR'ETEUR plus haut).
       PS4    La valeur de ce parametre est developpee comme PS1 puis affichee
              entre chaque commande lors d'un suivi  d'execution.  Le  premier
              caractere  de  PS4 est repete autant de fois que necessaire pour
              indiquer le niveau  d'imbrication.  La  valeur  par  defaut  est
              << +  >>.
       SHELL  Le  chemin  d'acces  complet  a  l'interpreteur de commandes est
              conserve dans cette variable d'environnement. Si inexistante  au
              demarrage  de l'interpreteur, bash lui affecte le chemin d'acces
              complet  a  l'interpreteur  de   commandes   de   connexion   de
              l'utilisateur courant.
       TIMEFORMAT
              La  valeur  de  ce  parametre est utilisee en tant que chaine de
              format indiquant comment les informations de parametrage doivent
              etre affichees pour les conduites precedees du mot reserve time.
              Le caractere % introduit une suite de  caracteres  d'echappement
              qui  est developpee en valeur de temps ou autre information. Les
              suites de caracteres d'echappement et leurs significations  sont
              les suivantes ; les crochets marquent les parties facultatives.
              %%        Un % seul (non interprete).
              %[p][l]R  Le temps ecoule en secondes.
              %[p][l]U  Le  temps  processeur  ecoule  en  mode utilisateur en
                        secondes.
              %[p][l]S  Le  temps  processeur  ecoule  en  mode   systeme   en
                        secondes.
              %P        Le  pourcentage  de  temps  processeur utilise calcule
                        avec (%U + %S) / %R.

              Le p facultatif est un chiffre indiquant la pr'ecision, le nombre
              de  chiffres  apres  la  virgule.  Une  valeur  de  0  conduit a
              affichage de nombre entiers. Trois chiffres au plus peuvent etre
              affiches  apres  la  virgule ;  tout  valeur superieure a 3 sera
              modifiee en 3. Si p n'est pas precise, la valeur 3 est utilisee.

              Le l facultatif  indique  un  format  plus  long,  incluant  les
              minutes,  de  la forme MMmSS.DDs. La valeur de p determine si la
              partie decimale est affichee ou non.

              Si cette variable n'existe pas, bash agit comme si elle avait la
              valeur  $'\nreal\t%3lR\nuser\t%3lU\nsys%3lS'.  Si  la valeur est
              vide, aucune information de  chronometrage  n'est  affichee.  Un
              caractere  final  de saut de ligne est ajoute quand la chaine de
              format est affichee.

       TMOUT  Si configuree en valeur strictement positive, TMOUT est  traitee
              comme  le  delai  par  defaut  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'entree  vient d'un terminal. Dans un
              interpreteur interactif, la  valeur  est  interpretee  comme  le
              nombre  de  secondes  a  attendre une saisie apres avoir affiche
              l'invite de base. Bash se termine apres avoir attendu pendant ce
              nombre de secondes si aucune saisie n'est arrivee.

       TMPDIR Si  existante,  bash  utilise  sa valeur comme nom de repertoire
              dans lequel bash cree les fichiers  temporaires  necessaires  au
              fonctionnement de l'interpreteur.

       auto_resume
              Cette   variable  commande  le  comportement  de  l'interpreteur
              vis-a-vis de l'utilisateur et du controle des taches.  Si  cette
              variable  existe,  les  commandes  simples constituees d'un seul
              mot, sans  redirection,  sont  considerees  comme  de  possibles
              relances  de taches suspendues. Aucune ambiguite n'est possible,
              si plusieurs taches commencent par la chaine saisie, la tache  a
              laquelle  il a ete accede le plus recemment est selectionnee. Le
              nom d'une tache suspendue, dans ce contexte,  est  la  ligne  de
              commande  utilisee  pour  la  lancer.  Si configuree a la valeur
              exact, la chaine fournie doit  correspondre  exactement  au  nom
              d'une  tache  suspendue ;  si  configuree a substring, la chaine
              fournie doit correspondre a une sous-chaine du nom de  la  tache
              suspendue. La valeur substring donne une fonctionnalite analogue
              a l'identificateur de tache %? (voir CONTR^OLE  DES  T^ACHES  plus
              bas). Si configuree a toute autre valeur, la chaine fournie doit
              etre le prefixe du nom d'une tache suspendue ; cela fournit  une
              fonctionnalite analogue a l'identificateur de tache %string.

       histchars
              Les  deux  ou  trois  caracteres  commandant le developpement de
              l'historique et le decoupage en lexemes (voir  D'EVELOPPEMENT  DE
              L'HISTORIQUE plus bas). Le premier caractere est le caract`ere de
              d'eveloppement de l'historique, celui qui indique le  debut  d'un
              developpement  d'historique  (normalement  << ! >>).  Le  second
              caractere  est  celui  de  substitution  rapide,  utilise  comme
              raccourci pour relancer la commande precedente, en modifiant une
              partie de la chaine (par defaut << ^ >>). Le troisieme caractere
              facultatif  est  celui qui indique, lorsqu'on le trouve en debut
              de mot que le reste de la ligne est un commentaire  (normalement
              << # >>).  Ce  caractere de commentaire empeche le developpement
              de l'historique pour tous les mots restants sur la ligne. Il  ne
              conduit  pas  necessairement  l'analyseur  de  l'interpreteur  a
              considerer le reste de la ligne comme un commentaire.

   Tableaux
       Bash fournit des variables de type tableau indice ou associatif, a  une
       dimension.  Toute variable peut etre utilisee comme tableau indice ; la
       commande interne  declare  peut  servir  a  declarer  explicitement  un
       tableau.  Il  n'y a pas de limitation maximum a la taille d'un tableau,
       ni d'obligation a  indicer  les  elements  ou  les  affecter  de  facon
       contigue.   Les  tableaux  indices  sont  consultes  avec  des  entiers
       (evaluations arithmetiques comprises)commencant a zero ;  les  tableaux
       associatifs sont consultes avec des chaines arbitraires.

       Un  tableau  indice est cree automatiquement si une variable quelconque
       est affectee en utilisant la syntaxe nom[indice]=valeur.  L'indice  est
       traite  comme  une  expression  arithmetique  et  s'evalue en un nombre
       positif. Pour declarer explicitement  un  tableau  indice,  on  utilise
       declare  -a  nom  (voir COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).
       declare -a nom[indice] est aussi accepte ; l'indice est ignore.

       Les tableaux associatifs sont crees en utilisant declare -A nom.

       Des attributs peuvent  etre  indiques  pour  une  variable  tableau  en
       utilisant  les  commandes  internes  declare et readonly. Les attributs
       s'appliquent a tous les elements d'un tableau.

       Les tableaux sont affectes en utilisant l'affectation  composee  de  la
       forme  nom=(valeur_1  ...  valeur_n),  ou chaque valeur est de la forme
       [indice]=cha^ine. Les affectations de tableau indice ne  necessitent  ni
       crochets  ni indices. Lors de l'affectation de tableaux indices, si les
       crochets et les indices facultatifs sont fournis, les affectations  ont
       lieu  en  consequence ;  sinon  l'indice  de  l'element  affecte est le
       dernier indice affecte plus un. L'indexation commence a zero.

       Lors  de  l'affectation   d'un   tableau   associatif,   l'indice   est
       obligatoire.

       Cette  syntaxe  est aussi acceptee par la commande interne declare. Les
       elements individuels du tableau sont affectes en utilisant  la  syntaxe
       nom[indice]=valeur presentee plus haut.

       Tout   element   d'un   tableau   est   accessible   avec  la  notation
       ${nom[indice]}. Les accolades sont necessaires pour eviter les conflits
       avec  le  developpement  des  chemins.  Si indice est @ ou *, le mot se
       developpe en tous les elements de nom. Ces deux  indices  ne  different
       que  lorsque  le  mot  apparait entre guillemets doubles. Si le mot est
       entre guillemets  doubles,  ${nom[*]}  se  developpe  en  un  seul  mot
       contenant  les  valeurs  de  chaque  element du tableau separees par le
       premier caractere de la variable speciale IFS  et  ${nom[@]}  developpe
       chaque  element de nom en un mot distinct. Quand il n'y a pas d'element
       dans le tableau, ${nom[@]} ne se developpe en rien. Si le developpement
       entre   guillemets   doubles   survient  a  l'interieur  d'un  mot,  le
       developpement du premier parametre est accole a la premiere  partie  du
       mot  original  et le developpement du dernier parametre est accole a la
       derniere partie du mot original. Le comportement est analogue  a  celui
       des  parametres  speciaux  * et @ (voir Param`etres sp'eciaux plus haut).
       ${#nom[indice]} s'evalue en longueur de  l'element  ${nom[indice]}.  Si
       l'indice  est  *  ou  @, s'evalue en nombre d'elements dans le tableau.
       Acceder a une variable tableau sans indice est equivalent a  acceder  a
       l'element de tableau d'indice 0.

       Une  variable  tableau  est  consideree  configuree si une valeur a ete
       affectee a un indice. La chaine vide est une valeur correcte.

       La  commande  interne  unset  sert  a  detruire  les  tableaux.   unset
       nom[indice]  detruit  l'element  de  tableau  d'indice  indice. Un soin
       particulier doit etre apporte afin d'eviter des  effets  de  bords  non
       desires  provoques  par le developpement des chemins. unset nom, ou 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 preciser  un  tableau  indice  et  une  option  -A  pour
       preciser  un  tableau  associatif. La commande interne read accepte une
       option -a pour affecter une liste de mots lus depuis l'entree  standard
       dans  un  tableau.  Les commandes internes set et declare affichent les
       valeurs d'un tableau d'une facon qui permet de les reutiliser pour  des
       affectations.

D'EVELOPPEMENTS

       Les  developpements  sont  appliques a la ligne de commande apres avoir
       ete decoupee en mots. Sept types de developpements sont effectues :  le
       d'eveloppement   des   accolades,   le   d'eveloppement   du   tilde,  le
       d'eveloppement des param`etres  et  des  variables,  la  substitution  de
       commande,  le  d'eveloppement  arithm'etique,  le d'ecoupage en mots et le
       d'eveloppement des chemins.

       L'ordre des developpements est : developpement des accolades, du tilde,
       des parametres, des variables, arithmetique et substitution de commande
       (effectuee  de  la  gauche  vers  la  droite),  decoupage  en  mots  et
       developpement des chemins.

       Sur  les  systemes qui le permettent, un developpement supplementaire a
       lieu : la substitution de processus.

       Seuls le developpement des  accolades,  le  decoupage  en  mots  et  le
       developpement  des  chemins  peuvent  modifier  le  nombre de mots. Les
       autres developpement transforment un mot unique en un autre mot unique.
       La  seule  exception  a cette regle est le developpement de << $@ >> et
       << ${nom[@]} >> comme explique plus haut (voir PARAM`ETRES).

   D'eveloppement des accolades
       Le d'eveloppement des accolades est un mecanisme permettant de  produire
       des chaines quelconques. Il est similaire au d'eveloppement des chemins,
       mais les noms de fichiers produits n'existent pas  necessairement.  Les
       motifs   qui   seront  developpes  prennent  la  forme  d'un  pr'eambule
       facultatif, suivi soit par  une  serie  de  chaines  separees  par  des
       virgules,  soit  par l'expression d'une serie entre accolades, et suivi
       par un post-scriptum facultatif. Le preambule est insere devant chacune
       des  chaines  contenues  entre  les  accolades  et le post-scriptum est
       concatene a la fin de chacune des chaines resultantes, le developpement
       se faisant de gauche a droite.

       Plusieurs   developpements  d'accolades  peuvent  etre  imbriques.  Les
       resultats de chaque developpement ne sont pas tries, l'ordre de  gauche
       a droite est conserve. Par exemple a{d,c,b}e se developpe en << ade ace
       abe >>.

       Une expression de serie est de la forme {x..y[..incr]}, ou x et y  sont
       soit  des  entiers,  soit des caracteres uniques, et incr, un increment
       facultatif, est un entier. Lorsqu'il s'agit d'entiers, l'expression est
       remplacee  par  la  liste  des nombres entre x et y inclus. Les entiers
       fournis peuvent etre prefixes par 0 pour forcer chaque terme a avoir la
       meme  longueur.  Si  x  ou  y  commencent  par  un zero, l'interpreteur
       essaiera de forcer tous  les  termes  crees  a  la  meme  longueur,  en
       ajoutant  des  zeros au besoin. S'il s'agit de caracteres, l'expression
       se developpe en ensemble des caracteres situes entre x et y d'un  point
       de vue lexicographique. Remarquez que x et y doivent etre du meme type.
       Si l'increment est fourni, il est utilise comme difference entre chaque
       terme.  L'increment  par defaut est 1 ou -1 suivant les valeurs de x et
       y.

       Le  developpement  des  accolades  est  effectue   avant   tout   autre
       developpement  et  tous les caracteres ayant une signification speciale
       pour les autres developpements sont  conserves  dans  le  resultat.  Il
       s'agit  d'une  modification  purement litterale. Bash n'effectue aucune
       interpretation syntaxique du texte entre les accolades.

       Un developpement  d'accolades  correctement  forme  doit  contenir  des
       accolades  ouvrante  et  fermante non protegees et au moins une virgule
       non protegee ou une expression de serie  correcte.  Tout  developpement
       d'accolades  incorrectement  forme  est  laisse  inchange. Un { ou un ,
       peuvent  etre  proteges  par  une  contre-oblique  pour  eviter  d'etre
       consideres  comme  partie d'une expression entre accolades. Pour eviter
       tout conflit avec le developpement des parametres, la chaine  ${  n'est
       pas consideree comme eligible au developpement des accolades.

       Cette  construction est typiquement utilisee comme raccourci lorsque le
       prefixe commun aux chaines a engendrer est plus long que dans l'exemple
       ci-dessus :

              mkdir /usr/local/src/bash/{old,new,dist,bugs}
       ou
              chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

       Le  developpement  des accolades induit une legere incompatibilite avec
       les versions historiques de sh. sh n'effectue aucun traitement sur  les
       accolades  ouvrantes et fermantes lorsqu'elles apparaissent dans un mot
       et les laisse inchangees. Bash supprime les accolades  dans  les  mots,
       apres  developpement. Par exemple, si le mot file{1,2} est fourni a sh,
       il reste inchange en sortie. En revanche, il est  transforme  en  file1
       file2  par  bash.  Si une compatibilite stricte avec sh est necessaire,
       lancez bash  avec  l'option  +B  ou  desactivez  le  developpement  des
       accolades  avec l'option +B de la commande set (voir COMMANDES INTERNES
       DE L'INTERPR'ETEUR plus bas).

   D'eveloppement du tilde
       Si un mot commence par un caractere tilde (<< ~ >>) non  protege,  tous
       les  caracteres precedant la premiere barre oblique non protegee (voire
       tous les caracteres s'il n'y a pas de barre oblique non protegee), sont
       consideres  comme un pr'efixe tilde. Si aucun caractere du prefixe tilde
       n'est protege, les caracteres suivant le tilde sont  traites  comme  un
       identifiant  de connexion possible. Si cet identifiant de connexion est
       une chaine vide, le tilde est  remplace  par  la  valeur  du  parametre
       d'interpreteur  HOME.  Si HOME n'existe pas, le repertoire d'accueil de
       l'utilisateur executant l'interpreteur est utilise a la place. Sinon le
       prefixe  tilde  est  remplace  par  le  repertoire  d'accueil associe a
       l'identifiant de connexion indique.

       Si le  prefixe  tilde  est  << ~+ >>,  la  valeur  de  la  variable  de
       l'interpreteur  PWD  le  remplace. Si le prefixe tilde est << ~- >>, la
       valeur de la variable de l'interpreteur OLDPWD, si existante,  lui  est
       substituee. Si les caracteres a la suite du tilde dans le prefixe tilde
       representent un nombre N prefixe facultativement par un << + >>  ou  un
       << - >> le prefixe tilde est remplace par l'element correspondant de la
       pile de repertoires telle qu'il serait affiche par la commande  interne
       dirs  appelee avec le prefixe tilde en argument. Si les caracteres a la
       suite du tilde dans le prefixe tilde representent  un  nombre  sans  un
       << + >> ou << - >> en tete, on suppose qu'il s'agit de << + >>.

       Si  l'identifiant  de connexion est incorrect ou si le developpement du
       tilde echoue, le mot est inchange.

       Chaque affectation de variable verifie  immediatement  la  presence  de
       prefixes tilde non proteges suivant un : ou le premier =. Dans ces cas,
       le developpement des tildes est aussi effectue. On peut  donc  utiliser
       des  noms  de  fichiers  avec des tildes dans des affectations de PATH,
       MAILPATH et CDPATH et l'interpreteur affectera la valeur developpee.

   Remplacement des param`etres
       Le  caractere  << $ >>  permet  d'introduire   le   developpement   des
       parametres,   la   substitution   de   commande   ou  le  developpement
       arithmetique. Le nom du parametre ou du symbole a developper peut  etre
       encadre  par  des  accolades  facultatives  mais permettant d'eviter le
       developpement  de  la  variable  a  partir  de  caracteres  la  suivant
       immediatement et qui pourraient etre consideres comme appartenant a son
       nom.

       Lorsque les accolades sont utilisees, l'accolade de fin  correspondante
       est  le premier caractere << } >> ni protege par une contre-oblique, ni
       inclus dans une chaine protegee,  un  developpement  arithmetique,  une
       substitution de commande ou un developpement des parametres.

       ${param`etre}
              est  remplace  par  la  valeur  du param`etre. Les accolades sont
              necessaires quand le  param`etre  est  un  parametre  positionnel
              ayant  plusieurs  chiffres,  ou  si  le  param`etre  est suivi de
              caracteres n'appartenant pas a son nom.

       Si le premier caractere du param`etre est un point d'exclamation (!), un
       niveau  d'imbrication de variable est introduit. Bash utilise la valeur
       de la variable formee par  le  reste  du  param`etre  comme  un  nom  de
       variable.  Cette  variable  est  alors developpee et la valeur utilisee
       pour le reste de la substitution plutot  que  la  valeur  du  param`etre
       lui-meme.  On  appelle  ce  mecanisme  le  d'eveloppement  imbriqu'e. Les
       exceptions a celui-ci sont les developpements  de  ${!pr'efixe*}  et  de
       ${!nom[@]}  decrits plus bas. Le point d'exclamation doit immediatement
       suivre l'accolade ouvrante afin d'introduire l'imbrication.

       Dans chacun des cas ci-dessous, le mot est soumis au  developpement  du
       tilde,  au  developpement des parametres, a la substitution de commande
       et au developpement arithmetique.

       Quand il n'effectue pas de developpement de sous-chaine,  en  utilisant
       les  formes  documentees  ci-dessous,  bash  teste  si le parametre est
       inexistant ou vide. L'absence de deux-points  induit  un  test  sur  la
       seule inexistence du parametre.uand il n'effectue pas de developpem

       ${param`etre:-mot}
              Utilisation de valeur par d'efaut. Si le param`etre est inexistant
              ou vide, le developpement du mot est substitue. Sinon, c'est  la
              valeur du param`etre qui est substituee.
       ${param`etre:=mot}
              Affectation de valeur par d'efaut. Si le param`etre est inexistant
              ou vide, le developpement du mot lui est affecte. La  valeur  du
              param`etre  est  alors  substitue. Les parametres positionnels et
              speciaux ne peuvent pas etre affectes de cette facon.
       ${param`etre:?mot}
              Affichage d'erreur si vide ou inexistant. Si  le  param`etre  est
              inexistant  ou  vide,  le  developpement  du  mot (ou un message
              approprie si aucun mot n'est fourni) est affiche sur  la  sortie
              d'erreur  standard  et  l'interpreteur  termine,  s'il n'est pas
              interactif. Sinon, la valeur du param`etre est substituee.
       ${param`etre:+mot}
              Utilisation de valeur alternative. Si le param`etre est  vide  ou
              inexistant,  rien n'est substitue. Sinon le developpement du mot
              est substitue.
       ${param`etre:d'ebut}
       ${param`etre:d'ebut:longueur}
              D'eveloppement des sous-cha^ines. Se  developpe  pour  fournir  la
              sous-chaine  de  longueur indiquee (en caracteres) commencant au
              d'ebut.  Si  la  longueur  est  omise,  fournit  la   sous-chaine
              commencant au caractere de d'ebut et s'etendant jusqu'a la fin du
              param`etre.  La  longueur  et  le  d'ebut  sont  des   expressions
              arithmetiques   (voir  'EVALUATION  ARITHM'ETIQUE  plus  bas).  La
              longueur doit etre positive. Si le d'ebut est negatif, sa  valeur
              est  consideree  a partir de la fin du contenu du param`etre. Les
              expressions arithmetiques commencant par un << - >> doivent etre
              separees  par une espace des << : >> (deux-points) les precedant
              pour etre distinguees du developpement Utilisation de valeur par
              d'efaut.  Si  le  param`etre  est  @,  le  resultat correspond aux
              longueur parametres positionnels  commencant  au  d'ebut.  Si  le
              param`etre  est  un nom de tableau indice par @ ou *, le resultat
              est   les   longueur   elements   du   tableau   commencant    a
              ${param`etre[d'ebut]}.  Une  valeur  negative  de  d'ebut est prise
              relativement  a  la  valeur  maximum  de  l'indice  du   tableau
              considere,  augmentee  de  un.  Le  developpement de sous-chaine
              s'applique aux tableaux  associatifs.  Remarquez  qu'une  valeur
              negative  de d'ebut doit etre separee du deux-points par au moins
              une espace pour eviter toute confusion avec le developpement  de
              << :- >>. L'indexation des sous-chaines debute a zero, sauf pour
              les parametres positionnels pour lesquels l'indexation  commence
              a  1  par  defaut.  Si  d'ebut  est  0,  et  que  les  parametres
              positionnels sont utilises, la liste sera prefixee par $0.

       ${!pr'efixe*}
       ${!pr'efixe@}
              Noms  correspondant  au  pr'efixe.  Se  developpe  en  noms   des
              variables  dont  les noms commencent par pr'efixe, separes par le
              premier caractere de la variable speciale IFS.  Si @ est utilise
              et  que  le  developpement  apparait  entre  guillemets doubles,
              chaque nom de variable se developpe separement.

       ${!nom[@]}
       ${!nom[*]}
              Liste des clefs du tableau. Si nom  est  une  variable  de  type
              tableau,  elle  se  developpe  en  liste  des indices (clefs) du
              tableau affecte a nom. Si nom n'est pas un tableau, se developpe
              en  0 si nom existe et en vide sinon. Quand @ est utilise et que
              le developpement apparait entre guillemets doubles, chaque  clef
              se developpe en un mot separe.

       ${#param`etre}
              Longueur   du  param`etre.  Est  remplace  par  la  longueur,  en
              caracteres, de la valeur du param`etre. Si le param`etre est *  ou
              @,  la  valeur  est  le nombre de parametres positionnels. Si le
              param`etre est un nom de tableau indice par *  ou  @,  la  valeur
              donnee est le nombre d'elements du tableau.

       ${param`etre#mot}
       ${param`etre##mot}
              Retrait  du motif correspondant au pr'efixe. Le mot est developpe
              pour fournir un motif, comme dans le developpement des  chemins.
              Si le motif correspond au debut de la valeur du param`etre, alors
              le developpement prend la valeur developpee du  param`etre  apres
              suppression  du  plus  court  (cas << # >>) ou du plus long (cas
              << ## >>) motif correspondant. Si  le  param`etre  est  @  ou  *,
              l'operation  de  suppression  de  motif  est  appliquee a chaque
              parametre positionnel tour a tour et  le  developpement  est  la
              liste  resultante.  Si  le  param`etre  est  une variable tableau
              indicee par @ ou *, l'operation  de  suppression  de  motif  est
              appliquee  a  chaque  element  du  tableau  tour  a  tour  et le
              developpement est la liste resultante.

       ${param`etre%mot}
       ${param`etre%%mot}
              Retrait du motif correspondant au suffixe. Le mot est  developpe
              pour  fournir un motif, comme dans le developpement des chemins.
              Si le motif  correspond  a  une  portion  finale  de  la  valeur
              developpee  du param`etre, alors le developpement prend la valeur
              developpee du param`etre apres suppression  du  plus  court  (cas
              << % >>)  ou du plus long (cas << %% >>) motif correspondant. Si
              le param`etre est @ ou *, l'operation de suppression de motif est
              appliquee  a  chaque  parametre  positionnel  tour  a tour et le
              developpement est la liste resultante. Si le param`etre  est  une
              variable  tableau indicee par @ ou *, l'operation de suppression
              de motif est appliquee a chaque element du tableau tour  a  tour
              et le developpement est la liste resultante.

       ${param`etre/motif/cha^ine}
              Substitution  de  motif.  Le  motif  est developpe comme dans le
              traitement des chemins. Le param`etre est developpe  et  la  plus
              longue  portion  correspondant  au  motif  est  remplacee par la
              cha^ine. Si le motif commence par /, toutes  les  correspondances
              au  motif  sont  remplacees par la cha^ine. Normalement, seule la
              premiere correspondance est remplacee. Si le motif commence  par
              #,  il  doit  correspondre  au  debut de la valeur developpee du
              param`etre. Si le motif commence par %, il doit correspondre a la
              fin  du  developpement  du param`etre. Si la cha^ine est vide, les
              portions correspondant au motif sont supprimees et le /  suivant
              le motif peut etre omis. Si le param`etre est @ ou *, l'operation
              de  substitution  est  appliquee   a   chacun   des   parametres
              positionnels  tour  a  tour  et  le  developpement  est la liste
              resultante. Si le param`etre est une variable tableau indicee par
              @  ou *, l'operation de substitution s'applique a chaque element
              du tableau  tour  a  tour  et  le  developpement  est  la  liste
              resultante.

       ${param`etre^motif}
       ${param`etre^^motif}
       ${param`etre,motif}
       ${param`etre,,motif}
              Modification  de la casse. Ce developpement modifie la casse des
              caracteres alphabetiques du param`etre. Le mottif  est  developpe
              pour  fournir un motif, comme dans le developpement des chemins.
              L'operateur ^ convertit les lettre minuscules correspondant a ce
              motif   en   majuscule ;  l'operateur  ,  convertit  les  lettre
              majuscules  correspondant  a  ce   motif   en   minuscule.   Les
              developpements  ^^  et  ,,  convertissent  tous  les  caracteres
              correspondant a leur valeur developpee ; les developpements ^ et
              ,  convertissent  seulement  le  premier  caractere de la valeur
              developpee correspondant. Si motif est omis, il est traite comme
              un  ?,  ce  qui  correspond  a  n'importe  quel caractere. Si le
              param`etre est @ ou *, la  modification  de  casse  s'applique  a
              chaque parametre positionnel tour a tour et le developpement est
              la liste resultante. Si le param`etre est  une  variable  tableau
              indicee par @ ou *, la modification de casse s'applique a chaque
              element du tableau tour a tour et le developpement est la  liste
              resultante.

   Substitution de commande
       La  substitution  de commande permet de remplacer le nom d'une commande
       par son resultat. Il en existe deux formes :

              $(commande)
       ou
              `commande`

       Bash effectue la  substitution  en  executant  la  commande  et  en  la
       remplacant  par  sa sortie standard, dont les eventuels sauts de lignes
       finaux sont supprimes.  Les  sauts  de  lignes  internes  ne  sont  pas
       supprimes  mais  peuvent  disparaitre  lors  du  decoupage  en mots. La
       substitution  de  commande  $(cat  fichier)  peut  etre  remplacee  par
       l'equivalent plus rapide $(< fichier).

       Quand  l'ancienne forme de substitution avec les accents graves << ` >>
       est utilisee, le caractere contre-oblique garde sa signification propre
       sauf  lorsqu'il  est  suivi  de  $, ` ou \. Le premier accent grave non
       protege par une contre-oblique termine  la  substitution  de  commande.
       Quand  on  utilise  la  forme  $(commande),  tous  les caracteres entre
       parentheses   constituent   la   commande ;    aucun    n'est    traite
       specifiquement.

       Les  substitutions  de commande peuvent etre imbriquees. Pour imbriquer
       en utilisant la forme a accents graves, il faut  proteger  les  accents
       graves internes avec des contre-obliques.

       Si  la  substitution apparait entre guillemets doubles, le decoupage en
       mots et le developpement des chemins ne  sont  pas  effectues  sur  ses
       resultats.

   D'eveloppement arithm'etique
       Le  developpement  arithmetique  permet  de  remplacer  une  expression
       arithmetique  par  le  resultat  de  son  evaluation.  Le   format   du
       developpement arithmetique est :

              $((expression))

       L'ancien  format  $[expression]  est obsolete et sera supprime dans les
       prochaines versions de bash.

       L'expression est traitee comme si elle etait entre guillemets  doubles,
       mais  un guillemet double a l'interieur de parentheses n'est pas traite
       specifiquement. Tous  les  lexemes  dans  l'expression  sont  sujet  au
       developpement  des  parametres,  a  la substitution de commande et a la
       suppression des protections. Les developpements  arithmetiques  peuvent
       etre imbriques.

       L'evaluation est effectuee en suivant les regles decrites plus bas dans
       'EVALUATION ARITHM'ETIQUE.  Si l'expression est incorrecte, bash  affiche
       un message indiquant l'echec et aucune substitution n'a lieu.

   Substitution de processus
       La  substitution  de  processus  n'est  disponible que sur les systemes
       acceptant le mecanisme des tubes nommes (FIFO) ou la methode /dev/fd de
       noms de fichiers. Elle prend la forme <(liste) ou >(liste). La liste de
       processus est executee avec son entree ou sa  sortie  connectee  a  une
       FIFO  ou  a  un fichier dans /dev/fd. Le nom de ce fichier est passe en
       argument a la commande  qui  sera  executee  comme  resultat  de  cette
       substitution.  Si  on  utilise  la  forme  >(liste), l'ecriture dans le
       fichier fournira des entrees pour la liste. Si la  forme  <(liste)  est
       utilisee,  le  fichier  passe en argument devra etre lu pour obtenir la
       sortie de la liste.

       Sur les systemes qui le permettent, la substitution  de  processus  est
       effectuee simultanement au developpement des parametres et variables, a
       la substitution de commande et au developpement arithmetique.

   D'ecoupage en mots
       Les resultats du developpement des parametres, de  la  substitution  de
       commande  et du developpement arithmetique qui ne se trouvent pas entre
       guillemets doubles sont analyses par l'interpreteur afin d'appliquer le
       d'ecoupage en mots.

       L'interpreteur  considere  chaque  caractere  du parametre IFS comme un
       delimiteur et decoupe le resultat des  transformations  precedentes  en
       fonction  de  ceux-ci.  Si  IFS  est  inexistante  ou  si sa valeur est
       exactement <space><tab><newline>,  la  valeur  par  defaut,  alors  les
       suites  de  caracteres <space>, <tab> et <newline> au debut ou a la fin
       du resultat des developpements precedents sont ignores, et toute  suite
       de caracteres de IFS ni au debut ni a la fin sert a delimiter les mots.
       Si IFS a une valeur autre que celle par defaut,  alors  les  suites  de
       caracteres blancs espace et tabulation sont ignorees en debut et fin de
       mot, a condition que ces caracteres blancs se trouvent dans  la  valeur
       de  IFS  (un  caractere blanc de IFS).  Tout caractere de IFS qui n'est
       pas un caractere blanc, se trouvant a cote d'un caractere blanc de IFS,
       delimite  un champ. Une suite de caracteres blancs de IFS est egalement
       traitee comme un delimiteur. Si  la  valeur  de  IFS  est  vide,  aucun
       decoupage en mots n'a lieu.

       Les arguments vides explicites ("" ou '') sont conserves. Les arguments
       vides  implicites  non  proteges,  resultant   du   developpement   des
       parametres  qui  n'ont  pas de valeurs, sont supprimes. Si un parametre
       sans valeur est developpe entre guillemets doubles, le resultat est  un
       argument vide qui est conserve.

       Remarquez  que  si  aucun  developpement n'a lieu, le decoupage en mots
       n'est pas effectue.

   D'eveloppement des chemins
       Apres le decoupage en mots, a moins que l'option -f soit presente, bash
       recherche  dans  chaque  mot  les  caracteres  *, ? et [. Si l'un d'eux
       apparait, le mot est considere comme  un  motif  et  remplace  par  une
       liste,   classee   par   ordre   alphabetique,  des  noms  de  fichiers
       correspondant a ce motif. Si aucun nom de fichier ne correspond  et  si
       l'option  d'interpreteur  nullglob  n'est  pas  activee,  le  mot reste
       inchange. Si l'option nullglob existe et si aucune correspondance n'est
       trouvee,  le  mot  est  supprime.  Si  l'option d'interpreteur failglob
       existe et si aucune correspondance n'est trouvee, un  message  d'erreur
       est   affiche   et   la   commande  n'est  pas  executee.  Si  l'option
       d'interpreteur nocaseglob est activee, la correspondance est  effectuee
       sans  tenir  compte de la casse des caracteres alphabetiques. Remarquez
       que lorsque des expressions de plage comme [a-z] (voir plus  bas)  sont
       utilisees  les lettres de l'autre casse peuvent etre incluses, selon le
       parametrage  de  LC_COLLATE.  Quand  un  motif  est  utilise  pour   le
       developpement  des  chemins,  le caractere << . >> au debut d'un nom ou
       immediatement a la suite d'une barre oblique  doit  etre  explicitement
       mis  en  correspondance,  a  moins  que l'option d'interpreteur dotglob
       n'existe. Lors de la correspondance avec un chemin, le caractere  barre
       oblique  doit  toujours  etre mis en correspondance explicitement. Dans
       les autres cas, le caractere << . >> n'est pas  traite  specifiquement.
       Voyez  la  description  de la commande shopt dans COMMANDES INTERNES DE
       L'INTERPR'ETEUR  pour  une  description   des   options   d'interpreteur
       nocaseglob, nullglob, failglob et dotglob.

       La  variable  de  l'interpreteur  GLOBIGNORE  peut servir a restreindre
       l'ensemble des noms de fichiers correspondant a un motif. Si GLOBIGNORE
       existe,  chaque  nom  de  fichier  qui  correspond  aussi a un motif de
       GLOBIGNORE est supprime de la liste des correspondances.  Les  noms  de
       fichiers  << . >>  et  << .. >>  sont toujours ignores quand GLOBIGNORE
       existe et n'est pas vide. Toutefois,  configurer  GLOBIGNORE  avec  une
       valeur non vide a pour effet d'activer l'option d'interpreteur dotglob,
       ainsi  tous  les  autres  noms  de  fichiers  commencant  par   << . >>
       correspondront.  Pour  obtenir  l'ancien comportement ignorant les noms
       commencant par  << . >>,  placez  << .* >>  dans  l'un  des  motifs  de
       GLOBIGNORE.   L'option dotglob est desactivee si la variable GLOBIGNORE
       est inexistante.

       Motifs g'en'eriques

       Tout caractere  apparaissant  dans  un  motif,  hormis  les  caracteres
       speciaux decrits plus bas correspond avec lui-meme. Le caractere NUL ne
       peut pas se trouver  dans  un  motif.  Une  contre-oblique  protege  le
       caractere  qui  la suit ; la contre-oblique de protection est supprimee
       lors de la recherche de  correspondance.  Les  caracteres  speciaux  de
       motifs  doivent  etre proteges s'ils sont destines a une correspondance
       litterale.

       Les caracteres speciaux ont les significations suivantes :

       *      Correspond a n'importe quel chaine,  chaine  vide  comprise.  Si
              l'option  globstar  de  l'interpreteur est activee, et que * est
              utilise dans un contexte de developpement des  chemins,  deux  *
              adjacents  sont utilises pour un seul motif correspondant a tous
              les fichier et zero ou plus de repertoires et  sous-repertoires.
              Lorsqu'il  sont  suivis  de  /,  deux * adjacents correspondront
              seulement aux repertoires et sous-repertoires.
       ?      Correspond a n'importe quel caractere.
       [...]  Correspond a tout caractere entre les  crochets.  Un  couple  de
              caracteres  separes  par un trait d'union indique une expression
              de plage ;  tout  caractere  qui  correspond  a  n'importe  quel
              caractere situe entre les deux bornes incluses, en utilisant les
              suites de  collations  des  parametres  linguistiques  regionaux
              courants  et  le  jeu  de  caracteres.  Si  le premier caractere
              suivant le [ est un ! ou un ^ alors la  correspondance  se  fait
              sur   tous  les  caracteres  hors  plage.  L'ordre  de  tri  des
              caracteres dans les expressions de plage est determine  par  les
              parametres  linguistiques regionaux courants et par la valeur de
              la variable de l'interpreteur LC_COLLATE si existante. Un - peut
              etre  mis  en correspondance en l'incluant en premier ou dernier
              caractere de l'ensemble. Un ] peut etre mis en correspondance en
              l'incluant en premier caractere de l'ensemble.

              Entre  [  et  ],  on  peut  indiquer  une classe de caract`ere en
              utilisant la syntaxe [:classe:], ou classe est l'une des classes
              suivantes, definies dans le standard POSIX :
              alnum  alpha  ascii  blank  cntrl  digit graph lower print punct
              space upper word xdigit
              Une classe correspond a n'importe quel caractere qui s'y trouve.
              La  classe  de  caracteres  word  correspond  aux  lettres,  aux
              chiffres et au caractere souligne << _ >>.

              Entre [ et ], on  peut  indiquer  une  classe  d''equivalence  en
              utilisant  la  syntaxe  [=c=],  qui  correspond a n'importe quel
              caractere ayant le meme poids de collation  (comme  indique  par
              les   parametres   linguistiques   regionaux  courants)  que  le
              caractere c.

              Entre [ et ], la syntaxe [.symbole.] correspond  au  symbole  de
              collation symbole.

       Si  l'option extglob d'interpreteur est activee par la commande interne
       shopt plusieurs operateurs de  correspondance  etendue  sont  reconnus.
       Dans  la  description  suivante,  une liste-motif est une liste d'un ou
       plusieurs motifs separes par des |. Les motifs composes sont formes  en
       utilisant un ou plusieurs sous-motifs comme suit :

              ?(liste-motif)
                     Correspond a zero ou une occurrence des motifs indiques.
              *(liste-motif)
                     Correspond  a  zero  ou  plusieurs occurrences des motifs
                     indiques.
              +(liste-motif)
                     Correspond a une  ou  plusieurs  occurrences  des  motifs
                     indiques.
              @(liste-motif)
                     Correspond   a   une  occurrence  exactement  des  motifs
                     indiques.
              !(liste-motif)
                     Correspond a tout sauf l'un des motifs indiques.

   Suppression des protections
       Apres  les  developpements  precedents,  toutes  les  occurrences   non
       protegees  des  caracteres  \,  '  et  "  qui ne resultent pas d'un des
       developpements ci-dessus sont supprimees.

REDIRECTIONS

       Avant qu'une commande ne soit executee, il est  possible  de  rediriger
       son  entree et sa sortie en utilisant une notation speciale interpretee
       par l'interpreteur. Les redirections peuvent egalement servir a  ouvrir
       ou  fermer des fichiers dans l'environnement courant de l'interpreteur.
       Les operateurs de redirection suivants peuvent preceder  ou  apparaitre
       n'importe  ou  dans  une  commande  simple  ou suivre une commande. Les
       redirections sont traitees dans leur ordre d'apparition,  de  gauche  a
       droite.

       Toutes  les  redirections  pouvant  etre  precedees  par  un  numero de
       descripteur de fichier peuvent aussi etre precedees par un  mot  de  la
       forme   {nom_de_variable}.  Dans  ce  cas,  pour  chaque  operateur  de
       redirection a part >&- et <&-, l'interpreteur de commande  allouera  un
       descripteur de fichier superieur a 10 et l'affectera a nom_de_variable.
       Si  >&-  ou  <&-  est  precede  de  {nom_de_variable},  la  valeur   de
       nom_de_variable definit le descripteur de fichier a fermer.

       Dans les descriptions suivantes, si le numero de descripteur de fichier
       est omis et si le premier caractere de l'operateur de  redirection  est
       <,  la  redirection  se  rapporte  a  l'entree standard (descripteur de
       fichier 0). Si le premier caractere de l'operateur de  redirection  est
       >,  la  redirection  se  rapporte  a la sortie standard (descripteur de
       fichier 1).

       Le mot qui  suit  l'operateur  de  redirection  dans  les  descriptions
       suivantes,  a  moins  qu'il  en soit fait etat autrement, est soumis au
       developpement  des  accolades,  du  tilde,   des   parametres,   a   la
       substitution   de   commande,   au  developpement  arithmetique,  a  la
       suppression  des  protections,  au  developpement  des  chemins  et  au
       decoupage  en  mots.  S'il se developpe en plusieurs mots, bash signale
       une erreur.

       Remarquez que l'ordre des redirections est important. Par  exemple,  la
       commande

              ls > liste_repertoires 2>&1

       redirige  a  la  fois la sortie standard et la sortie d'erreur standard
       vers le fichier liste_r'epertoires, alors que la commande

              ls 2>&1 > liste_repertoires

       ne redirige que la sortie standard vers le  fichier  liste_r'epertoires,
       car  la  sortie d'erreur standard a ete dupliquee de la sortie standard
       avant que celle-ci ne soit redirigee vers liste_r'epertoires.

       Bash gere plusieurs noms de fichiers de facon particuliere,  lorsqu'ils
       sont  utilises  dans  des  redirections,  comme  decrit  dans  la table
       suivante :

              /dev/fd/fd
                     Si fd est un entier correct, le descripteur de fichier fd
                     est duplique.
              /dev/stdin
                     Le descripteur de fichier 0 est duplique.
              /dev/stdout
                     Le descripteur de fichier 1 est duplique.
              /dev/stderr
                     Le descripteur de fichier 2 est duplique.
              /dev/tcp/host/port
                     Si  host  est  une  adresse Internet ou un nom de machine
                     correct et si port est un numero de port entier ou un nom
                     de  service,  bash tentera d'ouvrir une connexion TCP sur
                     la << socket >> correspondante.
              /dev/udp/host/port
                     Si host est un nom de  machine  correct  ou  une  adresse
                     Internet  et  si  port est un numero de port entier ou un
                     nom de service, bash tentera d'ouvrir une  connexion  UDP
                     sur la << socket >> correspondante.

       Un echec a l'ouverture ou a la creation de fichier conduit a l'echec de
       la redirection.

       Les redirections utilisant des descripteurs de fichiers superieurs a  9
       doivent  etre  utilisees  avec  precaution  car  des  conflits  peuvent
       survenir avec les descripteurs de  fichiers  utilises  en  interne  par
       l'interpreteur.

       Notez   que   la   commande  interne  exec  peut  faire  appliquer  les
       redirections a l'interpreteur de commande en cours.

   Redirection d'entr'ee
       Une redirection d'entree conduit  a  l'ouverture  en  lecture  avec  le
       descripteur  de  fichier  numero  n  du  fichier dont le nom resulte du
       developpement du mot ou en  tant  qu'entree  standard  (descripteur  de
       fichier 0) si n n'est pas indique.

       Le format general des redirections d'entree est :

              [n]<mot

   Redirection de sortie
       Une  redirection de sortie conduit a l'ouverture en ecriture du fichier
       dont le nom resulte du developpement du mot avec comme  descripteur  de
       fichier  n ou en tant que sortie standard (descripteur de fichier 1) si
       n n'est pas indique. Si le fichier n'existe  pas,  il  est  cree.  S'il
       existait deja, sa taille est reduite a zero.

       Le format general des redirections de sortie est le suivant :

              [n]>mot

       Si  l'operateur  de  redirection  est  > et si l'option noclobber de la
       commande interne set est activee, la redirection echouera si le fichier
       dont  le  nom  resulte du developpement du mot existe et est un fichier
       normal. Si l'operateur de redirection est  >|  ou  l'operateur  >  avec
       l'option  noclobber  de  la  commande interne set n'est pas activee, la
       redirection sera tentee meme si le  fichier  dont  le  nom  resulte  du
       developpement du mot existe.

   Ajout d'une sortie redirig'ee
       La  redirection  de  la  sortie de cette facon conduit a l'ouverture du
       fichier dont le nom resulte du developpement du  mot  pour  ajouter  au
       descripteur  de  fichier  n  ou  a  la  sortie standard (descripteur de
       fichier 1) si n n'est pas indique. Si le fichier n'existe pas,  il  est
       cree.

       Le format general 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  simultanee  de  la sortie
       standard (descripteur 1) et de la sortie d'erreur standard (descripteur
       2),  dans  un  fichier  dont le nom est le resultat du developpement du
       mot.

       Il y a deux  formes  pour  rediriger  les  sortie  standard  et  sortie
       d'erreur standard :

              &>mot
       et
              >&mot

       La  premiere  des  deux  formes  est  preferee. Ceci est semantiquement
       equivalent a

              >mot 2>&1

   Ajout de la sortie standard et de la sortie d'erreur standard
       Cette construction permet  l'ajout  simultane  de  la  sortie  standard
       (descripteur 1) et de la sortie d'erreur standard (descripteur 2), dans
       un fichier dont le nom est le resultat du developpement du mot.

       La forme pour ajouter les sortie standard et sortie  d'erreur  standard
       est :

              &>>mot

       Ceci est semantiquement equivalent a

              >>mot 2>&1

   Document en ligne
       Ce  type de redirection commande a l'interpreteur de lire son entree de
       la source courante jusqu'a ce qu'il voie une ligne contenant  seulement
       le  d'elimiteur  prevu  (sans  blancs  finaux).  Toutes  les lignes lues
       jusqu'a ce point sont ensuite utilisees comme  l'entree  standard  pour
       une commande.

       Le format des documents en ligne est le suivant :

              <<[-]mot
                      document_en_ligne
              d'elimiteur

       Il  n'y a ni developpement des parametres, ni substitution de commande,
       ni developpement arithmetique, ni developpement des chemins  d'effectue
       sur  le  mot.  Si  un  n'importe  quel  caractere  du  mot est protege,
       d'elimiteur est le resultat de la suppression des protections sur mot et
       les  lignes  du  document  en  ligne ne sont pas developpees. Si le mot
       n'est pas protege, toutes les lignes du document en ligne sont soumises
       au  developpement  des  parametres, a la substitution de commande et au
       developpement arithmetique. Dans ce dernier cas, la suite de caracteres
       \<newline>  est  ignoree  et  \  doit  etre  utilisee pour proteger les
       caracteres \, $ et `.

       Si l'operateur de redirection est <<-, alors les tabulations en tete de
       chaque  ligne  sont  supprimees  de  l'entree,  y compris dans la ligne
       contenant d'elimiteur. Ceci permet d'indenter  de  facon  naturelle  les
       documents en ligne au sein des scripts.

   Cha^ines en ligne
       Une variante aux documents en ligne, le format est :

              <<<mot

       Le mot est developpe et fourni a la commande sur son entree standard.

   D'edoublement de descripteur de fichier
       L'operateur de redirection

              [n]<&mot

       permet  de  dupliquer les descripteurs de fichiers en entree. Si le mot
       se transforme en un ou plusieurs chiffres, le  descripteur  de  fichier
       note  par n devient une copie de ce descripteur. Si les chiffres du mot
       ne correspondent pas a un descripteur ouvert en lecture, une erreur  de
       redirection  se  produit.  Si le mot prend la forme -, le descripteur n
       est ferme. Si n n'est pas mentionne, l'entree standard (descripteur  0)
       est utilisee.

       L'operateur

              [n]>&mot

       est  utilise  de  facon  similaire  pour  dupliquer les descripteurs de
       sortie. Si n n'est pas explicite, la sortie  standard  (descripteur  1)
       est  utilisee.  Si  les  chiffres  du  mot  ne  correspondent  pas a un
       descripteur en ecriture, une erreur de redirection se produit. Dans  le
       cas  particulier  ou  n est omis et ou mot ne se developpe pas en un ou
       plusieurs chiffres, les sorties  standard  et  d'erreur  standard  sont
       toutes deux redirigees comme decrit precedemment.

   D'eplacement de descripteurs de fichiers
       L'operateur de redirection

              [n]<&chiffre-

       deplace  le  descripteur  de  fichier  chiffre  vers  le descripteur de
       fichier n ou sur l'entree standard (descripteur  de  fichier  0)  si  n
       n'est pas indique. chiffre est ferme apres avoir ete duplique en n.

       De la meme facon, l'operateur de redirection

              [n]>&chiffre-

       deplace  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 indique.

   Ouverture en Lecture/'Ecriture d'un descripteur de fichier
       L'operateur de redirection

              [n]<>mot

       conduit  a  l'ouverture du fichier dont le nom resulte du developpement
       du mot, a la  fois  en  lecture  et  en  ecriture  et  lui  affecte  le
       descripteur  de  fichier  n  ou  bien  le  descripteur 0 si n n'est pas
       mentionne. Si le fichier n'existe pas, il est cree.

ALIAS

       Les alias permettent de substituer une chaine a un  mot  lorsqu'il  est
       utilise  comme  premier  mot d'une commande simple. L'interpreteur gere
       une liste d'alias qui peuvent etre crees et detruits avec les commandes
       internes  alias  et  unalias (voir COMMANDES INTERNES DE L'INTERPR'ETEUR
       plus bas). L'interpreteur verifie si le premier mot de chaque  commande
       simple,  si  non  protege,  est  un  alias. Si c'est le cas, ce mot est
       remplace par le texte de l'alias. Les caracteres /, $, ` et =  et  tout
       m'etacaract`ere de l'interpreteur ou caractere de protection decrits plus
       haut ne peuvent pas  apparaitre  dans  un  nom  d'alias.  Le  texte  de
       remplacement peut contenir toute entree correcte pour l'interpreteur, y
       compris les metacaracteres de l'interpreteur. L'interpreteur verifie si
       le  premier  mot du texte de remplacement est a son tour un alias, mais
       un mot identique a  un  alias  en  cours  de  developpement  n'est  pas
       developpe  une  seconde  fois.  Ceci  signifie qu'on peut, par exemple,
       creer un alias ls valant ls -F et bash  n'essaiera  pas  de  developper
       recursivement  le  texte de substitution. Si le dernier caractere de la
       valeur de l'alias est un blanc,  alors  le  prochain  mot  de  commande
       suivant l'alias connaitra aussi le developpement d'alias.

       Les  alias  sont  crees et affiches avec la commande alias et supprimes
       avec la commande unalias.

       Il n'existe pas de mecanisme permettant d'utiliser des  arguments  dans
       le  texte  de  remplacement.  S'ils  sont  necessaires, une fonction de
       l'interpreteur devrait etre utilisee (voir FONCTIONS plus bas).

       Les alias  ne  sont  pas  developpes  quand  l'interpreteur  n'est  pas
       interactif  sauf si l'option expand_aliases de l'interpreteur est creee
       par la commande shopt (voir la  description  de  shopt  dans  COMMANDES
       INTERNES DE L'INTERPR'ETEUR plus bas).

       Les  regles concernant la definition et l'utilisation des alias sont un
       peu  confuses.  Bash  lit  toujours  au  moins   une   ligne   d'entree
       completement  avant  d'executer  une  des commandes de cette ligne. Les
       alias sont traites lorsque la commande est lue et non  pas  lorsqu'elle
       est  executee.  Ainsi,  une definition d'alias apparaissant sur la meme
       ligne qu'une autre commande ne prend pas effet avant la lecture  de  la
       prochaine ligne d'entree. Autrement dit, une commande placee a la suite
       d'une definition d'alias, sur la meme ligne ne sera  pas  affectee  par
       cet  alias. Ce comportement est egalement important lors de l'execution
       des fonctions. Les alias sont  traites  lorsque  la  definition  de  la
       fonction  est  lue  et  non  pas lors de l'execution de cette fonction.
       Ainsi des alias definis dans une fonction ne sont pas disponibles avant
       la fin de l'execution de la fonction. Pour plus de tranquillite, placez
       toujours les definitions d'alias sur des lignes isolees  et  n'utilisez
       jamais la commande alias dans les commandes composees.

       Les  alias  sont  surpasses par les fonctions de l'interpreteur dans la
       plupart des situations.

FONCTIONS

       Une fonction de l'interpreteur, definie comme decrit  plus  haut,  dans
       GRAMMAIRE  DE  L'INTERPR'ETEUR,  conserve  une  suite  de commandes pour
       execution ulterieure. Lorsque le nom d'une fonction  de  l'interpreteur
       est  utilisee  comme  un simple nom de commande, la liste des commandes
       associees a ce  nom  de  fonction  est  executee.  Les  fonctions  sont
       executees  dans  le  contexte de l'interpreteur courant ; aucun nouveau
       processus n'est  cree  pour  les  interpreter  (a  la  difference  d'un
       script). Lorsqu'une fonction est executee, les arguments de la fonction
       deviennent  les  parametres  positionnels  pendant  son  execution.  Le
       parametre special # est mis a jour en consequence. Le parametre special
       0 reste inchange. Le premier element de la variable  FUNCNAME  contient
       le nom de la fonction pendant son execution.

       Tous   les   autres   aspects   de   l'environnement   d'execution   de
       l'interpreteur  sont  identiques  entre  la  fonction  et  le  contexte
       d'appel,  aux  exceptions  suivantes :  les captures de DEBUG et RETURN
       (voir la  description  de  la  commande  interne  trap  dans  COMMANDES
       INTERNES  DE L'INTERPR'ETEUR plus bas) ne sont pas heritees, a moins que
       l'attribut  trace  ne  soit  positionne  pour  la  fonction  (voir   la
       description  de  la  commande interne declare plus bas) ou que l'option
       d'interpreteur -o functrace n'ait ete activee avec la commande  interne
       set  (auquel  cas toutes les fonctions heriteront des captures de DEBUG
       et RETURN), et la capture ERR n'est pas heritee a  moins  que  l'option
       d'interpreteur -o errtrace n'ait ete activee.

       Les  variables  locales  d'une  fonction peuvent etre declarees avec la
       commande interne local. Dans le cas general,  les  variables  et  leurs
       valeurs sont partagees entre la fonction et le contexte d'appel.

       Si  la commande interne return est executee dans une fonction, celle-ci
       se termine et l'execution reprend avec la commande suivant  l'appel  de
       fonction.  Toute  commande associee a la capture de RETURN est executee
       avant que l'execution reprenne. Quand  une  fonction  se  termine,  les
       parametres  positionnels  et  le  parametre  special  #  reprennent les
       valeurs qu'ils avaient avant l'appel de la fonction.

       Les noms de fonctions et leurs definitions peuvent etre  affiches  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 numero de ligne, si l'option
       d'interpreteur  extdebug  est  activee).  Les  fonctions  peuvent  etre
       exportees  avec  l'option -f de la commande interne export, afin d'etre
       automatiquement definies dans les sous-interpreteurs. Une definition de
       fonction  peut  etre  supprimee avec l'option -f de la commande interne
       unset. Remarquez que les fonctions et variables  de  l'interpreteur  de
       meme  nom  pourront  induire  a  plusieurs  elements de memes noms dans
       l'environnement  passe  aux  enfants   de   l'interpreteur.   Un   soin
       particulier  doit  etre  pris  dans  les cas ou cela peut conduire a un
       probleme.

       Les fonctions peuvent etre  recursives.  Aucune  limite  n'est  imposee
       quant au nombre d'appels recursifs.

'EVALUATION ARITHM'ETIQUE

       L'interpreteur   permet,  dans  certaines  circonstances,  l'evaluation
       d'expressions arithmetiques (voir les commandes internes let et declare
       ainsi  que  D'eveloppement  arithm'etique). L'evaluation est effectuee en
       utilisant  des  entiers  de  longueur  fixe,   sans   verification   du
       debordement. Neanmoins, la division par 0 est capturee et marquee comme
       une erreur. Les operateurs, leur priorite, associativite et leur valeur
       sont identiques a ceux du langage C. La liste suivante d'operateurs est
       entre operateurs de niveaux de priorite identiques.  Les  niveaux  sont
       decrits par ordre de priorite decroissante.

       id++ id--
              post-increment et post-decrement de variables
       ++id --id
              pre-increment et pre-decrement de variables
       - +    moins et plus unaires
       ! ~    negations logique et binaire
       **     exponentiation
       * / %  multiplication, division, reste
       + -    addition, soustraction
       << >>  decalage arithmetique a gauche et a droite
       <= >= < >
              comparaisons
       == !=  egalite et difference
       &      ET binaire
       ^      OU exclusif binaire
       |      OU binaire
       &&     ET logique
       ||     OU logique
       expr?expr:expr
              operateur conditionnel
       = *= /= %= += -= <<= >>= &= ^= |=
              affectations
       expr1 , expr2
              virgule

       Les  variables  de  l'interpreteur sont utilisables comme operandes, le
       developpement  des  parametres  etant   effectue   avant   l'evaluation
       arithmetique.  Dans  une  expression,  les  variables de l'interpreteur
       peuvent egalement etre referencees  par  leur  nom,  sans  utiliser  la
       syntaxe  de  developpement  des parametres. Une variable d'interpreteur
       vide ou inexistante est evaluee a 0 lorsqu'elle est consultee  par  son
       nom sans utiliser la syntaxe de developpement des parametres. La valeur
       d'une  variable  est  evaluee   comme   une   expression   arithmetique
       lorsqu'elle  est  consultee, ou lorsqu'une valeur lui est affecte alors
       que son attribut integer (entier) a ete positionne en utilisant declare
       -i.  Une  valeur  vide est evaluee a 0. Une variable d'interpreteur n'a
       donc pas besoin d'avoir  son  attribut  integer  positionne  pour  etre
       utilisable dans un calcul.

       Les  constantes  commencant  par  0 sont interpretees comme des nombres
       octaux. Un entete 0x ou 0X indique une valeur hexadecimale. Sinon,  les
       nombres  ont la forme [base#]n ou la base est un nombre decimal entre 2
       et 64 representant la base arithmetique et n est un nombre exprime dans
       cette  base.  Si  la  base#  est  omise,  la  base 10 est utilisee. Les
       chiffres superieurs a 9 sont representes par  les  lettres  minuscules,
       les  lettres  majuscules,  le @ et le _, dans cet ordre. Si la base est
       inferieure ou  egale  a  36  les  minuscules  et  les  majuscules  sont
       interchangeable pour representer les nombres entre 10 et 35.

       Les operateurs sont evalues par ordre de priorite. Les sous-expressions
       entre parentheses sont evaluees en premier, ce qui permet de  surpasser
       les regles de priorite ci-dessus.

CONDITIONS

       Les  conditions  sont  utilisees  par  la  commande  composee [[ et les
       commandes internes test et [  pour  verifier  l'etat  d'un  fichier  et
       effectuer  des  comparaisons  arithmetiques  ou  sur  des  chaines. Les
       conditions se forment a  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
       examine.  Si  l'argument  fichier  de  l'une  des  primitives est parmi
       /dev/stdin, /dev/stdout ou /dev/stderr, le descripteur de fichier 0,  1
       ou 2, respectivement, est examine.

       Sauf  indication  contraire,  les  primitives  relatives  aux  fichiers
       suivent les liens symboliques et operent sur la cible  du  lien  plutot
       que sur le lien lui-meme.

       Lorsqu'ils  sont utilises avec [[, les operateurs < et > ordonnent d'un
       point de vue lexicographique en utilisant les parametres  linguistiques
       regionaux courants.

       Voir  la  description  de  la  commande  interne  test  (voir COMMANDES
       INTERNES DE L'INTERPR'ETEUR plus bas) pour  la  gestion  des  parametres
       (c'est-a-dire des parametres manquants).

       -a fichier
              Vrai si le fichier existe.
       -b fichier
              Vrai si le fichier existe et est un fichier special bloc.
       -c fichier
              Vrai si le fichier existe et est un fichier special caractere.
       -d fichier
              Vrai si le fichier existe et est un repertoire.
       -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 positionne.
       -h fichier
              Vrai si le fichier existe et est un lien symbolique.
       -k fichier
              Vrai si le fichier existe et a son bit << sticky >> positionne.
       -p fichier
              Vrai si le fichier existe et est un tube nomme (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 fd  Vrai si le descripteur de fichier fd est ouvert et se rapporte a
              un terminal.
       -u fichier
              Vrai si le fichier existe et a son bit Set-UID positionne.
       -w fichier
              Vrai si le fichier existe et est accessible en ecriture.
       -x fichier
              Vrai si le fichier existe et est executable.
       -O fichier
              Vrai si le fichier existe et  appartient  a  l'UID  effectif  de
              l'utilisateur.
       -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.
       -S fichier
              Vrai si le fichier existe et est une << socket >>.
       -N fichier
              Vrai si le fichier existe et a ete modifie  depuis  sa  derniere
              lecture.
       fichier_1 -nt fichier_2
              Vrai si le fichier_1 est plus recent que le fichier_2 (selon les
              dates de derniere 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.
       fichier_1 -ef fichier_2
              Vrai si le fichier_1 et  le  fichier_2  se  rapportent  au  meme
              peripherique et ont les memes numeros d'inoeuds.
       -o nom_opt
              Vrai  si  l'option d'interpreteur nom_opt est activee. Consulter
              la liste des options plus bas dans la description de l'option -o
              de la commande interne set.
       -z cha^ine
              Vrai si la longueur de la cha^ine est nulle.
       cha^ine
       -n cha^ine
              Vrai si la longueur de la cha^ine est non nulle.

       cha^ine_1 == cha^ine_2
       cha^ine_1 = cha^ine_2
              Vrai  si les deux chaines sont egales. Le symbole = devrait etre
              utilise avec la commande test pour etre en conformite POSIX.

       cha^ine_1 != cha^ine_2
              Vrai si les deux chaines sont differentes.

       cha^ine_1 < cha^ine_2
              Vrai  si  cha^ine_1  se  trouve  avant  cha^ine_2   dans   l'ordre
              lexicographique.

       cha^ine_1 > cha^ine_2
              Vrai   si   cha^ine_1  se  trouve  apres  cha^ine_2  dans  l'ordre
              lexicographique.

       arg1 OP arg2
              OP est l'un des operateurs suivants -eq, -ne, -lt, -le,  -gt  ou
              -ge.  Ces  operateurs  arithmetiques  binaires renvoient vrai si
              arg1 est respectivement egal, different, inferieur, inferieur ou
              egal,  superieur, superieur ou egal a arg2. arg1 et arg2 peuvent
              etre des entiers positifs ou negatifs.

D'EVELOPPEMENT DES COMMANDES SIMPLES

       Lors de l'execution d'une commande simple, l'interpreteur effectue  les
       developpements,  affectations  et  redirections  suivants  de  gauche a
       droite.

       1.     Les  mots  que  l'analyseur  a  repere  comme  affectations   de
              variables  (ceux  qui  precedent  le  nom de la commande) et les
              redirections sont conservees pour un traitement ulterieur.

       2.     Les mots qui ne sont ni des affectations  de  variables  ni  des
              redirections  sont  developpes.  S'il  reste  des  mots apres le
              developpement, le premier mot est considere comme le  nom  d'une
              commande et les suivants comme ses arguments.

       3.     Les  redirections  sont  effectuees  comme decrit plus haut dans
              REDIRECTIONS.

       4.     Le texte suivant le signe = de chaque  affectation  de  variable
              est  sujet  au  developpement  du  tilde,  des  parametres, a la
              substitution de commande, au developpement arithmetique et a  la
              suppression des protections avant d'etre affecte a la variable.

       Si  aucun  nom  de  commande ne resulte des precedentes operations, les
       affectations  de  variables  modifient   l'environnement   courant   de
       l'interpreteur.  Sinon les variables sont ajoutees a l'environnement de
       la  commande   executee   et   n'affectent   pas   l'environnement   de
       l'interpreteur  courant. Si l'une des tentatives d'affectation concerne
       une variable en lecture seule, une erreur se  produit  et  la  commande
       termine avec un etat different de zero.

       Si aucun nom de commande n'est obtenu, les redirections sont effectuees
       mais ne modifient pas l'environnement de  l'interpreteur  courant.  Une
       erreur  de  redirection conduit a la terminaison de la commande avec un
       etat different de zero.

       S'il reste un nom de commande apres  le  developpement,  l'execution  a
       lieu  comme  decrit  plus  bas.  Sinon la commande termine. Si l'un des
       developpements contient une substitution de commande, l'etat  final  de
       la  commande  est  l'etat final de la derniere substitution de commande
       effectuee. S'il n'y avait aucune substitution de commande, la  commande
       termine avec un etat de zero.

EX'ECUTION DES COMMANDES

       Apres  le decoupage de la ligne de commande en mots, si le resultat est
       une commande simple suivie d'une  liste  facultative  d'arguments,  les
       actions suivantes sont effectuees.

       Si   le   nom   de  la  commande  ne  contient  aucune  barre  oblique,
       l'interpreteur tente de la  localiser.  S'il  existe  une  fonction  de
       l'interpreteur  de  ce nom, elle est appelee comme nous l'avons vu plus
       haut dans FONCTIONS.   Si  le  nom  n'est  pas  celui  d'une  fonction,
       l'interpreteur  le  recherche  dans la liste des commandes internes. Si
       une correspondance est trouvee, cette commande interne est appelee.

       Si le nom n'est ni celui d'une fonction  de  l'interpreteur,  ni  celui
       d'une  commande  interne et s'il ne contient pas de barre oblique, bash
       va chercher dans chacun des elements de PATH un repertoire contenant un
       fichier  executable  du  nom  desire. Bash utilise une table de hachage
       pour memoriser les chemins d'acces complets  aux  fichiers  executables
       (voir  la  commande hash dans COMMANDES INTERNES DE L'INTERPR'ETEUR plus
       bas). Une  recherche  complete  dans  les  repertoires  du  PATH  n'est
       effectuee que si la commande ne se trouve pas dans la table de hachage.
       Si la recherche est infructueuse, l'interpreteur recherche une fonction
       de  l'interpreteur  appelee command_not_found_handle. Si cette fonction
       existe, elle est appelee avec pour arguments la commande  d'origine  et
       ses  arguments,  et l'etat final de la fonction devient l'etat final de
       l'interpreteur. Si cette fonction  n'est  pas  definie,  l'interpreteur
       affiche un message d'erreur et renvoie un etat final de 127.

       Si  la  recherche  reussit  ou si le nom de la commande contient une ou
       plusieurs barres obliques, l'interpreteur execute le programme  demande
       dans  un environnement d'execution distinct. L'argument 0 est configure
       au nom indique et les eventuels arguments restants de la commande  sont
       configures aux arguments indiques.

       Si  cette  execution  echoue  parce  que  le  programme  n'est  pas  un
       executable et si le fichier n'est pas un repertoire, il est  pris  pour
       un  script,  un  fichier  contenant  des  commandes  d'interpreteur. Un
       sous-interpreteur  est  alors  cree  pour  executer   ce   script.   Ce
       sous-interpreteur  se  reinitialisera  lui-meme,  comme  si  un  nouvel
       interpreteur avait ete appele pour executer le script, a la  difference
       qu'il continuera a memoriser l'emplacement des commandes connues de son
       parent (voir hash dans COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).

       Si le programme est un fichier  commencant  par  #!,  le  reste  de  la
       premiere  ligne indique un interprete pour ce programme. L'interpreteur
       se  chargera  d'executer  l'interprete   indique   sur   les   systemes
       d'exploitation  qui ne gerent pas eux-memes ce format d'executable. Les
       arguments de l'interprete consistent en  un  seul  argument  facultatif
       fourni  sur  la  premiere  ligne  du  fichier  a  la  suite  du  nom de
       l'interprete, suivi du nom du programme,  suivi  des  arguments  de  la
       commande s'il y en a.

ENVIRONNEMENT D'EX'ECUTION DES COMMANDES

       L'interpreteur  fournit  un  environnement  d'ex'ecution  consistant  en
       l'ensemble des elements suivants :

       o      les fichiers ouverts herites par l'interpreteur a son  appel  et
              modifies  par  les  redirections  fournies a la commande interne
              exec ;

       o      le repertoire de travail courant comme configure par  cd,  pushd
              ou popd ou herite par l'interpreteur a son appel ;

       o      le  masque  de  creation de fichier comme configure par umask ou
              herite du parent de l'interpreteur ;

       o      les captures courantes configurees par trap ;

       o      les parametres de l'interpreteur configures par des affectations
              de  variables,  avec  la  commande  interne  set,  ou herites de
              l'environnement du parent de l'interpreteur ;

       o      les fonctions de l'interpreteur definies lors de l'execution  ou
              heritees de l'environnement du parent de l'interpreteur ;

       o      les options activees a l'appel (par defaut ou avec les arguments
              de ligne de commande) ou par set ;

       o      les options activees par shopt ;

       o      les alias de l'interpreteur definies par la commande alias ;

       o      les ID des divers  processus,  y  compris  ceux  des  taches  en
              arriere-plan, la valeur de $$ et la valeur de PPID.

       Lorsqu'une commande differente d'une commande interne ou d'une fonction
       de  l'interpreteur  doit  etre  executee,  elle  est  appelee  dans  un
       environnement  d'execution  separe  constitue  de  ce  qui  suit.  Sauf
       indication contraire, les valeurs sont heritees de  l'environnement  de
       l'interpreteur :

       o      les   fichiers  ouverts  de  l'interpreteur,  ainsi  que  toutes
              modifications et ajouts precises  par  les  redirections  de  la
              commande ;

       o      le repertoire de travail courant ;

       o      le masque de creation de fichiers ;

       o      les  variables  et les fonctions de l'interpreteur marquees pour
              l'exportation, ainsi que les  variables  exportees  specialement
              pour la commande ;

       o      les captures interceptees par l'interpreteur sont reinitialisees
              aux valeurs heritees de l'interpreteur parent  et  les  captures
              ignorees par l'interpreteur restent ignorees.

       Une  commande  appelee  dans  un  environnement  distinct  ne  peut pas
       affecter l'environnement d'execution de l'interpreteur.

       Les substitutions de commande, les commandes groupees entre parentheses
       et  les  commandes  asynchrones  sont appelees dans un environnement de
       sous-interpreteur qui est une copie de celui  de  l'interpreteur,  mais
       les  captures  interceptees  par l'interpreteur sont reinitialisees aux
       valeurs que l'interpreteur avait heritees de son parent  a  son  appel.
       Les  commandes internes appelees dans une conduite sont aussi executees
       dans un environnement de sous-interpreteur. Les modifications apportees
       a   l'environnement   d'un   sous-interpreteur  n'affectent  aucunement
       l'environnement d'execution de l'interpreteur.

       Les sous-interpreteurs engendres pour  executer  les  substitutions  de
       commande  heritent des valeurs de l'option -e de l'interpreteur parent.
       En  dehors  du  mode  posix,  bash   efface   l'option   -e   de   tels
       sous-interpreteurs.

       Si une commande est suivie par un & et que le controle des taches n'est
       pas actif, l'entree standard par defaut de la commande est  le  fichier
       vide  /dev/null.  Sinon, la commande appelee herite des descripteurs de
       fichiers  de   l'interpreteur   appelant   comme   modifies   par   les
       redirections.

ENVIRONNEMENT

       Quand un programme est appele, il recoit un tableau de chaines que l'on
       appelle environnement. Il s'agit d'une liste de couples nom-valeur,  de
       la forme nom=valeur.

       L'interpreteur  fournit  plusieurs  facons de gerer l'environnement. Au
       demarrage, l'interpreteur analyse son propre environnement et  cree  un
       parametre  pour chaque nom trouve, en le marquant comme exportable vers
       les  processus  enfants.  Les  commandes  executees  heritent  de   cet
       environnement.  Les commandes export et declare -x permettent d'ajouter
       ou de supprimer des parametres ou des fonctions de l'environnement.  Si
       la  valeur  d'un parametre de l'environnement est modifiee, la nouvelle
       valeur  devient  une  partie  de  l'environnement  et   elle   remplace
       l'ancienne.  L'environnement  herite  par  toute  commande executee est
       l'environnement initial de l'interpreteur,  dont  les  valeurs  peuvent
       etre  modifiees dans l'interpreteur, sans les elements supprimes par la
       commande unset, et avec les elements ajoutes par les  commandes  export
       et declare -x.

       L'environnement  d'une  commande  simple  ou  d'une  fonction peut etre
       augmente temporairement, en la faisant  preceder  des  affectations  de
       parametres,  comme  nous  l'avons  vu  plus  haut dans PARAM`ETRES.  Ces
       affectations ne concernent que l'environnement vu par cette commande.

       Si l'option -k est configuree (voir plus bas la commande interne  set),
       alors   toutes   les  affectations  de  parametres  sont  placees  dans
       l'environnement d'une commande executee et  non  seulement  celles  qui
       precedent son nom.

       Quand  bash  appelle une commande externe, la variable _ est configuree
       en chemin d'acces complet a cette commande et elle est  transmise  dans
       l'environnement.

'ETAT FINAL

       L'etat final d'une commande executee est la valeur renvoyee par l'appel
       systeme waitpid ou fonction  equivalente.  Les  etats  finaux  prennent
       leurs  valeurs  entre  0  et  255,  neanmoins, comme explique plus bas,
       l'interpreteur peut utiliser les valeurs superieures  a  125  de  facon
       particuliere. Les etats finaux des commandes internes et composees sont
       egalement  limitees  a  cette   plage.   Sous   certaines   conditions,
       l'interpreteur  utilisera  des  valeurs particulieres pour indiquer des
       modes d'echec particuliers.

       Du point de vue de l'interpreteur, une commande qui termine  avec  etat
       final valant zero a reussi. Un etat final de zero indique le succes. Un
       etat final different de zero indique un echec. Quand  une  commande  se
       termine par un signal mortel N, bash utilise la valeur 128+N comme etat
       final.

       Si une commande n'est  pas  trouvee,  le  processus  enfant  cree  pour
       l'executer renvoie un etat de 127. Si une commande est trouvee mais pas
       executable, la valeur renvoyee est 126.

       Si une  commande  echoue  a  cause  d'une  erreur  survenue  lors  d'un
       developpement  ou  des  redirections, l'etat final est strictement plus
       grand que zero.

       Les commandes internes renvoient un etat de 0 (vrai) si reussies et une
       valeur  differente de zero (faux) si une erreur se produit pendant leur
       execution. Toutes les commandes internes renvoient un etat final  de  2
       pour indiquer un usage incorrect.

       Bash  lui-meme renvoie l'etat final de la derniere commande executee, a
       moins qu'une erreur de syntaxe ne se produise, auquel  cas  il  termine
       avec  une  valeur  differente  de zero. Voir aussi plus bas la commande
       interne exit.

SIGNAUX

       Quand bash  fonctionne  de  facon  interactive,  en  absence  de  toute
       capture,  il  ignore  SIGTERM  (c'est  ainsi  que  kill 0 ne tue pas un
       interpreteur interactif) et SIGINT est intercepte et gere (c'est  ainsi
       que  la  commande  interne  wait est interruptible). Dans tous les cas,
       bash ignore SIGQUIT.  Si le controle des taches est actif, bash  ignore
       SIGTTIN, SIGTTOU et SIGTSTP.

       Les  commandes  externes  lancees  par  bash  ont  les gestionnaires de
       signaux configures aux  valeurs  heritees  par  l'interpreteur  de  son
       parent.  Quand  le  controle  des taches n'est pas actif, les taches en
       arriere-plan ignorent  les  signaux  SIGINT  et  SIGQUIT  en  plus  des
       gestionnaires  herites.  Les  commandes  executees en tant que resultat
       d'une substitution de commande ignorent  les  signaux  de  controle  de
       taches emis par le clavier SIGTTIN, SIGTTOU et SIGTSTP.

       Par  defaut, l'interpreteur termine a la reception de SIGHUP.  Avant de
       terminer, un interpreteur interactif renvoie le  SIGHUP  a  toutes  les
       taches  en  cours  ou suspendues. Les taches suspendues recoivent aussi
       SIGCONT  pour  s'assurer  qu'elles  recoivent  bien  le  SIGHUP.   Pour
       empecher  l'interpreteur  d'envoyer le signal a une tache particuliere,
       elle devrait etre supprimee de la table des  taches  avec  la  commande
       interne  disown (voir COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas) ou
       marquee comme exemptee de SIGHUP en utilisant disown -h.

       Si l'option d'interpreteur huponexit a ete configuree avec la  fonction
       shopt,  bash  envoie  un  signal  SIGHUP  a toutes les taches lorsqu'un
       interpreteur de commandes de connexion interactif termine.

       Lorsque bash attend qu'une commande  se  termine  et  qu'il  recoit  un
       signal pour lequel une capture a ete configuree, la capture ne sera pas
       executee tant que la commande n'est pas terminee. Lorsque  bash  attend
       la  fin  d'une  commande  asynchrone  par  la commande interne wait, la
       reception d'un signal pour lequel une capture a ete configuree conduira
       a  un  retour  immediat  de la commande interne wait avec un etat final
       superieur a 128, a la  suite  de  quoi  la  capture  est  immediatement
       executee.

CONTR^OLE DES T^ACHES

       Le  contr^ole  des t^aches se refere a la capacite de suspendre (suspend)
       selectivement l'execution d'un processus et de  la  reprendre  (resume)
       ulterieurement.   L'utilisateur   beneficie   generalement   de   cette
       possibilite grace a l'action conjointe du pilote de terminal  du  noyau
       de systeme d'exploitation et de bash.

       L'interpreteur  associe  une  t^ache a chaque conduite. Il maintient une
       table des  taches  en  cours  d'execution,  cette  table  pouvant  etre
       affichee  avec  la  commande  jobs. Quand bash lance une tache de facon
       asynchrone (en arri`ere-plan), il affiche une ligne qui ressemble a :

              [1] 25647

       Cette ligne indique que la tache est la tache numero 1 et que le PID du
       dernier  processus  dans  la conduite associee a cette tache est 25647.
       Tous les processus d'une meme conduite font partie de  la  meme  tache.
       Bash utilise la notion de t^ache comme base du controle des taches.

       Pour  faciliter  l'implementation  d'une  interface utilisateur pour le
       controle de taches, le systeme introduit la notion d'ID  de  groupe  de
       processus associ'es `a un terminal. Les membres de ce groupe de processus
       (processus dont le GID  est  egal  au  Process  Group  ID  du  terminal
       courant)  recoivent  les signaux emis par le clavier comme SIGINT.  Ces
       processus sont dits au premier plan. Les processus en arri`ere-plan sont
       ceux  dont  le  Process-GID  differe  de  celui  du terminal ; ils sont
       indifferents aux signaux emis par le clavier. Seuls  les  processus  au
       premier  plan  peuvent  lire  depuis  le  terminal ou, si l'utilisateur
       l'indique avec stty tostop, y ecrire. Les processus en arriere-plan qui
       tentent  une lecture (ou une ecriture si stty tostop est actif) dans le
       terminal recoivent un signal SIGTTIN (SIGTTOU) emis par  le  pilote  du
       terminal du noyau, qui, sauf interception, suspend le processus.

       Si  le  systeme  d'exploitation  sur  lequel  bash fonctionne permet le
       controle des taches, bash fournit des outils pour l'utiliser. La frappe
       d'un  caractere  de  suspension  (generalement  ^Z, Controle-Z) pendant
       l'execution d'un processus conduit  a  la  suspension  de  celui-ci  et
       redonne la main a bash. La frappe d'un caractere de suspension diff'er'ee
       (generalement ^Y, Controle-Y) conduira a la suspension du processus  au
       moment  ou il tentera de lire des saisies depuis le terminal et la main
       reviendra a bash. L'utilisateur peut alors manipuler  l'etat  de  cette
       tache  en  utilisant la commande bg (background = arriere-plan) pour en
       continuer l'execution en arriere-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 immediatement et a  pour  effet  de
       bord d'eliminer les sorties et saisies en attente.

       Plusieurs facons permettent de se rapporter a une tache. Le caractere %
       introduit une specification de tache (jobspec). Il est possible  de  se
       rapporter  a la tache numero n avec %n. Il est egalement possible de se
       rapporter a une tache en utilisant un prefixe du nom  utilise  pour  le
       lancer  ou  une sous-chaine qui apparait dans sa ligne de commande. Par
       exemple, %ce se rapporte a une tache suspendue nommee ce. Si ce prefixe
       correspond  a plusieurs taches, bash signale une erreur. Utiliser %?ce,
       d'un autre cote, se rapporte a toute tache contenant la chaine ce  dans
       sa  ligne de commande. Si la sous-chaine correspond a plusieurs taches,
       bash signale une erreur. Les symboles %%  et  %+  se  rapportent  a  la
       notion  de  t^ache  courante de l'interpreteur, c'est-a-dire la derniere
       tache suspendue alors qu'elle etait au  premier  plan  ou  demarree  en
       arriere-plan.  La  t^ache pr'ec'edente peut etre designee en utilisant %-.
       Si une seule tache existe, %+ et %- peuvent  tous  deux  etre  utilises
       pour  se rapporter a cette tache. Dans les affichages se rapportant aux
       taches (par exemple la sortie de la commande jobs), la  tache  courante
       est  toujours annotee d'un + et la tache precedente d'un -. Un simple %
       (non accompagne de specification de tache) se rapporte egalement  a  la
       tache courante.

       Il  suffit de nommer une tache pour la ramener au premier plan : %1 est
       synonyme de << fg %1 >> et ramene la tache 1 de l'arriere-plan vers  le
       premier  plan.  De meme, << %1 & >> reprend la tache 1 en arriere-plan,
       de facon equivalente a << bg %1 >>.

       L'interpreteur  est  immediatement  prevenu  lorsqu'une  tache   change
       d'etat. Normalement bash attend d'etre pret a afficher son interpreteur
       avant de signaler des changements dans l'etat des taches,  afin  de  ne
       pas  interrompre  toute  autre  sortie.  Si  l'option -b de la commande
       interne  set  est  activee,  bash  signalera  de  telles  modifications
       immediatement.  Toute  capture  sur  SIGCHLD  est  executee pour chaque
       enfant qui termine.

       Si une tentative visant a terminer bash  est  realisee  alors  que  des
       taches  sont suspendues (ou, si l'option d'interpreteur checkjobs a ete
       activee  par  la  commande  interne  shopt,  en   cours   d'execution),
       l'interpreteur  affiche  un  message  d'avertissement,  et, si l'option
       d'interpreteur checkjobs est activee, affiche la liste  les  taches  et
       leurs  etats.  La  commande jobs peut alors etre utilisee pour examiner
       leur etat. Si une deuxieme  tentative  est  faite  pour  terminer  sans
       commande    intercalaire,    l'interpreteur   n'affiche   aucun   autre
       avertissement et les taches suspendues sont terminees.

INVITES

       Quand il est execute de facon interactive,  bash  affiche  l'invite  de
       base  PS1 des qu'il est pret a lire une commande et l'invite secondaire
       PS2 quand il a besoin de plus de saisies pour  executer  une  commande.
       Bash  permet  de  personnaliser  ces  chaines  d'invite, en inserant un
       certain nombre de caracteres speciaux proteges par des  contre-obliques
       qui sont decodes comme suit :
              \a     un caractere ASCII d'alarme (07) ;
              \d     la date au format << Jour_de_la_semaine Mois Quantieme >>
                     (par exemple : << Tue May 26 >>) ;
              \D{format}
                     le format est passe a  strftime(3)  et  le  resultat  est
                     insere  dans  la  chaine  de  l'invite ;  un  format vide
                     implique  une  representation  du  temps  specifique  aux
                     parametres  linguistiques  regionaux.  Les accolades sont
                     necessaires ;
              \e     un caractere d'echappement ASCII (033) ;
              \h     le nom de la machine, jusqu'au premier point << . >> ;
              \H     le nom de la machine ;
              \j     le   nombre   de   taches   actuellement    gerees    par
                     l'interpreteur ;
              \l     le  nom  de  base  du  nom de peripherique de terminal de
                     l'interpreteur ;
              \n     saut de ligne ;
              \r     retour chariot (<< carriage return >>) ;
              \s     le nom de l'interpreteur, c'est-a-dire le nom de base  de
                     $0 (la portion suivant la derniere 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  numero de version complet (avec niveau de correctifs)
                     de bash, (par exemple, 2.00.0) ;
              \w     le repertoire de travail courant, avec  $HOME  abrege  en
                     tilde   << ~ >>   (utilise   la  valeur  de  la  variable
                     PROMPT_DIRTRIM) ;
              \W     le nom de base du repertoire  de  travail  courant,  avec
                     $HOME abrege en tilde (<< ~ >>) ;
              \!     le numero d'historique de la commande ;
              \#     le numero de la commande ;
              \$     # si l'UID effectif est 0, $ sinon ;
              \nnn   le caractere de code octal nnn ;
              \\     une contre-oblique ;
              \[     debute  une  suite  de  caracteres  non  imprimables, qui
                     peuvent  etre  utilises  pour  inclure   une   suite   de
                     caracteres de controle du terminal dans l'interpreteur ;
              \]     finit une suite de caracteres non imprimables.

       Le  numero  de  commande  et  le  numero d'historique sont generalement
       differents : le numero d'historique  d'une  commande  correspond  a  sa
       position  dans  la  file  d'historique  qui peut contenir des commandes
       relues depuis cette liste (voir HISTORIQUE  plus  bas),  alors  que  le
       numero  de  commande  est  simplement  une  position  dans  la suite de
       commandes executees  depuis  le  debut  de  la  session  d'interpreteur
       courante.  Apres  que  la  chaine  ait ete decodee, elle est soumise au
       developpement  des  parametres,  a  la  substitution  de  commande,  au
       developpement  arithmetique,  au decoupage des mots et a la suppression
       des protections, selon la valeur de l'option d'interpreteur  promptvars
       (voir la description de shopt dans COMMANDES INTERNES DE L'INTERPR'ETEUR
       plus bas).

READLINE

       C'est la bibliotheque qui gere la lecture des saisies lors des sessions
       interactives  de  l'interpreteur,  a  moins que l'option --noediting ne
       soit indiquee a l'appel de l'interpreteur.  Par  defaut  les  commandes
       d'edition  de  ligne  sont  similaires  a celles d'Emacs. Une interface
       d'edition de ligne dans le style vi est aussi disponible. Pour  arreter
       l'edition  de  ligne  apres  le  demarrage  de l'interpreteur, utiliser
       l'option +o emacs ou +o vi de la commande interne set  (voir  COMMANDES
       INTERNES DE L'INTERPR'ETEUR plus bas).

   Notation readline
       Dans  ce  paragraphe  on  utilisera  la  notation << a la Emacs >> pour
       indiquer les frappes de  touches.  Les  touches  Controle  sont  notees
       C-touche,  par  exemple  C-n  signifie Controle-N. De meme, les touches
       M'eta sont notees par M-touche, ainsi  M-x  signifie  Meta-X.  (Sur  les
       claviers sans touches M'eta, M-x signifie ESC x, c'est-a-dire presser la
       touche d'Echappement puis la touche x. Cela  fait  de  ESC  le  pr'efixe
       m'eta. La combinaison M-C-x signifie ESC-Controle-x ou encore presser la
       touche d'Echappement puis maintenez la touche Controle enfoncee tout en
       pressant la touche x.)

       Les  commandes  readline peuvent recevoir des arguments numeriques, qui
       fonctionnent en regle generale comme compteurs de repetitions. Parfois,
       cependant,   c'est   le  signe  de  l'argument  qui  est  significatif.
       L'utilisation d'un argument negatif pour une commande agissant dans  un
       sens  donne  (par exemple kill-line) conduit cette commande a agir dans
       la direction opposee. Les  commandes  dont  le  comportement  avec  les
       arguments differe de ceci sont indiquees plus bas.

       Lorsqu'une  commande  est  indiquee comme d'etruisant du texte, le texte
       efface  est  en  fait  sauvegarde  pour  une  eventuelle   recuperation
       ulterieure  (<< yanking >>).  Il est conserve dans un tampon circulaire
       (<< kill  ring >>).   Les   suppressions   successives   conduisent   a
       l'accumulation  du  texte en un seul bloc qui peut etre recupere en une
       fois. Les commandes non destructives separent les blocs de textes  dans
       le tampon circulaire.

   Initialisation de readline
       Readline  est  personnalise  en  placant  des commandes dans un fichier
       d'initialisation (le fichier inputrc). Le nom de ce  fichier  est  pris
       dans  la  variable  de  l'interpreteur  INPUTRC.  Si cette variable est
       inexistante, le nom par  defaut  est  ~/.inputrc.  Lorsqu'un  programme
       utilisant la bibliotheque readline demarre, le fichier d'initialisation
       est lu et les raccourcis clavier et les variables sont mis en place. Il
       n'y a que quelques constructions elementaires possibles dans le fichier
       d'initialisation de readline. Les lignes blanches  sont  ignorees.  Les
       lignes  commencant  par  # sont des commentaires. Les lignes commencant
       par $ indiquent des constructions conditionnelles.  Les  autres  lignes
       indiquent des raccourcis clavier et des parametrages de variables.

       Les  raccourcis clavier par defaut peuvent etre modifies par un fichier
       inputrc. D'autres programmes qui utilisent cette  bibliotheque  peuvent
       ajouter leurs propres commandes et raccourcis.

       Par exemple, en placant

              M-Control-u: universal-argument
       ou
              C-Meta-u: universal-argument
       dans  le  fichier  inputrc, on associera la suite de touches M-C-u a la
       commande readline universal-argument.

       Les caracteres symboliques suivants sont acceptes : RUBOUT,  DEL,  ESC,
       LFD, NEWLINE, RET, RETURN, SPC, SPACE et TAB.

       En  plus des noms de commandes, readline permet d'associer a une touche
       une chaine de caracteres qui sera inseree lorsque la touche est pressee
       (une macro).

   Raccourcis clavier readline
       La syntaxe de definition des raccourcis clavier dans le fichier inputrc
       est simple. Tout ce qui est necessaire est le nom de la commande ou  le
       texte d'une macro et la suite de touches a laquelle il faut l'associer.
       Les noms de touches peuvent etre indiques de l'une  des  deux  facons :
       comme  un nom de touche symbolique, eventuellement precede des prefixes
       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: "> output"

       Dans   l'exemple   ci-dessus,   C-u   est   associe   a   la   fonction
       universal-argument, M-DEL a la fonction  backward-kill-word  et  C-o  a
       l'execution  de  la macro exprimee dans la partie gauche (c'est-a-dire,
       inserer le texte ``> output'' sur la ligne).

       Avec la seconde  forme,  "touches":nom_de_fonction  ou  macro,  touches
       differe  de  touche  ci-dessus  en  ce que les chaines notant une suite
       complete de touches peut  etre  indiquee  en  placant  la  suite  entre
       guillemets  doubles.  Certaines suites de touches d'echappement dans le
       style GNU Emacs peuvent etre utilisees, comme dans  l'exemple  suivant,
       mais les noms de caracteres symboliques 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  a  nouveau  associe  a  la  fonction
       universal-argument, C-x C-r a la fonction re-read-init-file et ESC [  1
       1 ~ a l'insertion du texte ``Function Key 1''.

       Le  jeu  complet  des  suites de caracteres d'echappements du style GNU
       Emacs est :
              \C-    prefixe Controle ;
              \M-    prefixe Meta ;
              \e     caractere d'echappement ;
              \\     contre-oblique ;
              \"     un guillemet " litteral ;
              \'     un guillemet ' litteral.

       En plus des suites de caracteres d'echappement dans le style GNU Emacs,
       un second jeu de suites de caracteres d'echappement par contre-obliques
       est disponible :
              \a     alerte (alarme) ;
              \b     effacement arriere (<< backspace >>) ;
              \d     effacement ;
              \f     saut de page (<< form feed >>) ;
              \n     saut de ligne ;
              \r     retour chariot (<< carriage return >>) ;
              \t     tabulation horizontale ;
              \v     tabulation verticale ;
              \nnn   le caractere 8 bits dont la valeur octale est nnn  (un  a
                     trois chiffres) ;
              \xHH   le  caractere  8 bits  dont la valeur hexadecimale est HH
                     (un ou deux chiffres hexadecimaux) ;

       Lorsqu'on saisit le texte d'une macro, il faut utiliser des  guillemets
       simples  ou doubles pour indiquer la definition de la macro. Les textes
       non proteges sont consideres comme des noms de fonctions. Dans le corps
       de la macro, les protections par contre-oblique decrites plus haut sont
       developpees. La contre-oblique protegera tout autre caractere  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'edition  a
       l'autre  en  mode  interactif  en  utilisant l'option -o de la commande
       interne set (voir COMMANDES INTERNES DE L'INTERPR'ETEUR plus bas).

   Variables de readline
       Readline dispose de variables permettant de personnaliser  encore  plus
       son  comportement.  Une  variable  peut etre configuree 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  etant  sans  importance). Les noms de
       variables non reconnues sont ignores. Lorsqu'une valeur de variable est
       lue,  les variables vides ou de valeur nulle, << on >> (insensible a la
       casse) et << 1 >> sont equivalent a On. Toutes les autres valeurs  sont
       equivalentes a Off. Les variables et leurs valeurs par defaut, sont :

       bell-style (audible)
              Cette  variable  commande  readline  lorsqu'il  faut  declencher
              l'alarme du terminal. Si  configuree  a  none,  readline  n'emet
              jamais  d'alarme.  Si configuree a visible, readline utilise une
              alarme visuelle s'il y en a  une  disponible.  Si  configuree  a
              audible, readline essaie de faire sonner l'alarme du terminal.
       bind-tty-special-chars (On)
              Si  configuree a On, readline tente d'associer les caracteres de
              controle traites specialement par le pilote de terminal du noyau
              a leurs equivalents readline.
       comment-begin (<< # >>)
              Cette   chaine   est   inseree   quand   la   commande  readline
              insert-comment est executee. Cette commande est associee  a  M-#
              en mode Emacs et a # en mode de commande vi.
       completion-ignore-case (Off)
              Si  configuree  a  On,  readline effectue les correspondances et
              completements de noms de fichiers sans tenir compte de la casse.
       completion-prefix-display-length (0)
              La longueur, en caracteres, du prefixe  commun  d'une  liste  de
              completements possibles affiche sans modification. Si configuree
              en valeur positive, les prefixes communs plus  longs  que  cette
              valeur  sont  remplaces  par une ellipse lors de l'affichage des
              completements possibles.
       completion-query-items (100)
              Ceci determine quand l'utilisateur est interroge  pour  voir  le
              nombre  de  completements  possibles  produits  par  la commande
              possible-completions. Elle peut etre configuree a  toute  valeur
              entiere  positive.  Si  le nombre de completements possibles est
              superieur ou egal a la valeur de cette variable, il est  demande
              a  l'utilisateur  s'il  veut  ou  non les voir ; sinon, ils sont
              simplement affiches sur le terminal.
       convert-meta (On)
              Si configuree a On, readline transformera  les  caracteres  avec
              leur huitieme bit a 1 en suite de caracteres ASCII en supprimant
              le huitieme bit  et  en  inserant  comme  prefixe  un  caractere
              d'echappement  (en fait, en utilisant le caractere d'echappement
              comme pr'efixe m'eta).
       disable-completion (Off)
              Si configuree a On, readline empechera le completement des mots.
              Les caracteres de completement seront inseres sur la ligne comme
              s'ils avaient ete associes a self-insert.
       editing-mode (emacs)
              Commande si readline doit demarrer avec des  raccourcis  clavier
              similaires  a  Emacs  ou a vi. editing-mode peut etre positionne
              soit a emacs, soit a vi.
       echo-control-characters (On)
              Si  configuree  a  On,  sur  les  systemes   d'exploitation   le
              permettant,  readline  affiche  un  caractere correspondant a un
              signal provenant du clavier.
       enable-keypad (Off)
              Quand configuree a  On,  readline  essayera  d'activer  le  pave
              numerique  de  l'application  une  fois  appelee.  Sur  certains
              systemes, c'est necessaire pour utiliser les fleches.
       enable-meta-key (On)
              Quand configuree a On, readline essayera  d'activer  toutes  les
              touches  de  modificateur  M'eta  que le terminal peut prendre en
              charge une fois appele. Sur de  nombreux  terminaux,  la  touche
              M'eta est utilisee pour saisir des caracteres sur huit bits.
       expand-tilde (Off)
              Si  configuree  a  On,  le  developpement  du tilde est effectue
              lorsque readline tente un completement de commandes.
       history-preserve-point (Off)
              Si configuree a On, le programme d'historique tente de placer le
              curseur  au meme endroit sur chaque ligne d'historique recuperee
              avec previous-history ou next-history.
       history-size (0)
              Configure le nombre  d'elements  sauvegardes  dans  la  file  de
              l'historique.  Si  configuree a zero, le nombre d'elements de la
              file de l'historique n'est pas limite.
       horizontal-scroll-mode (Off)
              Quand configuree  a  On,  readline  utilisera  une  seule  ligne
              d'affichage  et  fera  defiler la saisie horizontalement sur une
              seule ligne d'ecran  quand  elle  devient  plus  longue  que  la
              largeur de l'ecran, plutot que de faire un retour a la ligne.
       input-meta (Off)
              Si configuree a On, readline acceptera des saisies sur huit bits
              (autrement dit il ne supprimera pas le huitieme bit),  quel  que
              soit  le terminal utilise. Le nom meta-flag est un synonyme pour
              cette variable.
       isearch-terminators (<< C-[C-J >>)
              La  chaine  de  caracteres  qui  doit  terminer  une   recherche
              incrementale  sans  que  le  caractere ne soit execute comme une
              commande.  Si  cette  variable  n'a  pas  recu  de  valeur,  les
              caracteres ESC et C-J termineront une recherche incrementale.
       keymap (emacs)
              Configure  le jeu de raccourcis readline courant. L'ensemble des
              noms corrects de jeux de raccourcis est  emacs,  emacs-standard,
              emacs-meta,  emacs-ctlx,  vi,  vi-command  et  vi-insert. vi est
              equivalent a vi-command ; emacs est equivalent a emacs-standard.
              La  valeur  par  defaut  est  emacs ;  la valeur de editing-mode
              modifie aussi le jeu de raccourcis par defaut.
       mark-directories (On)
              Si configuree a On, une barre oblique est ajoutee  aux  noms  de
              repertoires.
       mark-modified-lines (Off)
              Si  configuree  a  On,  les  lignes  d'historique  qui  ont  ete
              modifiees seront precedees a l'affichage d'un asterisque (*).
       mark-symlinked-directories (Off)
              Si configuree a On, une  barre  oblique  est  ajoutee  aux  noms
              completes  si ce sont des liens symboliques vers des repertoires
              (selon la valeur de mark-directories).
       match-hidden-files (On)
              Cette variable, quand elle est configuree a On, conduit readline
              a  faire  correspondre  des fichiers dont le nom commence par un
              << . >> (fichiers  caches)  lors  du  completement  de  noms  de
              fichiers,  a  moins  que  le  << . >> de tete ne soit fourni par
              l'utilisateur dans le nom de fichier a completer.
       output-meta (Off)
              Si  configuree  a  On,  readline   affichera   directement   les
              caracteres  ayant  leur  huitieme bit a 1, plutot que d'utiliser
              une suite de caracteres d'echappement avec prefixe meta.
       page-completions (On)
              Si configuree a On,  readline  utilise  un  afficheur  de  texte
              interne  du  type more pour afficher les completements possibles
              sur un seul plein ecran.
       print-completions-horizontally (Off)
              Si  configuree  a  On,  readline  affichera  les   completements
              correspondants  tries  horizontalement dans l'ordre alphabetique
              plutot que verticalement.
       revert-all-at-newline (Off)
              Si configuree a On, readline annulera toutes  les  modifications
              des lignes d'historique avant de s'arreter quand accept-line est
              execute.  Par  defaut  les  lignes  d'historique  peuvent   etre
              modifiees et conservent les listes d'annulation individuelles au
              fur et a mesure des appels a readline.
       show-all-if-ambiguous (Off)
              Ceci  modifie  le  comportement  par  defaut  des  fonctions  de
              completement.  Si  configuree  a  On, les mots qui ont plus d'un
              completement possibles conduisent  a  l'affichage  immediat  des
              correspondances plutot qu'a l'emission d'une alarme.
       show-all-if-unmodified (Off)
              Ceci  modifie  le  comportement  par  defaut  des  fonctions  de
              completement de  facon  similaire  a  show-all-if-ambiguous.  Si
              configuree  a  On,  les  mots  qui  ont  plus  d'un completement
              possible  sans  aucun   completement   partiel   possible   (les
              completements  possibles  ne  partagent  pas  de prefixe commun)
              conduisent a l'affichage  immediat  des  correspondances  plutot
              qu'a l'emission d'une alarme.
       skip-completed-text (Off)
              Si  configuree  a  On,  modifie  le  comportement  par defaut du
              completement lors de  l'insertion  d'une  unique  correspondance
              dans  la  ligne.  Elle n'est utilisee que lors d'un completement
              effectue au milieu d'un  mot.  Si  elle  est  activee,  readline
              n'insere  pas  de caracteres de completement correspondant a des
              caracteres situes apres le curseur dans le mot en  train  d'etre
              complete,  ainsi les parties du mots situees apres le curseur ne
              sont pas dupliquees.
       visible-stats (Off)
              Si configuree a On, un caractere indiquant le type  de  fichier,
              comme  signale  par  stat(2)  est ajoute aux noms de fichiers en
              affichant les completements possibles.

   Constructions conditionnelles de readline
       Readline  implemente  un  mecanisme  inspire  des  fonctionnalites   de
       compilation  conditionnelle  du pre-processeur C qui permet d'effectuer
       le parametrage des  raccourcis  clavier  et  des  variables  selon  les
       resultats de tests. Il y a quatre directives d'analyse utilisees.

       $if    La  structure $if permet de choisir les raccourcis selon le mode
              d'edition,  le  terminal  utilise  ou  l'application   utilisant
              readline. Le texte du test va jusqu'a la fin de la ligne ; aucun
              caractere n'est necessaire pour le delimiter.

              mode   La forme mode= de la  directive  $if  est  utilisee  pour
                     verifier  si  readline est en mode emacs ou vi. Ceci peut
                     etre utilise conjointement a la commande set keymap,  par
                     exemple  pour  ne  configurer  les raccourcis des jeux de
                     raccourcis emacs-standard et emacs-ctlx que  si  readline
                     demarre en mode emacs.

              term   La  forme  term=  peut  etre  utilisee  pour  ajouter des
                     raccourcis  clavier  specifiques   au   terminal,   comme
                     associer  des suites de touches produites par des touches
                     de fonction du terminal. Le mot a droite du signe  =  est
                     compare  a  la  fois  au  nom complet du terminal et a la
                     portion de nom du terminal qui precede le  premier  signe
                     -.  Ceci  permet,  par exemple, de faire correspondre sun
                     avec a la fois sun et sun-cmd.

              application
                     La structure application est utilisee  pour  inclure  des
                     parametrages  specifiques  a  chaque  application. Chaque
                     programme utilisant la bibliotheque readline configure un
                     nom  d'application  et  un  fichier d'initialisation peut
                     tester une valeur particuliere. Ce peut etre utilise pour
                     associer  des  suites  de  touches a des fonctions utiles
                     pour un certain programme.  Par  exemple,  les  commandes
                     suivantes  ajoutent  une  suite de touches qui protege le
                     mot courant ou precedant dans Bash :

                     $if Bash
                     # Proteger le mot courant ou le precedant
                     "\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 executees si un $if
              echoue.

       $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  (voir  HISTORIQUE  plus bas) des lignes contenant une chaine
       donnee.  Il  y  a  deux  modes  de  recherche :  incr'emental   et   non
       incr'emental.

       Les  recherches  incrementales  commencent avant meme que l'utilisateur
       n'ait termine de saisir la chaine recherchee. A chaque caractere saisi,
       readline  affiche l'element suivant de l'historique qui correspond a la
       chaine deja entree. Une recherche incrementale necessite  seulement  le
       nombre   de   caracteres   indispensable   pour   retrouver   l'element
       d'historique desire.  Les  caracteres  se  trouvant  dans  la  variable
       isearch-terminators  servent  a terminer une recherche incrementale. Si
       aucune valeur  n'a  ete  affectee  a  cette  variable,  les  caracteres
       Echappement   (<< Escape >>)  et  Controle-J  terminent  une  recherche
       incrementale.   Controle-G   permet   d'interrompre    une    recherche
       incrementale  et  de restaurer la ligne originale. Lorsque la recherche
       est finie, l'element d'historique contenant la chaine  desiree  devient
       la ligne courante.

       Pour   trouver   les   autres   elements  correspondant  dans  la  file
       d'historique,  saisissez   selon   Controle-S   ou   Controle-R.   Ceci
       recherchera  en avant ou en arriere dans l'historique l'element suivant
       correspondant a la  chaine  saisie  jusque-la.  Toute  autre  suite  de
       touches  associee  a  une commande readline interrompra la recherche et
       executera la commande. Par exemple, un saut  de  ligne  interrompra  la
       recherche et acceptera la ligne, executant ainsi la commande de la file
       d'historique.

       Readline se souvient de la derniere chaine de  recherche  incrementale.
       Si  deux Controle-R sont tapes sans caractere pour definir une nouvelle
       recherche de chaine, toute chaine memorisee sera utilisee.

       Les recherches non incrementales lisent la  chaine  desiree  en  entier
       avant  de  demarrer  la  recherche  de  correspondance  dans  la  liste
       d'historique. La chaine peut etre saisie  par  l'utilisateur  ou  faire
       partie du contenu de la ligne courante.

   Noms des commandes readline
       Ce  qui  suit  est  une  liste  des  noms de commandes et les suites de
       touches auxquelles  elles  sont  associees  par  defaut.  Les  noms  de
       commandes  sans  suite de touche les accompagnant ne sont pas associees
       par defaut. Dans les descriptions suivantes, le  curseur  (<< point >>)
       se  rapporte a la position courante du curseur et la marque se rapporte
       a une position de curseur sauvegardee  par  la  commande  set-mark.  Le
       texte entre le curseur et la marque est designe comme la zone.

   Commandes de d'eplacement
       beginning-of-line (C-a)
              Saut au debut de la ligne courante.
       end-of-line (C-e)
              Saut a la fin de la ligne.
       forward-char (C-f)
              Avancer d'un caractere.
       backward-char (C-b)
              Reculer d'un caractere.
       forward-word (M-f)
              Avancer jusqu'a la fin du mot suivant. Les mots sont composes de
              caracteres alphanumeriques (lettres et chiffres).
       backward-word (M-b)
              Reculer jusqu'au debut du mot courant ou du precedent. Les  mots
              sont   composes   de   caracteres  alphanumeriques  (lettres  et
              chiffres).
       shell-forward-word
              Avancer jusqu'a la fin du mot suivant. Les mots sont separes par
              des metacaracteres non proteges de l'interpreteur.
       shell-backward-word
              Reculer  jusqu'au debut du mot courant ou du precedent. Les mots
              sont  separes   par   des   metacaracteres   non   proteges   de
              l'interpreteur.
       clear-screen (C-l)
              Effacer  l'ecran,  en  laissant  la  ligne courante au sommet de
              l'ecran. S'il y a un argument, rafraichir la ligne courante sans
              effacer l'ecran.
       redraw-current-line
              Rafraichir la ligne courante.

   Commandes de manipulation de l'historique
       accept-line (saut de ligne, retour chariot)
              Valider  la  ligne, sans se soucier de l'emplacement du curseur.
              Si la ligne n'est pas vide, l'ajouter a  la  file  d'historique,
              sous  controle  de  la variable HISTCONTROL.  Si cette ligne est
              une ligne d'historique modifiee, restaurer cette derniere.
       previous-history (C-p)
              Recuperer la commande precedente de  la  file  d'historique,  en
              remontant dans la file.
       next-history (C-n)
              Recuperer  la  commande  suivante  dans la file d'historique, en
              descendant dans la file.
       beginning-of-history (M-<)
              Recuperer la premiere ligne de l'historique.
       end-of-history (M->)
              Retourner a la fin de l'historique de saisie, c'est-a-dire a  la
              ligne en cours de saisie.
       reverse-search-history (C-r)
              Rechercher en arriere dans l'historique, en remontant. C'est une
              recherche incrementale.
       forward-search-history (C-s)
              Rechercher en avant dans l'historique, en descendant. C'est  une
              recherche incrementale.
       non-incremental-reverse-search-history (M-p)
              Rechercher une chaine en arriere dans l'historique, en remontant
              depuis  la  ligne   actuelle,   utiliser   une   recherche   non
              incrementale pour une chaine fournie par l'utilisateur.
       non-incremental-forward-search-history (M-n)
              Rechercher  une  chaine en avant dans l'historique, utiliser une
              recherche  non  incrementale  pour  une   chaine   fournie   par
              l'utilisateur.
       history-search-forward
              Rechercher  en  avant dans l'historique la chaine comprise entre
              le debut de la ligne actuelle et la position du  curseur.  C'est
              une recherche non incrementale.
       history-search-backward
              Rechercher en arriere dans l'historique la chaine comprise entre
              le debut de la ligne actuelle et la position du  curseur.  C'est
              une recherche non incrementale.
       yank-nth-arg (M-C-y)
              Inserer,  a  l'emplacement du curseur, le premier argument de la
              commande precedente. Generalement, il s'agit du second mot de la
              ligne  precedente.  Avec un argument n, inserer le n-ieme mot de
              la commande precedente (les mots sont numerotes a partir de  0).
              Un argument negatif insere le n-ieme mot en partant de la fin de
              la commande precedente. Une fois que l'argument  n  est  traite,
              l'argument  est  extrait  comme si le developpement d'historique
              << !n >> avait ete indique.
       yank-last-arg (M-., M-_)
              Inserer le  dernier  argument  de  la  commande  precedente  (le
              dernier  mot  de  l'element  precedent de la file d'historique).
              Avec un argument, se comporte exactement comme yank-nth-arg. Les
              appels   successifs  a  yank-last-arg  remontent  dans  la  file
              d'historique en inserant le dernier  argument  de  chaque  ligne
              tour  a  tour.  Les  outils  de  developpement d'historique sont
              utilises  pour  extraire  le  dernier  argument,  comme  si   le
              developpement d'historique << !$ >> avait ete indique.
       shell-expand-line (M-C-e)
              Developper,  comme  le  fait  l'interpreteur, la ligne courante.
              Ceci effectue le developpement des alias et d'historique,  ainsi
              que  tous les developpements de mot de l'interpreteur. Voir plus
              bas  D'EVELOPPEMENT  DE  L'HISTORIQUE,   pour   une   description
              detaillee du developpement de l'historique.
       history-expand-line (M-^)
              Effectuer  le  developpement d'historique sur la ligne courante.
              Voir  plus  bas  D'EVELOPPEMENT   DE   L'HISTORIQUE,   pour   une
              description detaillee.
       magic-space
              Effectuer le developpement de l'historique sur la ligne courante
              et  inserer  une  espace.  Voir  plus   bas   D'EVELOPPEMENT   DE
              L'HISTORIQUE, pour une description detaillee.
       alias-expand-line
              Effectuer le developpement des alias sur la ligne courante. Voir
              ALIAS plus haut pour une description des developpements d'alias.
       history-and-alias-expand-line
              Effectuer le developpement de l'historique et des alias  sur  la
              ligne courante.
       insert-last-argument (M-., M-_)
              Un synonyme de yank-last-arg.
       operate-and-get-next (C-o)
              Valider  la  ligne  courante  et  recuperer la ligne suivante de
              l'historique pour edition. Tout argument est ignore.
       edit-and-execute-command (C-xC-e)
              Appelle un editeur sur la ligne de commande courante et  execute
              le  resultat  comme  une  commande  d'interpreteur.  Bash  tente
              d'appeler, dans cet  ordre,  $VISUAL,  $EDITOR  et  emacs  comme
              editeur.

   Commande d''edition de texte
       delete-char (C-d)
              Effacer  le  caractere  sous le curseur. Si la ligne est vide et
              que  le  dernier  caractere  saisi   n'etait   pas   associe   a
              delete-char, alors renvoyer EOF.
       backward-delete-char (Effacement ou << Rubout >>)
              Effacer  le  caractere  avant  le  curseur.  Lorsque un argument
              numerique est indique, le texte efface est  sauvegarde  dans  le
              tampon circulaire.
       forward-backward-delete-char
              Effacer  le  caractere  sous le curseur, sauf s'il est en fin de
              ligne, auquel cas le caractere avant le curseur est efface.
       quoted-insert (C-q, C-v)
              Ajouter litteralement sur la ligne le caractere  saisi  suivant.
              Ceci permet d'inserer des caracteres comme C-q, par exemple.
       tab-insert (C-v TAB)
              Inserer un caractere de tabulation.
       self-insert (a, b, A, 1, !, ...)
              Inserer le caractere mentionne.
       transpose-chars (C-t)
              Echanger  les  caracteres se trouvant devant et sous le curseur.
              Le curseur est avance d'un caractere. A la fin d'une ligne,  les
              caracteres  echanges  sont  les  deux  precedents. Les arguments
              negatifs n'ont aucun effet.
       transpose-words (M-t)
              Deplace le mot avant le curseur au-dela du mot apres le  curseur
              et  deplace  aussi le curseur sur ce mot. Si le curseur est a la
              fin de la ligne, cela echange  les  deux  derniers  mots  de  la
              ligne.
       upcase-word (M-u)
              Transformer  le  mot courant (ou le suivant) en majuscules. Avec
              un argument negatif, agir sur  le  mot  precedent  mais  ne  pas
              deplacer le curseur.
       downcase-word (M-l)
              Transformer  le  mot courant (ou le suivant) en minuscules. Avec
              un argument negatif, agir sur  le  mot  precedent  mais  ne  pas
              deplacer le curseur.
       capitalize-word (M-c)
              Passer  en  majuscule l'initiale du mot courant (ou du suivant).
              Avec un argument negatif, agir sur le mot precedent mais ne  pas
              deplacer le curseur.
       overwrite-mode
              Basculer  en  mode  d'ecrasement.  Avec  un  argument  numerique
              explicite strictement positif,  bascule  en  mode  d'ecrasement.
              Avec  un argument numerique explicite negatif ou nul, bascule en
              mode d'insertion. Cette commande n'affecte que le  mode  emacs ;
              le mode vi ecrase de facon differente. Chaque appel a readline()
              demarre  en  mode  d'insertion.  En   mode   d'ecrasement,   les
              caracteres  associes  a  self-insert remplacent le texte sous le
              curseur plutot que de deplacer le  texte  vers  la  droite.  Les
              caracteres   associes   a   backward-delete-char  remplacent  le
              caractere avant le curseur par une  espace.  Par  defaut,  cette
              commande n'est pas associee.

   Effacement et r'ecup'eration
       kill-line (C-k)
              Effacer le texte depuis la position du curseur jusqu'a la fin de
              la ligne.
       backward-kill-line (C-x Effacement)
              Effacer en arriere jusqu'au debut de ligne.
       unix-line-discard (C-u)
              Effacer le texte entre le debut de la ligne et  la  position  du
              curseur. Le texte est sauvegarde 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  courant  ou,
              si  entre  des  mots, jusqu'a la fin du mot suivant. Les limites
              des mots sont identiques a celles utilisees par forward-word.
       backward-kill-word (M-Effacement)
              Effacer le mot  sous  le  curseur.  Les  limites  de  mots  sont
              identiques a celles utilisees par backward-word.
       shell-kill-word (M-d)
              Effacer  le  texte entre le curseur et la fin du mot courant ou,
              si entre des mots, jusqu'a la fin du mot  suivant.  Les  limites
              des    mots    sont    identiques   a   celles   utilisees   par
              shell-forward-word.
       shell-backward-kill-word (M-Effacement)
              Effacer le mot  sous  le  curseur.  Les  limites  de  mots  sont
              identiques a celles utilisees 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  efface  est  sauvegarde  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  supprime  est
              sauvegarde 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 courante.
       copy-region-as-kill
              Copier le texte de la zone vers le tampon circulaire.
       copy-backward-word
              Copier le mot precedant le curseur dans  le  tampon  circulaire.
              Les limites de mots sont identiques a celles de backward-word.
       copy-forward-word
              Copier  le mot suivant le curseur dans le tampon circulaire. Les
              limites de mots sont identiques a celles de forward-word.
       yank (C-y)
              Recuperer le texte au sommet du tampon circulaire a la  position
              du curseur dans le tampon.
       yank-pop (M-y)
              Executer une rotation du tampon circulaire et recuperer le texte
              situe a son nouveau sommet. Ceci ne fonctionne qu'apres yank  ou
              yank-pop.

   Arguments num'eriques
       digit-argument (M-0, M-1, ..., M--)
              Ajouter  ce  chiffre a l'argument en cours de redaction ou creer
              un nouvel argument. M-- cree un argument negatif.
       universal-argument
              Il s'agit d'une autre facon d'indiquer  un  argument.  Si  cette
              commande  est  suivie d'un ou plusieurs chiffres facultativement
              precedes d'un signe moins, ces chiffres definissent  l'argument.
              Si la commande est suivie de chiffres, une nouvelle execution de
              universal-argument  termine  l'argument  numerique,   mais   est
              ignoree  dans  les  autres cas. Par exception, si cette commande
              est suivie immediatement  par  un  caractere  qui  n'est  ni  un
              chiffre  ni  le  signe  moins,  le  compteur  d'arguments  de la
              commande suivante est multiplie par 4. Le  compteur  d'arguments
              est  initialement  a  un,  donc  la  premiere execution de cette
              commande amene le compteur d'arguments  a  quatre,  une  seconde
              fois porte le compteur d'arguments a seize et ainsi de suite.

   Compl`etement
       complete (TAB)
              Essayer  d'effectuer  un  completement  du  texte situe avant le
              curseur. Bash effectue le completement  en  considerant  tour  a
              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 completement  de  nom  de
              fichier est essaye.
       possible-completions (M-?)
              Affiche les completements possibles pour le texte situe avant le
              curseur.
       insert-completions (M-*)
              Inserer  avant  le  curseur  l'ensemble  des  completements  qui
              auraient ete produits par possible-completions.
       menu-complete
              Analogue  a  complete, mais en remplacant le mot a completer par
              une  seule  correspondance  de  la   liste   des   completements
              possibles.  Des  executions repetees de menu-complete parcourent
              la  liste  des  completements  possibles,  en  inserant   chaque
              correspondance   tour   a  tour.  A  la  fin  de  la  liste  des
              completements, une alarme est emise (selon la  configuration  de
              bell-style)  et le texte original est restaure. Un argument de n
              deplace de n positions dans la  liste  des  correspondances.  Un
              argument  negatif peut etre utilise pour revenir en arriere dans
              la liste. Cette commande est  destinee  a  etre  associee  a  la
              touche TAB, mais ne l'est pas par defaut.
       menu-complete-backward
              Identique  a  menu-complete,  mais se deplace en arriere dans la
              liste des completements possibles, comme si un argument  negatif
              avait ete passe a menu-complete. Cette commande n'est associee a
              aucune touche par defaut.
       delete-char-or-list
              Effacer le caractere sous le curseur sauf au debut ou en fin  de
              ligne  (comme  delete-char).  En fin de ligne, se comporte comme
              possible-completions. Cette commande  n'est  associee  a  aucune
              touche par defaut.
       complete-filename (M-/)
              Essayer  le completement des noms de fichiers sur le texte situe
              avant le curseur.
       possible-filename-completions (C-x /)
              Afficher les completements possibles du  texte  situe  avant  le
              curseur, traite comme un nom de fichier.
       complete-username (M-~)
              Essayer  le completement sur le texte situe avant le curseur, en
              le traitant comme un nom d'utilisateur.
       possible-username-completions (C-x ~)
              Afficher les completements possibles du  texte  situe  avant  le
              curseur, en le traitant comme un nom d'utilisateur.
       complete-variable (M-$)
              Essayer  le completement sur le texte situe avant le curseur, en
              le traitant comme une variable de l'interpreteur.
       possible-variable-completions (C-x $)
              Afficher les completements possibles du  texte  situe  avant  le
              curseur, en le traitant comme une variable de l'interpreteur.
       complete-hostname (M-@)
              Essayer  le completement sur le texte situe avant le curseur, en
              le traitant comme un nom de machine.
       possible-hostname-completions (C-x @)
              Afficher les completements possibles du  texte  situe  avant  le
              curseur, en le traitant comme un nom de machine.
       complete-command (M-!)
              Essayer  le completement sur le texte situe avant le curseur, en
              le traitant comme  un  nom  de  commande.  Le  completement  des
              commandes essaie de faire correspondre le texte, dans cet ordre,
              aux alias, mots reserves, fonctions de l'interpreteur, commandes
              internes  de  l'interpreteur  et finalement les noms de fichiers
              executables.
       possible-command-completions (C-x !)
              Afficher les completements possibles du  texte  situe  avant  le
              curseur, en le traitant comme un nom de commande.
       dynamic-complete-history (M-TAB)
              Essayer  le  completement du texte situe avant le curseur, en le
              comparant aux lignes de la file d'historique  lui  correspondant
              pour les completements possibles.
       dabbrev-expand
              Essayer le menu de completement du texte situe avant le curseur,
              en  le  comparant  aux  lignes  de  la  file  d'historique   lui
              correspondant pour les completements possibles.
       complete-into-braces (M-{)
              Effectuer  un  completement  en  noms  de fichiers et inserer la
              liste des completements possibles entre accolades  afin  que  la
              liste  soit  exploitable  par l'interpreteur (voir D'eveloppement
              des accolades plus haut).

   Macros clavier
       start-kbd-macro (C-x ()
              Demarre la memorisation dans la macro en  cours  des  caracteres
              tapes.
       end-kbd-macro (C-x ))
              Arrete  la  memorisation  dans  la macro en cours des caracteres
              saisis et conserve la definition.
       call-last-kbd-macro (C-x e)
              Re-execute la derniere macro definie, en agissant comme  si  les
              caracteres contenus dans cette macro etaient saisis au clavier.

   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'edition en cours et emettre une alarme de  terminal
              (selon la configuration de la variable bell-style).
       do-uppercase-version (M-a, M-b, M-x, ...)
              Si  le caractere x precede de Meta est en minuscule, executer la
              commande   qui   est   associee   aux   caracteres    majuscules
              correspondants.
       prefix-meta (ESC)
              Considerer le prochain caractere saisi comme un Meta.  ESC f est
              equivalent a Meta-f.
       undo (C-_, C-x C-u)
              Fonction d'annulation incrementale, chaque ligne etant memorisee
              separement.
       revert-line (M-r)
              Annuler  toutes  les  modifications  sur  cette  ligne. Ceci est
              equivalent a repeter undo en nombre suffisant  pour  ramener  la
              ligne a son etat initial.
       tilde-expand (M-&)
              Effectuer le developpement du tilde sur le mot courant.
       set-mark (C-@, M-<space>)
              Placer  la  marque  a  la  position  actuelle  du curseur. Si un
              argument numerique est fourni, la marque est posee a la position
              correspondante.
       exchange-point-and-mark (C-x C-x)
              Echanger  le  curseur  et  la  marque.  Le  position courante du
              curseur est configuree a la position sauvegardee precedemment et
              l'ancienne position du curseur est memorisee comme la marque.
       character-search (C-])
              Un  caractere  est  lu  et  le  curseur  deplace  a l'occurrence
              suivante de ce caractere.  Un  argument  negatif  recherche  les
              occurrences precedentes.
       character-search-backward (M-C-])
              Un  caractere  est  lu  et  le  curseur  deplace  a l'occurrence
              precedente de ce caractere. Un argument  negatif  recherche  les
              occurrences suivantes.
       skip-csi-sequence
              Lit   suffisamment   de  caracteres  pour  consommer  une  suite
              multitouche comme celles definies pour des touches  comme  Debut
              et  Fin.  De telles suites commencent par un indicateur de suite
              de  controle  (<< control   sequence   indicator >>   ou   CSI),
              habituellement  ESC-[.   Si cette suite est associee a "\[", les
              touches qui produisent de telles suites n'auront pas  d'effet  a
              moins d'etre explicitement associees a une commande readline, au
              lieu d'inserer des caracteres egares dans le  tampon  d'edition.
              N'est  associee  a  aucune  touche  par defaut, mais est souvent
              associe a ESC-[.
       insert-comment (M-#)
              Sans argument numerique, la valeur de la variable  comment-begin
              de  readline  est  inseree  au debut de la ligne courante. Si un
              argument numerique est fourni, cette  commande  agit  comme  une
              bascule :  si  les caracteres du debut de ligne ne correspondent
              pas a la valeur de comment-begin, la valeur est inseree,  sinon,
              les  caracteres  de  comment-begin  sont  effaces du debut de la
              ligne. Dans les deux cas, la ligne est acceptee comme si un saut
              de  ligne avait ete saisi. La valeur par defaut de comment-begin
              conduit cette  commande  a  transformer  la  ligne  courante  de
              l'interpreteur  en commentaire. Si un argument numerique conduit
              a l'effacement  du  caractere  de  commentaire,  la  ligne  sera
              executee par l'interpreteur.
       glob-complete-word (M-g)
              Le  mot  avant  le  curseur  est  traite  comme un motif pour un
              developpement  de  chemin,  avec  un  asterisque   implicitement
              ajoute.  Ce motif est utilise pour produire une liste de noms de
              fichiers correspondants pour de possibles completements.
       glob-expand-word (C-x *)
              Le mot precedant le curseur est  considere  comme  un  motif  de
              developpement  de chemin et la liste des fichiers correspondants
              est inseree a sa place. Si un argument numerique est fourni,  un
              asterisque est ajoute avant le developpement du chemin.
       glob-list-expansions (C-x g)
              La   liste  des  developpements  qui  aurait  ete  produite  par
              glob-expand-word est affichee et la ligne est rafraichie. Si  un
              argument  numerique  est fourni, un asterisque est ajoute devant
              le developpement du chemin.
       dump-functions
              Afficher toutes les fonctions et leurs raccourcis clavier sur le
              flux de sortie de readline. Si un argument numerique est fourni,
              la sortie est mise en forme de facon a etre incorporee  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
              numerique  est  fourni,  la  sortie est mise en forme de facon a
              etre incorporee dans un fichier inputrc.
       dump-macros
              Afficher toutes les suites de touches readline associees  a  des
              macros  et  les  chaines  auxquelles  elles correspondent. Si un
              argument numerique est fourni, la sortie est mise  en  forme  de
              facon a etre incorporee dans un fichier inputrc.
       display-shell-version (C-x C-v)
              Afficher des informations sur la version courante de bash.

   Compl`etement programmable
       Lorsqu'un completement de mot est tente pour un argument d'une commande
       pour laquelle une  specification  de  completement  a  ete  definie  en
       utilisant  la  commande  interne  complete  (voir COMMANDES INTERNES DE
       L'INTERPR'ETEUR plus bas), les outils de completement programmables sont
       appeles.

       En  premier  lieu,  le  nom  de la commande est identifie. Si le mot de
       commande est vide (completement essaye en debut de ligne vide),  toutes
       les specifications de completement definies par l'option -E de complete
       sont utilisees. Si une specification de completement a ete definie pour
       cette   commande,   elle  est  utilisee  pour  produire  la  liste  des
       completements possibles pour le mot. Si  le  mot  de  commande  est  un
       chemin d'acces complet, on cherche en premier lieu une specification de
       completement pour le chemin d'acces complet. Si aucune specification de
       completement   n'est  trouvee  pour  le  chemin  d'acces  complet,  une
       tentative est effectuee pour trouver une specification de  completement
       pour  la partie situee apres la barre oblique finale. Si ces recherches
       ne donnent aucun resultat sous forme de specification de  completement,
       toutes  les  specifications de completement definies par l'option -D de
       complete sont utilisees par defaut.

       Une fois qu'une specification de completement a ete trouvee,  elle  est
       utilisee  pour  produire  la  liste  des mots correspondants. Si aucune
       specification de completement n'est trouvee, le completement par defaut
       de bash, tel que decrit plus haut dans Compl`etement est effectue.

       Tout d'abord, les actions definies par la specification de completement
       sont utilisees. Seules les  correspondances  prefixees  par  le  mot  a
       completer  sont  renvoyees. Lorsque l'option -f ou -d est utilisee pour
       le completement des noms de fichiers ou de repertoire, la  variable  de
       l'interpreteur FIGNORE est utilisee pour filtrer les correspondances.

       Tous les completements indiques par le motif de developpement de chemin
       de l'option -G sont ensuite produits. Il n'est pas necessaire  que  les
       mots  produits  par  le  motif  correspondent  au  mot  a completer. La
       variable de l'interpreteur GLOBIGNORE n'est pas utilisee  pour  filtrer
       les correspondances, mais la variable FIGNORE est utilisee.

       Ensuite,  la  chaine indiquee comme argument a l'option -W est prise en
       compte. Cette  chaine  est  tout  d'abord  decoupee  en  utilisant  les
       caracteres   de   la  variable  speciale  IFS  comme  delimiteurs.  Les
       protections de l'interpreteur sont prises en  compte.  Chaque  mot  est
       ensuite  developpe  en  utilisant  les  developpements  d'accolades, du
       tilde, des parametres et des variables, de meme que la substitution  de
       commande  et  le developpement arithmetique comme decrit plus haut dans
       D'EVELOPPEMENTS.  Les resultats sont decoupes en  utilisant  les  regles
       decrites   plus   haut   dans  D'ecoupage  en  mots.  Les  resultats  du
       developpement sont compares  au  mot  a  completer  en  considerant  ce
       dernier  comme  prefixe  et  les  mots  correspondants  deviennent  les
       completements possibles.

       Apres  la  creation  de  ces   correspondances,   toute   fonction   de
       l'interpreteur  ou  commande  indiquee  avec  les  options -F et -C est
       appelee. Lorsque la commande ou la fonction est appelee, les  variables
       COMP_LINE,   COMP_POINT,   COMP_LINKEY,   et  COMP_POINTYPE  se  voient
       affectees  de  valeurs  comme  decrit  plus  haut  dans  Variables   de
       l'interpr'eteur.  Si  une  fonction  de  l'interpreteur est appelee, les
       variables COMP_WORDS et COMP_CWORD sont  egalement  creees.  Lorsqu'une
       fonction ou une commande est appelee, le premier argument est le nom de
       la commande dont  les  arguments  doivent  etre  completes,  le  second
       argument  est  le  mot  a completer et le troisieme argument est le mot
       precedent celui devant etre complete sur la ligne  de  commande.  Aucun
       filtrage  des  completements  produits  pour  le  mot a completer n'est
       effectue ;  la  fonction  ou  la  commande  a  toute  liberte  dans  la
       production des correspondances.

       Toute  fonction  indiquee  avec  -F est appelee en premier. La fonction
       peut utiliser tous les outils de l'interpreteur, incluant  la  commande
       interne  compgen  decrite  plus bas, pour produire les correspondances.
       Elle doit mettre les completements possibles dans la  variable  tableau
       COMPREPLY.

       Ensuite,  toute  commande indiquee avec l'option -C est appelee dans un
       environnement equivalent a la substitution de  commande.  Elle  devrait
       afficher  une  liste des completements possibles, une par ligne, sur la
       sortie standard. Si necessaire, une contre-oblique peut  etre  utilisee
       pour proteger un caractere de saut de ligne.

       Apres  la  creation  de  tous les completements possibles, tout filtre,
       indique avec l'option -X, est applique a la liste.  Ce  filtre  est  un
       motif  comme dans le developpement des chemins ; un & dans le motif est
       remplace par le texte du mot en cours de completement.  Un  &  litteral
       peut  etre  protege  par  une  contre-oblique ;  la  contre-oblique est
       supprimee  avant  la  tentative  de  mise   en   correspondance.   Tout
       completement qui correspond au motif sera supprime de la liste. Un ! au
       debut du motif provoque la negation de ce motif ;  dans  ce  cas,  tout
       completement ne correspondant pas au motif sera supprime de la liste.

       Finalement,  tous prefixe et suffixe indiques avec les options -P et -S
       sont ajoutes a chacun des elements de la liste de  completement  et  le
       resultat  est  renvoye  au  programme de completement de readline comme
       etant la liste des completements possibles.

       Si  les  operations  precedemment  appliquees  ne   produisent   aucune
       correspondance  et  si  l'option  -o  dirnames a ete fournie a complete
       lorsque la specification de completement a ete definie, le completement
       des noms de repertoire est tente.

       Si  l'option -o plusdirs a ete fournie a complete lors de la definition
       de la specification  de  completement,  le  completement  des  noms  de
       repertoires est tente et toute correspondance est ajoutee aux resultats
       des autres actions.

       Par defaut, si une specification de completement est trouvee,  tout  ce
       qu'elle  produit  est renvoye au programme de completement comme un jeu
       complet des completements possibles. Les completements  par  defaut  de
       bash  ne  sont  pas tentes et le completement de fichiers par defaut de
       readline est desactive. Si l'option -o  bashdefault  a  ete  fournie  a
       complete lors de la definition de la specification de completement, les
       completements par defaut de bash sont tentes  si  la  specification  de
       completement ne produit aucune correspondance. Si l'option -o default a
       ete fournie a complete lors de la definition  de  la  specification  de
       completement,  le  completement par defaut de readline sera effectue si
       la specification de completement (et, si tentes, les completements  par
       defaut de bash) ne produit aucune correspondance.

       Lorsqu'une  specification de completement indique qu'un completement de
       nom  de  repertoire  est  souhaite,  les  fonctions   de   completement
       programmable   forcent  readline  a  ajouter  une  barre  oblique  pour
       completer les noms qui sont des liens symboliques vers des repertoires,
       selon   la   valeur   de  la  variable  mark-directories  de  readline,
       independamment du parametrage de la variable mark-symlinked-directories
       de readline.

       La  modification  dynamique  des  completements est egalement possible.
       C'est particulierement utile combine avec un  completement  par  defaut
       indique  a  l'aide  de  complete  -D.  Les  fonctions de l'interpreteur
       executes comme gestionnaires de completement permettent d'annoncer  que
       le  completement  devrait  etre  reessaye en renvoyant un etat final de
       124. Si une fonction de  l'interpreteur  renvoie  124,  et  modifie  la
       specification  de  completement  associee a la commande sur laquelle le
       completement est  essaye  (fournie  comme  premier  argument  quand  la
       fonction  est executee), le completement programmable recommence depuis
       le debut, en essayant de trouver une specification de completement pour
       cette  commande.  Un  jeu  de  completements  peut ainsi etre construit
       dynamiquement lorsque le completement est  essaye,  plutot  que  d'etre
       charge entierement au debut.

       Par   exemple,   en   supposant   l'existence   d'une  bibliotheque  de
       specifications de  completement,  chacune  conservee  dans  un  fichier
       correspondant  au  nom  de la commande, la fonction de completement par
       defaut suivante chargerait les completements de facon dynamique :

       _completion_loader()
       {
            . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
       }
       complete -D -F _completion_loader

HISTORIQUE

       Quand l'option -o history de  la  commande  interne  set  est  activee,
       l'interpreteur  donne acces a un historique des commandes, c'est-a-dire
       la liste des commandes precedemment utilisees. La valeur de la variable
       HISTSIZE  est  utilisee comme nombre de commandes a sauvegarder dans la
       file d'historique. Le  texte  des  HISTSIZE  dernieres  commandes  (par
       defaut  500)  est  sauvegarde.  L'interpreteur conserve chaque commande
       dans la file d'historique avant le developpement des parametres et  des
       variables  (voir D'EVELOPPEMENTS plus haut) mais apres avoir effectue le
       developpement de l'historique,  selon  les  valeurs  des  variables  de
       l'interpreteur HISTIGNORE et HISTCONTROL.

       Au  demarrage,  l'historique est initialise avec le fichier dont le nom
       est contenu dans la variable HISTFILE (par defaut ~/.bash_history).  Le
       fichier  designe  par  la valeur de HISTFILE est tronque si necessaire,
       pour ne  pas  contenir  plus  de  lignes  que  le  nombre  precise  par
       HISTFILESIZE.   Quand  le  fichier  d'historique  est  lu,  les  lignes
       commencant  par  le  caractere  de   commentaire   d'historique   suivi
       immediatement  par un chiffre sont considerees comme des horodatages de
       la ligne d'historique precedente. Ces horodatages sont  facultativement
       affiches  en  fonction  de  la  valeur  de  la variable HISTTIMEFORMAT.
       Lorsqu'un  interpreteur  interactif  termine,  les  HISTSIZE  dernieres
       lignes  de  la file d'historique sont copiees dans le fichier HISTFILE.
       Si l'option d'interpreteur histappend est activee (voir la  description
       de  shopt  dans  COMMANDES  INTERNES  DE  L'INTERPR'ETEUR plus bas), les
       lignes sont ajoutees au fichier  d'historique,  sinon  le  fichier  est
       ecrase. Si HISTFILE est inexistante ou si le fichier d'historique n'est
       pas accessible en ecriture, l'historique n'est pas  sauvegarde.  Si  la
       variable  HISTTIMEFORMAT  est  configuree,  les horodatages sont ecrits
       dans le fichier d'historique, reperes par le caractere  de  commentaire
       d'historique,  afin d'etre conserves au fur et a mesure des sessions de
       l'interpreteur. Le caractere de commentaire  d'historique  est  utilise
       pour  distinguer  l'horodatage des autres lignes de l'historique. Apres
       la sauvegarde de l'historique, le fichier d'historique est tronque pour
       ne  pas  contenir plus de HISTFILESIZE lignes. Si HISTFILESIZE n'existe
       pas, aucune troncature n'est effectuee.

       La commande interne fc (voir COMMANDES INTERNES DE L'INTERPR'ETEUR  plus
       bas)  permet  d'afficher,  d'editer  ou de re-executer 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'edition en ligne de  commande,  des  commandes  de  recherche
       donnent acces a la file d'historique.

       L'interpreteur   permet   de   configurer   quelles   commandes  seront
       sauvegardees dans la file d'historique. Les  variables  HISTCONTROL  et
       HISTIGNORE  peuvent  etre configurees pour conduire l'interpreteur a ne
       sauvegarder  qu'un  sous-ensemble  des  commandes   saisies.   L'option
       d'interpreteur cmdhist, si activee, conduit l'interpreteur a essayer de
       sauvegarder chaque ligne d'une commande multiligne dans le meme element
       de  l'historique,  en  ajoutant  des points-virgules si necessaire pour
       preserver l'exactitude de la syntaxe. L'option  d'interpreteur  lithist
       conduit  l'interpreteur  a  sauvegarder les commandes avec des sauts de
       lignes incorpores plutot que des  points-virgules.  Voir  plus  bas  la
       description  de  la  commande  interne shopt dans COMMANDES INTERNES DE
       L'INTERPR'ETEUR pour des details sur la creation et la  destruction  des
       options d'interpreteur.

D'EVELOPPEMENT DE L'HISTORIQUE

       L'interpreteur   propose   des   possibilites   de   developpement   de
       l'historique qui sont semblables a celles de csh. Ce paragraphe  decrit
       quelles syntaxes sont disponibles. Cette fonctionnalite est activee par
       defaut dans les interpreteurs interactifs et peut  etre  desactivee  en
       utilisant  l'option  +H  de  la  commande  interne  set (voir COMMANDES
       INTERNES DE L'INTERPR'ETEUR plus bas). Les interpreteurs non interactifs
       n'effectuent pas de developpement d'historique par defaut.

       Le  developpement  de l'historique permet d'inserer des mots de la file
       d'historique dans le  flux  de  saisie,  facilitant  la  repetition  de
       commandes,  l'insertion  des  arguments  d'une ligne anterieure dans la
       saisie en cours ou la correction rapide d'erreurs  dans  les  commandes
       precedentes.

       Le  developpement  de  l'historique est effectue immediatement apres la
       lecture d'une ligne complete, avant que l'interpreteur ne la  decompose
       en  mots.  Il  se  deroule  en  deux  parties.  La  premiere consiste a
       determiner la ligne  de  la  file  d'historique  a  utiliser  pour  les
       substitutions,  la  seconde  permet  de  selectionner les parties de la
       ligne a inclure dans la nouvelle  ligne.  La  ligne  selectionnee  dans
       l'historique est l''ev'enement et les parties de cette ligne a reutiliser
       sont des mots. Plusieurs modificateurs permettent de manipuler les mots
       selectionnes.  La  ligne est decoupee en mots de la meme facon que lors
       de la lecture d'une  saisie,  ainsi  plusieurs  mots  separes  par  des
       m'etacaract`eres  et  encadres par des guillemets simples sont consideres
       comme un unique mot. Le developpement de l'historique est introduit par
       l'apparition du caractere de developpement, qui est ! par defaut. Seule
       la contre-oblique (\) et les guillemets simples permettent de  proteger
       le caractere de developpement de l'historique.

       Plusieurs  caracteres  empechent le developpement de l'historique s'ils
       se trouvent  immediatement  apres  le  caractere  de  developpement  de
       l'historique, meme s'il n'est pas protege : espace, tabulation, saut de
       ligne, retour chariot et =.  Si  l'option  d'interpreteur  extglob  est
       activee, ( empechera aussi le developpement.

       Plusieurs   options  d'interpreteur,  configurables  avec  la  commande
       interne shopt, permettent d'ajuster le comportement du developpement de
       l'historique.  Si  l'option d'interpreteur histverify est activee (voir
       la description de la commande interne shopt plus bas)  et  si  readline
       est  utilisee,  les  substitutions  d'historique ne sont pas transmises
       tout de suite a l'analyseur de l'interpreteur. A  la  place,  la  ligne
       developpee  est  rechargee  dans  la  memoire  tampon  de readline pour
       permettre des modifications ulterieures. Si readline est utilisee et si
       l'option  histreedit  est  activee,  une  substitution d'historique qui
       echoue  est  rechargee  dans  la  memoire  tampon  de   readline   pour
       correction.  L'option  -p  de la commande interne history peut servir a
       examiner ce qu'une substitution donnera avant de l'employer reellement.
       L'option  -s  de  la  commande  interne  history  permet  d'ajouter des
       commandes a la fin de la file d'historique sans les avoir effectivement
       executees,   afin   qu'elles   soient   disponibles  pour  des  rappels
       ulterieurs.

       L'interpreteur offre le controle des divers caracteres utilises par  le
       mecanisme  de  developpement  de  l'historique  (voir la description de
       histchars plus haut dans Variables de  l'interpr'eteur).  L'interpreteur
       utilise   le   caractere   de  commentaire  d'historique  pour  reperer
       l'horodatage lors de l'ecriture du fichier d'historique.

   Indicateur d''ev'enement
       Un indicateur d'evenement est une  reference  a  un  element  ligne  de
       commande dans la file d'historique.

       !      Debute une substitution d'historique, sauf s'il est suivi par un
              blanc, saut de ligne, retour chariot, = ou (  (lorsque  l'option
              d'interpreteur  extglob  est  activee  en  utilisant la commande
              interne shopt).
       !n     Se rapporte a la ligne de commande n.
       !-n    Se rapporte a la ligne de commande courante moins n.
       !!     Se rapporte a la  commande  precedente.  C'est  un  synonyme  de
              << !-1 >>.
       !cha^ine
              Se rapporte a la plus recente commande commencant par cha^ine.
       !?cha^ine[?]
              Se  rapporte  a  la plus recente commande contenant cha^ine. Le ?
              final peut etre omis si cha^ine  est  immediatement  suivie  d'un
              saut de ligne.
       ^cha^ine_1^cha^ine_2^
              Substitution  rapide. Repeter la derniere commande en remplacant
              cha^ine_1        par        cha^ine_2.        Equivalent         a
              << !!:s/cha^ine_1/cha^ine_2/ >> (voir Modificateurs plus bas).
       !#     La ligne entiere tapee jusqu'a present.

   Indicateurs de mots
       Ces  indicateurs  servent  a  selectionner  les  mots  desires  dans un
       evenement. Un : separe l'indicateur  d'evenements  de  l'indicateur  de
       mot.  On  peut l'omettre si l'indicateur de mot commence par ^, $, *, -
       ou %. Les mots sont numerotes depuis le debut de la ligne,  le  premier
       etant  note  0  (zero).  Les  mots sont inseres dans la ligne courante,
       separes par des espaces.

       0 (z'ero)
              Le zero-ieme mot.  Pour  l'interpreteur,  c'est  le  nom  de  la
              commande.
       n      Le n-ieme mot.
       ^      Le premier argument, c'est-a-dire le mot 1.
       $      Le dernier argument.
       %      Le  mot  correspondant  a  la  recherche  << ?cha^ine? >> la plus
              recente.
       x-y    Une plage de mots, << -y >> permet d'abreger << 0-y >>.
       *      Tous  les  mots  sauf  le  zero-ieme.  C'est  un  synonyme  pour
              << 1-$ >>. Il n'est pas errone d'utiliser * s'il n'y a qu'un mot
              dans l'evenement ; la chaine vide est renvoyee dans ce cas.
       x*     Abreviation de x-$.
       x-     Abreviation de x-$ comme x*, mais sans le dernier mot.

       Si un indicateur de mot est  fourni  sans  indication  d'evenement,  la
       derniere commande est utilisee.

   Modificateurs
       Apres  un indicateur de mot facultatif, une suite d'un ou plusieurs des
       modificateurs suivants peut apparaitre, chacun precede par un << : >>.

       h      Elimine la fin du chemin d'acces, ne laissant que son debut.
       t      Supprime tout le debut d'un chemin d'acces, en ne  laissant  que
              la fin.
       r      Supprime  un  suffixe final de la forme .xxx, en ne laissant que
              le nom de base.
       e      Supprime tout sauf le suffixe final.
       p      Affiche la nouvelle commande sans l'executer.
       q      Protege les  mots  substitues,  pour  eviter  des  substitutions
              futures.
       x      Protege  les  mots substitues comme avec q, mais avec separation
              des mots aux blancs et sauts de ligne.
       s/ancien/nouveau/
              Remplace par nouveau la premiere occurrence  de  ancien  sur  la
              ligne  d'evenement. Tout delimiteur peut etre utilise a la place
              de /. Le dernier delimiteur est facultatif si c'est  le  dernier
              caractere  de  la  ligne  d'evenement.  Le  delimiteur peut etre
              protege dans ancien et nouveau avec une seule contre-oblique. Si
              &  apparait  dans nouveau, il est remplace par ancien. Une seule
              contre-oblique protegera le  &.  Si  ancien  est  vide,  il  est
              configure  au dernier ancien substitue ou si aucune substitution
              n'a eu lieu precedemment, la derniere cha^ine dans une  recherche
              !?cha^ine[?].
       &      Repete la substitution precedente.
       g      Conduit a l'application des changements sur la ligne d'evenement
              entiere. Ceci est utilise conjointement a << :s >> (par  exemple
              << :gs/ancien/nouveau/ >>)   ou   << :& >>.   Si   utilise  avec
              << :s >>, tout delimiteur peut etre utilise a la place de  /  et
              le  dernier  delimiteur  est  facultatif  si  c'est  le  dernier
              caractere de la ligne d'evenement. Un a  peut  etre  utilise  en
              tant que synonyme de g.
       G      Applique  le  modificateur << s >> suivant une fois a chacun des
              mots de la ligne d'evenements.

COMMANDES INTERNES DE L'INTERPR'ETEUR

       Sauf indication contraire, chaque  commande  interne  decrite  dans  ce
       paragraphe   comme  acceptant  des  options  precedees  par  -  accepte
       egalement la  notation  --  pour  signaler  la  fin  des  options.  Les
       commandes  internes :, true, false et test n'acceptent aucune option et
       -- est ignore. Les commandes internes exit,  logout,  break,  continue,
       let  et shift acceptent et traitent les arguments commencant par - sans
       avoir besoin de --. Les autres commandes  internes  qui  acceptent  les
       arguments  mais  qui ne sont pas declares explicitement comme acceptant
       des options considerent  les  arguments  commencant  par  -  comme  des
       options  non  valides,  donc  --  est  obligatoire  pour  eviter  cette
       interpretation.
       : [arguments]
              Sans effet ; cette commande ne fait rien d'autre que  developper
              les  arguments  et effectuer toute redirection indiquee. Un code
              final de zero est renvoye.

        .  fichier [arguments]
       source fichier [arguments]
              Lit  et  execute  les  commandes  contenues  dans  fichier  avec
              l'environnement  de  l'interpreteur courant, puis renvoie l'etat
              final de la derniere commande executee dans fichier. Si  le  nom
              du fichier ne contient pas de barre oblique, les chemins d'acces
              contenus dans PATH sont parcourus pour rechercher le  repertoire
              contenant  le  fichier.  Lorsqu'il  est  recherche  dans PATH le
              fichier n'a pas besoin d'etre executable. Lorsque bash n'est pas
              en  mode  posix, le repertoire de travail courant est finalement
              examine si aucun fichier n'est trouve dans  PATH.   Si  l'option
              sourcepath  de la commande interne shopt est desactivee, le PATH
              n'est pas parcouru. Si des  arguments  sont  fournis,  ils  sont
              transmis dans les parametres positionnels lorsque le fichier est
              execute. Sinon les parametres positionnels ne sont pas modifies.
              L'etat  renvoye  est  l'etat de la derniere commande terminee au
              sein du script (0 si aucune commande n'a ete executee)  et  faux
              si le fichier n'est pas trouve ou ne peut etre 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 definis, sous
              la  forme  nom=valeur.  Lorsque  des  arguments sont fournis, un
              alias est cree pour chaque nom auquel on a donne une valeur. Une
              espace  finale  dans  une valeur conduira a la recherche d'alias
              dans le mot suivant  lors  du  developpement  de  l'alias.  Pour
              chacun  des  noms pour lesquels aucune valeur n'est fournie dans
              la liste d'arguments, le  nom  et  la  valeur  de  l'alias  sont
              affiches.  La  commande  alias  renvoie  vrai, a moins qu'un nom
              n'ait ete indique pour lequel aucun alias n'a ete defini.

       bg [t^ache ...]
              Reprend en arriere-plan chaque t^ache suspendue,  comme  si  elle
              avait  ete  lancee  avec  &.  Si aucune t^ache n'est precisee, la
              notion d'interpreteur de t^ache courante est utilisee.  bg  t^ache
              renvoie  0  sauf  si  le  controle des taches est desactive, ou,
              quand le controle des taches est active, si une  t^ache  precisee
              n'a pas ete trouvee ou a ete lancee sans controle de taches.

       bind [-m jeu_de_raccourcis] [-lpsvPSV]
       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'eteur
       bind [-m jeu_de_raccourcis] suite_de_touches:nom_de_fonction
       bind commande_readline
              Affiche  les  associations  de touches readline courantes et les
              raccourcis de fonctions, associe une  suite  de  touches  a  une
              fonction  ou  une  macro readline ou cree une variable readline.
              Chaque argument qui n'est pas une option est une commande  comme
              elle  devrait apparaitre dans .inputrc, mais chaque raccourci ou
              commande doit etre fourni comme un  argument  independant ;  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  etre  concerne par les raccourcis ulterieurs. 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 equivalent a vi-command ;
                     emacs est equivalent a emacs-standard.
              -l     Afficher  la  liste  des  noms  de  toutes  les fonctions
                     readline.
              -p     Afficher  les  noms  des  fonctions  readline  et   leurs
                     raccourcis de facon a pouvoir les relire.
              -P     Afficher   les  noms  des  fonctions  readline  et  leurs
                     raccourcis.
              -s     Afficher les suites de  touches  readline  associees  aux
                     macros et les chaines correspondantes, de facon a pouvoir
                     les relire.
              -S     Afficher les suites de  touches  readline  associees  aux
                     macros et les chaines correspondantes.
              -v     Afficher les noms des variables readline et leurs valeurs
                     de facon a 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
                     indiquee.
              -u fonction
                     Dissocier toutes les touches associees a fonction.
              -r suite_de_touches
                     Supprimer    tout    raccourci    courant     pour     la
                     suite_de_touches.
              -x suite_de_touches:commande_de_l'interpr'eteur
                     Conduire  la  commande_de_l'interpr'eteur  a etre executee
                     chaque fois que la suite_de_touches est saisie. Quand  la
                     commande_de_l'interpr'eteur  est  executee, l'interpreteur
                     configure la variable READLINE_LINE au contenu du  tampon
                     de  ligne  de readline et la variable READLINE_POINT a la
                     position courante du curseur d'insertion. Si la  commande
                     executee   modifie   les   valeurs  de  READLINE_LINE  ou
                     READLINE_POINT, ces nouvelles valeurs  seront  prises  en
                     consideration dans l'etat d'edition.

              La valeur renvoyee est 0, a moins qu'une option inconnue ne soit
              indiquee ou qu'une erreur ne se soit produite.

       break [n]
              Sort d'une boucle for, while, until ou select. Si n est indique,
              sort  de  n  niveaux  de  boucles.  n  doit  etre >= 1. Si n est
              superieur au nombre de boucles imbriquees, on sort de l'ensemble
              d'entre  elles.  La valeur renvoyee est 0, a moins que n ne soit
              pas plus grand ou egal a 1.

       builtin commande_interne [arguments]
              Execute la commande interne de l'interpreteur indiquee,  en  lui
              passant  les  arguments,  puis  renvoie son etat final. Ceci est
              utile lorsqu'une fonction est definie avec le  meme  nom  qu'une
              commande  interne,  et  que  cette  commande  est appelee depuis
              l'interieur de la fonction. La commande interne cd  est  souvent
              redefinie  de  cette  facon.  L'etat  renvoye  est  faux  si  la
              commande_interne   n'est   pas   une   commande    interne    de
              l'interpreteur.

       caller [expr]
              Renvoie  le  contexte de tout appel de sous-programme actif (une
              fonction de l'interpreteur ou un script lance avec les commandes
              internes  .  ou  source). Sans expr, caller affiche le numero de
              ligne et le nom de fichier  du  sous-programme  courant.  Si  un
              entier  positif  est fourni comme expr, caller affiche le numero
              de ligne, le nom du sous-programme et le nom de  fichier  source
              correspondant  a  la  position dans la pile d'appels d'execution
              courante. Cette information supplementaire peut  etre  utilisee,
              par  exemple,  pour  afficher  une  trace  de  la pile. La trame
              courante est la trame 0. La valeur renvoyee est 0, a  moins  que
              l'interpreteur ne soit pas en train d'executer un sous-programme
              ou que expr ne corresponde pas a une position correcte  dans  la
              pile d'appels.

       cd [-L|-P] [r'ep]
              Remplace  le  repertoire de travail courant par r'ep. La variable
              HOME est la valeur par defaut de r'ep. La variable CDPATH definit
              des  chemins  de  recherche pour trouver le repertoire contenant
              r'ep. Les repertoires possibles y sont  fournis  dans  une  liste
              separees  par des deux-points << : >>. Un nom de repertoire vide
              dans CDPATH est equivalent au repertoire  courant,  c'est-a-dire
              << . >>. Si r'ep commence par une barre oblique (/), alors CDPATH
              n'est pas utilise. L'option -P  indique  de  n'employer  que  la
              structure  de  repertoires physiques au lieu de suivre les liens
              symboliques (voir aussi l'option -P de la commande interne  set)
              l'option  -L force a suivre les liens symboliques. Un argument -
              est equivalent a $OLDPWD.  Si un nom de repertoire non  vide  de
              CDPATH  est  utilise  ou  si  - est le premier argument et si le
              changement de repertoire reussit, le chemin  absolu  du  nouveau
              repertoire  de  travail  est  ecrit  sur  la sortie standard. La
              valeur renvoyee est  vrai  si  le  changement  de  repertoire  a
              reussi, faux sinon.

       command [-pVv] commande [arguments ...]
              Lance   la   commande  avec  les  arguments  indiques,  mais  en
              simplifiant le processus habituel de  recherche  des  commandes.
              Seules  les  commandes  internes  et les commandes trouvees dans
              PATH seront executees. Si l'option -p est indiquee, la recherche
              de  la commande est effectuee en utilisant une valeur par defaut
              pour  PATH  garantissant  de  trouver   tous   les   utilitaires
              standards.  Si l'option -V ou -v est fournie, une description de
              la commande est affichee. L'option -v conduit a n'afficher qu'un
              seul mot indiquant la commande ou le nom de fichier utilise pour
              appeler la commande. L'option -V fournit  une  description  plus
              prolixe. Si l'option -V ou -v est fournie, l'etat final est 0 si
              la commande a ete trouvee et 1 sinon.  Si  aucune  option  n'est
              fournie  et  si  une  erreur s'est produite ou si la commande ne
              peut etre trouvee, l'etat final est 127. Sinon, l'etat final  de
              la commande interne est l'etat final de commande.

       compgen [option] [mot]
              Produit les correspondances des completements possibles pour mot
              selon les options, qui peuvent etre toute option acceptee par la
              commande  interne complete a l'exception de -p et -r et ecrit le
              resultat sur la sortie standard. Lorsqu'on utilise  les  options
              -F  ou  -C,  les diverses variables de l'interpreteur creees par
              les outils de completement programmables,  lorsque  disponibles,
              n'auront pas de valeurs utilisables.

              Les  correspondances seront produites de la meme facon que si le
              programme  de  completement  programmable  les  avait  produites
              directement  a  partir  d'une specification de completement avec
              les memes attributs. Si mot est indique, seuls les completements
              qui correspondent a mot sont affiches.

              La valeur renvoyee est vrai, sauf si une option incorrecte a ete
              fournie ou si aucune correspondance n'a ete produite.

       complete [-abcdefgjksuv] [-o option-compl`etement] [-DE] [-A action] [-G
       globpat] [-W liste_de_mots] [-F fonction] [-C commande]
              [-X motif_filtre] [-P pr'efixe] [-S suffixe] nom [nom ...]
       complete -pr [-DE] [nom ...]
              Indique  comment  les  arguments  de  chaque  nom  doivent  etre
              completes. Si l'option -p est fournie ou si aucune option  n'est
              fournie,  les  specifications  de  completement  existantes sont
              affichees de telle  facon  qu'elles  puissent  etre  reutilisees
              comme   entree.   L'option   -r   retire  une  specification  de
              completement a chaque nom fourni ou, si aucun nom n'est  fourni,
              toutes  les  specifications de completement. L'option -D indique
              que les options restantes et les actions devraient s'appliquer a
              la  commande  de  completement par << defaut >>, c'est-a-dire le
              completement  essaye  sur  une  commande  pour  laquelle   aucun
              completement  n'a  ete prealablement defini. L'option -E indique
              que les options restantes et les actions devraient s'appliquer a
              la   commande   de   completement  << vide >>,  c'est-a-dire  le
              completement essaye sur une ligne vide.

              Le   processus   d'application   de   ces   specifications    de
              completement,  lorsqu'un  completement  de  mot  est  tente, est
              decrit plus haut dans Compl`etement programmable.

              Les  autres  options,  si  indiquees,  ont  les   significations
              suivantes.  Les  arguments  des  options  -G,  -W  et -X (et, si
              necessaire, les options -P et -S) devraient etre protegees  pour
              eviter leur developpement avant que la commande interne complete
              ne soit appelee.
              -o option-compl`etement
                      L'option-compl`etement  commande  plusieurs  aspects   du
                      comportement  des specifications de completement au-dela
                      de    la    simple    production    de     completement.
                      option-compl`etement peut etre l'une des suivantes :
                      bashdefault
                              Effectuer  le reste des completements par defaut
                              de bash si la specification de  completement  ne
                              produit aucune correspondance.
                      default Utiliser  le  completement de nom de fichier par
                              defaut  de  readline  si  la  specification   de
                              completement ne produit aucune correspondance.
                      dirnames
                              Effectuer  le  completement de nom de repertoire
                              si la specification de completement  ne  produit
                              aucune correspondance.
                      filenames
                              Indiquer  a  readline  que  la  specification de
                              completement produit des noms de fichiers, ainsi
                              il peut effectuer tout traitement specifique aux
                              noms  de  fichiers  (comme  ajouter  une   barre
                              oblique  aux  noms  de repertoires, proteger les
                              caracteres speciaux ou supprimer les espaces  de
                              fin de ligne). Destinee a etre utilisee avec les
                              fonctions de l'interpreteur.
                      nospace Indiquer a readline de ne pas ajouter une espace
                              (comportement  par defaut) aux mots completes en
                              fin de ligne.
                      plusdirs
                              Apres creation  de  toutes  les  correspondances
                              definies  par  la specification de completement,
                              une  tentative  de  completement   de   nom   de
                              repertoire   est   effectuee   et   toutes   les
                              correspondances sont ajoutees aux resultats  des
                              autres actions.
              -A action
                      L'action peut etre l'une des suivantes pour produire une
                      liste des completements possibles :
                      alias   Noms d'alias. Peut egalement etre indiquee  avec
                              -a.
                      arrayvar
                              Noms de variable de type tableau.
                      binding Noms de raccourci clavier readline.
                      builtin Noms  de  commandes  internes de l'interpreteur.
                              Peut egalement etre indiquee avec -b.
                      command Noms de commande. Peut egalement  etre  indiquee
                              avec -c.
                      directory
                              Noms de repertoire. Peut egalement etre indiquee
                              avec -d.
                      disabled
                              Noms de  commandes  internes  de  l'interpreteur
                              desactivees.
                      enabled Noms  de  commandes  internes  de l'interpreteur
                              activees.
                      export  Noms de variables de  l'interpreteur  exportees.
                              Peut egalement etre indiquee avec -e.
                      file    Noms  de  fichier.  Peut egalement etre indiquee
                              avec -f.
                      function
                              Noms de fonctions de l'interpreteur.
                      group   Noms de groupe.  Peut  egalement  etre  indiquee
                              avec -g.
                      helptopic
                              Sujets   de  l'aide  acceptes  par  la  commande
                              interne help.
                      hostname
                              Noms de machine tels  qu'ils  sont  extraits  du
                              fichier    indique    par    la    variable   de
                              l'interpreteur HOSTFILE.
                      job     Noms de tache si  le  controle  des  taches  est
                              actif. Peut egalement etre indiquee avec -j.
                      keyword Mots  reserves de l'interpreteur. Peut egalement
                              etre indiquee avec -k.
                      running Noms  de  taches  en  cours  d'execution  si  le
                              controle des taches est actif.
                      service Noms  de  service.  Peut egalement etre indiquee
                              avec -s.
                      setopt  Arguments corrects de l'option -o de la commande
                              interne set.
                      shopt   Noms des options d'interpreteur acceptees par la
                              commande interne shopt.
                      signal  Noms de signaux.
                      stopped Noms de taches suspendues  si  le  controle  des
                              taches est actif.
                      user    Noms d'utilisateur. Peut egalement etre indiquee
                              avec -u.
                      variable
                              Noms de toutes les variables de  l'interpreteur.
                              Peut egalement etre indiquee avec -v.
              -G globpat
                      Le  motif  de  developpement  des  chemins  globpat  est
                      developpe pour produire les completements possibles.
              -W liste_de_mots
                      La  liste_de_mots  est   decoupee   en   utilisant   les
                      caracteres de la variable speciale IFS comme delimiteurs
                      et chaque mot resultant est developpe. Les completements
                      possibles  sont  les elements de la liste resultante qui
                      correspondent au mot en cours de completement.
              -C commande
                      La  commande  est  executee  dans  un  environnement  de
                      sous-interpreteur   et  sa  sortie  est  utilisee  comme
                      completements possibles.
              -F fonction
                      La  fonction  de  l'interpreteur   est   executee   dans
                      l'interpreteur    courant.    Lorsqu'elle   finit,   les
                      completements possibles sont recuperes a  partir  de  la
                      valeur de la variable de type tableau COMPREPLY.
              -X motif_filtre
                      motif_filtre  est un motif utilise pour le developpement
                      des  chemins.  Il  est   applique   a   la   liste   des
                      completements  possibles  produite  par  les  options et
                      arguments    precedents    et    chaque     completement
                      correspondant  a  motif_filtre est supprime de la liste.
                      Un ! au debut du motif_filtre inverse le motif ; dans ce
                      cas,   tout   completement   qui  ne  correspond  pas  a
                      motif_filtre est supprime.
              -P pr'efixe
                      pr'efixe est  ajoute  au  debut  de  chaque  completement
                      possible apres application de toutes les autres options.
              -S suffixe
                      suffixe  est ajoute a chaque completement possible apres
                      application de toutes les autres options.

              La valeur renvoyee est vrai, sauf si une option incorrecte a ete
              fournie,  si une option comme -p ou -r a ete fournie sans un nom
              d'argument, si une tentative a  ete  faite  pour  supprimer  une
              specification  de  completement  pour  un  nom  pour  lequel  il
              n'existe pas de specification, ou si  une  erreur  est  survenue
              lors de l'ajout d'une specification de completement.

       compopt [-o option] [-DE] [+o option] [nom]
              Modifie  les  options  de completion pour chaque nom en fonction
              des options, ou pour le completement  en  cours  d'execution  si
              aucun  nom  n'est fourni. Si aucune option n'est donnee, affiche
              les  options  de  completion  pour  chaque  nom   ou   pour   le
              completement  courant.  Les  valeurs  possible d'option sont les
              options valables decrites plus haut  pour  la  commande  interne
              complete.  L'option  -D indique que les options restantes et les
              actions devraient s'appliquer a la commande de completement  par
              << defaut >> ;  c'est-a-dire  le  completement  essaye  sur  une
              commande pour laquelle aucun completement n'a ete  prealablement
              defini.  L'option  -E  indique  que les options restantes et les
              actions devraient s'appliquer a la commande de completement  par
              << vide >> ;  c'est-a-dire  le completement essaye sur une ligne
              vide.

       La valeur renvoyee est vrai, a moins qu'une option incorrecte  ait  ete
       fournie,  qu'une tentative ait ete faite pour modifier les options pour
       un nom pour lequel il n'existe pas de specification de completement, ou
       bien qu'une erreur de sortie soit survenue.

       continue [n]
              Reprend  l'execution  a  l'iteration  suivante d'une boucle for,
              while, until  ou  encore  select.  Si  n  est  indique,  reprend
              l'execution a la n-ieme boucle imbriquee. n doit etre >= 1. Si n
              est superieur  au  nombre  de  boucles  imbriquees,  l'execution
              reprend a la boucle la plus externe (la boucle << au sommet >>).
              La valeur renvoyee est 0, a moins que n ne soit  plus  grand  ou
              egal a 1.

       declare [-aAfFilrtux] [-p] [nom[=valeur] ...]
       typeset [-aAfFilrtux] [-p] [nom[=valeur] ...]
              Declare  des  variables  ou leur fournit des attributs. Si aucun
              nom n'est indique, affiche les valeurs des  variables.  L'option
              -p  affichera  les attributs et les valeurs de chaque nom. Quand
              -p  est  utilisee  avec   des   arguments   nom,   les   options
              supplementaires sont ignorees. Quand -p est fourni sans argument
              nom, les attributs et valeurs de toutes les variables ayant  des
              attributs   indiques   par  les  options  additionnelles  seront
              affiches. Si aucune autre option n'est fournie avec -p,  declare
              affichera  les  attributs  et valeurs de toutes les variables de
              l'interpreteur. L'option -f limite l'affichage aux fonctions  de
              l'interpreteur.  L'option -F empeche l'affichage des definitions
              de fonctions : seuls le nom de la fonction et ses attributs sont
              affiches.  Si  l'option  d'interpreteur  extdebug est activee en
              utilisant shopt, le nom du fichier source et le numero de  ligne
              ou  la  fonction  est  definie  sont aussi affiches. L'option -F
              implique -f. Les options  suivantes  permettent  de  restreindre
              l'affichage  aux  variables  dotees  de certains attributs ou de
              fixer les attributs des variables :
              -a     Chaque nom est une variable de type tableau indice  (voir
                     Tableaux plus haut).
              -A     Chaque  nom  est  une variable de type tableau associatif
                     (voir Tableaux plus haut).
              -f     Utiliser seulement les noms de fonctions.
              -i     La variable est traitee comme  un  entier ;  l'evaluation
                     arithmetique (voir 'EVALUATION ARITHM'ETIQUE plus haut) est
                     effectuee lorsqu'une valeur est affectee a la variable.
              -l     Quand cette variable  contient  une  valeur,  toutes  les
                     majuscules  seront  converties  en minuscules. L'attribut
                     majuscule est desactive.
              -r     Rendre les noms accessibles en lecture seule. Plus aucune
                     valeur  ne  pourra  leur etre affectee et ils ne pourront
                     plus etre detruits.
              -t     Donner a  chaque  nom  l'attribut  trace.  Les  fonctions
                     tracees  heritent  des  captures  de  DEBUG  et RETURN de
                     l'interpreteur appelant.  L'attribut  trace  n'a  pas  de
                     signification speciale pour les variables.
              -u     Quand  cette  variable  contient  une  valeur, toutes les
                     minuscules seront converties  en  majuscules.  L'attribut
                     minuscule est desactive.
              -x     Marquer   les   noms   pour  qu'ils  soit  exportes  dans
                     l'environnement des commandes ulterieures.

              En  utilisant  << + >>  a  la  place  de   << - >>,   l'attribut
              correspondant  est  desactive, aux exceptions que +a ne peut pas
              etre utilise pour  detruire  une  variable  tableau  et  que  +r
              n'enlevera  pas l'attribut lecture seule. Quand utilise dans une
              fonction, chaque nom  devient  local,  comme  avec  la  commande
              local. Si un nom de variable est suivi par =valeur, la valeur de
              cette variable est configuree a valeur. La valeur  renvoyee  est
              0,  sauf  si  une  option  incorrecte  est  rencontree,  si  une
              tentative est faite de definir une fonction  en  utilisant  ``-f
              foo=bar'',  si  une  tentative est faite d'affecter une valeur a
              une variable en  lecture  seule,  si  une  tentative  est  faite
              d'affecter  une  valeur  a une variable tableau sans employer la
              syntaxe d'affectation composee (voir Tableaux plus haut), si  un
              des  noms  n'est  pas  un  nom  correct  pour  une  variable  de
              l'interpreteur,  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 [+n] [-n] [-cplv]
              Sans option,  affiche  la  liste  des  repertoires  actuellement
              memorises.  L'affichage  par  defaut  est  realise sur une seule
              ligne, les noms de repertoires etant separes  par  des  espaces.
              Les  repertoires  sont ajoutes a la liste avec la commande pushd
              et supprimes avec la commande popd.
              +n     Afficher le n-ieme element de la liste fournie par  dirs,
                     lorsqu'appele  sans  options,  en comptant a partir de la
                     gauche en commencant a zero.
              -n     Afficher le n-ieme element de la liste fournie par  dirs,
                     lorsqu'appele  sans  options,  en comptant a partir de la
                     droite en commencant a zero.
              -c     Effacer la liste des repertoires en les supprimant tous.
              -l     Produire une liste plus longue ;  le  format  d'affichage
                     par   defaut   utilise   le  tilde  pour  representer  le
                     repertoire d'accueil.
              -p     Afficher la pile des  repertoires  avec  un  element  par
                     ligne.
              -v     Afficher  la  pile  des  repertoires  avec un element par
                     ligne,  en  prefixant  chaque  entree  avec  son   numero
                     d'indice dans la pile.

              La  valeur  renvoyee  est 0, sauf si une option incorrecte a ete
              fournie ou si l'indice n depasse la  longueur  de  la  pile  des
              repertoires.

       disown [-ar] [-h] [t^ache ...]
              Sans  options, chaque t^ache est supprimee de la table des taches
              actives. Si aucune t^ache n'est precisee, et  que  ni  -a  ni  -r
              n'est  fournie,  la  notion d'interpreteur de t^ache courante est
              utilisee. Si  l'option  -h  est  indiquee,  aucune  t^ache  n'est
              supprimee de la table, mais chaque t^ache est marquee pour que le
              signal SIGHUP ne lui soit pas envoye si l'interpreteur recoit un
              signal  SIGHUP.   Si  aucune  t^ache  n'est  indiquee  et  que ni
              l'option -a ni l'option -r n'est fournie, la t^ache courante  est
              concernee.  Si  aucune t^ache n'est fournie, l'option -a signifie
              la suppression ou le marquage de toutes les taches ; l'option -r
              sans  l'argument  t^ache  restreint  les operations aux taches en
              cours d'execution. La valeur  renvoyee  est  0,  sauf  si  t^ache
              n'indique pas une tache correcte.

       echo [-neE] [arguments ...]
              Affiche  les  arguments,  separes par des espaces, suivis par un
              saut de ligne. La valeur renvoyee est  toujours  0.  Si  -n  est
              indique, le saut de ligne final est supprime. Si l'option -e est
              indiquee, l'interpretation des caracteres suivants d'echappement
              par  une  contre-oblique  est  activee.  L'option  -E  desactive
              l'interpretation de ces caracteres d'echappement, meme  sur  les
              systemes   ou   ils   sont   interpretes  par  defaut.  L'option
              d'interpreteur xpg_echo peut etre  utilisee  dynamiquement  pour
              determiner  si  echo  developpe ou non par defaut ces caracteres
              d'echappement. echo n'interprete pas -- comme signifiant la  fin
              des   options.   echo   reconnait   les   suites  de  caracteres
              d'echappement suivantes :
              \a     alerte (alarme) ;
              \b     effacement arriere (<< backspace >>) ;
              \c     supprime tout affichage suivant ;
              \e     caractere d'echappement ;
              \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 caractere 8 bits dont la valeur en octal est nnn (zero
                     a trois chiffres octaux) ;
              \xHH   le  caractere  8 bits  dont la valeur hexadecimale est HH
                     (un ou deux chiffres hexadecimaux) ;

       enable [-a] [-dnps] [-f fichier] [nom ...]
              Active ou desactive les commandes  internes  de  l'interpreteur.
              Desactiver  une  commande interne permet d'executer une commande
              disque  ayant  le  meme   nom   qu'une   commande   interne   de
              l'interpreteur, sans avoir a indiquer un chemin d'acces complet,
              meme quand l'interpreteur recherche  normalement  les  commandes
              internes  avant  les  commandes  du  disque.  Si -n est utilise,
              chaque nom indique est desactive, sinon ils  sont  actives.  Par
              exemple,  pour  utiliser le programme binaire test qui se trouve
              dans PATH plutot que la commande interne, utilisez  ``enable  -n
              test''.   L'option  -f  demande  de charger la nouvelle commande
              interne avec le nom indique depuis le fichier objet partage  sur
              les  systemes qui le permettent. L'option -d permet de supprimer
              une commande interne chargee  precedemment  avec  -f.  Si  aucun
              argument  nom  n'est  indique ou si l'option -p est fournie, une
              liste des commandes internes  de  l'interpreteur  est  affichee.
              Sans  autre  option,  la  liste est celle des commandes internes
              actives  de  l'interpreteur.  Si  -n  est  fournie,  seules  les
              commandes  desactivees  sont  affichees.  Si  -a est fournie, la
              liste de toutes les commandes est affichee, avec une  indication
              des  activations et desactivations. Si -s est fournie, la sortie
              est limitee aux commandes internes sp'eciales  POSIX.  La  valeur
              renvoyee  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 partage.

       eval [arguments ...]
              Les  arguments  sont  lus  et  regroupes  en  une seule commande
              simple.  Cette  commande  est  alors   lue   et   executee   par
              l'interpreteur  et son etat final est renvoye comme valeur de la
              commande eval. S'il n'y a  pas  d'arguments  ou  uniquement  des
              arguments vides, eval renvoie 0.

       exec [-cl] [-a nom] [commande [arguments]]
              Si  une  commande  est  indiquee,  elle remplace l'interpreteur.
              Aucun nouveau processus n'est  cree.  Les  arguments  deviennent
              ceux  de la commande. Si l'option -l est fournie, l'interpreteur
              place un tiret en  guise  de  zero-ieme  argument  fourni  a  la
              commande.  C'est  ce  que  fait  login.  L'option  -c  conduit a
              l'execution de  la  commande  avec  un  environnement  vide.  Si
              l'option  -a  est  fournie, l'interpreteur transmet le nom comme
              zero-ieme argument. Si la commande ne peut  etre  executee  pour
              une  raison  quelconque, un interpreteur non interactif termine,
              sauf si l'option de l'interpreteur execfail est activee,  auquel
              cas  une erreur est renvoyee. Un interpreteur interactif renvoie
              une erreur si le fichier ne peut pas  etre  execute.  Si  aucune
              commande n'est indiquee, les eventuelles redirections sont mises
              en place dans l'interpreteur courant et l'etat  renvoye  est  0.
              S'il y a une erreur de redirection, l'etat renvoye est 1.

       exit [n]
              Termine  l'interpreteur avec un etat de n. Si n est omis, l'etat
              final est celui de la derniere commande  executee.  Une  capture
              sur EXIT est executee avant que l'interpreteur ne se termine.

       export [-fn] [nom[=mot]] ...
       export -p
              Les noms fournis sont marques pour etre exportes automatiquement
              dans l'environnement des commandes executees par  la  suite.  Si
              l'option   -f  est  indiquee,  les  noms  se  rapportent  a  des
              fonctions. Si aucun nom  n'est  donne  ou  si  l'option  -p  est
              fournie,  une  liste  est affichee indiquant l'ensemble des noms
              exportes dans cet interpreteur. L'option -n conduit a  supprimer
              l'attribut d'exportation de chacune des variables nommees. Si un
              nom de variable est suivi par =mot, la valeur de la variable est
              configuree a mot. export renvoie un etat final de 0, sauf si une
              option incorrecte est rencontree, si un des noms  n'est  pas  un
              nom correct de variable de l'interpreteur, ou si l'option -f est
              fournie avec un nom qui n'est pas une fonction.

       fc [-e 'editeur] [-lnr] [premi`ere] [derni`ere]
       fc -s [motif=nouveau] [commande]
              Commande epinglee (<< fix command >>). Dans la  premiere  forme,
              une  plage  de  commandes, entre la premi`ere et la derni`ere, est
              selectionne  dans  la  file  d'historique.  La  premi`ere  et  la
              derni`ere  peuvent  etre  indiquees  sous  forme de chaines (pour
              trouver la derniere commande commencant  par  cette  chaine)  ou
              sous  forme numerique (un indice dans la file d'historique ou un
              nombre negatif est utilise comme decalage par rapport au  numero
              de  la  commande  courante).  Si la derni`ere n'est pas indiquee,
              elle est configuree a la commande courante si l'on veut afficher
              la   liste  (ainsi  ``fc  -l  -10''  affiche  les  10  dernieres
              commandes) et a l'identique de la premi`ere sinon. Si la premi`ere
              n'est pas indiquee, elle est configuree a la commande precedente
              pour une edition et a -16 pour l'affichage de liste.

              L'option -n supprime l'affichage  des  numeros  dans  la  liste.
              L'option  -r  inverse  l'ordre des commandes. Si l'option -l est
              indiquee, les commandes sont affichees sur la  sortie  standard.
              Sinon,  l''editeur  indique  est appele avec un fichier contenant
              les commandes selectionnees. Si aucun 'editeur n'est indique,  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
              utilise.  Lorsque  l'edition  se  termine,  les  commandes  sont
              affichees puis executees.

              Dans la seconde forme, la commande est re-executee  apres  avoir
              remplace  chaque  instance  du motif par nouveau. Un alias utile
              pour ceci est ``r="fc -s"'', ainsi en tapant ``r cc'' on relance
              la derniere commande commencant par ``cc'' et en tapant ``r'' on
              re-execute la commande precedente.

              Lorsque la premiere forme est utilisee, la valeur  renvoyee  est
              0,  sauf  si une option incorrecte est trouvee ou si premi`ere ou
              derni`ere indiquent des lignes d'historique hors  d'atteinte.  Si
              l'option  -e  est  fournie,  la  valeur renvoyee est celle de la
              derniere commande executee ou  un  echec  si  une  erreur  s'est
              produite  avec  le  fichier  temporaire  des  commandes. Avec la
              seconde  forme,  l'etat  renvoye  est  celui  de   la   commande
              re-executee,  sauf  si commande n'indique pas une ligne correcte
              de l'historique, auquel cas fc renvoie un echec.

       fg [t^ache]
              Reprend la t^ache au premier plan qui devient la tache  courante.
              Si aucune t^ache n'est precisee, l'interpreteur utilise la notion
              de t^ache courante. La valeur renvoyee est celle de  la  commande
              placee au premier plan ou un echec si le controle des taches est
              desactive ou, lorsque le controle des taches est active,  si  la
              t^ache  n'indique  pas  une tache correcte ou si la t^ache indique
              une tache lancee sans controle des taches.

       getopts cha^ine_d_options nom [arguments]
              getopts est utilise par les scripts d'interpreteur pour analyser
              les   parametres   positionnels.  La  cha^ine_d_options  contient
              l'ensemble  des  caracteres  d'options  a  reconnaitre ;  si  un
              caractere  est  suivi  par  un  deux-points, l'option est censee
              avoir un argument, qui devrait en etre separe  par  une  espace.
              Les  caracteres  deux-points  et  le  point  d'interrogation  ne
              peuvent pas etre utilises comme caracteres  d'option.  A  chaque
              appel,  getopts  place  l'option  suivante  dans  la variable de
              l'interpreteur dont le nom est fourni,  en  la  creant  si  elle
              n'existe pas et l'indice de l'argument suivant a traiter dans la
              variable OPTIND.  OPTIND est initialisee a 1 a chaque appel d'un
              interpreteur  ou  d'un  script.  Quand  une  option necessite un
              argument, getopts place cet argument dans  la  variable  OPTARG.
              L'interpreteur  ne  reinitialise  pas OPTIND automatiquement, il
              faut le faire manuellement entre des appels multiples a  getopts
              au  sein  du  meme  appel  d'interpreteur  si  un nouveau jeu de
              parametres doit etre utilise.

              Lorsque la fin des options est atteinte,  getopts  termine  avec
              une  valeur  renvoyee strictement superieure a zero.  OPTIND est
              positionne a l'indice du  premier  argument  obligatoire  et  un
              point d'interrogation (?) est place dans la variable nom.

              getopts analyse en principe les parametres positionnels, mais si
              plus d'arguments sont indiques, getopts analysera ces derniers a
              la place.

              getopts  peut signaler des erreurs de deux facons. Si le premier
              caractere de la cha^ine_d_options est un deux-points, les erreurs
              sont  signalees  de  facon silencieuse. Lors d'un fonctionnement
              normal, des messages de diagnostic sont affiches si  une  option
              est  incorrecte  ou  s'il  manque  un  argument  d'option. Si la
              variable OPTERR est configuree a 0, aucun  message  d'erreur  ne
              sera   affiche,   meme   si   le   premier   caractere   de   la
              cha^ine_d_options n'est pas un deux-points.

              Si une option incorrecte est rencontree, getopts place un  point
              d'interrogation  (?)  dans  la  variable nom, affiche un message
              d'erreur (s'il n'est pas  en  mode  silencieux)  et  detruit  la
              variable  OPTARG.   Si getopts fonctionne en mode silencieux, le
              caractere d'option est place dans OPTARG  et  aucun  message  de
              diagnostic n'est affiche.

              Lorsqu'un  argument d'option necessaire est absent et si getopts
              n'est pas silencieux, un point  d'interrogation  (?)  est  place
              dans  la  variable  nom,  OPTARG  est  detruite et un message de
              diagnostic  est  affiche.  Si   getopts   est   silencieux,   un
              deux-points  (:)  est  place  dans la variable nom et OPTARG est
              positionne a l'option monocaractere trouvee.

              getopts renvoie  vrai  si  une  option,  indiquee  ou  non,  est
              trouvee.  Il  renvoie faux si la fin des options est atteinte ou
              si une erreur se produit.

       hash [-lr] [-p fichier] [-dt] [nom]
              Pour chaque nom fourni, le chemin d'acces complet de la commande
              est   determine  en  examinant  les  repertoires  de  $PATH,  et
              memorise. Si l'option -p est fournie, aucune recherche de chemin
              d'acces  n'est  effectuee et le fichier est utilise comme chemin
              d'acces  complet  pour  la   commande.   L'option   -r   conduit
              l'interpreteur   a  oublier  tous  les  emplacements  memorises.
              L'option  -d  conduit  l'interpreteur   a   oublier   tous   les
              emplacements  memorises  de  chaque  nom.  Si  l'option  -t  est
              fournie, le chemin d'acces complet de chaque  nom  correspondant
              est affiche. Si plusieurs arguments nom sont fournis avec -t, le
              nom est affiche avant chaque  chemin  d'acces  complet  associe.
              L'option  -l  conduit  a  afficher  la  sortie  dans  un  format
              reutilisable en entree. Si aucun argument n'est  indique  ou  si
              seulement  -l  est  fournie,  des informations sur les commandes
              memorisees sont affichees. La valeur renvoyee est vrai, sauf  si
              nom n'est pas trouve ou si une option incorrecte est fournie.

       help [-dms] [motif]
              Affiche des informations d'aide au sujet des commandes internes.
              Si un motif est indique, help fournit de l'aide sur  toutes  les
              commandes  internes  correspondant  a ce motif, sinon, une liste
              des  commandes  internes  et  des  structures  de  controle   de
              l'interpreteur est affichee.
              -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'etat renvoye 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,  affiche  la  liste  des  commandes  de  la  file
              d'historique, avec les numeros de  ligne.  Les  lignes  marquees
              avec  un * ont ete modifiees. Un argument n permet de n'afficher
              que les n dernieres lignes. Si  la  variable  de  l'interpreteur
              HISTTIMEFORMAT existe et n'est pas vide, elle est utilisee comme
              chaine de format pour strftime(3) afin  d'afficher  l'horodatage
              associe  a chaque element de l'historique. Aucun blanc ne separe
              l'horodatage ainsi mis en forme de la ligne d'historique. Si  un
              argument fichier est fourni, il est utilise comme nom de fichier
              d'historique ; sinon la valeur de  HISTFILE  est  utilisee.  Les
              options, si fournies, ont les significations suivantes :
              -c     Effacer  la  file  de l'historique en supprimant tous les
                     elements.
              -d nombre
                     Detruire l'element de l'historique a la position nombre.
              -a     Ajouter les << nouvelles >> lignes d'historiques  (celles
                     creees  depuis  le  debut de la session courante de bash)
                     dans le fichier d'historique.
              -n     Lire dans le fichier d'historique les lignes  non  encore
                     lues  et  les ajouter a la file d'historique courante. Il
                     s'agit des lignes qui ont ete ajoutees  dans  le  fichier
                     d'historique depuis le debut de la session bash.
              -r     Lire le contenu du fichier et l'utiliser comme historique
                     courant.
              -w     Ecrire dans le fichier l'historique actuel,  en  ecrasant
                     le contenu precedent.
              -p     Effectuer  la substitution d'historique sur les arguments
                     suivants et afficher le resultat sur la sortie  standard.
                     Ne pas memoriser les resultats dans la file d'historique.
                     Chaque argument doit  etre  protege  pour  desactiver  le
                     developpement normal de l'historique.
              -s     Conserver  les  arguments dans la file d'historique comme
                     un unique  element.  La  derniere  commande  de  la  file
                     d'historique  est  supprimee  avant  que les arguments ne
                     soient ajoutes.

              Si  la  variable   HISTTIMEFORMAT   existe,   les   informations
              d'horodatage  associees  a  chaque  element de l'historique sont
              ecrites dans le fichier d'historique, reperes par  le  caractere
              de  commentaire  d'historique. Quand le fichier d'historique est
              lu, les  lignes  commencant  par  le  caractere  de  commentaire
              d'historique  suivi immediatement par un chiffre sont consideres
              comme des horodatages de la ligne  d'historique  precedente.  La
              valeur  renvoyee  est  0,  sauf  si  une  option  incorrecte est
              fournie,  si  une  erreur  se  produit  durant  la  lecture   ou
              l'ecriture  du  fichier, si un nombre incorrect est fourni comme
              argument a -d ou si le developpement de l'historique  fourni  en
              argument a -p echoue.

       jobs [-lnprs] [ t^ache ... ]
       jobs -x commande [ arguments ... ]
              La  premiere  forme  affiche  la  liste  des taches actives. Les
              options ont les significations suivantes :
              -l     Afficher les PID, en plus des informations normales.
              -p     Afficher  uniquement  le  PID  du  meneur  du  groupe  de
                     processus de la tache.
              -n     Afficher  uniquement des informations sur les taches dont
                     l'etat a change depuis la derniere notification  de  leur
                     etat a l'utilisateur.
              -r     Restreindre l'affichage aux taches en cours d'execution.
              -s     Restreindre l'affichage aux taches suspendues.

              Si  une  t^ache  est  indiquee,  l'affichage  est  restreint  aux
              informations relatives a cette tache. L'etat renvoye est 0, sauf
              si  une  option  incorrecte  est  rencontree  ou  si  une  t^ache
              incorrecte est fournie.

              Si l'option -x est fournie, jobs remplace  toute  t^ache  trouvee
              dans la commande ou dans ses arguments avec les Process Group ID
              correspondant, puis il execute la commande en  lui  transmettant
              les arguments et en renvoyant son etat final.

       kill [-s signal | -n num-signal | -signal] [pid | t^ache] ...
       kill -l [signal | 'etat_final]
              Envoie  le signal indique par signal ou num-signal aux processus
              indiques par pid ou par t^ache. signal est soit sous la forme  de
              nom  de  signal (indifferent a la casse), comme SIGKILL (avec ou
              sans le prefixe SIG), soit sous forme numerique ; num-signal est
              un  numero  de signal. Si signal est absent, SIGTERM est suppose
              par defaut. Un argument -l provoque l'affichage de la liste  des
              noms  de  signaux.  Si  des  arguments sont fournis quand -l est
              indique, les noms des signaux correspondant aux  arguments  sont
              affiches  et  l'etat  renvoye  est  0.  L'argument 'etat_final de
              l'option -l est un nombre indiquant soit un  numero  de  signal,
              soit  l'etat  final  d'un  processus termine par un signal. kill
              renvoie vrai si au moins un signal a ete envoye avec  succes  ou
              faux  si une erreur s'est produite ou si une option incorrecte a
              ete rencontree.

       let argument [argument ...]
              Chaque argument est une expression arithmetique a evaluer  (voir
              'EVALUATION  ARITHM'ETIQUE  plus haut). Si l'evaluation du dernier
              argument donne 0, let renvoie 1 ; sinon 0 est renvoye.

       local [option] [nom[=valeur] ...]
              Pour chaque argument, une variable locale nom est  creee  et  la
              valeur  lui  est  affectee.  L'option peut etre n'importe quelle
              option acceptee par declare. Quand local est  utilise  dans  une
              fonction,  la variable nom possede une portee visible restreinte
              a cette fonction et ses enfants. Sans operandes,  local  affiche
              la  liste  des  variables  locales  sur  la sortie standard. Une
              utilisation de local hors des fonctions est erronee.  La  valeur
              renvoyee  est  0, sauf si local est utilise hors d'une fonction,
              si un nom incorrect est fourni ou si nom  est  une  variable  en
              lecture seule.

       logout Termine un interpreteur de connexion.

       mapfile  [-n  nombre] [-O origine] [-s nombre] [-t] [-u fd] [-C rappel]
       [-c quantum] [tableau]
       readarray [-n nombre] [-O origine] [-s nombre] [-t] [-u fd] [-C rappel]
       [-c quantum] [tableau]
              Lit les lignes depuis l'entree standard vers la variable de type
              tableau indice tableau, ou depuis le descripteur de  fichier  fd
              si  l'option  -u est fournie. La variable MAPFILE est le tableau
              par defaut. Les options, si  fournies,  ont  les  significations
              suivantes :
              -n     Copier au plus nombre lignes. Si nombre est 0, toutes les
                     lignes sont copiees.
              -O     Commencer l'affectation de tableau  a  l'indice  origine.
                     L'indice par defaut est 0.
              -s     Supprimer les nombre premieres lignes lues.
              -t     Eliminer le saut de ligne de chaque ligne lue.
              -u     Lire  les  lignes  a  partir du descripteur de fichier fd
                     plutot que depuis l'entree standard.
              -C     Evaluer rappel a chaque  fois  que  quantum  lignes  sont
                     lues. L'option -c precise le quantum.
              -c     Preciser le nombre de lignes entre chaque appel a rappel.

              Si -C est precise sans -c, le quantum par defaut est 5000. Quand
              rappel est evalue, l'indice du prochain  element  de  tableau  a
              affecter  est  fourni  en  argument  supplementaire.  rappel est
              evalue apres la lecture de la ligne, mais avant l'affectation de
              l'element de tableau.

              Si  aucune  origine  explicite  n'est  fournie, mapfile effacera
              tableau avant de lui affecter des valeurs.

              mapfile termine avec succes 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  indice  ou  si  son   affectation   est
              impossible.

       popd [-n] [+n] [-n]
              Enleve  des elements de la pile des repertoires. Sans arguments,
              seul le repertoire du sommet de la pile est elimine et un cd est
              effectue  en  direction  du  nouveau  repertoire  au sommet. Les
              argument, si fournis, ont les significations suivantes :
              -n     Empecher le changement normal de repertoire  lors  de  la
                     suppression d'un repertoire de la pile. Seule la pile est
                     manipulee.
              +n     Supprimer le n-ieme element  de  la  liste  affichee  par
                     dirs,  en comptant depuis la gauche a partir de zero. Par
                     exemple :  ``popd  +0''  enleve  le  premier  repertoire,
                     ``popd +1'' le second.
              -n     Supprimer  le  n-ieme  element  de  la liste affichee par
                     dirs, en comptant depuis la droite a partir de zero.  Par
                     exemple :  ``popd  -0'' supprime le dernier repertoire et
                     ``popd -1'' l'avant-dernier.

              Si la commande popd reussit, un  dirs  est  effectue  et  l'etat
              renvoye  est  0.  popd renvoie faux si une option incorrecte est
              trouvee, si la pile de repertoires est vide,  si  le  repertoire
              indique  est absent de la pile ou si le changement de repertoire
              a echoue.

       printf [-v var] format [arguments]
              Ecrit les arguments mis en forme sur la sortie standard sous  le
              controle  du  format.  Ce  format est une chaine contenant trois
              types de caracteres : normaux, qui sont simplement copies sur la
              sortie standard, les caracteres d'echappement qui sont convertis
              puis copies sur la sortie  standard  et  les  specifications  de
              format  qui  conduisent  chacune  a  l'affichage  des  arguments
              successifs. En plus  des  formats  standards  de  printf(1),  %b
              conduit   printf   a   developper   les   suites  de  caracteres
              d'echappement par contre-oblique  se  trouvant  dans  l'argument
              correspondant  (a  l'exception  de \c qui termine la sortie, des
              contre-obliques dans \', \" et \? qui ne sont pas supprimees  et
              des suites de caracteres d'echappement pour les nombres en octal
              commencant par \0 qui peuvent contenir jusqu'a quatre  chiffres)
              et %q conduit printf a afficher l'argument correspondant dans un
              format reutilisable en entree de l'interpreteur.

              L'option -v conduit a affecter  la  sortie  a  la  variable  var
              plutot que de l'afficher sur la sortie standard.

              Le format est reutilise jusqu'a consommer tous les arguments. Si
              le  format   demande   plus   d'arguments   que   fournis,   les
              specifications   supplementaires  se  comportent  comme  si  des
              valeurs zero ou des chaines vides, suivant  le  besoin,  avaient
              ete  fournies.  La  valeur  renvoyee  est zero en cas de succes,
              differente de zero en cas d'echec.

       pushd [-n] [+n] [-n]
       pushd [-n] [r'ep]
              Ajoute un repertoire au sommet de la  pile  des  repertoires  ou
              effectue  une  rotation  dans la pile, en ramenant le repertoire
              courant au sommet. Sans argument,  cette  commande  echange  les
              deux  repertoires  au  sommet  et renvoie 0, sauf si la pile est
              vide.  Les  arguments,  si  fournis,  ont   les   significations
              suivantes :
              -n     Empecher  le  changement  normal  de repertoire lors d'un
                     ajout dans la pile. Seule la pile est manipulee.
              +n     Effectuer une rotation dans la pile, de facon a amener au
                     sommet  le  n-ieme  repertoire  (de la liste affichee par
                     dirs, en comptant depuis la gauche a partir de zero).
              -n     Effectuer une rotation dans la pile, de facon a amener au
                     sommet  le  n-ieme  repertoire  (de la liste affichee par
                     dirs, en comptant depuis la gauche a partir de zero).
              r'ep    Ajouter le  repertoire  r'ep  au  sommet  de  la  pile  de
                     repertoires  en  en  faisant  le  nouveau  repertoire  de
                     travail courant.

              Si la commande pushd reussit, un dirs est aussi  effectue.  Avec
              la  premiere  forme, pushd renvoie 0 sauf si le deplacement vers
              r'ep echoue. Avec la seconde forme, pushd renvoie 0, sauf  si  la
              pile est vide, si un element inexistant dans la pile est indique
              ou si le changement de repertoire  vers  le  nouveau  repertoire
              indique echoue.

       pwd [-LP]
              Affiche  le  chemin  d'acces  absolu  au  repertoire  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 activee. Si l'option -L  est  utilisee,
              le  chemin  affiche  peut contenir des liens symboliques. L'etat
              renvoye est 0, sauf si une erreur  s'est  produite  lors  de  la
              lecture du nom du repertoire courant ou si une option incorrecte
              est fournie.

       read [-ers] [-a tableau] [-d d'elimiteur] [-i  texte]  [-n  nb_car]  [-N
       nb_car] [-p invite] [-t d'elai] [-u fd] [nom ...]
              Une  ligne  est  lue  depuis  l'entree  standard  ou a partir du
              descripteur de fichier fd fourni en argument a l'option -u, puis
              le  premier  mot  de  cette ligne est affecte au premier nom, le
              second mot au second nom,  et  ainsi  de  suite  avec  les  mots
              restants  et leurs separateurs affectes au dernier nom. S'il y a
              moins de mots lus dans le flux d'entree que  de  variables,  des
              valeurs  vides sont affectees a celles restantes. Les caracteres
              contenus dans la variable IFS sont  utilises  pour  decouper  la
              ligne  en  mots.  Le  caractere  contre-oblique  (\)  permet  de
              supprimer toute signification speciale pour le caractere suivant
              et autorise la continuation de lignes. Les options, si fournies,
              ont les significations suivantes :
              -a tableau
                     Les mots  sont  affectes  aux  indices  successifs  d'une
                     variable  tableau  de  nom  tableau,  en  commencant a 0.
                     tableau est detruit avant que  de  nouvelles  valeurs  ne
                     soient affectees. Les autres arguments nom sont ignores.
              -d d'elimiteur
                     Le  premier  caractere  de  d'elimiteur  est  utilise pour
                     terminer la ligne de saisie, plutot qu'un saut de ligne.
              -e     Si  l'entree  standard   provient   d'un   terminal,   la
                     bibliotheque  readline  (voir  READLINE  plus  haut)  est
                     utilisee pour obtenir  la  ligne.  Readline  utilise  les
                     configurations  d'edition  en  cours  (ou  par defaut, si
                     l'edition de ligne n'etait pas prealablement active).
              -i texte
                     Si readline est utilisee pour lire la  ligne,  texte  est
                     place   dans  le  tampon  d'edition  avant  le  debut  de
                     l'edition.
              -n nb_car
                     read s'arrete apres avoir lu nb_car caracteres plutot que
                     d'attendre   une   ligne  complete  en  entree,  mais  un
                     delimiteur est respecte si moins de nb_car caracteres ont
                     ete lus avant le delimiteur.
              -N nb_car
                     read s'arrete apres avoir lu exactement nb_car caracteres
                     plutot que d'attendre une ligne complete en entree,  sauf
                     si  une  fin  de  fichier (EOF) est rencontree ou si read
                     depasse son delai de reponse. Les delimiteurs  rencontres
                     en  entree ne sont pas pris en compte et n'entrainent pas
                     la fin de read avant que nb_car  caracteres  n'aient  ete
                     lus.
              -p invite
                     Afficher  invite  sur  la  sortie d'erreur standard, sans
                     caractere final de saut de ligne, avant d'essayer de lire
                     toute nouvelle saisie. L'invite est affichee seulement si
                     l'entree vient d'un terminal.
              -r     La  contre-oblique  n'agit   pas   comme   un   caractere
                     d'echappement.  La  contre-oblique  est  consideree comme
                     faisant  partie  de  la   ligne.   En   particulier   une
                     contre-oblique  suivie  d'un  saut  de  ligne  n'est  pas
                     consideree comme une continuation de ligne.
              -s     Mode silencieux. Si  une  entree  arrive  a  partir  d'un
                     terminal, les caracteres ne sont pas affiches.
              -t d'elai
                     Conduire read a expirer et renvoyer un echec si une ligne
                     complete en entree n'a pas  ete  lue  dans  le  d'elai  en
                     secondes. d'elai est un nombre decimal avec eventuellement
                     des  chiffres  apres   la   virgule   (NdT :   point   en
                     l'occurrence).  Cette  option n'est effective que si read
                     lit l'entree a partir d'un terminal, d'un tube, ou depuis
                     un  autre  fichier special ; elle n'a aucun effet lors de
                     la lecture d'un fichier normal. Si d'elai  est  nul,  read
                     termine  avec succes si une entree est disponible pour le
                     descripteur de fichier indique, en  echec  sinon.  L'etat
                     final est superieur a 128 si le delai est depasse.
              -u fd  Lire l'entree a partir du descripteur de fichier fd.

              Si aucun nom n'est fourni, la ligne lue est affectee entierement
              a la variable REPLY.  Le code renvoye est zero, sauf si une  fin
              de  fichier  (EOF)  est rencontree, si read depasse son delai de
              reponse (auquel cas le code renvoye est plus grand que  128)  ou
              si un descripteur de fichier incorrect est fourni en argument de
              -u.

       readonly [-aApf] [nom[=mot] ...]
              Les noms indiques recoivent  un  attribut  lecture  seule ;  les
              valeurs  de  ces  noms  ne  pourront plus etre modifiees par des
              affectations  ulterieures.  Si  l'option  -f  est  fournie,  les
              fonctions correspondant a ces noms sont marquees en consequence.
              L'option -a restreint l'action aux variables tableaux  indices ;
              l'option   -A   restreint   l'action   aux   variables  tableaux
              associatifs. Si aucun argument nom n'est indique ou si  l'option
              -p  est fournie, une liste de tous les noms en lecture seule est
              affichee. L'option -p conduit  a  afficher  la  sortie  dans  un
              format  susceptible  d'etre reutilise en entree. Si le nom d'une
              variable est suivi par =mot, la variable est configuree  a  mot.
              L'etat  renvoye  est  0,  sauf  si  une  option incorrecte a ete
              rencontree, si l'un  des  noms  n'est  pas  un  nom  correct  de
              variable de l'interpreteur ou si l'option -f est fournie avec un
              nom qui n'est pas une fonction.

       return [n]
              Termine une fonction en renvoyant la valeur indiquee par n. Si n
              est  omis,  la valeur renvoyee est celle de la derniere commande
              executee dans le corps de la fonction. Si  utilisee  hors  d'une
              fonction,  mais durant l'execution d'un script par la commande .
              (source) elle conduit a l'arret de  l'execution  du  script  par
              l'interpreteur  et  renvoie  comme etat final du script : soit n
              soit l'etat final de  la  derniere  commande  executee  dans  le
              script.  Si  utilisee hors d'une fonction ou d'un script execute
              par ., l'etat renvoye est faux. Toute  commande  associee  a  la
              capture  de  RETURN est executee avant la reprise de l'execution
              apres 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 chacune  des  variables  de
              l'interpreteur  sont  affiches dans un format susceptible d'etre
              reutilise en entree pour creer ou  reinitialiser  les  variables
              courantes.  Les  variables  en lecture seule ne peuvent pas etre
              reinitialisees. Dans le mode  posix,  seules  les  variables  de
              l'interpreteur  sont  affichees. La sortie est triee en fonction
              des parametres linguistiques  regionaux  courants.  Lorsque  des
              options sont indiquees, elles creent ou detruisent des attributs
              de l'interpreteur. Tous les arguments restant  apres  traitement
              des   options   sont  consideres  comme  des  valeurs  pour  les
              parametres positionnels et sont affectes, dans l'ordre, a :  $1,
              $2,  ...  $n.  Les options, si indiquees, ont les significations
              suivantes :
              -a      Marquer  automatiquement  des  variables  et   fonctions
                      modifiees  ou creees pour qu'elles soient exportees dans
                      l'environnement des commandes executees ulterieurement.
              -b      Signaler l'etat des  taches  terminees  en  arriere-plan
                      immediatement,  plutot  que d'attendre l'affichage de la
                      prochaine invite de  base.  N'est  effectif  que  si  le
                      controle des taches est active.
              -e      Terminer  immediatement  si  une conduite (qui peut etre
                      reduite a une unique commande simple), une  commande  de
                      sous-interpr'eteur  entre  parentheses,  ou  une liste de
                      commandes   entre   accolades   (voir    GRAMMAIRE    DE
                      L'INTERPR'ETEUR plus haut) termine avec un etat different
                      de zero. L'interpreteur ne termine pas  si  la  commande
                      qui   echoue   fait  partie  d'une  liste  de  commandes
                      immediatement suivie par un  mot-clef  while  ou  until,
                      d'un  test  suivant  les mots reserves if ou elif, d'une
                      commande execute dans une liste &&  ou  ||  sauf  si  la
                      commande  est  situee  apres  le dernier && ou ||, d'une
                      commande de conduite a l'exception de la derniere, ou si
                      la  valeur  renvoyee par la commande est inversee par !.
                      Une capture sur ERR, si existante,  est  executee  avant
                      que   l'interpreteur   ne   se   termine.  Cette  option
                      s'applique a  l'environnement  de  l'interpreteur  ainsi
                      qu'a   l'environnement   de   chaque   sous-interpreteur
                      individuellement  (voir  ENVIRONNEMENT  D'EX'ECUTION  DES
                      COMMANDES    plus    haut),   et   peut   conduire   des
                      sous-interpreteurs a se terminer avant d'y avoir execute
                      toutes les commandes.
              -f      Desactiver le developpement des chemins.
              -h      Memoriser  l'emplacement  des  commandes  lors  de  leur
                      execution. Activee par defaut.
              -k      Tous les arguments sous  la  forme  d'affectations  sont
                      places  dans  l'environnement d'une commande, et non pas
                      seulement ceux qui precedent le nom de la commande.
              -m      Mode supervision. Le controle  des  taches  est  active.
                      Cette   option   est   activee   par   defaut  pour  les
                      interpreteurs  interactifs  sur  les  systemes  qui   le
                      permettent  (voir  CONTR^OLE  DES  T^ACHES plus haut). Les
                      processus en arriere-plan sont executes dans  un  groupe
                      de  processus  separe et une ligne contenant leurs etats
                      finaux est affichee lorsqu'ils terminent.
              -n      Lecture de commandes  sans  execution.  Ceci  peut  etre
                      utilise  pour  rechercher les erreurs de syntaxe dans un
                      script. Cette option est ignoree par  les  interpreteurs
                      interactifs.
              -o nom_d_option
                      Le nom_d_option est l'un des suivants :
                      allexport
                              Identique a -a.
                      braceexpand
                              Identique a -B.
                      emacs   Utiliser  une  interface d'edition des lignes de
                              commande << a la Emacs >>. C'est le comportement
                              active   par  defaut  quand  l'interpreteur  est
                              interactif, sauf si l'interpreteur  est  demarre
                              avec l'option --noediting. L'interface d'edition
                              utilisee par read -e est modifiee egalement.
                      errexit Identique a -e.
                      errtrace
                              Identique a -E.
                      functrace
                              Identique a -T.
                      hashall Identique a -h.
                      histexpand
                              Identique a -H.
                      history Activer l'historique des commandes, comme decrit
                              plus haut dans HISTORY. Cette option est activee
                              par defaut dans les interpreteurs interactifs.
                      ignoreeof
                              Identique   a   l'execution   de   la   commande
                              d'interpreteur  ``IGNOREEOF=10'' (voir Variables
                              de l'interpr'eteur plus haut).
                      keyword Identique a -k.
                      monitor Identique a -m.
                      noclobber
                              Identique a -C.
                      noexec  Identique a -n.
                      noglob  Identique a -f.
                      nolog   Actuellement ignoree.
                      notify  Identique a -b.
                      nounset Identique a -u.
                      onecmd  Identique a -t.
                      physical
                              Identique a -P.
                      pipefail
                              Si  existante,  la  valeur  renvoyee   par   une
                              conduite  est  la valeur de la derniere commande
                              (la plus a droite) a terminer avec un etat final
                              different   de   zero  ou  zero  si  toutes  les
                              commandes de la conduite terminent avec  succes.
                              Desactivee par defaut.
                      posix   Aligner  le comportement de bash sur le standard
                              POSIX, en  ce  qui  concerne  les  options  dont
                              l'action par defaut differe de ce standard (mode
                              posix).
                      privileged
                              Identique a -p.
                      verbose Identique a -v.
                      vi      Utiliser une interface d'edition des  lignes  de
                              commande  << a  la  vi >>. L'interface d'edition
                              utilisee par read -e est modifiee egalement.
                      xtrace  Identique a -x.
                      Si  -o  est  fournie  sans  nom_d_option,  les   valeurs
                      actuelles  des options sont affichees. Si +o est fournie
                      sans nom_d_option, la serie de commandes set  permettant
                      de  recreer  la  configuration  courante  d'options  est
                      affichee sur la sortie standard.
              -p      Basculer en mode privil'egi'e. Dans ce mode, les  fichiers
                      $ENV  et $BASH_ENV ne sont pas traites, les fonctions de
                      l'interpreteur ne sont pas heritees de  l'environnement,
                      et   les   variables  SHELLOPTS,  BASHOPTS,  CDPATH,  et
                      GLOBIGNORE,  si  presentes  dans  l'environnement,  sont
                      ignorees.  Si  l'interpreteur  demarre  avec  un UID (ou
                      respectivement un GID) effectif  different  de  son  UID
                      (GID)  reel  et  si  l'option  -p  n'est pas fournie, ce
                      comportement est applique et l'UID  (GID)  effectif  est
                      positionne  a  l'UID  (GID)  reel.  Si  l'option  -p est
                      fournie au demarrage, l'UID  (GID)  effectif  n'est  pas
                      modifie.   Desactiver   cette   option   conduit   a  la
                      configuration des UID et GID effectifs a la  valeur  des
                      UID et GID reels.
              -t      Terminer apres lecture et execution d'une commande.
              -u      Considerer  les variables inexistantes et les parametres
                      differents des parametres speciaux  << @ >>  et  << * >>
                      comme  des erreurs lors du developpement des parametres.
                      Si  un  developpement  de  variable  inexistante  ou  de
                      parametre  est  tente, l'interpreteur affiche un message
                      d'erreur et, s'il n'est pas interactif, termine avec  un
                      etat different de zero.
              -v      Afficher   les   lignes   en  entree  de  l'interpreteur
                      lorsqu'elles sont lues.
              -x      Apres  le  developpement  de  chaque  commande   simple,
                      commande for, commande case, commande select ou commande
                      for arithmetique, afficher la valeur developpee de  PS4,
                      suivie  de la commande et ses arguments developpes ou la
                      liste de mots associes.
              -B      L'interpreteur effectue le developpement  des  accolades
                      (voir  D'eveloppement  des  accolades plus haut). Activee
                      par defaut.
              -C      Si configuree, bash n'ecrasera pas un  fichier  existant
                      avec  les  operateurs  >, >& et <>. Ce comportement peut
                      etre surpasse lors de la creation d'un fichier de sortie
                      en utilisant l'operateur de redirection >| a la place de
                      >.
              -E      Si configuree, toute capture sur ERR est heritee par les
                      fonctions d'interpreteur, les substitutions de commandes
                      et les commandes executees dans un sous-interpreteur. La
                      capture  de  ERR  n'est  normalement pas heritee dans de
                      tels cas.
              -H      Activer le style ! de substitution  d'historique.  C'est
                      le  comportement  par  defaut lorsque l'interpreteur est
                      interactif.
              -P      Si configuree, l'interpreteur ne  doit  pas  suivre  les
                      liens  symboliques  en  executant des commandes comme cd
                      qui modifient le repertoire de travail. Il utilise a  la
                      place  le  repertoire  physique. Par defaut bash suit la
                      chaine logique des repertoires lors  des  commandes  qui
                      modifient le repertoire courant.
              -T      Si  configuree,  toutes  les captures de DEBUG et RETURN
                      sont heritees par les fonctions de  l'interpreteur,  les
                      substitutions  de  commande  et  les commandes executees
                      dans un sous-interpreteur.  Les  captures  de  DEBUG  et
                      RETURN  ne  sont  normalement  pas heritees dans de tels
                      cas.
              --      Si  aucun  argument  ne  suit  cet  option,  alors   les
                      parametres   positionnels   sont  detruits.  Sinon,  les
                      parametres positionnels sont configures  aux  arguments,
                      meme si certains d'entre eux commencent par un -.
              -       Marquer  la fin des options, tous les arguments restants
                      sont alors affectes  aux  parametres  positionnels.  Les
                      options  -x  et  -v  sont  desactivees.  S'il  n'y a pas
                      d'arguments, les parametres  positionnels  ne  sont  pas
                      modifies.

              Par  defaut  les  attributs  sont  desactives,  sauf  indication
              contraire. En utilisant << + >>  a  la  place  de  << - >>,  les
              options  sont  desactivees.  Les  options peuvent egalement etre
              fournies en argument lors de l'appel de l'interpreteur.  Le  jeu
              courant des options peut etre trouve dans $-. La valeur renvoyee
              est toujours vrai, sauf si une option incorrecte est rencontree.

       shift [n]
              Les parametres positionnels a partir de n+1 ... sont renommes en
              $1  ....  Les  parametres representes par les nombres $# jusqu'a
              $#-n+1 sont detruits. n doit etre un entier positif inferieur ou
              egal a $#. Si n vaut 0, aucun parametres n'est modifie. Si n est
              omis, on suppose qu'il vaut 1. Si n  est  superieur  a  $#,  les
              parametres positionnels ne sont pas modifies. L'etat renvoye est
              strictement positif si n  est  superieur  a  $#  ou  strictement
              negatif, sinon 0 est renvoye.

       shopt [-pqsu] [-o] [nom_opt ...]
              Bascule  la  valeur  des  variables  controlant  le comportement
              facultatif de l'interpreteur. Sans option ou avec  l'option  -p,
              une liste de toutes les options configurables est affichee, avec
              l'indication de l'etat de chacune  d'entre  elles.  L'option  -p
              conduit  a  un affichage de la sortie sous une forme susceptible
              d'etre  reutilisee  en  entree.  Les  autres  options  ont   les
              significations suivantes :
              -s     Activer (creer) chaque nom_opt.
              -u     Desactiver (detruire) chaque nom_opt.
              -q     Supprimer  la  sortie  normale (mode silencieux) ; l'etat
                     renvoye indique si  nom_opt  est  existante  ou  non.  Si
                     plusieurs arguments nom_opt sont indiques avec -q, l'etat
                     renvoye est zero  si  tous  les  nom_opt  sont  actives ;
                     different de zero sinon.
              -o     Restreindre les valeurs de nom_opt a celles definies pour
                     l'option -o de la commande interne set.

              Si l'option  -s  ou  -u  est  utilisee  sans  argument  nom_opt,
              l'affichage  est  limite  aux  options  qui  sont respectivement
              existantes ou non. Sauf indication contraire, les options  shopt
              sont desactivees (detruites) par defaut.

              L'etat  renvoye lors d'un affichage des options est zero si tous
              les nom_opt sont actives, different de zero sinon.  Lors  de  la
              creation  ou  de  la  destruction  d'options, l'etat renvoye est
              zero, a moins que nom_opt ne soit pas  une  option  correcte  de
              l'interpreteur.

              La liste des options shopt est :

              autocd  Si  existante,  un  nom  de commande qui est le nom d'un
                      repertoire est execute comme s'il etait l'argument de la
                      commande interne cd. Cette option n'est utilisee que par
                      les interpreteurs interactifs.
              cdable_vars
                      Si existante, un argument de la commande interne cd  qui
                      n'est  pas  un  repertoire  est  suppose  etre un nom de
                      variable dont la valeur est le repertoire vise.
              cdspell Si existante, les erreurs  minimes  de  frappe  dans  un
                      composant  du  repertoire  en argument de la commande cd
                      seront  corrigees.  Les  erreurs  corrigees   sont   les
                      inversions  d'un  caractere, un caractere manquant et un
                      caractere en trop. Si une correction  est  possible,  le
                      nom de repertoire corrige est affiche et la commande est
                      execute.  Cette  option  n'est  utilisee  que  par   les
                      interpreteurs interactifs.
              checkhash
                      Si  existante, bash verifie si une commande trouvee dans
                      la  table  de  hachage   existe   avant   d'essayer   de
                      l'executer.  Si  une  commande hachee n'existe plus, une
                      recherche normale de chemin est effectuee.
              checkjobs
                      Si existante, bash affiche la liste des etats de  toutes
                      les  taches  en  cours  et arretees avant de terminer un
                      interpreteur interactif. Si des taches sont en cours, la
                      sortie  est  differee  jusqu'a ce qu'une nouvelle sortie
                      soit tentee sans commande intermediaire  (voir  CONTR^OLE
                      DES  TACHES plus haut). L'interpr'eteur repousse toujours
                      la sortie si des t^aches sont arr^et'ees.
              checkwinsize
                      Si existante, bash verifie la taille de la fenetre apres
                      chaque  commande  et,  au besoin, met a jour les valeurs
                      des variables LINES et COLUMNS.
              cmdhist Si existante, bash essaie de sauvegarder  les  commandes
                      s'etendant  sur  plusieurs  lignes  en  un  seul element
                      d'historique.  Ceci  facilite  l'edition  ulterieure  de
                      commandes multilignes.
              compat31
                      Si  existante,  bash modifie son comportement de maniere
                      compatible a la version 3.1 en respectant les  arguments
                      proteges de l'operateur de commande conditionnelle =~.
              compat32
                      Si  existante,  bash modifie son comportement de maniere
                      compatible  a   la   version 3.2   en   respectant   les
                      comparaisons   de  chaines  specifiques  aux  parametres
                      linguistiques  regionaux  lors  de   l'utilisation   des
                      operateurs de commande conditionnelle < et >.
              compat40
                      Si  existante,  bash modifie son comportement de maniere
                      compatible  a   la   version 4.0   en   respectant   les
                      comparaisons   de  chaines  specifiques  aux  parametres
                      linguistiques  regionaux  lors  de   l'utilisation   des
                      operateurs  de commande conditionnelle < et > et l'effet
                      d'interruption de liste de commandes.
              dirspell
                      Si existante, bash essaie de  corriger  les  erreurs  de
                      frappe  sur  les noms de repertoire lors du completement
                      de mot si  le  nom  de  repertoire  initialement  fourni
                      n'existe pas.
              dotglob Si   existante,   bash   inclut  les  noms  de  fichiers
                      commencant  par  un  << . >>  dans  les  resultats   des
                      developpements de chemins.
              execfail
                      Si   existante,   un   interpreteur  non  interactif  ne
                      terminera pas s'il ne peut executer un  fichier  indique
                      en argument de la commande interne exec. Un interpreteur
                      interactif ne termine pas si exec echoue.
              expand_aliases
                      Si existante, les alias  sont  developpes  comme  decrit
                      plus  haut,  dans  ALIAS.   Cette option est activee par
                      defaut pour les interpreteurs interactifs.
              extdebug
                      Si existante, le comportement attendu par  les  traceurs
                      est active :
                      1.     L'option   -F  de  la  commande  interne  declare
                             affiche le nom du fichier source et le numero  de
                             ligne  correspondant  a  chaque  nom  de fonction
                             fourni comme argument.
                      2.     Si la commande lancee par  la  capture  de  DEBUG
                             renvoie   une   valeur  differente  de  zero,  la
                             commande  suivante  est  sautee  et   n'est   pas
                             executee.
                      3.     Si  la  commande  lancee  par la capture de DEBUG
                             renvoie  la  valeur  2   et   si   l'interpreteur
                             s'execute dans un sous-programme (une fonction de
                             l'interpreteur  ou  un  script  execute  par  les
                             commandes  internes  .  ou  source),  un  appel a
                             return est simule.
                      4.     BASH_ARGC et BASH_ARGV sont mises  a  jour  comme
                             explique dans leurs descriptions plus haut.
                      5.     Le   tracage   des   fonctions  est  active :  la
                             substitution  de  commande,  les   fonctions   de
                             l'interpreteur  et les sous-interpreteurs appeles
                             avec ( command ) heritent des captures  de  DEBUG
                             et RETURN.
                      6.     Le  tracage d'erreur est active : la substitution
                             de commande, les fonctions de  l'interpreteur  et
                             les  sous-interpreteurs  appeles avec ( command )
                             heritent de la capture de ERROR.
              extglob Si existante, les fonctionnalites etendues  de  mise  en
                      correspondance decrites plus haut dans D'eveloppement des
                      chemins sont activees.
              extquote
                      Si existante, la protection par $'cha^ine'  et  $"cha^ine"
                      est   effectuee  a  l'interieur  des  developpements  de
                      ${param`etres} entre guillemets doubles. Cette option est
                      activee par defaut.
              failglob
                      Si   existante,   les   motifs   qui  echouent  a  faire
                      correspondre   les   noms   de   fichiers   pendant   le
                      developpement  des  chemins font qu'ils provoqueront une
                      erreur de developpement.
              force_fignore
                      Si existante, les suffixes indiques par la  variable  de
                      l'interpreteur   FIGNORE  conduiront  des  mots  a  etre
                      ignores lors du completement de mot, meme  si  les  mots
                      ignores  sont  les  seuls  completements possibles. Voir
                      VARIABLES  DE  L'INTERPR'ETEUR   plus   haut   pour   une
                      description  de  FIGNORE.   Cette option est activee par
                      defaut.
              globstar
                      Si existante, le motif ** utilise dans  un  contexte  de
                      developpement  des  chemins correspondra a un fichier et
                      zero ou plusieurs repertoires et sous-repertoires. Si le
                      motif   est   suivi  de  /,  seuls  les  repertoires  et
                      sous-repertoires correspondent.
              gnu_errfmt
                      Si existante, les messages  d'erreur  de  l'interpreteur
                      seront  ecrits  dans le format standard GNU des messages
                      d'erreurs.
              histappend
                      Si  existante,  la  file  d'historique  est  ajoutee  au
                      fichier  designe  par  la valeur de la variable HISTFILE
                      lorsque l'interpreteur termine, plutot que d'ecraser  ce
                      fichier.
              histreedit
                      Si existante et si readline est utilisee, un utilisateur
                      peut  reediter  une  substitution  d'historique  qui   a
                      echoue.
              histverify
                      Si existante et si readline est utilisee, le resultat de
                      la  substitution  d'historique   n'est   pas   transmise
                      immediatement  a  l'analyseur  de  l'interpreteur.  A la
                      place, la ligne resultante est chargee  dans  le  tampon
                      d'edition  de  readline,  permettant  des  modifications
                      ulterieures.
              hostcomplete
                      Si existante et si readline est utilisee, bash  essayera
                      d'effectuer   le   completement  des  noms  de  machines
                      lorsqu'un mot contient  un  @  (voir  Compl`etement  dans
                      READLINE  plus  haut).  Cette  option  est  activee  par
                      defaut.
              huponexit
                      Si existante, bash enverra un signal SIGHUP a toutes les
                      taches  lorsqu'un  interpreteur  de connexion interactif
                      termine.
              interactive_comments
                      Si existante, un mot commencant par un # conduira ce mot
                      et  tous  les  autres  caracteres restants de la ligne a
                      etre  ignores  dans  un  interpreteur  interactif  (voir
                      COMMENTAIRES  plus  haut).  Cette option est activee par
                      defaut.
              lithist Si existante et si l'option  cmdhist  est  activee,  les
                      commandes    multilignes    sont    sauvegardees    dans
                      l'historique avec des sauts de  ligne  incorpores  comme
                      separateurs  plutot  que des points-virgules la ou c'est
                      possible.
              login_shell
                      L'interpreteur cree cette option  s'il  est  demarre  en
                      tant  qu'interpreteur  de  connexion  (voir  APPEL  plus
                      haut). La valeur ne peut etre modifiee.
              mailwarn
                      Si existante et s'il a ete accede a un fichier que  bash
                      surveille   pour   les   courriers  depuis  sa  derniere
                      verification,   le   message   << Le    courrier    dans
                      fichier_de_courrier a ete lu. >> est affiche.
              no_empty_cmd_completion
                      Si   existante   et   si  readline  est  utilisee,  bash
                      n'essaiera pas d'utiliser  le  PATH  pour  de  possibles
                      completements  quand  le  completement est tente sur une
                      ligne vide.
              nocaseglob
                      Si  existante,  bash  fait  correspondre  les  noms   de
                      fichiers  d'une  facon  insensible  a  la  casse lors du
                      developpement  des  chemins  (voir   D'eveloppement   des
                      chemins plus haut).
              nocasematch
                      Si  existante,  bash  fait correspondre les motifs d'une
                      facon  insensible  a  la  casse  lors  de  la  mise   en
                      correspondance   pendant   l'execution   des   commandes
                      conditionnelles case ou [[.
              nullglob
                      Si existante, bash autorise les motifs ne  correspondant
                      a  aucun  fichier  (voir  D'eveloppement des chemins plus
                      haut) a se developper en une chaine  vide  plutot  qu'en
                      une valeur litterale.
              progcomp
                      Si  existante,  les outils de completement programmables
                      (voir Compl`etement programmable plus haut) sont actives.
                      Cette option est activee par defaut.
              promptvars
                      Si  existante,  les  chaines  d'invite  sont sujettes au
                      developpement  des  parametres,  a  la  substitution  de
                      commande,   au   developpement   arithmetique  et  a  la
                      suppression des protections apres avoir ete  developpees
                      comme  decrit  plus haut dans INVITES.  Cette option est
                      activee par defaut.
              restricted_shell
                      L'interpreteur cree cette option  s'il  est  demarre  en
                      mode  restreint  (voir INTERPR'ETEUR RESTREINT plus bas).
                      Cette valeur ne peut pas etre changee.  Elle  n'est  pas
                      reinitialisee  lorsque  les  fichiers  de demarrage sont
                      executes, ce qui permet a ces fichiers de  decouvrir  si
                      un interpreteur est restreint ou non.
              shift_verbose
                      Si  existante,  la  commande  interne  shift  affiche un
                      message d'erreur lorsque le nombre de decalages  depasse
                      le nombre de parametres positionnels.
              sourcepath
                      Si  existante, la commande interne source (.) utilise la
                      valeur de la variable PATH pour  trouver  le  repertoire
                      contenant  le  fichier  fourni en argument. Cette option
                      est activee par defaut.
              xpg_echo
                      Si existante, la commande  interne  echo  developpe  par
                      defaut   les  suites  de  caracteres  d'echappement  par
                      contre-oblique.
       suspend [-f]
              Suspend l'execution de l'interpreteur jusqu'a la reception  d'un
              signal  SIGCONT.   Un interpreteur de connexion ne peut pas etre
              suspendu ; l'option -f permet de surpasser  ce  comportement  et
              force   sa   suspension.   L'etat   renvoye   est   0,  sauf  si
              l'interpreteur est un interpreteur de connexion et que  l'option
              -f est absente, ou si le controle des taches n'est pas active.
       test expr
       [ expr ]
              Renvoie  un  etat  de  0 ou 1 selon l'evaluation de la condition
              expr. Chaque operateur et operande doit etre represente  par  un
              argument  distinct. Les conditions sont composees des primitives
              decrites plus  haut  dans  CONDITIONS.   test  n'accepte  aucune
              option,   n'accepte   pas  non  plus  et  ignore  l'argument  --
              signifiant la fin des options.

              Les  conditions  peuvent  etre  combinees  avec  les  operateurs
              suivant,   decrits   par   ordre   de   priorite   decroissante.
              L'evaluation depend du nombre d'arguments, voir plus bas.
              ! expr Vrai si expr est fausse.
              ( expr )
                     Renvoie la valeur de expr. Peut  servir  a  surpasser  la
                     priorite normale des operateurs.
              expr1 -a expr2
                     Vrai si expr1 et expr2 sont toutes deux vraies.
              expr1 -o expr2
                     Vrai si expr1 ou expr2 est vraie.

              test et [ evaluent les conditions en fonction d'un jeu de regles
              dependant 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 vide.
              2 arguments
                     Si  le  premier argument est !, la condition est vraie si
                     et seulement si  le  second  argument  est  vide.  Si  le
                     premier  argument  est  l'un  des operateurs conditionnel
                     unaires decrits plus haut dans  CONDITIONS  la  condition
                     est  vraie  si  le  test  unaire  est vrai. Si le premier
                     argument  n'est  pas  un  operateur  conditionnel  unaire
                     correct, la condition est fausse.
              3 arguments
                     Si   le   second   argument   est   l'un  des  operateurs
                     conditionnels binaires decrits plus haut dans CONDITIONS,
                     le  resultat  de  la  condition  est  le resultat du test
                     binaire utilisant le premier et le troisieme argument  en
                     tant   qu'operandes.   Les   operateurs  -a  et  -o  sont
                     consideres comme des operateurs binaires quand  ils  sont
                     avec  trois  arguments.  Si le premier argument est !, la
                     valeur est la negation  du  test  binaire  utilisant  les
                     deuxieme  et  troisieme arguments. Si le premier argument
                     est exactement ( et le troisieme argument est  exactement
                     ),  le  resultat  est  le test unaire du second argument.
                     Sinon la condition est fausse.
              4 arguments
                     Si le premier argument est !, le resultat est la negation
                     de  la condition a trois arguments composee des arguments
                     restants. Sinon la  condition  est  analysee  et  evaluee
                     selon les regles de priorite decrites ci-dessus.
              5 arguments ou plus
                     La  condition est analysee et evaluee selon les regles de
                     priorite decrites ci-dessus.

       times  Affiche  les  durees  cumulees  utilisateur  et   systeme   pour
              l'interpreteur  et  les  processus  lances par cet interpreteur.
              L'etat renvoye est 0.

       trap [-lp] [[argument] signal ...]
              La  commande  argument  doit  etre   lue   et   executee   quand
              l'interpreteur recoit au moins un signal. Si argument est absent
              (et qu'un seul signal est fourni) ou -,  chaque  signal  indique
              est  reinitialise a sa position d'origine (la valeur qu'il avait
              lors de l'entree dans l'interpreteur). Si argument est la chaine
              vide, chaque signal indique est ignore par l'interpreteur et par
              les commandes qu'il appelle. Si argument n'est  pas  present  et
              que  -p  est  fourni, les commandes capturees associees a chaque
              signal sont affichees. Si aucun argument  n'est  fourni,  ou  si
              seul -p est donne, trap affiche la liste des commandes associees
              a chaque signal. L'option -l conduit l'interpreteur  a  afficher
              une  liste  des  noms  de  signal  et leur numero correspondant.
              Chaque signal est soit un nom de signal defini dans  <signal.h>,
              soit un numero de signal. Les noms de signal sont insensibles la
              casse et le prefixe SIG est optionnel.

              Si un signal est EXIT (0), la  commande  argument  est  executee
              lors  de la sortie de l'interpreteur. Si un signal est DEBUG, la
              commande argument est  executee  avant  toute  commande  simple,
              commande for, commande case, commande select, toute commande for
              arithmetique, et avant que la premiere  commande  n'execute  une
              fonction  de  l'interpreteur  (voir  GRAMMAIRE DE L'INTERPR'ETEUR
              plus haut). Reportez-vous a 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 executee a chaque fois qu'une fonction de
              l'interpreteur, ou un script execute avec les commandes internes
              . ou source, termine son execution.

              Si  un  signal est ERR, la commande argument est executee chaque
              fois qu'une commande simple renvoie un etat final  different  de
              zero,  sujet  aux conditions suivantes. La capture ERR n'est pas
              executee si la commande  echouee  fait  partie  d'une  liste  de
              commandes  immediatement  suivie par un mot-clef while ou until,
              d'un test if, d'une commande executee au sein d'une liste de  &&
              ou  de ||, ou si la valeur renvoyee par la commande est inversee
              par !. Se sont les memes conditions  que  celles  observees  par
              l'option errexit.

              Les  signaux  ignores  en entrant dans l'interpreteur ne peuvent
              etre captures ou reinitialises. Les signaux captures qui ne sont
              pas  ignores  sont reinitialises a leur valeur d'origine dans un
              sous-interpreteur ou un environnement de sous-interpreteur quand
              il  est  cree.  L'etat  renvoye  est faux si un signal n'est pas
              valable, sinon trap renvoie vrai.

       type [-aftpP] nom [nom ...]
              Sans option, indique comment chaque nom doit etre interprete  si
              on  l'utilise  en nom de commande. Si l'attribut -t est utilise,
              type affiche une des phrases suivantes alias, keyword, function,
              builtin  ou  file  selon  que  le  nom  est un alias, un mot-cle
              reserve de l'interpreteur, une fonction, une commande interne ou
              un fichier sur le disque. Si le nom n'est pas trouve, rien n'est
              affiche et un etat final a faux est renvoye. Si l'option -p  est
              utilisee,  type  renvoie  le  nom du fichier qui sera execute 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, meme 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 necessairement le fichier apparaissant en premier dans PATH.
              Si l'option -a est appelee, type affiche tous  les  emplacements
              contenant un executable du nom indique. Ceci inclut les alias et
              les fonctions, sauf si l'option -p est  egalement  presente.  La
              table de hachage des commandes n'est pas consultee avec l'option
              -a. L'option  -f  supprime  la  fonction  de  l'interpreteur  de
              consultation  de  table, comme avec la commande interne command.
              type renvoie vrai si tous les arguments sont trouves et faux  si
              aucun n'a pas ete trouve.

       ulimit [-HSTabcdefilmnpqrstuvx [limitation]]
              Fournit,  sur  les  systemes  qui le permettent, un mecanisme de
              controle des ressources disponibles pour l'interpreteur 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 indiquee. Une limitation stricte ne peut pas
              etre augmentee  par  un  utilisateur  non  privilegie  une  fois
              qu'elle  a  ete  configuree ;  une limitation flexible peut etre
              augmentee  jusqu'a  la   valeur   de   la   limitation   stricte
              correspondante.  Si  ni  -H ni -S n'est indique, les limitations
              strictes et flexibles sont toutes deux configurees. La valeur de
              la   limitation  peut  etre  un  nombre  (utilisant  les  unites
              particulieres de la ressource) ou l'une  des  valeurs  speciales
              hard,  soft  ou  unlimited,  qui  signifient, respectivement, la
              limitation stricte courante, la limitation flexible courante  et
              l'absence  de  limitation. Si la limitation est omise, la valeur
              courante  de  la  limitation  flexible  pour  la  ressource  est
              affichee, a moins que l'option -H soit indiquee. Quand plusieurs
              ressources sont indiquees, les noms  des  limitations  et  leurs
              unites  sont affiches avant les valeurs. Les autres options sont
              interpretees comme suit :
              -a     Toutes les limitations courantes sont signalees
              -b     La taille maximum du tampon de << socket >>
              -c     La taille maximum des fichiers core crees
              -d     La taille maximum du segment de donnees d'un processus
              -e     La priorite d'ordonnancement maximum (<< nice >>)
              -f     La taille maximum d'un fichier ecrit  par  l'interpreteur
                     et ses fils
              -i     Le nombre maximum de signaux en attente
              -l     La taille maximum qui peut etre verrouillee en memoire
              -m     La  taille  maximum de la partie residente d'un processus
                     (<< resident set size >> ou RSS, la plupart des  systemes
                     ne respectent pas cette limite)
              -n     Le nombre maximum de descripteurs de fichiers ouverts (la
                     plupart des systemes ne permettent pas de modifier  cette
                     valeur)
              -p     La  taille  d'un  tube  en  blocs  de 512 octets (parfois
                     inexistante)
              -q     Le nombre maximum d'octets dans  les  files  de  messages
                     POSIX
              -r     La priorite d'ordonnancement temps-reel maximale
              -s     La taille maximum de la pile
              -t     La  duree  maximum, en seconde, de temps CPU accorde a un
                     processus
              -u     Le nombre maximum de processus  autorises  pour  un  seul
                     utilisateur
              -v     La   quantite   de   memoire  virtuelle  disponible  pour
                     l'interpreteur
              -x     Le nombre maximum de verrous de fichiers
              -T     Le nombre maximum de processus legers (<< threads >>)

              Si une limitation est indiquee, elle  sera  la  nouvelle  valeur
              pour la ressource indiquee (l'option -a correspond a l'affichage
              seul). Si aucune option n'est indiquee alors  -f  est  supposee.
              Les valeurs s'expriment par pas de 1024 octets, sauf pour -t qui
              est en secondes, -p, qui utilise des  unites  de  blocs  de  512
              octets,  ainsi  que  -T,  -b,  -n et -u, qui n'ont pas d'unites.
              L'etat renvoye  est  0,  sauf  si  une  option  ou  un  argument
              incorrect   a  ete  fourni  ou  si  une  erreur  se  produit  en
              configurant la nouvelle limitation.

       umask [-p] [-S] [mode]
              Le masque de creation de fichier de l'utilisateur est  configure
              a mode. Si mode commence par un chiffre, il est interprete comme
              un  nombre  octal,  sinon  il  est  considere  comme  un  masque
              symbolique,  semblable a ceux acceptes par chmod(1). Si mode est
              omis ou si l'option -S est fournie, la valeur courante du masque
              est  affichee.  L'option -S conduit a l'affichage du masque sous
              forme symbolique, l'affichage par  defaut  etant  en  octal.  Si
              l'option -p est fournie et si le mode est omis, la sortie a lieu
              dans un format reutilisable en entree. L'etat renvoye est  0  si
              le  mode a pu etre change correctement ou si aucun argument mode
              n'a ete fourni, et faux sinon.

       unalias [-a] [nom ...]
              Supprime le nom de la liste des alias definis.  Si  l'option  -a
              est  fournie, toutes les definitions d'alias sont supprimees. La
              valeur renvoyee est vrai, sauf si un nom  fourni  n'est  pas  un
              alias defini.

       unset [-fv] [nom ...]
              Pour  chaque  nom  indique,  supprime la variable ou la fonction
              correspondante. Si aucune option n'est fournie ou si l'option -v
              est   indiquee,  chaque  nom  se  rapporte  a  une  variable  de
              l'interpreteur. Les variables en lecture seule  ne  peuvent  pas
              etre  detruites.  Si  l'option  -f  est  indiquee, chaque nom se
              rapporte a une fonction de l'interpreteur et la definition de la
              fonction est supprimee. Chaque variable ou fonction detruite est
              supprimee de l'environnement transmis aux commandes ulterieures.
              Si l'une des variables COMP_WORDBREAKS, RANDOM, SECONDS, LINENO,
              HISTCMD, FUNCNAME, GROUPS ou DIRSTACK est  detruite,  elle  perd
              ses   proprietes   specifiques,   meme  s'il  elle  est  recreee
              ulterieurement. L'etat final est vrai sauf si un des noms est en
              lecture seule.

       wait [n ...]
              Attend  que chaque processus indique termine et renvoie son etat
              final. Chaque n peut etre un PID ou une specification de tache ;
              si  une  specification de tache est indiquee, la fin de tous les
              processus de la conduite de cette tache sera attendue. Si n  est
              omis,  la  fin de tous les processus enfants actuellement actifs
              sera attendue et l'etat  renvoye  est  zero.  Si  n  indique  un
              processus  ou  une  tache  inexistants,  l'etat renvoye est 127.
              Sinon, l'etat renvoye est l'etat final du dernier  processus  ou
              tache attendu.

INTERPR'ETEUR RESTREINT

       Si bash demarre sous le nom rbash ou si l'option -r est fournie lors de
       son appel, l'interpreteur devient restreint. Un interpreteur  restreint
       permet  de  creer  un  environnement  plus  controle qu'un interpreteur
       standard. Il se comporte de meme facon que bash  a  la  difference  des
       actions suivantes qui sont interdites ou non effectuees :

       o      changer de repertoire avec cd ;

       o      creer ou detruire les valeurs de SHELL, PATH, ENV ou BASH_ENV ;

       o      indiquer des noms de commandes contenant un / ;

       o      indiquer  un  nom de fichier contenant un / comme argument de la
              commande interne . ;

       o      indiquer un nom de fichier contenant  une  barre  oblique  comme
              argument de l'option -p de la commande interne hash ;

       o      importer  une  definition  de  fonction  dans l'environnement au
              demarrage ;

       o      analyser les valeurs de SHELLOPTS au demarrage ;

       o      rediriger la sortie en utilisant les operateurs  de  redirection
              >, >|, <>, >&, &> et >> ;

       o      utiliser  la commande interne exec pour remplacer l'interpreteur
              par une autre commande ;

       o      ajouter ou supprimer des commandes internes avec les options  -f
              et -d de la commande interne enable ;

       o      utiliser  la  commande interne enable pour activer les commandes
              internes de l'interpreteur desactivees ;

       o      indiquer l'option -p a la commande interne commande ;

       o      supprimer le mode restreint avec set +r ou set +o restricted.

       Ces restrictions sont mises en place apres la lecture de n'importe quel
       fichier de demarrage.

       When  a  command  that  is  found to be a shell script is executed (see
       COMMAND  EXECUTION  above),  rbash  supprime  toute  restriction   dans
       l'interpreteur cree pour executer le script.

VOIR AUSSI

       Manuel de r'ef'erence 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
       sh(1), ksh(1), csh(1)
       emacs(1), vi(1)
       readline(3)

FICHIERS

       /bin/bash
              L'executable bash
       /etc/profile
              Le fichier d'initialisation commun a tout  le  systeme,  execute
              pour les interpreteurs de commandes de connexion
       /etc/bash.bashrc
              Le fichier de demarrage commun a tout le systeme pour chacun des
              interpreteurs interactifs
       /etc/bash.bash.logout
              Le fichier de nettoyage des interpreteurs de connexion commun  a
              tout  le  systeme,  execute  lorsqu'un interpreteur de connexion
              termine
       ~/.bash_profile
              Le  fichier  d'initialisation   personnel   execute   pour   les
              interpreteurs de commandes de connexion
       ~/.bashrc
              Le fichier de demarrage personnel, pour chacun des interpreteurs
              interactifs
       ~/.bash_logout
              Le fichier de nettoyage personnel des interpreteurs de commandes
              de  connexion,  execute  lorsqu'un  interpreteur de commandes de
              connexion termine
       ~/.inputrc
              Le fichier d'initialisation personnalisee 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 reellement d'une anomalie
       et qu'elle apparait bien dans la derniere version de  bash  disponible.
       La   derniere   version   est   toujours   disponible   a   partir   de
       ftp://ftp.gnu.org/pub/bash/.

       Une fois que vous avez determine qu'une anomalie existe  effectivement,
       utilisez la commande bashbug pour envoyer un signalement d'anomalie. Si
       vous avez un correctif, vous etes encourage a l'envoyer en meme temps !
       Les   suggestions   ou   les   signalements   d'anomalies   de   nature
       << philosophique >>   peuvent   etre    envoyes    (en    anglais)    a
       bug-bash@gnu.org ou postes dans le groupe Usenet gnu.bash.bug.

       TOUS les signalements d'anomalie doivent contenir :

       Le numero de version de bash
       Le materiel et le systeme d'exploitation utilises
       Le compilateur utilise pour compiler
       Une description (en anglais) de l'anomalie
       Un petit script ou une << recette >> qui demontre l'anomalie

       bashbug  insere  automatiquement  les  trois premiers elements de cette
       liste dans le formulaire qu'il  fournit  pour  remplir  un  signalement
       d'anomalie.

       Les  commentaires  et  signalement  d'anomalies  concernant  la version
       originale de cette page de manuel (en anglais) doivent etre transmis  a
       chet@po.cwru.edu.  Ceux concernant cette version francaise peuvent etre
       envoyes a debian-l10n-french@lists.debian.org.

ANOMALIES

       Cet interpreteur de commandes est trop gros et trop lent.

       Il y a quelques differences subtiles de comportement entre bash et  les
       versions   traditionnelles   de   sh,   principalement   a   cause  des
       specifications POSIX.

       L'utilisation des alias peut avoir des consequences inattendues.

       Les commandes internes et les fonctions de  l'interpreteur  ne  peuvent
       pas etre suspendues/relancees.

       Les  commandes  composees  et  les  suites  de  commandes  de  la forme
       << a ; b ; c >> ne sont pas gerees elegamment lors  d'une  interruption
       de  processus.  En  cas  de  suspension  d'un processus, l'interpreteur
       execute immediatement la commande suivante. Il suffit de  placer  cette
       suite  de  commandes  entre  parentheses  pour  la  forcer  a  creer un
       sous-interpreteur, qui, lui, pourra etre suspendu en bloc.

       Les variables de type tableau ne peuvent pas (encore) etre exportees.

       Il ne peut exister qu'un seul coprocessus actif a la fois.

TRADUCTION

       Ce document est  une  traduction  realisee  par  Christophe  Blaess  et
       Thierry  Vignaud  en  1997, et mise a jour par Alain Portal <aportal AT
       univ-montp2 DOT fr> en 2006.

       La version presente dans Debian  a  ete  entierement  retravaillee  par
       Frederic  Lehobey  <Frederic  AT  Lehobey  DOT  net>  et est dorenavant
       maintenue par David Prevot 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.1                   29 decembre 2009                        BASH(1)