Available in

(1) (1)/es (1)/fr (1)/it (1)/ja (1)/ko (1)/nl (1)/pl (1)/zh_CN (1)/zh_TW

TOC

BASH(1)                                                                BASH(1)



NOM

       bash - Interprteur de commandes GNU Bourne-Again SHell.

SYNOPSIS

       bash [options] [fichier]

COPYRIGHT

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

DESCRIPTION

       Bash  est  un interprteur de commandes (shell) compatible sh qui excute
       les commandes lues depuis l'entre standard ou depuis un  fichier.  Bash
       inclut  aussi  des  fonctionnalits utiles des interprteurs de commandes
       Korn et C (ksh et csh).

       Bash vise  tre une  implmentation  conforme   la  partie  relative  aux
       interprteurs  de  commandes et utilitaires des spcifications IEEE POSIX
       (norme IEEE 1003.1). Bash peut tre configur pour tre conforme aux spci-
       fications POSIX par dfaut.

OPTIONS

       En  plus  des  options  d'interprteur  monocaractres documentes dans la
       description de la commande interne set, bash accepte les options  suiv-
       antes lors de son appel :

       -c chane  Si l'option -c est prsente, les commandes sont lues depuis la
                 chane fournie. S'il y a des arguments aprs la chane, ils sont
                 affects aux paramtres positionnels, en commenant par $0.
       -i        Si l'option -i est prsente, l'interprteur est interactif.
       -l        Faire  que  bash  se  comporte comme s'il avait t appel comme
                 interprteur de commandes de connexion (voir APPEL plus  bas).
       -r        Si  l'option  -r est prsente, l'interprteur devient restreint
                 (voir INTERPRTEUR RESTREINT plus bas).
       -s        Si l'option -s est prsente ou s'il ne reste  plus  d'argument
                 aprs le traitement des options, alors les commandes sont lues
                 depuis l'entre standard. Cette option permet  d'affecter  les
                 paramtres positionnels tout en appelant un interprteur inter-
                 actif.
       -D        Une liste de  toutes  les  chanes  entre  guillemets  doubles
                 prcdes  de  $ est affiche sur la sortie standard. Ce sont les
                 chanes qui sont sujettes une  traduction  quand  le  paramtre
                 linguistique  rgional  n'est  ni  C  ni  POSIX. Cela implique
                 l'option -n ; aucune commande ne sera excute.
       [-+]O [option_shopt]
                 option_shopt est une des options  de  l'interprteur  acceptes
                 par  la  commande  interne  shopt  (voir  plus  bas COMMANDES
                 INTERNES DE L'INTERPRTEUR ). Si option_shopt est prsente,  -O
                 cre  cette  option ;  +O la dtruit. Si option_shopt n'est pas
                 fournie, les noms et valeurs  des  options  de  l'interprteur
                 acceptes  par  shopt  sont affichs sur la sortie standard. Si
                 l'option d'appel est +O, la sortie est affiche dans un format
                 rutilisable en entre.
       --        Deux  caractres -- indiquent la fin des options et dsactivent
                 le traitement des arguments. Tous les arguments  aprs  le  --
                 sont  traits  comme  des noms de fichiers et paramtres. - est
                 quivalent  --.

       Bash reconnat galement plusieurs options  multicaractres.  Ces  options
       doivent,  pour  tre reconnues, apparatre sur la ligne de commande avant
       les options monocaractres.

       --debugger
              Prend les dispositions pour que le  paramtrage  du  traage  soit
              excut  avant  que  l'interprteur  dmarre.  Enclenche  le mode de
              traage tendu (voir plus bas la description de l'option  extdebug
              de  la  commande  interne  shopt)  et le traage des fonctions de
              l'interprteur (voir plus bas la description de l'option -o func-
              trace de la commande interne set).
       --dump-po-strings
              quivalent  -D, mais la sortie est dans le format des fichiers po
              (objets portables) de l'outil GNU gettext.
       --dump-strings
              quivalent  -D.
       --help Affiche un message d'aide sur la sortie standard et termine avec
              succs.
       --init-file fichier
       --rcfile fichier
              Excuter les commandes contenues dans fichier plutt que celles du
              fichier d'initialisation commun  tout le systme /etc/bash.bashrc
              et  que le fichier d'initialisation personnel standard ~/.bashrc
              si l'interprteur est interactif (voir APPEL plus bas).

       --login
              quivalent  -l.

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

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

       --norc Ne  pas lire ni excuter le fichier de configuration commun  tout
              le systme /etc/bash.bashrc ni le fichier personnel d'initialisa-
              tion  ~/.bashrc  lorsque  l'interprteur  est  interactif.  Cette
              option est active par dfaut si l'interprteur est appel  sous  le
              nom sh.

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

       --restricted
              L'interprteur devient restreint (voir INTERPRTEUR RESTREINT plus
              bas).

       --verbose
              quivalent  -v.

       --version
              Affiche le numro de version de bash sur la  sortie  standard  et
              termine avec succs.

ARGUMENTS

       S'il  reste  des arguments sur la ligne de commande aprs traitement des
       options et que ni l'option -c, ni l'option -s n'ont t fournies, le pre-
       mier  argument  est  suppos  tre le nom du fichier dans lequel lire les
       commandes d'interprteur. Si bash est appel de cette  faon,  le  nom  du
       ficher  est  affect   $0 et les arguments restants aux autres paramtres
       positionnels. Bash lit et excute les commandes depuis ce fichier,  puis
       termine.  L'tat  final  de  bash est l'tat final de la dernire commande
       excute dans le script. Si aucune commande n'a t excute, l'tat final est
       0.  Une tentative est d'abord faite de trouver le fichier dans le rper-
       toire courant et, si aucun fichier n'est trouv,  l'interprteur  cherche
       le script dans les rpertoires contenus dans PATH.

APPEL

       Un  interprteur  de  commandes est dit de connexion (login shell) si le
       premier caractre de son argument numro zro est un - ou s'il  est  appel
       avec l'option --login.

       Un  interprteur  est  interactif s'il est appel sans argument autre que
       des options et sans l'option -c, dont l'entre  standard  et  sa  sortie
       d'erreur  sont  toutes deux connectes  des terminaux (comme dtermin par
       la fonction isatty(3)) ou s'il est appel avec l'option -i.  PS1 est cre
       et  $-  contient  la lettre i si bash est interactif, ce qui permet  un
       script ou  un fichier de dmarrage de tester cet tat.

       Le paragraphe suivant dcrit comment bash excute ses fichiers d'initial-
       isation.  Si un quelconque de ces fichiers existe mais n'est pas acces-
       sible en lecture, bash signale une erreur. Les tildes sont remplacs par
       des  noms  de  fichiers comme dcrit plus bas dans Dveloppement du tilde
       dans le paragraphe DVELOPPEMENTS.

       Lorsque bash est lanc  comme  interprteur  de  commandes  de  connexion
       interactif  ou  comme interprteur non interactif avec l'option --login,
       il lit et excute tout d'abord les commandes se trouvant dans le fichier
       /etc/profile  si  ce  fichier  existe.  Aprs  lecture de ce fichier, il
       recherche ~/.bash_profile, ~/.bash_login et ~/.profile, dans cet ordre,
       puis  lit  et  excute les commandes se trouvant dans le premier fichier
       existant et  accessible  en  lecture.  L'option  --noprofile  peut  tre
       utilise  l'appel de l'interprteur pour empcher ce comportement.

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

       Quand un interprteur interactif dmarre sans tre un interprteur de  com-
       mandes  de connexion, bash lit et excute les commandes se trouvant dans
       /etc/bash.bashrc et ~/.bashrc s'ils existent. Ce comportement peut  tre
       empch   l'aide  de  l'option  --norc. L'option --rcfile fichier forcera
       bash  lire et  excuter  les  commandes  dans  fichier  plutt  que  dans
       /etc/bash.bashrc et ~/.bashrc.

       Quand  bash  est dmarr de faon non interactive, par exemple pour lancer
       un script, il  consulte  la  variable  BASH_ENV  dans  l'environnement,
       dveloppe  son  contenu si elle existe et considre cette valeur comme le
       nom d'un fichier  lire et excuter. Bash se comporte comme  si  la  com-
       mande suivante tait excute :
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       mais la valeur de la variable PATH n'est pas utilise pour rechercher le
       fichier.

       Si bash est appel sous le nom sh, il essaye d'imiter le comportement de
       dmarrage  des  versions historiques de sh aussi fidlement que possible,
       tout en restant conforme aux spcifications POSIX. Lorsqu'il  est  appel
       comme  interprteur de commandes de connexion interactif ou non interac-
       tif avec l'option --login, il essaye d'abord de lire et  excuter,  dans
       cet  ordre,  les commandes de /etc/profile puis de ~/.profile. L'option
       --noprofile peut tre utilise pour empcher ce comportement. Quand il est
       appel  en  tant qu'interprteur interactif sous le nom sh, bash consulte
       la variable ENV, dveloppe sa valeur si elle est dfinie  et  utilise  le
       rsultat  en tant que nom de fichier  lire et excuter. Comme un interpr-
       teur appel sous le nom sh n'essaye pas de lire et d'excuter des comman-
       des  d'un  quelconque  autre fichier de dmarrage, l'option --rcfile n'a
       aucun effet. Un  interprteur  non  interactif  appel  sous  le  nom  sh
       n'essaie  de  lire  aucun  autre fichier d'initialisation. Quand il est
       appel sous le nom sh, bash entre  en  mode  posix  aprs  avoir  lu  les
       fichiers d'initialisation.

       Quand  bash  est appel en mode posix comme avec l'option --posix sur la
       ligne de commande, il suit le standard POSIX pour les fichiers de dmar-
       rage. Dans ce mode, les interprteurs interactifs dveloppent la variable
       ENV et les commandes sont lues et excutes  partir du  fichier  dont  le
       nom  est la valeur dveloppe. Aucun autre fichier d'initialisation n'est
       lu.

       Bash tente de dterminer s'il est excut par le dmon lanant les  interpr-
       teurs de commandes distants, gnralement rshd. Si bash conclut qu'il est
       excut par rshd, il lit et excute les commandes de  /etc/bash.bashrc  et
       ~/.bashrc si ces fichiers existent et sont lisibles. Il n'a pas ce com-
       portement lorsqu'il est appel sous le nom sh. L'option --norc peut  tre
       utilise  pour  empcher  ce  comportement  et l'option --rcfile peut tre
       utilise pour forcer la lecture d'un autre fichier, mais rshd  n'appelle
       gnralement pas l'interprteur avec ces options ni ne permet de les spci-
       fier.

       Si l'interprteur est lanc avec un identifiant (de groupe) d'utilisateur
       effectif  diffrent de l'identifiant (de groupe) d'utilisateur rel et si
       l'option -p n'est pas fournie, aucun fichier d'initialisation n'est lu,
       les  fonctions  de l'interprteur ne sont pas importes depuis l'environ-
       nement, la variable SHELLOPTS, si  prsente  dans  l'environnement,  est
       ignore  et  l'identifiant  de  l'utilisateur effectif est mis  celui de
       l'utilisateur rel. Si l'option -p est fournie  l'appel, le comportement
       au  dmarrage est le mme mais l'identifiant d'utilisateur effectif n'est
       pas modifi.

DFINITIONS

       Les dfinitions suivantes sont utilises dans toute la suite ce document.
       blanc  Une espace ou une tabulation.
       mot    Une  suite  de  caractres  considre comme une unit lmentaire par
              l'interprteur. On parle galement de lexme (token).
       nom    Un mot ne contenant  que  des  caractres  alphanumriques  ou  le
              soulignement  (underscore),  commenant  par  une  lettre  ou  un
              soulignement. On s'y rfre galement sous le terme identificateur.
       mtacaractre
              Un caractre qui, non protg, spare les mots. Un de ceux-ci :
              |  & ; ( ) < > space tab
       oprateur de contrle
              Un  lexme ayant une fonction de contrle. C'est l'un des symboles
              suivants :
              || & && ; ;; ( ) | <newline>

MOTS RSERVS

       Les mots rservs sont des mots qui ont une  signification  spciale  pour
       l'interprteur.  Les mots suivants sont reconnus comme rservs lorsqu'ils
       ne sont pas protgs et sont soit le premier mot  d'une  commande  simple
       (voir  plus bas GRAMMAIRE DE L'INTERPRTEUR ) soit le troisime 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\'INTERPRTEUR

   Commandes simples
       Une  commande simple est une suite d'affectations facultatives de vari-
       ables, suivie de mots spars par des blancs et de redirections, et  ter-
       mine  par  un  oprateur  de contrle. Le premier mot spcifie la commande
       excuter et est pass comme argument zro. Les mots restants sont transmis
       comme arguments  la commande appele.

       La valeur renvoye par une commande simple est son tat final ou 128+n si
       la commande a t termine par le signal n.

   Conduites
       Une conduite (pipeline) est une  suite  d'une  ou  plusieurs  commandes
       spares par le caractre tube |. Le format d'une conduite est :

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

       La  sortie  standard de la commande_1 est connecte par un tube  l'entre
       standard de la commande_2. Cette connexion  est  effectue  avant  toute
       redirection  spcifie  par  la commande elle-mme (voir REDIRECTIONS plus
       bas).

       L'tat renvoy par une conduite est l'tat final de la  dernire  commande,
       moins  que l'option pipefail soit active. Si pipefail est active, l'tat
       renvoy par la conduite est la valeur de la dernire  commande  (la  plus
       droite)  terminer avec un tat diffrent de zro ou zro si toutes les com-
       mandes se terminent avec succs. Si le mot rserv ! prcde  une  conduite,
       l'tat  final  de  cette conduite sera la ngation logique de l'tat final
       tel que dcrit plus haut. L'interprteur attend que toutes les  commandes
       de la conduite soient termines avant de renvoyer une valeur.

       Si  le  mot  rserv time prcde une conduite, les temps passs par le pro-
       gramme en modes utilisateur et systme sont indiqus quand la conduite se
       termine.  L'option -p modifie le format de sortie pour celui spcifi par
       POSIX. La variable TIMEFORMAT peut contenir une chane de  format  indi-
       quant  comment  les informations de chronomtrage doivent tre affiches ;
       consultez plus bas la descriptions  de  TIMEFORMAT  dans  Variables  de
       l'interprteur.

       Chaque commande dans une conduite est excute comme un processus indpen-
       dant (c'est--dire dans un sous-interprteur).

   Listes
       Une liste est une suite d'une ou plusieurs conduites  spares  par  l'un
       des  oprateurs  ;,  &,  && ou || et facultativement termine par l'un au
       choix des ;, & ou <saut de ligne>.

       Dans cette liste d'oprateurs, &&  et  ||  ont  une  priorit  identique,
       suivis par ; et &, qui ont galement une priorit identique.

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

       Si une commande se termine par l'oprateur de contrle  &,  l'interprteur
       l'excute   en  arrire-plan,  dans  un  sous-interprteur.  L'interprteur
       n'attend pas que la commande se termine et l'tat renvoy est 0. Les com-
       mandes  spares  par  un  ;  sont  excutes successivement, l'interprteur
       attend que chaque commande se termine  tour   tour.  L'tat  renvoy  est
       l'tat final de la dernire commande excute.

       Les  oprateurs  de contrle && et || indiquent respectivement des listes
       de ET et des listes de OU. Une liste ET est de la forme

              commande_1 && commande_2

       commande_2 est excute si, et seulement si, commande_1  renvoie  un  tat
       final de zro.

       Une liste OU a la forme

              commande_1 || commande_2


       commande_2  est  excute  si  et  seulement si commande_1 renvoie un tat
       final diffrent de zro. L'tat renvoy par des listes de ET et de  OU  est
       l'tat final de la dernire commande excute dans la liste.

   Commandes composes
       Une commande compose est l'une des constructions suivantes :

       (liste)
              liste  est  excute dans un sous-interprteur (voir plus bas ENVI-
              RONNEMENT D'EXCUTION DES COMMANDES ). Les affectations de  vari-
              ables et les commandes internes qui affectent l'environnement de
              l'interprteur n'ont pas d'effet une fois que la commande se ter-
              mine. L'tat renvoy est l'tat final de la liste.

       { liste; }
              liste  est  simplement excute avec l'environnement de l'interpr-
              teur en cours. liste doit se terminer par un caractre de saut de
              ligne ou un point-virgule. Cette construction est connue sous le
              nom de commandes groupes. L'tat renvoy est  l'tat  final  de  la
              liste. Remarquez que contrairement aux mtacaractres ( et ), { et
              } sont des mots rservs qui ne doivent apparatre que l o  un  mot
              rserv peut tre reconnu. Puisqu'ils ne conduiront pas un dcoupage
              en mots, ils doivent tre spars de la liste par une espace.

       ((expression))
              L'expression est value selon les rgles  dcrites  plus  bas  dans
              VALUATION ARITHMTIQUE.  Si la valeur arithmtique de l'expression
              est diffrente de zro, l'tat renvoy est 0 ;  sinon  l'tat  renvoy
              est 1. Ceci est exactement quivalent  let "expression".

       [[ expression ]]
              Renvoie  un  tat  de  0  ou  1 selon l'valuation de la condition
              expression. Les conditions sont composes de  primitives  dcrites
              plus  bas  dans CONDITIONS.  Le dcoupage en mots et le dveloppe-
              ment des chemins ne sont pas effectus sur les mots entre  [[  et
              ]] ;  le  dveloppement des tildes, des paramtres, des variables,
              le dveloppement arithmtique, la substitution de commande  et  de
              processus,  ainsi que la suppression des protections sont effec-
              tus. Les oprateurs conditionnels comme -f  ne  doivent  pas  tre
              protgs afin d'tre reconnus comme primitives.

              Quand  les  oprateurs  ==  et  !=  sont  utiliss, la chane place
              droite de l'oprateur est considre comme tant un  motif  dont  la
              correspondance  est  recherche  selon les rgles dcrites plus bas
              dans Motifs gnriques. Si l'option d'interprteur nocasematch  est
              active, la mise en correspondance est effectue sans tenir compte
              de  la  casse  (diffrence  majuscule/minuscule)  des   caractres
              alphabtiques.  La  valeur renvoye est 0 si les chanes correspon-
              dent (==) (ou respectivement ne correspondent pas (!=) au  motif
              et 1 sinon. Toute partie du motif peut tre protge pour la forcer
              correspondre en tant que chane.

              Un oprateur binaire supplmentaire, =~, est disponible,  avec  la
              mme priorit que == et !=. Lorsqu'il est utilis, la chane  droite
              de l'oprateur est considre comme une expression rationnelle ten-
              due  et  est  mise  en  correspondance en consquence (comme avec
              regex(3)). La valeur renvoye est 0 si  la  chane  correspond  au
              motif   et   1  si  elle  ne  correspond  pas.  Si  l'expression
              rationnelle n'est pas syntaxiquement correcte, la valeur renvoye
              de  l'expression conditionnelle est 2. Si l'option d'interprteur
              nocasematch est active, la mise en correspondance  est  effectue
              sans  tenir  compte de la casse. Les sous-chanes mises en corre-
              spondance  avec  des  sous-expressions  entre  parenthses   dans
              l'expression  rationnelle  sont  sauvegardes  dans  la  variable
              tableau BASH_REMATCH. L'lment d'indice 0 de BASH_REMATCH est  la
              partie  de la chane correspondant  l'expression rationnelle com-
              plte. L'lment d'indice n de BASH_REMATCH est  la  partie  de  la
              chane correspondant  la nme sous-expression entre parenthses.

              Les  expressions peuvent tre combines en utilisant les oprateurs
              suivants, dcrits par ordre de priorit dcroissante :

              ( expression )
                     Renvoie la valeur de l'expression. Cela peut  tre  utilis
                     pour surpasser la priorit normale des oprateurs.
              ! 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 oprateurs && et || n'valuent pas expression2 si la valeur de
              expression1  suffit dterminer la valeur renvoye par la condition
              tout entire.

       for nom [ in mot ] ; do liste ; done
              La liste de mots suivant in est dveloppe, produisant  une  liste
              d'lments.  La  variable nom prend tour  tour la valeur de chacun
              des lments et liste est excute  chaque fois. Si in mot est omis,
              la  commande  for  excute  la  liste  une  fois  pour chacun des
              paramtres positionnels  existants  (voir  PARAMTRES  plus  bas).
              L'tat  renvoy  est l'tat final de la dernire commande excute. Si
              le dveloppement des lments suivant in conduit  une  liste  vide,
              aucune commande n'est excute et l'tat renvoy est 0.

       for (( expr1 ; expr2 ; expr3 )) ; do liste ; done
              L'expression arithmtique expr1 est d'abord value selon les rgles
              dcrites  plus  bas  sous  VALUATION  ARITHMTIQUE.   L'expression
              arithmtique  expr2  est ensuite value rptitivement jusqu' valoir
              zro. Chaque fois que expr2 est value en une valeur diffrente  de
              zro,  liste  est  excute  et  l'expression arithmtique expr3 est
              value. Si une quelconque des expressions  est  omise,  elle  est
              considre  comme  s'valuant  1. La valeur renvoye est l'tat final
              de la dernire commande dans liste qui est excute ou faux si  une
              quelconque des expressions est incorrecte.

       select nom [ in mot ] ; do liste ; done
              La  liste  de  mots  la suite de in est dveloppe, produisant une
              liste d'lments. L'ensemble des mots dvelopps est imprim  sur  la
              sortie  d'erreur  standard, chacun prcd par un nombre. Si in mot
              est  omis,  les  paramtres  positionnels  sont   imprims   (voir
              PARAMTRES  plus  bas). L'invite PS3 est affiche et une ligne est
              lue depuis l'entre standard. Si la ligne est constitue d'un nom-
              bre  correspondant   l'un  des  mots  affichs,  alors ce mot est
              affect  la valeur de la variable nom. Si la ligne est vide,  les
              mots  et  l'invite  sont  affichs nouveau. Si une fin de fichier
              (EOF) est lue, la commande se termine. Toute  autre  valeur  lue
              conduit  mettre  vide la variable nom. La ligne lue est conserve
              dans la variable REPLY. La liste est excute  aprs  chaque  slec-
              tion, jusqu' ce qu'une commande break soit atteinte. L'tat final
              de select est l'tat final de la dernire commande excute dans  la
              liste ou zro si aucune commande n'a t excute.

       case mot in [ [(] motif [ | motif ] ... ) liste ;; ] ... esac
              Une  commande  case  commence d'abord par dvelopper le mot, puis
              essaye de le mettre en correspondance tour  tour avec chacun des
              motifs  en utilisant les mmes rgles que pour le dveloppement des
              chemins (voir plus bas Dveloppement des  chemins).  Le  mot  est
              dvelopp  en  utilisant le dveloppement du tilde, le dveloppement
              des paramtres et des variables, la substitution arithmtique,  la
              substitution  de  commande,  la  substitution de processus et la
              suppression des protections. Chaque motif examin est dvelopp  en
              utilisant   le   dveloppement  du  tilde,  le  dveloppement  des
              paramtres et des variables, la substitution arithmtique, la sub-
              stitution  de  commande  et  la  substitution  de  processus. Si
              l'option d'interprteur nocasematch est active, la mise en corre-
              spondance  est effectue sans tenir compte de la casse des carac-
              tres alphabtiques. Quand une correspondance est trouve, la liste
              associe  est  excute. Ds qu'un motif correct a t trouv, il n'y a
              plus d'autre essai. L'tat final est zro si aucun motif ne corre-
              spond.  Sinon  il  est l'tat final de la dernire commande excute
              dans la liste.

       if liste; then liste; [ elif liste; then liste; ] ... [ else  liste;  ]
       fi
              La liste du if est excute. Si son tat final est zro, la liste du
              then  est  excute. Sinon, chacune des listes des elif est excute
              tour  tour et si son tat final est zro, la liste du then  associ
              est  excute  et la commande termine. Sinon, la liste du else, si
              prsente, est excute. L'tat final est l'tat final de  la  dernire
              commande excute ou zro si aucune condition n'a t satisfaite.

       while liste; do liste; done
       until liste; do liste; done
              La  commande  while rpte la liste du do tant que la dernire com-
              mande de la liste du while renvoie un tat final de zro. La  com-
              mande  until  est identique  la commande while, sauf que le test
              est invers ; la liste du do est excute tant que la dernire  com-
              mande  de  la  liste renvoie un tat final diffrent de zro. L'tat
              final des commandes while et until est l'tat final de la dernire
              commande  excute  dans  la liste du do ou zro si aucune commande
              n'a t excute.

   Dfinitions des fonctions de l'interprteur
       Une fonction de l'interprteur est un objet qui est appel comme une com-
       mande  simple et qui excute une commande compose avec un nouveau jeu de
       paramtres positionnels. Les fonctions de l'interprteur sont dclares  de
       la faon suivante :

       [ function ] nom () commande-compose [redirection]
              Ceci  dfinit une fonction possdant le nom mentionn. Le mot rserv
              function est facultatif. S'il est fourni,  les  parenthses  sont
              facultatives.  Le  corps  de la fonction est la commande compose
              commande-compose (voir Commandes composes plus haut). Cette com-
              mande  est  gnralement une liste de commandes entre { et }, mais
              peut tre une quelconque des  commandes  dcrites  dans  Commandes
              composes  plus  haut. La commande-compose est excute chaque fois
              que nom est spcifi comme le nom d'une commande  normale.  Toutes
              redirections  (voir  REDIRECTIONS  plus bas) spcifies lorsqu'une
              fonction est dfinie  sont  effectues  lorsque  la  fonction  est
              excute.  L'tat final d'une dfinition de fonction est zro,  moins
              qu'une erreur de syntaxe se produise ou qu'une fonction en  lec-
              ture  seule  existe  dj avec le mme nom. Lorsque la fonction est
              excute, l'tat final est celui de la dernire commande excute dans
              le corps de la fonction. (Voir FONCTIONS plus bas.)

COMMENTAIRES

       Dans  un  interprteur  non interactif ou dans un interprteur interactif
       avec l'option interactive_comments active par la commande interne shopt
       (voir  plus bas COMMANDES INTERNES DE L'INTERPRTEUR ), un mot commenant
       par # conduira  ignorer ce mot et tous les caractres  restants  sur  la
       ligne.  Un  interprteur  interactif  sans l'option interactive_comments
       n'autorise pas  les  commentaires.  L'option  interactive_comments  est
       active par dfaut dans les interprteurs interactifs.

PROTECTION

       Les  protections  (quoting) permettent de forcer l'interprteur  ignorer
       la signification spciale de certains caractres ou mots. Les protections
       peuvent  tre  utilises pour dsactiver le traitement des caractres spci-
       aux, viter la reconnaissance des mots rservs ou empcher le dveloppement
       des paramtres.

       Tous les mtacaractres dcrits plus haut dans DFINITIONS ont des signifi-
       cations spciales pour l'interprteur  et  doivent  tre  protgs  pour  ne
       reprsenter que leur propre caractre.

       Lorsque  les  outils de dveloppement de l'historique des commandes sont
       utiliss (voir plus bas DVELOPPEMENT DE L'HISTORIQUE ), le  caractre  de
       dveloppement  de  l'historique, gnralement !, doit tre protg pour viter
       le dveloppement de l'historique.

       Il y a trois mcanismes de protection : le  caractre  d'chappement,  les
       guillemets  simples ( single quote ) et les guillemets doubles ( double
       quote ).

       Un caractre contre-oblique (\) non protg, est le caractre d'chappement.
       Il  prserve  la valeur littrale du caractre qui le suit, l'exception du
       <saut de ligne>. Si un couple \<saut de ligne> apparat et  si  la  con-
       tre-oblique  n'est pas elle-mme protge, l'ensemble \<saut de ligne> est
       considr comme une continuation de ligne (c'est--dire qu'il est  supprim
       du flot d'entre et ignor en pratique).

       Encadrer  des  caractres entre des guillemets simples prserve la valeur
       littrale de chacun des caractres entre guillemets simples.  Un  guille-
       ment  simple  ne  peut  pas tre plac entre deux guillemets simples, mme
       s'il est prcd d'une contre-oblique.

       Encadrer des caractres entre des guillemets doubles prserve  la  valeur
       littrale  de chacun des caractres sauf $, `, \ et, lorsque le dveloppe-
       ment de l'historique est activ, !. Les  caractres  $  et  `  conservent
       leurs    significations   spciales   entre   guillemets   doubles.   La
       contre-oblique ne conserve sa signification spciale que lorsqu'elle est
       suivie par l'un des caractres suivants : $, `, ", \ ou <saut de ligne>.
       Un guillemet double peut tre protg entre deux guillemets doubles en  le
       faisant prcder d'une contre-oblique. S'il est activ, le dveloppement de
       l'historique  sera  effectu,   moins  qu'un   !    apparaissant   entre
       guillemets  doubles  ne  soit  protg  par  une  contre-oblique. La con-
       tre-oblique prcdant le ! n'est pas supprime.

       Les caractres spciaux * et @ ont des significations spciales lorsqu'ils
       se trouvent entre des guillemets doubles (voir PARAMTRES plus bas).

       Les  mots  de  la  forme  $'chane'  sont traits spcialement. Le mot est
       dvelopp en chane avec les caractres protgs par contre-oblique  remplacs
       comme  spcifi  par le standard ANSI C. Les suites d'chappement par con-
       tre-oblique, si prsentes, sont dcodes comme suit :
              \a     alerte (alarme)
              \b     effacement arrire (backspace)
              \e     caractre d'chappement
              \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
              \nnn   le caractre 8 bits dont la valeur octale est nnn  (de  un
                     trois chiffres)
              \xHH   le  caractre 8 bits dont la valeur hexadcimale est HH (un
                     deux symboles hexadcimaux)
              \cx    un caractre contrle-x

       Le rsultat dvelopp est protg par des guillemets  simples  comme  si  le
       symbole dollar n'avait pas t prsent.

       Une  chane  entre guillemets doubles prcde d'un symbole dollar ($) con-
       duira  la traduction de la chane selon le paramtre linguistique rgional
       en vigueur. Si le paramtre linguistique rgional courant est C ou POSIX,
       le symbole dollar est ignor. Si la chane est traduite et  remplace,  le
       rsultat est protg par des guillemets doubles.

PARAMTRES

       Un  paramtre  est  une entit permettant de stocker des valeurs. Il peut
       tre un nom, un nombre ou un des caractres spciaux dcrits plus bas, dans
       Paramtres  spciaux.  Une  variable  est un paramtre not par un nom. Une
       variable possde une valeur et zro ou plusieurs attributs. Les attributs
       sont  affects  en  utilisant  la commande interne declare (voir declare
       plus bas dans COMMANDES INTERNES DE L'INTERPRTEUR ).

       Un paramtre est cr si une valeur lui a t affecte. La chane vide est une
       valeur  correcte.  Une  fois  qu'une variable est cre, elle ne peut tre
       dtruite qu'en utilisant la commande interne unset (voir plus  bas  COM-
       MANDES INTERNES DE L'INTERPRTEUR ).

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

              nom=[valeur]

       Si  aucune  valeur  n'est indique, une chane vide est affecte  la vari-
       able. Toutes les valeurs sont sujettes au dveloppement  du  tilde,  des
       paramtres  et des variables,  la substitution de commande, au dveloppe-
       ment arithmtique et  la suppression des protections (voir DVELOPPEMENTS
       plus  bas).  Si  une  variable  a son attribut integer de mis, alors la
       valeur est soumise  l'valuation arithmtique, mme si la syntaxe $((...))
       n'est pas utilise (voir Dveloppement arithmtique plus bas). Le dcoupage
       en mots n'est pas effectu,  l'exception de "$@" comme expliqu plus  bas
       dans  Paramtres spciaux. Le dveloppement des chemins n'est pas effectu.
       Les affectations peuvent galement apparatre comme argument des  comman-
       des  internes  suivantes : alias, declare, typeset, export, readonly et
       local.

       Dans le contexte o une affectation affecte une valeur  une variable  de
       l'interprteur  ou   un indice de tableau, l'oprateur += peut tre utilis
       pour ajouter ou additionner  la prcdente valeur de la variable. Lorsque
       l'oprateur  +=  est  appliqu   une  variable  dont  l'attribut  integer
       (entier) a t mis, la valeur est value comme une expression  arithmtique
       et  additionne   la  valeur  actuelle  de  la variable qui est galement
       value. Lorsque +=  est  appliqu   une  variable  tableau  en  utilisant
       l'affectation  compose  (voir Tableaux plus bas), la valeur de la vari-
       able n'est pas dtruite (comme elle l'est lorsqu'on utilise  =)  et  les
       nouvelles valeurs sont ajoutes au tableau, en commenant  l'indice maxi-
       mum du tableau plus un. Lorsque l'oprateur est appliqu  une variable de
       type  chane,  la valeur est dveloppe et concatne  la valeur de la vari-
       able.

   Paramtres positionnels
       Un paramtre positionnel  est  un  paramtre  not  par  un  ou  plusieurs
       chiffres  (  l'exception du chiffre 0 seul). Les paramtres positionnels
       sont affects avec les arguments de l'interprteur lors de son appel. Ils
       peuvent  tre  raffects  avec  la  commande  interne set. On ne peut pas
       utiliser les affectations pour les  paramtres  positionnels.  Ils  sont
       temporairement remplacs lors de l'excution d'une fonction de l'interpr-
       teur (voir FONCTIONS plus bas).

       Un paramtre positionnel constitu de plusieurs chiffres doit tre  encadr
       par  des  accolades  lors  de son dveloppement (voir DVELOPPEMENTS plus
       bas).

   Paramtres spciaux
       L'interprteur traite plusieurs paramtres spcifiquement.  Ces  paramtres
       peuvent  uniquement  tre consults, il n'est pas permis de leur affecter
       une valeur.
       *      Se dveloppe en l'ensemble des paramtres positionnels,  commenant
              par  le  premier.  Quand  le  dveloppement  se produit entre des
              guillemets doubles, * se transforme en un seul mot  constitu  de
              la  valeur  de tous les paramtres positionnels spars par le pre-
              mier caractre de la variable spciale IFS.  C'est--dire que  "$*"
              est  quivalent  "$1c$2c...",  o  c est le premier caractre de la
              valeur  de  la  variable  IFS.   Si  IFS  est  inexistante,  les
              paramtres  sont  spars  par  des  espaces.  Si IFS est vide, les
              paramtres sont accols sans sparateurs.
       @      Se dveloppe en l'ensemble des paramtres positionnels,  commenant
              par  le  premier.  Quand le dveloppement a lieu entre guillemets
              doubles,  chaque  paramtre  se  dveloppe  en  un  mot  distinct.
              C'est--dire  que  "$@"  est  quivalent   "$1"  "$2"  ....  Si le
              dveloppement des guillemets doubles survient  dans  un  mot,  le
              dveloppement du premier paramtre est accol  la premire partie du
              mot d'origine et le dveloppement du dernier paramtre  est  accol
              la  dernire  partie  du  mot  d'origine.  Quand  il n'y a pas de
              paramtres positionnels, "$@" et $@  ne  se  dveloppent  en  rien
              (c'est--dire qu'ils sont simplement limins).
       #      Correspond au nombre de paramtres positionnels, en base dcimale.
       ?      Se dveloppe en l'tat de la dernire conduite  excute  au  premier
              plan.
       -      Est  remplac  par la liste des options de l'interprteur indiques
              durant l'appel, configures  avec  la  commande  interne  set  ou
              celles  cres par l'interprteur lui-mme (comme avec l'option -i).
       $      Se transforme en PID de l'interprteur. Dans un  sous-interprteur
              (),  il  se  transforme  en  PID  de l'interprteur et non pas du
              sous-interprteur.
       !      Se transforme en PID  de  la  commande  (asynchrone)  excute  en
              arrire-plan le plus rcemment.
       0      Se dveloppe en le nom de l'interprteur ou du script. Ce paramtre
              est cr lors de l'initialisation de l'interprteur.  Si  bash  est
              appel  avec  un fichier de commandes, $0 correspond au nom de ce
              fichier. Si bash est lanc avec l'option -c, alors $0 contient le
              premier  argument,  s'il  y  en a un, aprs la chane de commandes
              excuter. Sinon, ce paramtre contient le nom  de  fichier  utilis
              pour appeler bash, comme indiqu par l'argument zro.
       _      Au  lancement de l'interprteur, contient le chemin d'accs absolu
              utilis  pour  appeler  l'interprteur  ou  le  script  en   cours
              d'excution  tel  qu'il  est pass dans l'environnement ou dans la
              liste des arguments. Devient le dernier argument de la  commande
              prcdente,  aprs dveloppement. Mis aussi au chemin d'accs complet
              de chaque commande excute et se  retrouve  dans  l'environnement
              export   cette  commande.  Lors de la vrification de l'arrive de
              courriel, contient le nom du fichier de  courriel  en  cours  de
              consultation.

   Variables de l'interprteur
       Les variables suivantes sont cres par l'interprteur :

       BASH   Se  dveloppe  en  chemin  d'accs complet  l'instance courante de
              bash.
       BASH_ARGC
              Une variable de type tableau dont les valeurs sont le nombre  de
              paramtres  de  chaque  trame  de  la  pile d'appel d'excution de
              l'interprteur courant. Le nombre de paramtres du  sous-programme
              courant  (fonction  de  l'interprteur  ou  script excut par . ou
              source) est au sommet de la pile. Lorsqu'un  sous-programme  est
              excut,  le  nombre  de  paramtres passs est plac dans BASH_ARGC.
              L'interprteur cre BASH_ARGC seulement dans  le  mode  de  traage
              tendu  (voir  plus bas la description de l'option extdebug de la
              commande interne shopt).
       BASH_ARGV
              Une variable de type tableau contenant tous les paramtres de  la
              pile  d'appel  d'excution  de  l'interprteur courant. Le dernier
              paramtre du dernier sous-programme est au sommet de la pile ; le
              premier  paramtre  de  l'appel  initial  est  en  bas. Lorsqu'un
              sous-programme est excut, les paramtres fournis sont placs  dans
              BASH_ARGV. L'interprteur cre BASH_ARGV seulement dans le mode de
              traage tendu (voir plus bas la description de l'option  extdebug
              de la commande interne shopt).
       BASH_COMMAND
              La  commande  en  cours d'excution ou sur le point d'tre excute,
              moins que l'interprteur n'excute une commande   la  suite  d'une
              capture, auquel cas c'est la commande s'excutant 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 lments sont les numros  de
              ligne  des  fichiers sources correspondant  chacun des lments de
              FUNCNAME. ${BASH_LINENO[$i]} est le numro de la  ligne  dans  le
              fichier  source o ${FUNCNAME[$ifP]} a t appel. Le nom du fichier
              source correspondant  est  ${BASH_SOURCE[$i]}.  Utilisez  LINENO
              pour obtenir le numro de ligne courant.
       BASH_REMATCH
              Une  variable  de type tableau dont les lments sont affects avec
              l'oprateur  binaire  =~  dans  la  commande  conditionnelle  [[.
              L'lment  d'indice  0  est  la  partie  de la chane correspondant
              l'expression rationnelle complte. L'lment d'indice n est la par-
              tie  de  la  chane correspondant  la n-ime sous-expression entre
              parenthses. Cette variable est en lecture seule.
       BASH_SOURCE
              Une variable de type tableau dont les lments sont les  noms  des
              fichiers source correspondants aux lments de la variable tableau
              FUNCNAME.
       BASH_SUBSHELL
              Incrment chaque fois qu'un sous-interprteur  ou  qu'un  environ-
              nement  de  sous-interprteur est engendr. La valeur initiale est
              0.
       BASH_VERSINFO
              Une variable de type tableau protge en criture dont  les  lments
              reprsentent  la  version de cette instance de bash. Cette valeur
              est affecte aux lments du tableau comme suit :
              BASH_VERSINFO[0]        Le numro majeur de la version (release).
              BASH_VERSINFO[1]        Le numro mineur de la version (version).
              BASH_VERSINFO[2]        Le niveau de correctif.
              BASH_VERSINFO[3]        Le numro de compilation.
              BASH_VERSINFO[4]        Le statut  de  cette  version  (p.  ex.,
                                      beta1).
              BASH_VERSINFO[5]        La valeur de MACHTYPE.

       BASH_VERSION
              Se  dveloppe  en une chane dcrivant le numro de version de cette
              instance de bash.

       COMP_CWORD
              Un indice  dans  ${COMP_WORDS}  du  mot  contenant  la  position
              courant du curseur. Cette variable n'est disponible que dans les
              fonctions de l'interprteur appeles par les outils de compltement
              programmables (voir Compltement programmable plus bas).

       COMP_LINE
              La  ligne  de commande courante. Cette variable n'est disponible
              que dans les fonctions de l'interprteur appeles par  les  outils
              de compltement programmables (voir Compltement programmable plus
              bas).

       COMP_POINT
              L'indice de la position courante du curseur relatif au  dbut  de
              la commande courante. Si la position courante du curseur est  la
              fin de la commande courante, la valeur  de  cette  variable  est
              gale   ${#COMP_LINE}.  Cette  variable n'est disponible que dans
              les fonctions de l'interprteur et les commandes externes appeles
              par  les  outils  de compltement programmables (voir Compltement
              programmable plus bas).

       COMP_WORDBREAKS
              Le jeu de caractres que la bibliothque readline  considre  comme
              sparateurs  de  mots  lors du compltement de mots. Si COMP_WORD-
              BREAKS est dtruite, elle perd ses proprits spciales, mme si elle
              est recre par la suite.

       COMP_WORDS
              Une variable de type tableau (voir Tableaux plus bas) consistant
              en des mots individuels de la ligne de  commande  courante.  Les
              mots  sont dcoups au niveau des mtacaractres de l'interprteur de
              commandes comme l'analyseur de  l'interprteur  de  commandes  le
              ferait.  Cette  variable n'est disponible que dans les fonctions
              de l'interprteur appeles par  les  outils  de  compltement  pro-
              grammables (voir Compltement programmable plus bas).

       DIRSTACK
              Une  variable  de type tableau (voir Tableaux plus bas) reprsen-
              tant le contenu courant de la pile de rpertoires. Les rpertoires
              apparaissent  dans  la pile dans l'ordre dans lequel la commande
              interne dirs les affiche. Les affectations des lments  de  cette
              variable  tableau  peuvent  tre  utiliss pour modifier les rper-
              toires dj dans la pile, mais les  commandes  internes  pushd  et
              popd  doivent  tre  utilises  pour  ajouter et enlever des rper-
              toires. L'affectation de cette  variable  ne  modifiera  pas  le
              rpertoire  courant.  Si DIRSTACK est dtruite, elle perd ses pro-
              prits spciales, mme si elle est recre par la suite.

       EUID   Contient l'UID effectif de l'utilisateur, initialis au  dmarrage
              de l'interprteur. Cette variable est en lecture seule.

       FUNCNAME
              Une  variable  de  type  tableau  contenant le nom de toutes les
              fonctions de l'interprteur actuellement  dans  la  pile  d'appel
              d'excution.  L'lment  d'indice 0 est le nom d'une quelconque des
              fonctions de l'interprteur en cours d'excution. L'lment le  plus
              bas  est   main . Cette variable n'existe que si une fonction de
              l'interprteur est en cours d'excution. Les affectations de FUNC-
              NAME n'ont aucun effet et renvoient un tat d'erreur. Si FUNCNAME
              est dtruite, elle perd ses proprits spciales, mme  si  elle  est
              recre 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 tat d'erreur. Si GROUPS est dtruite, elle
              perd ses proprits spciales, mme si elle est recre par la  suite.

       HISTCMD
              Le  numro d'historique ou l'indice dans la file d'historique, de
              la commande en cours. Si HISTCMD est dtruite, elle perd ses pro-
              prits spciales, mme si elle est recre par la suite.

       HOSTNAME
              Automatiquement mis au nom de la machine courante.

       HOSTTYPE
              Automatiquement  mis  une chane qui dcrit de faon unique le type
              de machine sur laquelle bash s'excute. La valeur par dfaut dpend
              du systme.

       LINENO Chaque  fois  que ce paramtre est consult, l'interprteur le rem-
              place par un nombre dcimal reprsentant  le  numro  de  la  ligne
              actuelle  (commenant   1),  au sein du script ou de la fonction.
              Hors d'un script ou d'une fonction, la valeur n'a pas ncessaire-
              ment  de  sens.  Si  LINENO  est dtruite, elle perd ses proprits
              spciales, mme si elle est recre par la suite.

       MACHTYPE
              Automatiquement mis  une chane dcrivant le type  du  systme  sur
              lequel  bash  s'excute,  dans  le  format  standard  de GNU pro-
              cesseur-compagnie-systme. La valeur par dfaut dpend du systme.

       OLDPWD Le rpertoire de travail prcdent comme mis par la commande cd.

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

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

       OSTYPE Automatiquement  mis   une chane qui dcrit le systme d'exploita-
              tion sur lequel bash s'excute. La  valeur  par  dfaut  dpend  du
              systme.

       PIPESTATUS
              Une  variable de type tableau (voir Tableaux plus bas) contenant
              une liste des tats finaux des processus excuts dans la  conduite
              excute  la plus rcemment au premier plan (qui peut ventuellement
              contenir une seule commande).

       PPID   L'identifiant du processus parent de l'interprteur. Cette  vari-
              able est en lecture seule.

       PWD    Le rpertoire de travail courant comme mis par la commande cd.

       RANDOM   chaque  fois  que  ce paramtre est consult, un entier alatoire
              entre 0 et 32767 est engendr. Cette suite de  nombres  alatoires
              peut  tre  initialise en affectant une valeur RANDOM.  Si RANDOM
              est dtruite, elle perd ses proprits spciales, mme  si  elle  est
              recre par la suite.

       REPLY  Mis   la  ligne  de  saisie  lue  par  la  commande interne read
              lorsqu'aucun argument n'a t fourni.

       SECONDS
               chaque fois que ce paramtre est consult, le nombre de  secondes
              coules  depuis  le lancement de l'interprteur est renvoy. Si une
              valeur est affecte SECONDS, les valeurs renvoyes lors  des  con-
              sultations  ultrieures  sont le nombre de secondes coules depuis
              l'affectation, ajoutes  la valeur affecte. Si SECONDS est  dtru-
              ite,  elle perd ses proprits spciales, mme si elle est recre par
              la suite.

       SHELLOPTS
              Liste des options actives de l'interprteur, spares par des  vir-
              gules.  Chaque  mot  de  la  liste  est un argument correct pour
              l'option -o de la commande interne set (voir plus bas  COMMANDES
              INTERNES DE L'INTERPRTEUR ). Les options apparaissant dans SHEL-
              LOPTS sont celle indiques comme actives par  set  -o.  Si  cette
              variable  est  dans l'environnement au lancement de bash, chaque
              option de la liste  est  active  avant  de  lire  un  quelconque
              fichier d'initialisation. Cette variable est en lecture seule.

       SHLVL  Incrment de 1  chaque appel d'une instance de bash.

       UID    Contient  l'UID  de l'utilisateur courant, initialis au dmarrage
              de l'interprteur. Cette variable est en lecture seule.

       Les variables suivantes sont utilises par l'interprteur. Dans  certains
       cas,  bash  affecte  des valeurs par dfaut aux variables ; ces cas sont
       dcrits plus bas.

       BASH_ENV
              Si ce paramtre existe lorsque bash excute un script,  sa  valeur
              est  considre  comme  un  nom de fichier contenant les commandes
              d'initialisation de  l'interprteur,  comme  dans  ~/.bashrc.  La
              valeur  de  BASH_ENV  est soumise au dveloppement des paramtres,
              la substitution de commande et au dveloppement arithmtique avant
              d'tre  considre comme un nom de fichier.  PATH n'est pas utilise
              pour rechercher le fichier obtenu.
       CDPATH Le chemin de recherche de la  commande  interne  cd.  Il  s'agit
              d'une  liste  de  rpertoires, spars par des deux-points  : , que
              l'interprteur consulte lorsqu'il cherche un sous-rpertoire  des-
              tination de la commande cd. Un exemple de valeur est ".:~:/usr".
       COLUMNS
              Utilise par la commande interne select pour dterminer la  taille
              du  terminal lors de l'affichage des listes de slection. Automa-
              tiquement mis la rception d'un signal SIGWINCH.
       COMPREPLY
              Une variable de type tableau dans lequel bash lit  les  complte-
              ments  possibles  produits  par  une  fonction  de l'interprteur
              appele par les outils de compltement  programmables  (voir  Com-
              pltement programmable plus bas).
       EMACS  Si  bash  trouve  cette  variable  dans  l'environnement lorsque
              l'interprteur  dmarre  avec  la  valeur  "t",  il  considre  que
              l'interprteur  est  lanc  dans  un tampon d'interprteur emacs et
              dsactive l'dition en ligne.
       FCEDIT L'diteur par dfaut utilis par la commande interne fc.
       FIGNORE
              Une liste de suffixes, spars par des deux-points  : ,  que  bash
              ignorera lors du compltement des noms de fichiers (voir READLINE
              plus bas). Un nom de fichier dont le suffixe correspond  l'un de
              ceux  mentionns  dans  FIGNORE est exclu de la liste des noms de
              fichiers correspondant pour le compltement. Par  exemple,  cette
              variable  peut  prendre  la  valeur ".o:~" (Des protections sont
              ncessaires pour l'affectation d'une valeur  cette variable,  qui
              contient des tildes).
       GLOBIGNORE
              Une  liste  de  motifs  spars  par  des  deux-points, dfinissant
              l'ensemble des noms de fichiers  ignorer  lors  du  dveloppement
              des  chemins.  Si  un  nom de fichier correspondant  un motif de
              dveloppement des chemins, correspond  galement   un  motif  dans
              GLOBIGNORE, il est supprim de la liste des correspondances.
       HISTCONTROL
              Une  liste de valeurs, spares par des deux-points, commandant la
              faon dont les commandes sont sauvegardes  dans  la  file  d'his-
              torique. Si la liste des valeurs contient la valeur ignorespace,
              les lignes commenant par une espace ne sont pas sauvegardes dans
              la  file  d'historique.  La  valeur  ignoredups  conduit  ne pas
              sauvegarder une ligne correspondant exactement  la ligne de com-
              mande  prcdente.  La  prsence  de ignoreboth est un condens pour
              ignorespace et ignoredups. La valeur erasedups conduit   retirer
              de  la  file  d'historique  toutes  les  lignes prcdant la ligne
              courante et lui correspondant  avant  que  cette  ligne  y  soit
              sauvegarde.  Toute  valeur  qui  ne  fait pas partie de la liste
              ci-dessus est ignore. Si HISTCONTROL est inexistante ou si  elle
              ne  contient pas une valeur correcte, toutes les lignes lues par
              l'analyseur de l'interprteur seront  sauvegardes  dans  la  file
              d'historique, selon la valeur de HISTIGNORE. La seconde ligne et
              les suivantes d'une commande multiligne ne sont  pas  testes  et
              sont  ajoutes  dans  l'historique  indpendamment de la valeur de
              HISTCONTROL.
       HISTFILE
              Le nom du fichier dans lequel  l'historique  des  commandes  est
              sauvegard  (voir  HISTORIQUE  plus bas). Par dfaut, il s'agit de
              ~/.bash_history.  Si  inexistante,  l'historique  des  commandes
              n'est pas sauvegard lorsqu'un interprteur interactif termine.
       HISTFILESIZE
              Le  nombre  maximum  de  lignes contenues dans le fichier d'his-
              torique. Quand cette variable contient une  valeur,  le  fichier
              historique  est  tronqu,  si  besoin, en enlevant les entres les
              plus anciennes, pour ne contenir que ce  nombre  de  lignes.  La
              valeur par dfaut est 500. Ce fichier est aussi tronqu
               cette  taille  aprs son criture quand un interprteur interactif
              termine.
       HISTIGNORE
              Une liste de  motifs,  spars  par  des  deux-points,  dterminant
              quelles  lignes  de  commande  devraient tre sauvegardes dans la
              file d'historique. Chaque motif est accroch au dbut de la  ligne
              et  doit  lui  correspondre  en  compltement (aucun ajout de  *
              implicite). Chaque motif est compar chaque ligne  aprs  que  les
              vrifications  de HISTCONTROL ont t appliques. En plus des motifs
              gnriques usuels de l'interprteur,  &  correspond  la ligne  prc-
              dente   de  l'historique.   &   peut  tre  protg  par  une  con-
              tre-oblique ; elle est supprime avant de tenter une comparaison.
              La  seconde  ligne et les suivantes d'une commande multiligne ne
              sont pas testes et sont ajoutes dans l'historique  quelque  soit
              la valeur de HISTIGNORE.
       HISTSIZE
              Le  nombre  de  commandes  mmoriser dans l'historique (voir HIS-
              TORIQUE plus bas). La valeur par dfaut est 500.
       HISTTIMEFORMAT
              Si cette variable existe  et  n'est  pas  vide,  sa  valeur  est
              utilise  comme  une  chane  de  caractres  par  strftime(3) afin
              d'imprimer l'horodatage associ
               chaque lment de l'historique affiche par  la  commande  interne
              history.  Si  cette  variable existe, les horodatages sont crits
              dans le fichier historique afin d'tre conservs au fur et  mesure
              des sessions de l'interprteur.
       HOME   Le rpertoire d'accueil de l'utilisateur courant ; l'argument par
              dfaut de la commande interne cd. La valeur de cette variable est
              aussi utilise lors du dveloppement du tilde.
       HOSTFILE
              Contient  le nom d'un fichier ayant le mme format que /etc/hosts
              qui devra tre lu lorsque l'interprteur aura besoin  de  complter
              un  nom  de machine. La liste des compltements possibles de noms
              de machines peut tre change  pendant  l'excution  de  l'interpr-
              teur ;  la tentative de compltement de nom de machine suivant le
              changement de valeur, bash ajoute le contenu du nouveau  fichier
              la  liste  existante.  Si  HOSTFILE  existe  mais est vide, bash
              essaie de lire /etc/hosts pour obtenir la liste des compltements
              de  noms de machines possibles. Lorsque HOSTFILE est dtruite, la
              liste des noms de machines est efface.
       IFS    Le sparateur de champs interne ( Internal Field Separator )  qui
              est  utilis  pour  le dcoupage en mots aprs les dveloppements et
              pour dcouper les lignes en mots avec la commande  interne  read.
              La valeur par dfaut est  <espace><tabulation><saut de ligne> .
       IGNOREEOF
              Commande  le  comportement d'un interprteur interactif  rception
              d'un caractre EOF (fin de fichier) comme unique saisie. Si exis-
              tante  la  valeur  est le nombre de caractres EOF conscutifs qui
              doivent tre taps comme  premiers  caractres  sur  une  ligne  de
              saisie avant que bash termine. Si la variable existe mais que sa
              valeur n'est pas numrique ou si  elle  n'a  pas  de  valeur,  la
              valeur  par  dfaut est 10. Si elle n'existe pas, EOF signifie la
              fin de la saisie pour l'interprteur.
       INPUTRC
              Le nom du fichier de configuration de readline  prioritaire  sur
              le fichier par dfaut ~/.inputrc (voir READLINE plus bas).
       LANG   Utilise  pour  dterminer  le  paramtre linguistique rgional pour
              toute catgorie non spcifiquement  slectionne  par  une  variable
              commenant par LC_.
       LC_ALL Cette variable surpasse LANG et toute autre variable LC_ spcifi-
              ant une catgorie de paramtres linguistiques rgionaux.
       LC_COLLATE
              Cette variable dtermine l'ordre de collation utilis  pour  trier
              les  rsultats  du  dveloppement  des chemins et dtermine le com-
              portement des expressions de plage, des classes d'quivalences et
              des  suites de collations dans le dveloppement des chemins et la
              correspondance de motifs.
       LC_CTYPE
              Cette variable dtermine l'interprtation des caractres et le com-
              portement  des  classes  de  caractres  lors du dveloppement des
              chemins et de la recherche de correspondances de motifs.
       LC_MESSAGES
              Cette variable dtermine le paramtre linguistique rgional  utilis
              pour traduire les chanes entre guillemets doubles prcdes d'un $.
       LC_NUMERIC
              Cette variable dtermine le paramtre linguistique rgional  utilis
              pour formater les nombres.
       LINES  Utilise  par  la  commande  interne  select  pour  dterminer  la
              longueur de colonne lors de l'affichage des listes de  slection.
              Automatiquement mise la rception d'un signal SIGWINCH.
       MAIL   Si  ce  paramtre correspond  un nom de fichier et si la variable
              MAILPATH est inexistante, bash informe l'utilisateur de l'arrive
              de messages dans le fichier spcifi.
       MAILCHECK
              Indique l'intervalle (en secondes) avec lequel bash vrifie si un
              nouveau message est arriv. La valeur par dfaut est 60  secondes.
              Lorsque le dlai est coul, l'interprteur vrifiera la prsence d'un
              courriel avant d'afficher son invite de base. Si cette  variable
              est  inexistante,  ou  mise  une  valeur qui n'est pas un nombre
              positif, l'interprteur dsactive la vrification des courriels.
       MAILPATH
              Une liste de noms de fichiers spars  par  des  deux-points   : ,
              dans  lesquels  on  vrifiera  l'arrive  de courriel. Le nom d'un
              fichier peut tre suivi  d'un  point  d'interrogation   ? ,  puis
              d'une  chane  de caractres spcifiant le message  afficher en cas
              de courriel. Dans cette chane, le paramtre $_ correspond au  nom
              du fichier de courriel courant. Exemple :
              MAILPATH='/usr/spool/mail/bfox?"Vous      avez      du     cour-
              riel":~/shell-mail?"$_ a du courriel !"'
              Bash fournit une valeur par  dfaut  pour  cette  variable,  mais
              l'emplacement  du  fichier  bote   lettres  dpend du systme (par
              exemple /usr/spool/mail/$USER).
       OPTERR Si mis  la valeur 1, bash affiche les messages d'erreurs  engen-
              drs  par  la  commande  interne getopts (voir plus bas COMMANDES
              INTERNES DE L'INTERPRTEUR ).   OPTERR  est  initialise  avec  la
              valeur  1  chaque  appel  de  l'interprteur ou au lancement d'un
              script.
       PATH   Le chemin de recherche des commandes  excuter. Il  s'agit  d'une
              liste de rpertoires, spars par des deux-points  :  dans lesquels
              l'interprteur recherche les commandes (voir  plus  bas  EXCUTION
              DES COMMANDES ). Un nom de rpertoire de taille nulle (vide) dans
              la valeur de PATH dsigne le rpertoire courant. Un rpertoire vide
              peut  apparatre  comme  deux deux-points conscutifs ou comme des
              deux-points en dbut ou en fin. Le  chemin  par  dfaut  dpend  du
              systme  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
              dmarre, l'interprteur passe en mode  posix  avant  de  lire  les
              fichiers  de  configuration  comme  si  l'option --posix avait t
              fournie. Si elle est cre pendant que l'interprteur est en  cours
              d'excution,  bash  active le mode posix comme si la commande set
              -o posix avait t excute.
       PROMPT_COMMAND
              Si existante, sa valeur est excute comme  commande  pralablement
              l'affichage de chaque invite de base.
       PS1    La  valeur  de  ce  paramtre  est dveloppe puis utilise comme la
              chane d'invite de base (voir INVITE plus  bas).  La  valeur  par
              dfaut est  \s-\v\$  .
       PS2    La  valeur  de  ce  paramtre est dveloppe comme PS1 puis utilise
              comme chane d'invite secondaire. La valeur par dfaut est  >  .
       PS3    La valeur de ce paramtre est utilise comme l'invite pour la com-
              mande select (voir GRAMMAIRE DE L'INTERPRTEUR plus haut).
       PS4    La  valeur  de  ce  paramtre est dveloppe comme PS1 puis affiche
              entre chaque commande lors d'un  suivi  d'excution.  Le  premier
              caractre  de PS4 est rpt autant de fois que ncessaire pour indi-
              quer le niveau d'imbrication. La valeur par dfaut est  +  .
       SHELL  Le chemin d'accs complet  l'interprteur de commandes est conserv
              dans  cette variable d'environnement. Si inexistante au dmarrage
              de l'interprteur, bash lui  affecte  le  chemin  d'accs  complet
              l'interprteur   de   commandes  de  connexion  de  l'utilisateur
              courant.
       TIMEFORMAT
              La valeur de ce paramtre est utilise en tant que chane de format
              spcifiant  comment  les  informations  de paramtrage doivent tre
              affiches pour les conduites prcdes du mot rserv time. Le  carac-
              tre  %  introduit  une  suite  de caractres d'chappement qui est
              dveloppe en une valeur de temps ou une  autre  information.  Les
              suites  de  caractres  d'chappement et leurs significations sont
              les suivantes ; les accolades marquent les parties facultatives.
              %%        Un % seul (non interprt).
              %[p][l]R  Le temps coul en secondes.
              %[p][l]U  Le temps processeur coul en mode utilisateur en secon-
                        des.
              %[p][l]S  Le temps processeur coul en mode systme en secondes.
              %P        Le pourcentage de temps processeur utilis calcul  avec
                        (%U + %S) / %R.

              Le  p facultatif est un chiffre indiquant la prcision, le nombre
              de chiffres aprs la virgule. Une valeur de 0 conduit   affichage
              de  nombre  entiers.  Trois chiffres au plus peuvent tre affichs
              aprs la virgule ; tout chiffre suprieur  3 sera chang en 3. Si p
              n'est pas spcifi, la valeur 3 est utilise.

              Le  l  facultatif spcifie un format plus long, incluant les min-
              utes, de la forme MMmSS.DDs. La valeur de p dtermine si la  par-
              tie dcimale est affiche 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 chronomtrage n'est affiche. Un car-
              actre final de saut de ligne est ajout quand la chane de  format
              est affiche.

       TMOUT  Si mise  une valeur strictement positive, TMOUT est traite comme
              le dlai par dfaut pour la commande  interne  read.  La  commande
              select  termine s'il n'y a pas de saisie au bout de TMOUT secon-
              des lorsque l'entre vient d'un  terminal.  Dans  un  interprteur
              interactif,  la valeur est interprte comme le nombre de secondes
              attendre pour une saisie aprs avoir mis l'interprteur  de  base.
              bash termine aprs avoir attendu pendant ce nombre de secondes si
              aucune saisie n'est arrive.

       TMPDIR Si existante, Bash utilise sa valeur comme le nom d'un rpertoire
              dans  lequel  Bash  cre  des  fichiers temporaires ncessaires au
              fonctionnement de l'interprteur.

       auto_resume
              Cette  variable  commande  le  comportement   de   l'interprteur
              vis--vis  de  l'utilisateur  et  du  contrle des tches. Si cette
              variable existe, les commandes simples constitues d'un seul mot,
              sans  redirection, sont considres comme de possibles relances de
              tches suspendues. Aucune ambigut n'est  possible,  si  plusieurs
              tches  commencent  par la chane saisie, la tche  laquelle il a t
              accd le plus rcemment est slectionne. Le  nom  d'une  tche  sus-
              pendue,  dans ce contexte, est la ligne de commande utilise pour
              la lancer. Si mise  la valeur exact, la chane fournie doit  cor-
              respondre exactement au nom d'une tche suspendue ; si mise  sub-
              string, la chane fournie doit correspondre   une  sous-chane  du
              nom  de  la  tche suspendue. La valeur substring donne une fonc-
              tionnalit analogue  l'identificateur de tche %? (voir  plus  bas
              CONTRLE  DES  TCHES  ).  Si  mise   toute autre valeur, la chane
              fournie doit tre le prfixe du nom d'une  tche  suspendue ;  cela
              donne  une  fonctionnalit  analogue   l'identificateur  de  tche
              %string.

       command_not_found_handle
              Le nom d'une fonction de l'interprteur  appeler si une  commande
              ne peut tre trouve. La valeur renvoye par cette fonction devrait
              tre 0, si la commande est disponible aprs excution de  la  fonc-
              tion, sinon 127 (EX_NOTFOUND). Activ seulement dans les interpr-
              teurs interactif, en mode non POSIX. C'est une extension Debian.

       histchars
              Les deux ou trois caractres commandant le dveloppement de l'his-
              torique et le dcoupage en lexmes (voir plus bas DVELOPPEMENT  DE
              L'HISTORIQUE ). Le premier caractre est le caractre de dveloppe-
              ment de l'historique, c'est--dire celui qui indique le dbut d'un
              dveloppement  d'historique (normalement  ! ). Le second caractre
              est celui de substitution rapide, utilis  comme  raccourci  pour
              relancer  la  commande  prcdente,  en modifiant une partie de la
              chane. Par dfaut il s'agit de  ^ . Le troisime  caractre  facul-
              tatif  est celui qui indique, lorsqu'on le trouve en dbut de mot
              que le reste de la ligne  est  un  commentaire.  Normalement  on
              utilise  le  caractre   # . Ce caractre de commentaire empche le
              dveloppement de l'historique pour tous les mots restants sur  la
              ligne. Il ne conduit pas ncessairement l'analyseur de l'interpr-
              teur  considrer le reste de la ligne comme un commentaire.

   Tableaux
       Bash fournit des variables tableaux  une dimension. Toute variable peut
       tre  utilise  comme  tableau ;  la commande interne declare peut servir
       dclarer explicitement un tableau. Il n'y a pas  de  limitation  maximum
       la taille d'un tableau, ni d'obligation que les lments soient indics ou
       affects de faon contigu. Les tableaux sont indics par  des  entiers  en
       commenant  zro.

       Un  tableau  est  cr  automatiquement  si  une  variable quelconque est
       affecte en utilisant la syntaxe nom[indice]=valeur. L'indice est  trait
       comme  une expression arithmtique et s'value en un nombre positif. Pour
       dclarer explicitement un tableau, on utilise declare -a nom (voir  plus
       bas  COMMANDES  INTERNES DE L'INTERPRTEUR ). declare -a nom[indice] est
       aussi accept ; l'indice est ignor. Des attributs  peuvent  tre  spcifis
       pour  une  variable tableau en utilisant les commandes internes declare
       et readonly. Les attributs s'appliquent tous les lments d'un tableau.

       Les tableaux sont affects en  utilisant  l'affectation  compose  de  la
       forme  nom=(valeur_1  ...  valeur_n),  o  chaque valeur est de la forme
       [indice]=chane. Seule la chane est obligatoire. Si les crochets et  les
       indices  facultatifs  sont  fournis,  les affectations ont lieu en con-
       squence ; sinon l'indice de l'lment affect est le dernier indice affect
       plus  un.  Les indices commencent  zro. Cette syntaxe est aussi accepte
       par la commande interne declare. Les lments individuels du tableau sont
       affects en utilisant la syntaxe nom[indice]=valeur prsente plus haut.

       On  peut  accder   tout  lment  d'un  tableau  en utilisant la notation
       ${nom[indice]}. Les accolades sont ncessaires pour viter  les  conflits
       avec  le  dveloppement  des  chemins.  Si  indice est @ ou *, le mot se
       dveloppe en tous les lments de nom. Ces deux indices  ne  diffrent  que
       lorsque  le  mot  apparat entre guillemets doubles. Si le mot est entre
       guillemets doubles, ${nom[*]} se dveloppe en un seul mot contenant  les
       valeurs de chaque lment du tableau spares par le premier caractre de la
       variable spciale IFS et ${nom[@]} dveloppe chaque lment de  nom  en  un
       mot  distinct. Quand il n'y a pas d'lment dans le tableau, ${nom[@]} ne
       se dveloppe en  rien.  Si  le  dveloppement  entre  guillemets  doubles
       survient   l'intrieur d'un mot, le dveloppement du premier paramtre est
       accol  la premire partie du mot original et le dveloppement du  dernier
       paramtre  est accol  la dernire partie du mot original. Le comportement
       est analogue  celui des paramtres spciaux * et @ (voir Paramtres  spci-
       aux  plus  haut).  ${#nom[indice]}  s'value  en  la longueur de l'lment
       ${nom[indice]}. Si l'indice est * ou @, s'value en le  nombre  d'lments
       dans le tableau. Accder
        une variable tableau sans indice est quivalent  accder  l'lment zro.

       La commande interne unset sert  dtruire les tableaux. unset nom[indice]
       dtruit l'lment de tableau d'indice indice. Un soin particulier doit tre
       apport  afin d'viter des effets de bords non dsirs provoqus par la pro-
       duction des noms de fichiers. unset nom, o nom est un tableau, ou unset
       nom[indice], avec indice valant * ou @ supprime le tableau entier.

       Les  commandes internes declare, local et readonly acceptent toutes une
       option -a pour spcifier un tableau. La commande  interne  read  accepte
       une  option -a pour affecter une liste de mots lus depuis l'entre stan-
       dard dans un tableau. Les commandes internes set et  declare  affichent
       les  valeurs  d'un  tableau d'une faon qui permet de les rutiliser pour
       des affectations.

DVELOPPEMENTS

       Les dveloppements sont appliqus  la ligne de commande aprs qu'elle a  t
       dcoupe  en  mots.  Sept  types  de  dveloppements  sont  effectus :  le
       dveloppement des accolades, le dveloppement du tilde,  le  dveloppement
       des  paramtres  et  des  variables,  la  substitution  de  commande, le
       dveloppement arithmtique, le dcoupage en mots et  le  dveloppement  des
       chemins.

       L'ordre  des  dveloppements est : dveloppement des accolades, du tilde,
       des paramtres, des variables, arithmtique et substitution  de  commande
       (effectue  de  la gauche vers la droite), dcoupage en mots et dveloppe-
       ment des chemins.

       Sur les systmes qui le  supportent,  un  dveloppement  supplmentaire  a
       lieu : la substitution de processus.

       Seuls  le  dveloppement  des  accolades,  le  dcoupage  en  mots  et le
       dveloppement des chemins peuvent modifier le nombre de mots. Les autres
       dveloppement  transforment  un  mot  unique  en un autre mot unique. La
       seule exception  cette rgle est le dveloppement de  $@  et   ${nom[@]}
       comme expliqu plus haut (voir PARAMTRES ).

   Dveloppement des accolades
       Le  dveloppement  des  accolades est un mcanisme permettant de produire
       des chanes quelconques. Il est similaire au dveloppement  des  chemins,
       mais  les  noms  de fichiers produits n'existent pas ncessairement. Les
       motifs qui seront dvelopps prennent la forme d'un prambule  facultatif,
       suivi  par  soit  une  srie  de  chanes  spares  par des virgules, soit
       l'expression d'une srie entre accolades,  suivi  par  un  post-scriptum
       facultatif.  Le  prambule  est insr devant chacune des chanes contenues
       entre les accolades et le post-scriptum est concatn  la fin de  chacune
       des chanes rsultantes, le dveloppement se faisant de gauche  droite.

       Plusieurs  dveloppements d'accolades peuvent tre imbriqus. Les rsultats
       de chaque dveloppement ne sont pas tris, l'ordre de gauche  droite  est
       conserv. Par exemple a{d,c,b}e se dveloppe en  ade ace abe .

       Une  expression  d'une  srie est de la forme {x..y}, o x et y sont soit
       des entiers, soit des  caractres  seuls.  Lorsqu'il  s'agit  d'entiers,
       l'expression est remplace par la liste des nombres entre x et y, x et y
       compris. S'il s'agit de caractres, l'expression se dveloppe en l'ensem-
       ble des caractres situs entre x et y d'un point de vue lexicographique.
       Remarquez que x et y doivent tre du mme type.

       Le dveloppement des accolades est effectu avant tout autre dveloppement
       et  tous  les caractres ayant une signification spciale pour les autres
       dveloppements sont conservs dans le rsultat. Il s'agit d'une  modifica-
       tion purement littrale. Bash n'effectue aucune interprtation syntaxique
       du texte entre les accolades.

       Un dveloppement d'accolades correctement form doit contenir  des  acco-
       lades  ouvrantes  et  fermantes non protges et au moins une virgule non
       protge ou une expression d'une srie correcte. Tout dveloppement d'acco-
       lades  incorrectement  form est laiss inchang. Un { ou un , peuvent tre
       protgs par une contre-oblique pour viter d'tre  considrs  comme  partie
       d'une  expression  entre  accolades.  Pour  viter  tout conflit avec le
       dveloppement des paramtres, la chane ${ n'est pas considre comme  ligi-
       ble au dveloppement des accolades.

       Cette  construction  est typiquement utilise comme raccourci lorsque le
       prfixe commun aux chanes  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  dveloppement  des accolades induit une lgre incompatibilit 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 inchanges. Bash supprime les  accolades  dans  les  mots,
       aprs  dveloppement.  Par exemple, si l'on fournit  sh le mot file{1,2},
       il reste inchang en sortie. Par contre, il est transform en file1 file2
       par  bash.  Si  une  compatibilit stricte avec sh est ncessaire, lancez
       bash avec l'option +B ou dsactivez le dveloppement des  accolades  avec
       l'option  +B  de  la  commande set (voir plus bas COMMANDES INTERNES DE
       L'INTERPRTEUR ).

   Dveloppement du Tilde
       Si un mot commence avec un caractre tilde ( ~ )  non  protg,  tous  les
       caractres  prcdant  la premire barre oblique non protge (voire tous les
       caractres s'il n'y a pas de barre oblique non  protge),  sont  considrs
       comme  un  prfixe tilde. Si aucun caractre du prfixe tilde n'est protg,
       les caractres suivant le tilde sont traits comme un possible  identifi-
       ant  de  connexion. Si cet identifiant de connexion est une chane vide,
       le tilde est remplac par la valeur du paramtre d'interprteur HOME.   Si
       HOME  est inexistante, le rpertoire d'accueil de l'utilisateur excutant
       l'interprteur est utilis  la place. Sinon le prfixe tilde  est  remplac
       par le rpertoire d'accueil associ l'identifiant de connexion spcifi.

       Si  le prfixe tilde est  ~+ , la valeur de la variable de l'interprteur
       PWD le remplace. Si le prfixe tilde est  ~- , la valeur de la  variable
       de l'interprteur OLDPWD, si existante, lui est substitue. Si les carac-
       tres  la suite du tilde dans le prfixe tilde reprsentent  un  nombre  N
       prfix  facultativement par un  +  ou un  -  le prfixe tilde est remplac
       par l'lment correspondant de la pile de rpertoires telle  qu'il  serait
       affich  par  la  commande  interne  dirs appele avec le prfixe tilde en
       argument. Si les caractres  la suite du  tilde  dans  le  prfixe  tilde
       reprsentent  un  nombre  sans  un   +   ou  -  en tte, on suppose qu'il
       s'agit de  + .

       Si l'identifiant de connexion est incorrect ou si  le  dveloppement  du
       tilde choue, le mot est inchang.

       Chaque  affectation  de  variable  vrifie  immdiatement  la  prsence de
       prfixes tilde non protgs suivant un : ou le premier =. Dans ces cas, le
       dveloppement  des  tildes  est aussi effectu. On peut donc utiliser des
       noms de fichiers avec des tildes dans des affectations de  PATH,  MAIL-
       PATH et CDPATH et l'interprteur affectera la valeur dveloppe.

   Remplacement des paramtres
       Le  caractre   $  permet d'introduire le dveloppement des paramtres, la
       substitution de commande ou le  dveloppement  arithmtique.  Le  nom  du
       paramtre ou du symbole  dvelopper peut tre encadr par des accolades qui
       sont facultatives mais servent  viter le dveloppement  de  la  variable
       partir de caractres la suivant immdiatement qui pourraient tre considrs
       comme appartenant  son nom.

       Lorsque les accolades sont utilises, l'accolade de  fin  correspondante
       est  le premier caractre  }  non protg par une contre-oblique ni inclus
       dans une chane protge, ni dans un dveloppement arithmtique, une substi-
       tution de commande ou un dveloppement des paramtres.

       ${paramtre}
              est  remplac par la valeur du paramtre. Les accolades sont nces-
              saire quand  le  paramtre  est  un  paramtre  positionnel  ayant
              plusieurs  chiffres,  ou  si  le paramtre est suivi de caractres
              n'appartenant pas  son nom.

       Si le premier caractre du  paramtre  est  un  point  d'exclamation,  un
       niveau  d'indirection de variable est introduit. Bash utilise la valeur
       de la variable forme par le reste du paramtre comme un nom de variable.
       Cette variable est alors dveloppe et la valeur utilise pour le reste de
       la substitution plutt que la valeur du paramtre lui-mme. On appelle  ce
       mcanisme  le  dveloppement  indirect. Les exceptions  celui-ci sont les
       dveloppements de ${!prefix*} et de ${!nom[@]} dcrits plus bas. Le point
       d'exclamation   doit   immdiatement  suivre  l'accolade  ouvrante  afin
       d'introduire l'indirection.

       Dans chacun des cas ci-dessous, le mot est soumis  au  dveloppement  du
       tilde,  au  dveloppement des paramtres,  la substitution de commande et
       au dveloppement arithmtique. Quand il n'effectue pas de dveloppement de
       sous-chane,  bash  teste  si  le  paramtre  est  inexistant  ou  vide ;
       l'absence des deux-points induit un test sur la  seule  inexistence  du
       paramtre.

       ${paramtre:-mot}
              Utilisation  de valeurs par dfaut. Si le paramtre est inexistant
              ou vide, le dveloppement du mot et  substitu.  Sinon,  c'est  la
              valeur du paramtre qui est substitue.
       ${paramtre:=mot}
              Affectation  d'une  valeur par dfaut. Si le paramtre est inexis-
              tant ou vide, le dveloppement du mot lui est affect.  La  valeur
              du  paramtre  est  alors substitu. Les paramtres positionnels et
              spciaux ne peuvent pas tre affects de cette faon.
       ${paramtre:?mot}
              Affichage d'erreur si vide ou inexistant.  Si  le  paramtre  est
              inexistant ou vide, le dveloppement du mot (ou un message appro-
              pri si aucun mot n'est fourni) est affich sur la sortie d'erreur
              standard  et  l'interprteur  termine, s'il n'est pas interactif.
              Sinon, la valeur du paramtre est substitue.
       ${paramtre:+mot}
              Utilisation d'une valeur diffrente. Si le paramtre est  vide  ou
              inexistant,  rien  n'est  substitu. Sinon le dveloppement du mot
              est substitu.
       ${paramtre:dbut}
       ${paramtre:dbut:longueur}
              Extraction  de  sous-chanes.  Se  dveloppe   pour   fournir   la
              sous-chane  de  la  longueur  indique (compte en caractres) com-
              menant au dbut. Si la longueur est omise, fournit la  sous-chane
              commenant  au  caractre  de  dbut  et s'tendant jusqu' la fin du
              paramtre. La longueur et le dbut sont  des  expressions  arithm-
              tiques  (voir  VALUATION ARITHMTIQUE plus bas). La longueur doit
              tre positive. Si le dbut est  ngatif,  sa  valeur  est  considre
              partir de la fin du contenu du paramtre. Les expressions arithm-
              tiques commenant par un - doivent tre spares par une espace  des
              :  (deux-points) les prcdant pour tre distingues du dveloppement
              Utilisation de valeurs par dfaut. Si le paramtre est @, le rsul-
              tat  correspond aux longueur paramtres positionnels commenant au
              dbut. Si le paramtre est un nom de tableau indic par @ ou *,  le
              rsultat   est   les   longueur   lments   du  tableau  commenant
              ${paramtre[dbut]}. Une valeur ngative de dbut  est  prise  rela-
              tivement  la valeur maximum de l'indice du tableau considr, aug-
              mente de un. Remarquez qu'une valeur ngative de  dbut  doit  tre
              spare  du  deux-points  par au moins une espace pour viter toute
              confusion  avec  le  dveloppement  de   :-  .  L'indexation  des
              sous-chanes  dbute   zro,  sauf  pour les paramtres positionnels
              pour lesquels l'indexation commence  1.

       ${!prfixe*}
       ${!prfixe@}
              Se dveloppe en les noms des variables dont les  noms  commencent
              par prfixe, spars par le premier caractre de la variable spciale
              IFS.

       ${!nom[@]}
       ${!nom[*]}
              Si nom est une variable de type tableau, elle se dveloppe en  la
              liste  des  indices (clefs) du tableau affect  nom. Si nom n'est
              pas un tableau, se dveloppe en 0 si nom existe et en vide sinon.
              Quand  @  est  utilis  et  que  le  dveloppement  apparat  entre
              guillemets doubles, chaque clef se dveloppe en un mot spar.

       ${#paramtre}
              Est remplac par la longueur,  en  caractres,  de  la  valeur  du
              paramtre.  Si le paramtre est * ou @, la valeur est le nombre de
              paramtres positionnels. Si le paramtre est  un  nom  de  tableau
              indic par * ou @, la valeur donne est le nombre d'lments dans le
              tableau.

       ${paramtre#mot}
       ${paramtre##mot}
              Le mot  est  dvelopp  pour  fournir  un  motif,  comme  dans  le
              dveloppement  des  chemins. Si le motif correspond au dbut de la
              valeur du  paramtre,  alors  le  dveloppement  prend  la  valeur
              dveloppe du paramtre aprs suppression du plus court (cas  # ) ou
              du plus long (cas  ## ) motif correspondant. Si le paramtre  est
              @  ou *, l'opration de suppression de motif est applique  chaque
              paramtre positionnel tour tour et le dveloppement est  la  liste
              rsultante.  Si le paramtre est une variable tableau indice par @
              ou *, l'opration de suppression de motif  est  applique   chaque
              lment  du  tableau  tour   tour  et le dveloppement est la liste
              rsultante.

       ${paramtre%mot}
       ${paramtre%%mot}
              Le mot  est  dvelopp  pour  fournir  un  motif,  comme  dans  le
              dveloppement  des  chemins.  Si le motif correspond  une portion
              finale de la valeur dveloppe du paramtre, alors le  dveloppement
              prend  la  valeur  dveloppe du paramtre aprs suppression du plus
              court (cas  % ) ou du plus long (cas  %% ) motif  correspondant.
              Si  le  paramtre  est @ ou *, l'opration de suppression de motif
              est applique  chaque  paramtre  positionnel  tour   tour  et  le
              dveloppement  est  la  liste  rsultante.  Si le paramtre est une
              variable tableau indice par @ ou *, l'opration de suppression de
              motif  est  applique   chaque  lment du tableau tour  tour et le
              dveloppement est la liste rsultante.

       ${paramtre/motif/chane}
              Le motif est dvelopp comme dans le traitement  des  chemins.  Le
              paramtre  est dvelopp et la plus longue portion correspondant au
              motif est remplace par la chane. Si le  motif  commence  par  /,
              toutes les correspondances au motif sont remplaces par la chane.
              Normalement, seule la premire correspondance est remplace. Si le
              motif  commence par #, il doit correspondre au dbut de la valeur
              dveloppe du paramtre. Si le motif commence par %, il doit corre-
              spondre   la  fin  du  dveloppement du paramtre. Si la chane est
              vide, les portions correspondant au motif sont supprimes et le /
              aprs  le motif peut tre omis. Si le paramtre est @ ou *, l'opra-
              tion de substitution est applique  chacun  des  paramtres  posi-
              tionnels  tour   tour et le dveloppement est la liste rsultante.
              Si le paramtre est une variable  tableau  indice  par  @  ou  *,
              l'opration  de  substitution s'applique  chaque lment du tableau
              tour  tour et le dveloppement est la liste rsultante.

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


              $(commande)
       ou
              `commande`

       Bash  effectue  la  substitution  en excutant la commande et en la rem-
       plaant par sa sortie standard, dont les ventuels sauts de lignes finaux
       sont  supprims.  Les sauts de lignes internes ne sont pas supprims mais
       peuvent disparatre lors du dcoupage en mots. La  substitution  de  com-
       mande  $(cat fichier) peut tre remplace par l'quivalent plus rapide $(<
       fichier).

       Quand l'ancienne forme de substitution avec les accents graves  `   est
       utilise,  le caractre contre-oblique garde sa signification propre sauf
       lorsqu'il est suivi de $, ` ou \. Le premier accent grave non protg par
       une  contre-oblique  termine  la  substitution  de  commande.  Quand on
       utilise la forme $(commande), tous les caractres entre parenthses  con-
       stituent la commande ; aucun n'est trait spcifiquement.

       Les  substitutions de commande peuvent tre imbriques. Pour imbriquer en
       utilisant la forme  accents graves, il faut protger les accents  graves
       internes avec des contre-obliques.

       Si  la  substitution  apparat  entre guillemets doubles, le dcoupage en
       mots et le dveloppement des chemins ne sont pas effectus sur ses  rsul-
       tats.

   Dveloppement arithmtique
       Le  dveloppement arithmtique permet de remplacer une expression arithm-
       tique par le rsultat  de  son  valuation.  Le  format  du  dveloppement
       arithmtique est :

              $((expression))

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

       L'expression est traite comme si elle tait  entre  guillemets  doubles,
       mais  un  guillemet  double   l'intrieur  de parenthses n'est pas trait
       spcifiquement.  Tous  les  lexmes  dans  l'expression  sont  sujet   au
       dveloppement  des  paramtres,   la substitution de commande et  la sup-
       pression des protections. Les dveloppements  arithmtiques  peuvent  tre
       imbriqus.

       L'valuation  est  effectue  en  suivant les rgles dcrites plus bas dans
       VALUATION ARITHMTIQUE.  Si l'expression est incorrecte, bash affiche un
       message indiquant l'chec et aucune substitution n'a lieu.

   Substitution de processus
       La  substitution  de  processus  n'est  disponible  que sur les systmes
       acceptant le mcanisme des tubes nomms (FIFO) ou la  mthode  /dev/fd  de
       noms de fichiers. Elle prend la forme <(liste) ou >(liste). La liste de
       processus est excute avec son entre ou sa sortie connecte  une FIFO  ou
       un  fichier dans /dev/fd. Le nom de ce fichier est pass en argument  la
       commande qui sera excute comme rsultat de  cette  substitution.  Si  on
       utilise  la  forme  >(liste),  l'criture  dans  le fichier fournira des
       entres pour la liste. Si la forme  <(liste)  est  utilise,  le  fichier
       passe en argument devra tre lu pour obtenir la sortie de la liste.

       Sur  les  systmes  qui  le permettent, la substitution de processus est
       effectue simultanment au dveloppement des paramtres et  variables,   la
       substitution de commande et au dveloppement arithmtique.

   Dcoupage en mots
       Les  rsultats du dveloppement des paramtres, de la substitution de com-
       mande et du dveloppement arithmtique  qui  ne  se  trouvent  pas  entre
       guillemets  doubles  sont analyss par l'interprteur afin d'appliquer le
       dcoupage en mots.

       L'interprteur considre chaque caractre du paramtre IFS comme un  dlimi-
       teur  et dcoupe le rsultat des transformations prcdentes en fonction de
       ceux-ci. Si  IFS  est  inexistante  ou  si  sa  valeur  est  exactement
       <espace><tabulation><saut  de  ligne>, la valeur par dfaut, alors toute
       suite de caractres de IFS sert
        dlimiter les mots. Si IFS a une valeur  autre  que  celle  par  dfaut,
       alors  les suites de caractres blancs espace et tabulation sont ignores
       en dbut et fin de mot,  condition que ces caractres blancs se  trouvent
       dans la valeur de IFS (un caractre blanc de IFS ). Tout caractre de IFS
       qui n'est pas un caractre blanc, se trouvant  ct d'un caractre blanc de
       IFS,  dlimite  un champ. Une suite de caractres blancs de IFS est gale-
       ment traite comme un dlimiteur. Si la valeur de  IFS  est  vide,  aucun
       dcoupage en mots n'a lieu.

       Les  arguments vides explicites ("" ou '') sont conservs. Les arguments
       vides implicites non protgs, rsultant du dveloppement des paramtres qui
       n'ont  pas  de  valeurs,  sont supprims. Si un paramtre sans valeur est
       dvelopp entre guillemets doubles, le rsultat est un argument  vide  qui
       est conserv.

       Remarquez que si aucun dveloppement n'a lieu, le dcoupage en mots n'est
       pas effectu.

   Dveloppement des chemins
       Aprs le dcoupage en mots,  moins que l'option  -f  soit  prsente,  bash
       recherche  dans chaque mot les caractres *, ? et [. Si l'un d'eux appa-
       rat, le mot est considr comme un motif et remplac par une liste, classe
       par  ordre alphabtique, des noms de fichiers correspondant ce motif. Si
       aucun nom de fichier ne correspond et si l'option  d'interprteur  null-
       glob est dsactive, le mot reste inchang. Si l'option nullglob existe et
       si aucune correspondance n'est trouve, le mot est supprim. Si  l'option
       d'interprteur failglob existe et si aucune correspondance n'est trouve,
       un message d'erreur est affich et la  commande  n'est  pas  excute.  Si
       l'option  d'interprteur  nocaseglob  est  active, la correspondance est
       effectue sans tenir compte de  la  casse  des  caractres  alphabtiques.
       Remarquez  que  lorsque des expressions de plage comme [a-z] (voir plus
       bas) sont utilises les lettres de l'autre casse peuvent  tre  incluses,
       selon  le  paramtrage  de LC_COLLATE. Quand un motif est utilis pour le
       dveloppement des chemins, le caractre  .  au dbut d'un nom ou immdiate-
       ment  la suite d'une barre oblique doit tre explicitement mis en corre-
       spondance,  moins que l'option d'interprteur dotglob n'existe. Lors  de
       la  correspondance  avec un chemin, le caractre barre oblique doit tou-
       jours tre mis en correspondance explicitement. Dans les autres cas,  le
       caractre   .  n'est pas trait spcifiquement. Voyez la description de la
       commande shopt  dans  COMMANDES  INTERNES  DE  L'INTERPRTEUR  pour  une
       description des options d'interprteur nocaseglob, nullglob, failglob et
       dotglob.

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

       Motifs gnriques

       Tout caractre apparaissant dans un motif, hormis les caractres  spciaux
       dcrits plus bas correspond avec lui-mme. Le caractre NUL ne peut pas se
       trouver dans un motif. Une contre-oblique protge  le  caractre  qui  la
       suit ;  la  contre-oblique  de  protection  est  supprime  lors  de  la
       recherche de correspondance. Les caractres spciaux  de  motifs  doivent
       tre protgs s'ils sont destins  une correspondance littrale.

       Les caractres spciaux ont les significations suivantes :

       *      Correspond  toute chane, y compris la chane vide.
       ?      Correspond  n'importe quel caractre.
       [...]  Correspond   tout caractre entre les crochets. Un couple de car-
              actres spars par un trait  d'union  indique  une  expression  de
              plage ;  tout  caractre  qui correspond  n'importe quel caractre
              situ entre les deux bornes incluses, en utilisant les suites  de
              collations  des  paramtres linguistiques rgionaux courants et le
              jeu de caractres. Si le premier caractre suivant le [ est  un  !
              ou  un  ^ alors la correspondance se fait sur tous les caractres
              hors plage. L'ordre de tri des caractres dans les expressions de
              plage  est  dtermin  par  les  paramtres  linguistiques rgionaux
              courants et par  la  valeur  de  la  variable  de  l'interprteur
              LC_COLLATE  si existante. Un - peut tre mis en correspondance en
              l'incluant en premier ou dernier caractre de  l'ensemble.  Un  ]
              peut tre mis en correspondance en l'incluant en premier caractre
              de l'ensemble.

              Entre [ et ], on peut indiquer une classe de caractre  en  util-
              isant  la  syntaxe  [:classe:],  o  classe est l'une des classes
              suivantes, dfinies dans le standard POSIX :
              alnum alpha ascii blank cntrl  digit  graph  lower  print  punct
              space upper word xdigit
              Une classe correspond  un caractre quelconque qui s'y trouve. La
              classe de caractres word correspond aux lettres, aux chiffres et
              au caractre soulign  _ .

              Entre  [ et ], on peut indiquer une classe d'quivalence en util-
              isant la syntaxe [=c=], qui correspond  n'importe quel  caractre
              ayant  le mme poids de collation (comme indiqu par les paramtres
              linguistiques rgionaux courants) que le caractre c.

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

       Si  l'option  extglob  d'interprteur est active par la commande interne
       shopt plusieurs oprateurs de correspondance tendue sont reconnus.  Dans
       la  description  suivante,  une  liste-motif  est  une  liste  d'un  ou
       plusieurs motifs spars par des |. Les  motifs  composs  sont  forms  en
       utilisant un ou plusieurs sous-motifs comme suit :

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

   Suppression des protections
       Aprs les dveloppements prcdents, toutes les occurrences non protges des
       caractres \, '  et  "  qui  ne  rsultent  pas  d'un  des  dveloppements
       ci-dessus sont supprimes.

REDIRECTIONS

       Avant  qu'une commande ne soit excute, il est possible de rediriger son
       entre et sa sortie en utilisant  une  notation  spciale  interprte  par
       l'interprteur. Les redirections peuvent galement servir  ouvrir ou fer-
       mer des fichiers dans l'environnement  courant  de  l'interprteur.  Les
       oprateurs de redirection suivants peuvent prcder ou apparatre n'importe
       o dans une commande simple ou suivre  une  commande.  Les  redirections
       sont traites dans leur ordre d'apparition, de gauche  droite.

       Dans  les descriptions suivantes, si le numro de descripteur de fichier
       est omis et si le premier caractre de l'oprateur de redirection est  <,
       la  redirection  se  rapporte  l'entre standard (descripteur de fichier
       0). Si le premier caractre de l'oprateur de redirection est >, la redi-
       rection se rapporte  la sortie standard (descripteur de fichier 1).

       Le  mot  qui suit l'oprateur de redirection dans les descriptions suiv-
       antes,
        moins qu'il en soit fait tat autrement, est soumis au dveloppement des
       accolades,  du  tilde,  des paramtres,  la substitution de commande, au
       dveloppement arithmtique,  la suppression des protections, au dveloppe-
       ment  des chemins et au dcoupage en mots. S'il se dveloppe en plusieurs
       mots, bash signale une erreur.

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

              ls > liste_rpertoires 2>&1

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

              ls 2>&1 > liste_rpertoires

       ne redirige que la sortie standard vers  le  fichier  liste_rpertoires,
       car  la  sortie  d'erreur standard a t duplique vers la sortie standard
       avant que celle-ci ne soit redirige vers liste_rpertoires.

       Bash gre plusieurs noms de fichiers  de  faon  particulire,  lorsqu'ils
       sont  utiliss  dans  des  redirections, comme dcrit dans la table suiv-
       ante :

              /dev/fd/fd
                     Si fd est un entier correct, le descripteur de fichier fd
                     est dupliqu.
              /dev/stdin
                     Le descripteur de fichier 0 est dupliqu.
              /dev/stdout
                     Le descripteur de fichier 1 est dupliqu.
              /dev/stderr
                     Le descripteur de fichier 2 est dupliqu.
              /dev/tcp/host/port
                     Si  host  est  une  adresse Internet ou un nom de machine
                     correct et si port est un numro 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 numro de port entier ou un nom
                     de service, bash tentera d'ouvrir une connexion  UDP  sur
                     la  socket  correspondante.

       Remarque :  Bash,  comme empaquet pour Debian, ne permet pas l'utilisa-
       tion des fichiers /dev/tcp et /dev/udp.

       Un chec  l'ouverture ou  la cration d'un fichier conduit  l'chec de  la
       redirection.

       Les  redirections  qui utilisent des descripteurs de fichiers suprieurs
       9 doivent tre utiliss avec prcaution car il peut y avoir  des  conflits
       avec les descripteurs de fichiers que l'interprteur utilise en interne.

       Notez que la commande interne exec peut faire  appliquer  les  redirec-
       tions
        l'interprteur de commande en cours.

   Redirection d'entre
       Une  redirection  d'entre  conduit   l'ouverture  en  lecture  avec  le
       descripteur de fichier numro  n  du  fichier  dont  le  nom  rsulte  du
       dveloppement  du  mot  ou  en  tant  qu'entre  standard (descripteur de
       fichier 0) si n n'est pas spcifi.

       Le format gnral des redirections d'entre est :

              [n]<mot

   Redirection de sortie
       Une redirection de sortie conduit  l'ouverture en  criture  du  fichier
       dont  le  nom  rsulte  du dveloppement du mot avec comme descripteur de
       fichier n ou en tant que sortie standard (descripteur de fichier 1)  si
       n  n'est  pas spcifi. Si le fichier n'existe pas, il est cr. S'il exis-
       tait dj, sa taille est ramene  0.

       Le format gnral des redirections de sortie est le suivant :

              [n]>mot

       Si l'oprateur de redirection est > et si l'option noclobber de la  com-
       mande interne set est active, la redirection chouera si le fichier dont
       le nom rsulte du dveloppement du mot existe et est un  fichier  normal.
       Si  l'oprateur  de  redirection  est  >|  ou l'oprateur > avec l'option
       noclobber de la commande interne set n'est pas active,  la  redirection
       sera  tente mme si le fichier dont le nom rsulte du dveloppement du mot
       existe.

   Ajout d'une sortie redirige
       La redirection de la sortie  de  cette  faon  conduit   l'ouverture  du
       fichier  dont  le  nom  rsulte  du  dveloppement du mot pour ajouter au
       descripteur de fichier n ou  la sortie standard (descripteur de fichier
       1) si n n'est pas spcifi. Si le fichier n'existe pas, il est cr.

       Le format gnral pour les sorties avec ajout est :

              [n]>>mot


   Redirection de la sortie standard et de la sortie d'erreur standard
       Bash permet la redirection simultane de la sortie standard (descripteur
       1) et de la sortie d'erreur standard (descripteur 2), dans  un  fichier
       dont  le nom est le rsultat du dveloppement du mot avec cette construc-
       tion.

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

              &>mot
       et
              >&mot

       La premire des deux formes est prfre. Ceci est smantiquement quivalent


              >mot 2>&1

   Document en ligne
       Ce  type de redirection commande  l'interprteur de lire son entre de la
       source courante jusqu' ce qu'il voie une ligne contenant  seulement  le
       mot  prvu  (sans blancs finaux). Toutes les lignes lues jusqu' ce point
       sont ensuite utilises comme l'entre standard pour une commande.

       Le format des documents en ligne est le suivant :

              <<[-]mot
                      document_en_ligne
              dlimiteur

       Il n'y a ni dveloppement des paramtres, ni substitution de commande, ni
       dveloppement  arithmtique, ni dveloppement des chemins d'effectu sur le
       mot. Si un quelconque des caractres du mot est protg, dlimiteur est  le
       rsultat de la suppression des protections sur mot et les lignes du doc-
       ument en ligne ne sont pas dveloppes. Si le mot n'est pas protg, toutes
       les  lignes  du  document  en  ligne  sont soumises au dveloppement des
       paramtres,  la substitution de commande et au dveloppement arithmtique.
       Dans  ce dernier cas, la suite de caractres \<saut de ligne> est ignore
       et \ doit tre utilise pour protger les caractres \, $ et `.

       Si l'oprateur de redirection est <<-, alors les tabulations en  tte  de
       chaque  ligne  sont  supprimes de l'entre, y compris dans la ligne con-
       tenant dlimiteur. Ceci permet d'indenter de faon  naturelle  les  docu-
       ments en ligne au sein des scripts.

   Chanes en ligne
       Une variante aux documents en ligne, le format est :

              <<<mot

       Le mot est dvelopp et fourni  la commande sur son entre standard.

   Ddoublement de descripteur de fichier
       L'oprateur de redirection

              [n]<&mot

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

       L'oprateur

              [n]>&mot

       est utilis de faon similaire pour dupliquer les descripteurs de sortie.
       Si n n'est  pas  explicit,  la  sortie  standard  (descripteur  1)  est
       utilise. Si les chiffres du mot ne correspondent pas  un descripteur en
       criture, une erreur de redirection se produit. Dans le cas  particulier
       o  n  est omis et o mot ne se dveloppe pas en un ou plusieurs chiffres,
       les sorties standard et d'erreur standard sont  toutes  deux  rediriges
       comme dcrit prcdemment.

   Dplacement de descripteurs de fichiers
       L'oprateur de redirection

              [n]<&chiffre-

       dplace le descripteur de fichier chiffre vers le descripteur de fichier
       n ou sur l'entre standard (descripteur de fichier 0)  si  n  n'est  pas
       spcifi. chiffre est ferm aprs avoir t dupliqu en n.

       De la mme faon, l'oprateur de redirection

              [n]>&chiffre-

       dplace 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
       spcifi.

   Ouverture en Lecture/criture d'un descripteur de fichier
       L'oprateur de redirection

              [n]<>mot

       conduit   l'ouverture  du fichier dont le nom rsulte du dveloppement du
       mot,  la fois en lecture et en criture et lui affecte le descripteur de
       fichier  n  ou  bien  le  descripteur  0 si n n'est pas mentionn. Si le
       fichier n'existe pas, il est cr.

ALIAS

       Les alias permettent de substituer une  chane   un  mot  lorsqu'il  est
       utilis  comme  premier mot d'une commande simple. L'interprteur gre une
       liste d'alias qui  peuvent  tre  crs  et  dtruits  avec  les  commandes
       internes alias et unalias (voir plus bas COMMANDES INTERNES DE L'INTER-
       PRTEUR ). L'interprteur vrifie si le premier  mot  de  chaque  commande
       simple, si non protg, est un alias. Si c'est le cas, ce mot est remplac
       par le texte de l'alias. Les caractres /, $, ` et = et tout mtacaractre
       de  l'interprteur ou caractre de protection dcrits plus haut ne peuvent
       pas apparatre dans un nom d'alias. Le texte de remplacement  peut  con-
       tenir  toute entre correcte pour l'interprteur, y compris les mtacarac-
       tres de l'interprteur. L'interprteur vrifie si le premier mot du  texte
       de remplacement est  son tour un alias, mais un mot identique  un alias
       en cours de dveloppement n'est pas dvelopp une seconde fois. Ceci  sig-
       nifie  qu'on  peut,  par exemple, crer un alias ls valant ls -F et bash
       n'essaiera pas de dvelopper rcursivement le texte de  substitution.  Si
       le  dernier  caractre  de  la  valeur de l'alias est un blanc, alors le
       prochain mot de commande suivant l'alias connatra aussi le dveloppement
       d'alias.

       Les  alias  sont crs et affichs avec la commande alias et supprims avec
       la commande unalias.

       Il n'existe pas de mcanisme permettant d'utiliser des arguments dans le
       texte  de remplacement. S'ils sont ncessaires, une fonction de l'inter-
       prteur devrait tre utilise (voir FONCTIONS plus bas).

       Les alias ne sont pas dvelopps quand l'interprteur n'est pas interactif
       sauf  si  l'option  expand_aliases de l'interprteur est cre par la com-
       mande shopt (voir plus bas  la  description  de  shopt  dans  COMMANDES
       INTERNES DE L'INTERPRTEUR ).

       Les  rgles  concernant  la dfinition et l'utilisation des alias sont un
       peu confuses. Bash lit toujours au moins une ligne d'entre  compltement
       avant  d'excuter une quelconque commande de cette ligne. Les alias sont
       traits lorsque la commande est lue et non pas lorsqu'elle  est  excute.
       Ainsi, une dfinition d'alias apparaissant sur la mme ligne qu'une autre
       commande ne prend pas effet avant la  lecture  de  la  prochaine  ligne
       d'entre.  Autrement  dit,  une commande place  la suite d'une dfinition
       d'alias, sur la mme ligne ne sera pas affecte par cet  alias.  Ce  com-
       portement  est galement important lors de l'excution des fonctions. Les
       alias sont traits lorsque la dfinition de la fonction est  lue  et  non
       pas  lors  de l'excution de cette fonction. Ainsi des alias dfinis dans
       une fonction ne sont pas disponibles avant la fin de l'excution  de  la
       fonction.  Pour  plus  de  tranquillit,  placez toujours les dfinitions
       d'alias sur des lignes isoles et n'utilisez jamais  la  commande  alias
       dans les commandes composes.

       Pour  quasiment chaque usage, les alias sont surpasss par les fonctions
       de l'interprteur.

FONCTIONS

       Une fonction de l'interprteur, dfinie comme dcrit plus haut, dans GRAM-
       MAIRE  DE  L'INTERPRTEUR, conserve une suite de commandes pour excution
       ultrieure. Lorsque le nom d'une fonction de l'interprteur  est  utilise
       comme un simple nom de commande, la liste des commandes associes ce nom
       de fonction est excute. Les fonctions sont excutes dans le contexte  de
       l'interprteur  courant ;  aucun  nouveau  processus  n'est  cr pour les
       interprter ( la diffrence d'un script). Lorsqu'une fonction est excute,
       les arguments de la fonction deviennent les paramtres positionnels pen-
       dant son excution. Le paramtre spcial # est mis  jour en consquence. Le
       paramtre  spcial 0 reste inchang. Le premier lment de la variable FUNC-
       NAME est mis au nom de la  fonction  pendant  son  excution.  Tous  les
       autres  aspects  de  l'environnement  d'excution  de l'interprteur sont
       identiques entre la fonction et le contexte  d'appel,  l'exception  que
       les  captures  de  DEBUG  et RETURN (voir plus bas la description de la
       commande interne trap dans COMMANDES INTERNES  DE  L'INTERPRTEUR  )  ne
       sont  pas  hrites,  moins que la fonction ait l'attribut trace de posi-
       tionn (voir plus bas la description de la commande interne declare)  ou
       que  l'option  d'interprteur -o functrace ait t active avec la commande
       interne set (auquel cas toutes les fonctions hriteront des captures  de
       DEBUG et RETURN).

       Les  variables  locales d'une fonction peuvent tre dclares avec la com-
       mande interne local. Autrement, les variables  et  leurs  valeurs  sont
       partages entre la fonction et son appelant.

       Si la commande interne return est excute dans une fonction, celle-ci se
       termine et l'excution reprend avec la commande suivant l'appel de fonc-
       tion. Toute commande associe  la capture de RETURN est excute avant que
       l'excution reprenne. Quand une fonction se termine, les paramtres posi-
       tionnels  et le paramtre spcial # reprennent les valeurs qu'ils avaient
       avant l'appel de fonction.

       Les noms des fonctions et leurs dfinitions  peuvent  tre  affichs  avec
       l'option  -f  des commandes internes declare ou typeset. Les options -F
       de declare ou typeset n'afficheront que les noms des fonctions (et fac-
       ultativement  le  fichier  source  et  le  numro  de ligne, si l'option
       d'interprteur extdebug est active). Les fonctions peuvent tre  exportes
       avec l'option -f de la commande interne export, afin d'tre automatique-
       ment dfinies dans les sous-interprteurs. Une dfinition de fonction peut
       tre  supprime  avec l'option -f de la commande interne unset. Remarquez
       que les fonctions et variables de l'interprteur  de  mme  nom  pourront
       induire   plusieurs  lments  de mmes noms dans l'environnement pass aux
       enfants de l'interprteur. Un soin particulier doit tre  pris  dans  les
       cas o cela peut conduire  un problme.

       Les  fonctions  peuvent tre rcursives. Aucune limite n'est impose quant
       au nombre d'appels rcursifs.

VALUATION ARITHMTIQUE

       L'interprteur  permet,  dans   certaines   circonstances,   l'valuation
       d'expressions  arithmtiques (voir les commandes internes let et declare
       ainsi que Dveloppement arithmtique). L'valuation est effectue en  util-
       isant  des  entiers  de  longueur fixe, sans vrification du dbordement.
       Nanmoins, la division par 0 est capture et marque comme une erreur. Les
       oprateurs,  leur  priorit,  associativit et leur valeur sont identiques
       ceux du langage C. La liste suivante d'oprateurs est entre oprateurs de
       niveaux  de  priorit  identiques.  Les niveaux sont dcrits par ordre de
       priorit dcroissante.

       id++ id--
              post-incrment et post-dcrment de variables
       ++id --id
              pr-incrment et pr-dcrment de variables
       - +    plus et moins unaires
       ! ~    ngations logique et binaire
       **     exponentiation
       * / %  multiplication, division, reste
       + -    addition, soustraction
       << >>  dcalage arithmtique  gauche et  droite
       <= >= < >
              comparaisons
       == !=  galit et diffrence
       &      ET binaire
       ^      OU exclusif binaire
       |      OU binaire
       &&     ET logique
       ||     OU logique
       expr?expr:expr
              oprateur conditionnel
       = *= /= %= += -= <<= >>= &= ^= |=
              affectations
       expr1 , expr2
              virgule

       On peut utiliser les variables  de  l'interprteur  comme  oprandes,  le
       dveloppement  des paramtres tant effectu avant l'valuation arithmtique.
       Dans une expression, les variables de  l'interprteur  peuvent  galement
       tre rfrences par leur nom, sans utiliser la syntaxe de dveloppement des
       paramtres. Une variable d'interprteur qui est vide ou  inexistante  est
       value   0  lorsqu'on  y  accde  par son nom sans utiliser la syntaxe de
       dveloppement des paramtres. La valeur d'une variable  est  value  comme
       une  expression  arithmtique  lorsqu'on y accde ou lorsqu'une variable,
       qui a vu son attribut integer (entier) positionn en  utilisant  declare
       -i, se voit affecter une valeur. Une valeur vide est value 0. Une vari-
       able d'interprteur n'a donc pas besoin d'avoir son attribut integer  de
       positionn pour tre utilisable dans un calcul.

       Les  constantes  commenant  par  un 0 sont interprtes comme des nombres
       octaux. Un entte 0x ou 0X indique une valeur  hexadcimale.  Sinon,  les
       nombres  ont  la forme [base#]n ou la base est un nombre dcimal entre 2
       et 64 reprsentant la base arithmtique et n est un  nombre  exprim  dans
       cette base. Si la base# est omise, la base 10 est utilise. Les chiffres
       suprieurs  9 sont reprsents par les  lettres  minuscules,  les  lettres
       majuscules,  le  @ et le _, dans cet ordre. Si la base est infrieure ou
       gale  36 les minuscules et les majuscules peuvent tre utilises de  faon
       interchangeable pour reprsenter les nombres entre 10 et 35.

       Les  oprateurs  sont  valus  par ordre de priorit. Les sous-expressions
       entre parenthses sont values en premier, ce qui permet de surpasser les
       rgles de priorit ci-dessus.

CONDITIONS

       Les  conditions sont utilises par la commande compose [[ et les comman-
       des internes test et [ pour vrifier l'tat d'un fichier et effectuer des
       comparaisons  arithmtiques ou sur des chanes. Les conditions se forment
       partir des primitives unaires ou binaires suivantes. Si  un  quelconque
       argument  fichier  de  l'une  des primitives est de la forme /dev/fd/n,
       alors le descripteur de fichier n est examin. Si l'argument fichier  de
       l'une  des primitives est parmi /dev/stdin, /dev/stdout ou /dev/stderr,
       le descripteur de fichier 0, 1 ou 2, respectivement, est examin.

       Sauf indication contraire, les primitives relatives aux fichiers  suiv-
       ent  les liens symboliques et oprent sur la cible du lien plutt que sur
       le lien lui-mme.

       Voir la description de la commande interne test  (paragraphe  COMMANDES
       INTERNES  DE  L'INTERPRTEUR  plus  bas)  pour  la gestion des paramtres
       (c'est--dire des paramtres manquants).

       -a fichier
              Vrai si le fichier existe.
       -b fichier
              Vrai si le fichier existe et est un fichier spcial bloc.
       -c fichier
              Vrai si le fichier existe et est un fichier spcial caractre.
       -d fichier
              Vrai si le fichier existe et est un rpertoire.
       -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 de mis.
       -h fichier
              Vrai si le fichier existe et est un lien symbolique.
       -k fichier
              Vrai si le fichier existe et a son bit  sticky  de mis.
       -p fichier
              Vrai si le fichier existe et est un tube nomm (FIFO).
       -r fichier
              Vrai si le fichier existe et est accessible en lecture.
       -s fichier
              Vrai si le fichier existe et a une taille strictement  positive.
       -t fd  Vrai  si  le descripteur de fichier fd est ouvert et se rapporte
              un terminal.
       -u fichier
              Vrai si le fichier existe et a son bit Set-UID de mis.
       -w fichier
              Vrai si le fichier existe et est accessible en criture.
       -x fichier
              Vrai si le fichier existe et est excutable.
       -O fichier
              Vrai si le fichier  existe  et  appartient   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 t modifi depuis sa  dernire  lec-
              ture.
       fichier_1 -nt fichier_2
              Vrai  si le fichier_1 est plus rcent que le fichier_2 (selon les
              dates de dernire modification) ou si  fichier_1  existe  et  non
              fichier_2.
       fichier_1 -ot fichier_2
              Vrai  si  le  fichier_1  est  plus  vieux que le fichier_2 ou si
              fichier_2 existe et non pas fichier_1.
       fichier_1 -ef fichier_2
              Vrai si le fichier_1  et  le  fichier_2  se  rapportent  au  mme
              priphrique et ont les mmes numros d'i-noeuds.
       -o nom_opt
              Vrai  si l'option d'interprteur nom_opt est active. Consulter la
              liste des options plus bas dans la description de l'option -o de
              la commande interne set.
       -z chane
              Vrai si la longueur de la chane est nulle.
       chane
       -n chane
              Vrai si la longueur de la chane est non nulle.

       chane_1 == chane_2
              Vrai  si  les  deux  chanes sont gales. Le symbole = peut servir
              remplacer == pour une stricte conformit POSIX.

       chane_1 != chane_2
              Vrai si les deux chanes sont diffrentes.

       chane_1 < chane_2
              Vrai si chane_1 se  trouve  avant  chane_2  dans  l'ordre  lexi-
              cographique des paramtres linguistiques rgionaux courants.

       chane_1 > chane_2
              Vrai  si  chane_1  se  trouve  aprs  chane_2  dans l'ordre lexi-
              cographique des paramtres linguistiques rgionaux courants.

       arg1 OP arg2
              OP est l'un des oprateurs suivants -eq, -ne, -lt,  -le,  -gt  ou
              -ge.  Ces oprateurs arithmtiques binaires renvoient vrai si arg1
              est respectivement gal, diffrent,  infrieur,  infrieur  ou  gal,
              suprieur,  suprieur  ou  gal  arg2. arg1 et arg2 peuvent tre des
              entiers positifs ou ngatifs.

DVELOPPEMENT DES COMMANDES SIMPLES

       Lors de l'excution d'une commande simple,  l'interprteur  effectue  les
       dveloppements, affectations et redirections suivants de gauche  droite.

       1.     Les mots que l'analyseur a repr comme affectations de  variables
              (ceux  qui  prcdent  le  nom de la commande) et les redirections
              sont conserves pour un traitement ultrieur.

       2.     Les mots qui ne sont ni des affectations  de  variables  ni  des
              redirections   sont  dvelopps.  S'il  reste  des  mots  aprs  le
              dveloppement, le premier mot est considr comme le nom d'une com-
              mande et les suivants comme ses arguments.

       3.     Les redirections sont effectues comme dcrit plus haut dans REDI-
              RECTIONS.

       4.     Le texte suivant le = dans chaque affectation  de  variable  est
              sujet  au dveloppement du tilde, des paramtres,  la substitution
              de commande, au dveloppement arithmtique et  la suppression  des
              protections avant d'tre affect  la variable.

       Si  aucun nom de commande ne rsulte des prcdentes oprations, les affec-
       tations de variables modifient l'environnement  courant  de  l'interpr-
       teur.  Sinon les variables sont ajoutes  l'environnement de la commande
       excute et n'affectent pas l'environnement de l'interprteur courant.  Si
       une  quelconque  des  tentatives d'affectation concerne une variable en
       lecture seule, une erreur se produit et la commande termine avec un tat
       diffrent de zro.

       Si  aucun nom de commande n'est obtenu, les redirections sont effectues
       mais ne modifient pas l'environnement  de  l'interprteur  courant.  Une
       erreur  de  redirection  conduit  la terminaison de la commande avec un
       tat diffrent de zro.

       S'il reste un nom de commande aprs le dveloppement, l'excution  a  lieu
       comme  dcrit plus bas. Sinon la commande termine. Si l'un des dveloppe-
       ments contient une substitution de commande, l'tat final de la commande
       est  l'tat  final de la dernire substitution de commande effectue. S'il
       n'y avait aucune substitution de commande, la commande termine avec  un
       tat de zro.

EXCUTION DES COMMANDES

       Aprs le dcoupage de la ligne de commande en mots, si le rsultat est une
       commande simple suivie d'une liste facultative d'arguments, les actions
       suivantes sont effectues.

       Si  le  nom de la commande ne contient aucune barre oblique, l'interpr-
       teur tente de la localiser. S'il existe une fonction  de  l'interprteur
       de  ce  nom, elle est appele comme nous l'avons vu plus haut dans FONC-
       TIONS.  Si le nom n'est pas  celui  d'une  fonction,  l'interprteur  le
       recherche  dans  la liste des commandes internes. Si une correspondance
       est trouve, cette commande interne est appele.

       Si le nom n'est ni celui d'une  fonction  de  l'interprteur,  ni  celui
       d'une  commande  interne et s'il ne contient pas de barre oblique, bash
       va chercher dans chacun des lments de PATH un  rpertoire  contenant  un
       fichier  excutable  du nom dsir. Bash utilise une table de hachage pour
       mmoriser les chemins d'accs complets aux fichiers excutables (voir plus
       bas  la  commande  hash dans COMMANDES INTERNES DE L'INTERPRTEUR ). Une
       recherche complte dans les rpertoires du PATH n'est effectue que si  la
       commande ne se trouve pas dans la table de hachage. Si la recherche est
       infructueuse, l'interprteur affiche un message d'erreur et  renvoie  un
       tat final de 127.

       Si  la  recherche  russit  ou  si le nom de la commande contient une ou
       plusieurs barres obliques, l'interprteur  excute  le  programme  demand
       dans  un environnement d'excution distinct. L'argument 0 est mis au nom
       indiqu et les ventuels arguments restants de la commande sont  mis  aux
       arguments indiqus.

       Si  cette  excution choue parce que le programme n'est pas un excutable
       et si le fichier n'est pas un rpertoire, il est pris pour un script, un
       fichier  contenant des commandes d'interprteur. Un sous-interprteur est
       alors cr pour excuter ce script. Ce sous-interprteur  se  rinitialisera
       lui-mme,  comme  si un nouvel interprteur avait t appel pour excuter le
       script,  la diffrence qu'il continuera  mmoriser l'emplacement des com-
       mandes  connues  de  son  parent  (voir  hash  plus  bas dans COMMANDES
       INTERNES DE L'INTERPRTEUR ).

       Si le programme est un fichier commenant par #!, le reste de la premire
       ligne indique un interprte pour ce programme. L'interprteur se chargera
       d'excuter cet interprte spcifi sur les systmes  d'exploitation  qui  ne
       grent  pas eux-mmes ce format d'excutable. Les arguments de l'interprte
       consistent en un seul argument facultatif fourni sur la  premire  ligne
       du  fichier  la suite du nom de l'interprte, suivi du nom du programme,
       suivi des arguments de la commande s'il y en a.

ENVIRONNEMENT D\'EXCUTION DES COMMANDES

       L'interprteur  fournit  un  environnement  d'excution   consistant   en
       l'ensemble des lments suivants :


       +o      les fichiers ouverts hrits par l'interprteur  son appel et modi-
              fis par les redirections fournies  la commande interne exec

       +o      le rpertoire de travail courant comme mis par cd, pushd ou  popd
              ou hrit par l'interprteur  son appel

       +o      le  masque  de cration de fichier comme mis par umask ou hrit du
              parent de l'interprteur

       +o      captures courantes mises par trap

       +o      les paramtres de l'interprteur sont mis par des affectations  de
              variables ou avec la commande interne set ou hrits de l'environ-
              nement du parent de l'interprteur

       +o      les fonctions de l'interprteur dfinies  lors  de  l'excution  ou
              hrites de l'environnement du parent de l'interprteur ;

       +o      les options actives  l'appel (par dfaut ou avec les arguments de
              ligne de commande) ou par set ;

       +o      options actives par shopt ;

       +o      les alias de l'interprteur dfinies par la commande alias ;

       +o      les ID des  divers  processus,  y  compris  ceux  des  tches  en
              arrire-plan, la valeur de $$ et la valeur de $PPID

       Lorsqu'une  commande  autre  qu'une commande interne ou une fonction de
       l'interprteur doit tre excute, elle est appele  dans  un  environnement
       d'excution spar constitu de ce qui suit. Sauf indication contraire, les
       valeurs sont hrites de l'environnement de l'interprteur.


       +o      les fichiers ouverts de l'interprteur, ainsi que toutes  modifi-
              cations et ajouts spcifis par les redirections de la commande ;

       +o      le rpertoire de travail courant ;

       +o      le masque de cration de fichiers ;

       +o      les  variables  et  les  fonctions de l'interprteur marques pour
              l'exportation, ainsi que les variables exportes spcialement pour
              la commande ;

       +o      les captures interceptes par l'interprteur sont rinitialises aux
              valeurs hrites de l'interprteur parent et les  captures  ignores
              par l'interprteur restent ignores

       Une commande appele dans un environnement distinct ne peut pas affecter
       l'environnement d'excution de l'interprteur.

       Les substitutions de commande, les commandes groupes  entre  parenthses
       et  les  commandes  asynchrones  sont  appeles dans un environnement de
       sous-interprteur qui est une copie de celui de l'interprteur, sauf  que
       les  captures  interceptes  par  l'interprteur  sont  rinitialises  aux
       valeurs que l'interprteur avait hrites de son parent   son  appel.  Les
       commandes internes appeles dans une conduite sont aussi excutes dans un
       environnement de sous-interprteur. Les modifications  apportes  l'envi-
       ronnement d'une sous-interprteur n'affectent aucunement l'environnement
       d'excution de l'interprteur.

       Si une commande est suivie par un & et que le contrle des  tches  n'est
       pas  actif,  l'entre  standard  par dfaut de la commande est le fichier
       vide /dev/null. Sinon, la commande appele  hrite  des  descripteurs  de
       fichiers  de l'interprteur appelant comme modifis par les redirections.

ENVIRONNEMENT

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

       L'interprteur fournit plusieurs faons de grer l'environnement. Au dmar-
       rage, l'interprteur analyse son propre environnement et cre un paramtre
       pour chaque nom trouv, en le marquant comme exportable vers les proces-
       sus  enfants.  Les  commandes excutes hritent de cet environnement. Les
       commandes export et declare -x permettent d'ajouter ou de supprimer des
       paramtres  ou  des  fonctions  de  l'environnement.  Si  la valeur d'un
       paramtre de l'environnement est modifie, la nouvelle valeur devient une
       partie  de l'environnement et elle remplace l'ancienne. L'environnement
       hrit par toute commande excute est l'environnement initial de  l'inter-
       prteur, dont les valeurs peuvent tre modifies dans l'interprteur, moins
       les lments supprims par la commande unset, plus les lments  ajouts  par
       les commandes export et declare -x.

       L'environnement  d'une  commande simple ou d'une fonction peut tre aug-
       ment  temporairement,  en  la  faisant  prcder  des   affectations   de
       paramtres,  comme nous l'avons vu plus haut dans PARAMTRES.  Ces affec-
       tations ne concernent que l'environnement vu par cette commande.

       Si l'option -k est mise (voir plus bas la commande interne set),  alors
       toutes  les  affectations de paramtres sont places dans l'environnement
       d'une commande excute et non seulement celles qui prcdent son nom.

       Quand bash appelle une commande externe, la  variable  _  est  mise  au
       chemin  d'accs  complet   cette  commande  et  elle  est transmise dans
       l'environnement.

TAT FINAL

       Du point de vue de l'interprteur, une commande  qui  termine  avec  tat
       final  de  zro  a  russi.  Un tat final de zro indique le succs. Un tat
       final diffrent de zro indique un chec. Quand une commande  termine  par
       un signal mortel N, bash utilise la valeur 128+N comme tat final.

       Si une commande n'est pas trouve, le processus enfant cr pour l'excuter
       renvoie un tat de 127. Si une commande est trouve mais  pas  excutable,
       la valeur renvoye est 126.

       Si  une commande choue  cause d'une erreur survenue lors d'un dveloppe-
       ment ou des redirections, l'tat final est strictement  plus  grand  que
       zro.

       Les  commandes  internes renvoient un tat de 0 (vrai) si russies et une
       valeur diffrente de zro (faux) si une erreur se  produit  pendant  leur
       excution.  Toutes  les  commandes  internes renvoient un tat final de 2
       pour indiquer un usage incorrect.

       Bash lui-mme renvoie l'tat final de la dernire commande  excute,  moins
       qu'une  erreur  de  syntaxe se produise, auquel cas il termine avec une
       valeur diffrente de zro. Voir aussi plus bas la commande interne  exit.

SIGNAUX

       Quand  bash  fonctionne de faon interactive, en l'absence de toute cap-
       ture, il ignore SIGTERM (c'est ainsi que kill 0 ne tue pas un  interpr-
       teur interactif) et SIGINT est intercept et gr (c'est ainsi que la com-
       mande interne wait est interruptible). Dans tous les cas,  bash  ignore
       SIGQUIT.  Si le contrle des tches est actif, bash ignore SIGTTIN, SIGT-
       TOU et SIGTSTP.

       Les commandes externes lances par bash ont les gestionnaires de signaux
       mis  aux  valeurs hrites par l'interprteur de son parent. Quand le con-
       trle des tches n'est pas actif, les tches en arrire-plan  ignorent  les
       signaux  SIGINT et SIGQUIT en plus des gestionnaires hrits. Les comman-
       des excutes en tant que rsultat d'une substitution de commande ignorent
       les  signaux de contrle de tches mis par le clavier SIGTTIN, SIGTTOU et
       SIGTSTP.

       Par dfaut, l'interprteur termine  la rception de SIGHUP.  Avant de ter-
       miner, un interprteur interactif renvoie le SIGHUP
        toutes les tches en cours ou suspendues. Les tches suspendues reoivent
       aussi SIGCONT pour s'assurer qu'elles reoivent bien  le  SIGHUP.   Pour
       empcher  l'interprteur  d'envoyer le signal  une tche particulire, elle
       devrait tre supprime de la table des tches  avec  la  commande  interne
       disown  (voir  plus bas COMMANDES INTERNES DE L'INTERPRTEUR ) ou marque
       comme exempte de SIGHUP en utilisant disown -h.

       Si l'option d'interprteur huponexit a t mise avec  la  fonction  shopt,
       bash envoie un signal SIGHUP
        toutes  les  tches  lorsqu'un  interprteur  de  commandes de connexion
       interactif termine.

       Lorsque bash attend qu'une commande se termine et qu'il reoit un signal
       pour  lequel  une  capture a t mise, la capture ne sera pas excute tant
       que la commande n'est pas termine. Lorsque bash  attend  la  fin  d'une
       commande asynchrone par la commande interne wait, la rception d'un sig-
       nal pour lequel une capture a t mise conduira  un retour immdiat de  la
       commande  interne  wait  avec  un tat final suprieur  128,  la suite de
       quoi la capture est immdiatement excute.

CONTRLE DES TCHES

       Le contrle des tches se rfre  la capacit de suspendre  (suspend)  slec-
       tivement   l'excution  d'un  processus  et  de  la  reprendre  (resume)
       ultrieurement. L'utilisateur bnficie  gnralement  de  cette  possibilit
       grce  l'action conjointe du pilote de terminal du systme et de bash.

       L'interprteur associe une tche  chaque conduite. Il maintient une table
       des tches en cours d'excution, cette table pouvant tre affiche avec  la
       commande  jobs.  Quand  bash  lance  une  tche  de  faon asynchrone (en
       arrire-plan), il affiche une ligne qui ressemble  :

              [1] 25647

       Cette ligne indique que la tche est la tche numro 1 et que  le  PID  du
       dernier  processus dans la conduite associe  cette tche est 25647. Tous
       les processus d'une mme conduite font  partie  de  la  mme  tche.  Bash
       utilise la notion de tche comme base du contrle des tches.

       Pour faciliter l'implmentation d'une interface utilisateur pour le con-
       trle de tches, le systme introduit la notion d'ID de groupe de  proces-
       sus  associs   un terminal. Les membres de ce groupe de processus (pro-
       cessus dont le GID est gal au Process Group  ID  du  terminal  courant)
       reoivent  les  signaux  mis par le clavier comme SIGINT.  Ces processus
       sont dits tre au premier plan. Les processus en arrire-plan  sont  ceux
       dont  le Process-GID diffre de celui du terminal ; ils sont indiffrents
       aux signaux mis par le clavier. Seuls les  processus  au  premier  plan
       peuvent   lire  depuis  le  terminal  ou  y  crire.  Les  processus  en
       arrire-plan qui tentent une lecture (ou une criture) dans  le  terminal
       reoivent  un  signal  SIGTTIN  (SIGTTOU) mis par le pilote du terminal,
       qui, sauf interception, suspend le processus.

       Si le systme d'exploitation sur lequel bash fonctionne permet  le  con-
       trle des tches, bash fournit des outils pour l'utiliser. La frappe d'un
       caractre de suspension (gnralement ^Z,  Contrle-Z)  pendant  l'excution
       d'un  processus  conduit   la suspension de celui-ci et redonne la main
       bash. La frappe d'un caractre de suspension diffre (gnralement ^Y, Con-
       trle-Y)  conduira  la suspension du processus au moment o il tentera de
       lire des saisies depuis le terminal et la main reviendra  bash. L'util-
       isateur  peut  alors manipuler l'tat de cette tche en utilisant la com-
       mande bg (background = arrire-plan) pour  en  continuer  l'excution  en
       arrire-plan, la commande fg (foreground = premier plan) pour la contin-
       uer au premier plan ou encore la commande kill  pour  la  tuer.  Un  ^Z
       s'applique  immdiatement  et a pour effet de bord d'liminer les sorties
       et saisies en attente.

       Il y a plusieurs faons de se rapporter  une tche. Le caractre %  intro-
       duit un nom de tche. On peut se rapporter  la tche numro n comme %n. On
       peut galement se rapporter une tche  en  utilisant  un  prfixe  du  nom
       utilise  pour  le lancer ou une sous-chane qui apparat dans sa ligne de
       commande. Par exemple, %ce se rapporte  une tche suspendue nomme ce. Si
       ce  prfixe  correspond   plusieurs  tches,  bash  signale  une  erreur.
       Utiliser %?ce, d'un autre ct, se  rapporte   toute  tche  contenant  la
       chane  ce  dans  sa  ligne  de  commande.  Si  la sous-chane correspond
       plusieurs tches, bash signale une erreur. Les symboles %% et %+ se rap-
       portent   la  notion  de tche courante de l'interprteur, c'est--dire la
       dernire tche suspendue alors qu'elle tait au premier plan ou dmarre  en
       arrire-plan. La tche prcdente peut tre dsigne en utilisant %-. Dans les
       affichages se rapportant aux tches (par exemple la sortie  de  la  com-
       mande  jobs),  la  tche  courante est toujours annote d'un + et la tche
       prcdente d'un -. Un simple % (non accompagn de spcification de tche) se
       rapporte galement  la tche courante.

       Il  suffit  de nommer une tche pour la ramener au premier plan : %1 est
       synonyme de  fg %1  et ramne la tche 1 de l'arrire-plan vers le premier
       plan.  De  mme,  %1 &  reprend la tche 1 en arrire-plan, de faon quiva-
       lente   bg %1 .

       L'interprteur est immdiatement prvenu  lorsqu'une  tche  change  d'tat.
       Normalement  bash  attend  d'tre prt  afficher son interprteur avant de
       signaler des changements dans l'tat des tches, afin de  ne  pas  inter-
       rompre  toute  autre  sortie. Si l'option -b de la commande interne set
       est active, bash signalera de telles modifications immdiatement.  Toute
       capture sur SIGCHLD est excute pour chaque enfant qui termine.

       Si  une  tentative  est faite de terminer bash alors que des tches sont
       suspendues, l'interprteur affiche un message d'avertissement.  La  com-
       mande  jobs  peut  alors  tre  utilise  pour examiner leur tats. Si une
       deuxime tentative est faite de  terminer  sans  commande  intercalaire,
       l'interprteur  n'affiche  aucun  autre  avertissement et les tches sus-
       pendues sont termines.

INVITES

       Quand il est excut de faon interactive, bash affiche l'invite  de  base
       PS1  ds  qu'il  est  prt   lire une commande et l'invite secondaire PS2
       quand il a besoin de plus de saisies pour excuter  une  commande.  Bash
       permet de personnaliser ces chanes d'invite, en insrant un certain nom-
       bre de suites de caractres spciaux d'chappement par des contre-obliques
       qui sont dcods comme suit :
              \a     un caractre ASCII d'alarme (07)
              \d     la date au format  Jour_de_la_semaine Mois Quantime  (par
                     exemple :  Tue May 26 )
              \D{format}
                     le format est pass  strftime(3) et le  rsultat  est  insr
                     dans  la  chane de l'invite ; un format vide implique une
                     reprsentation du temps spcifique aux  paramtres  linguis-
                     tiques rgionaux. Les accolades sont ncessaires.
              \e     un caractre d'chappement ASCII (033)
              \h     le nom de la machine, jusqu'au premier point  .
              \H     le nom de la machine
              \j     le nombre de tches actuellement gres par l'interprteur
              \l     le  nom  de  base  du  nom  de  priphrique de terminal de
                     l'interprteur
              \n     saut de ligne
              \r     retour chariot (carriage return)
              \s     le nom de l'interprteur, c'est--dire le nom de base de $0
                     (la portion suivant l dernire 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 sur 12 heures au format HH:MM am/pm
              \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  numro  de version complet (avec niveau de correctifs)
                     de bash, (par exemple, 2.00.0)
              \w     le rpertoire de travail courant, avec $HOME abrg en tilde
                     ( ~ )
              \W     le  nom  de  base  du  rpertoire de travail courant, avec
                     $HOME abrg en tilde ( ~ )
              \!     le numro d'historique de la commande
              \#     le numro de la commande
              \$     # si l'UID effectif est 0, $ sinon
              \nnn   le caractre de code octal nnn
              \\     une contre-oblique
              \[     dbute une suite de caractres non imprimables, qui peuvent
                     tre  utiliss  pour inclure une suite de caractres de con-
                     trle du terminal dans l'interprteur
              \]     fin d'une suite de caractres non imprimables

       Le  numro  de  commande  et  le  numro  d'historique  sont   gnralement
       diffrents :  le  numro d'historique d'une commande correspond  sa posi-
       tion dans la file d'historique qui peut contenir des  commandes  relues
       depuis  cette  liste  (voir HISTORIQUE plus bas), alors que le numro de
       commande est simplement une position dans la suite de commandes excutes
       depuis  le dbut de la session d'interprteur courante. Aprs que la chane
       a t dcode, elle est soumise au dveloppement des paramtres,  la  substi-
       tution de commande, au dveloppement arithmtique au dcoupage des mots et
       la suppression des protections, selon la valeur de l'option  d'interpr-
       teur  promptvars  (voir plus bas la description de shopt dans COMMANDES
       INTERNES DE L'INTERPRTEUR ).

READLINE

       C'est la bibliothque qui gre la lecture des saisies lors  des  sessions
       interactives  de l'interprteur,  moins que l'option --noediting ne soit
       indique  l'appel de l'interprteur. Par dfaut les commandes d'dition  de
       ligne  sont similaires  celles d'emacs. Une interface d'dition de ligne
       dans le style vi est aussi disponible. Pour arrter  l'dition  de  ligne
       aprs  le dmarrage de l'interprteur, utiliser l'option +o emacs ou +o vi
       de la commande  interne  set  (voir  plus  bas  COMMANDES  INTERNES  DE
       L'INTERPRTEUR ).

   Notation readline
       Dans  ce  paragraphe on utilisera la notation   la emacs  pour indiquer
       les frappes de touches. Les touches Contrle sont  notes  C-touche,  par
       exemple  C-n signifie Contrle-N. De mme, les touches Mta sont notes par
       M-touche, ainsi M-x signifie Mta-X. (Sur les claviers sans touches Mta,
       M-x  signifie ESC x, c'est--dire presser la touche d'chappement puis la
       touche x. Cela fait de ESC le prfixe mta. La combinaison M-C-x signifie
       ESC-Contrle-x  ou  encore presser la touche d'chappement puis maintenez
       la touche Contrle enfonce tout en pressant la touche x.)

       Les commandes readline peuvent recevoir des  arguments  numriques,  qui
       fonctionnent  en  rgle  gnrale  comme  compteurs de rptitions. Parfois,
       cependant, c'est le signe de l'argument qui est significatif.  L'utili-
       sation  d'un  argument  ngatif  pour une commande agissant dans un sens
       donn (par ex. kill-line) conduit cette commande  agir dans la direction
       oppose. Les commandes dont le comportement avec les arguments diffre de
       ceci sont indiques plus bas.

       Lorsqu'une commande est indique comme  dtruisant  du  texte,  le  texte
       effac  est  en  fait  sauvegard pour une ventuelle rcupration ultrieure
       (yanking). Il est conserv dans un tampon circulaire.  Les  suppressions
       successives  conduisent   l'accumulation  du  texte en un seul bloc qui
       peut tre rcupr en une fois. Les commandes non destructrices sparent les
       blocs de textes dans le tampon circulaire.

   Initialisation de readline
       Readline  est  personnalis  en  mettant  des  commandes dans un fichier
       d'initialisation (le fichier inputrc). Le nom de ce  fichier  est  pris
       dans la variable de l'interprteur INPUTRC.  Si cette variable est inex-
       istante, le nom par dfaut est ~/.inputrc. Lorsqu'un programme utilisant
       la  bibliothque  readline dmarre, le fichier d'initialisation est lu et
       les raccourcis clavier et les variables sont mis en place. Il n'y a que
       quelques  constructions  lmentaires de possibles dans le fichier d'ini-
       tialisation de readline. Les lignes blanches sont ignores.  Les  lignes
       commenant  par  #  sont  des  commentaires.  Les lignes commenant par $
       indiquent  des  constructions  conditionnelles.   Les   autres   lignes
       indiquent des raccourcis clavier et des paramtrages de variables.

       Les  raccourcis  clavier  par  dfaut peuvent tre modifis par un fichier
       inputrc. D'autres programmes qui utilisent  cette  bibliothque  peuvent
       ajouter leurs propres commandes et raccourcis.

       Par exemple, en plaant

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

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

       En  plus  des noms de commandes, readline permet d'associer  une touche
       une chane de caractres qui sera insre lorsque la touche est presse (une
       macro).

   Raccourcis clavier readline
       La  syntaxe de dfinition des raccourcis clavier dans le fichier inputrc
       est simple. Tout ce qui est ncessaire est le nom de la commande  ou  le
       texte  d'une macro et la suite de touches  laquelle il faut l'associer.
       Les noms de touches peuvent tre spcifis de l'une des deux faons : comme
       un  nom  de  touche symbolique, ventuellement prcd des prfixes 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 associ  la fonction universal-argu-
       ment, M-DEL  la fonction backward-kill-word et C-o   l'excution  de  la
       macro  exprime  dans la partie gauche (c'est--dire, insrer le texte ``>
       output'' sur la ligne).

       Avec la seconde  forme,  "touches":nom_de_fonction  ou  macro,  touches
       diffre  de  touche ci-dessus en ce que les chanes notant une suite com-
       plte de touches peut tre spcifie en plaant la  suite  entre  guillemets
       doubles.  Certaines  suites  de  touches d'chappement dans le style GNU
       Emacs peuvent tre utilises, comme dans l'exemple suivant, mais les noms
       de caractres 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  nouveau associ  la fonction universal-argu-
       ment, C-x C-r  la fonction re-read-init-file et ESC [ 1 1  ~   l'inser-
       tion du texte ``Function Key 1''.

       Le jeu complet des suites de caractres d'chappements du style GNU Emacs
       est
              \C-    prfixe Contrle
              \M-    prfixe Mta
              \e     caractre d'chappement
              \\     contre-oblique
              \"     un guillemet " littral
              \'     un guillemet ' littral

       En plus des suites de caractres d'chappement dans le style  GNU  Emacs,
       un  second  jeu de suites de caractres d'chappement par contre-obliques
       est disponible :
              \a     alerte (alarme)
              \b     effacement arrire (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 caractre 8 bits dont la valeur octale est nnn  (de  un
                     trois chiffres)
              \xHH   le  caractre 8 bits dont la valeur hexadcimale est HH (un
                     deux symboles hexadcimaux)

       Lorsqu'on saisit le texte d'une macro, il faut utiliser des  guillemets
       simples  ou  des  doubles  pour  indiquer la dfinition de la macro. Les
       textes non protgs sont considrs comme des noms de  fonctions.  Dans  le
       corps de la macro, les protections par contre-oblique dcrites plus haut
       sont dveloppes. La contre-oblique protgera tout autre caractre dans  le
       texte de la macro, y compris " et '.

       Bash  permet  d'afficher ou de modifier les raccourcis clavier readline
       avec la commande interne bind. On  peut  basculer  d'un  mode  d'dition
       l'autre  en  mode  interactif  en  utilisant l'option -o de la commande
       interne set (voir plus bas COMMANDES INTERNES DE L'INTERPRTEUR ).

   Variables de readline
       Readline dispose de variables permettant de personnaliser  encore  plus
       son  comportement.  Une  variable peut tre mise dans le fichier inputrc
       avec une affectation de la forme

              set nom_de_variable valeur

       Sauf indication contraire,  les  variables  de  readline  prennent  les
       valeurs  On  ou  Off (la casse tant sans importance). Les noms de vari-
       ables non reconnues sont ignors. Lorsqu'une valeur de variable est lue,
       les  variables vides ou de valeur nulle,  on  (insensible  la casse) et
        1  sont quivalent  On. Toutes les autres valeurs sont quivalentes Off.
       Les variables et leurs valeurs par dfaut, sont :

       bell-style (audible)
              Cette   variable  commande  readline  lorsqu'il  faut  dclencher
              l'alarme du terminal.  Si  mise   none,  readline  n'met  jamais
              d'alarme.  Si mise visible, readline utilise une alarme visuelle
              s'il en est une de disponible. Si mise  audible, readline essaie
              de faire sonner l'alarme du terminal.
       bind-tty-special-chars (On)
              Si  mise  On, readline tente d'associer les caractres de contrle
              traits spcialement par le pilote de  terminal  du  noyau   leurs
              quivalents readline.
       comment-begin ( # )
              Cette  chane est insre quand la commande readline insert-comment
              est excute. Cette commande est associe  M-# en mode emacs et   #
              en mode de commande vi.
       completion-ignore-case (Off)
              Si  mise   On, readline effectue les correspondances et complte-
              ments de noms de fichiers sans tenir compte de la casse.
       completion-query-items (100)
              Ceci dtermine quand l'utilisateur est interrog pour voir le nom-
              bre  de  compltements  possibles produits par la commande possi-
              ble-completions. Elle peut tre mise  toute valeur  entire  posi-
              tive. Si le nombre de compltements possibles est suprieur ou gal
              la valeur de cette variable, il est demand   l'utilisateur  s'il
              veut ou non les voir ; sinon, ils sont simplement affichs sur le
              terminal.
       convert-meta (On)
              Si mise  On,  readline  transformera  les  caractres  avec  leur
              huitime bit
               1  en  suite de caractres ASCII en supprimant le huitime bit et
              en insrant comme prfixe un caractre d'chappement  (en  fait,  en
              utilisant le caractre d'chappement comme prfixe mta).
       disable-completion (Off)
              Si mise  On, readline empchera le compltement des mots. Les car-
              actres de compltement seront insrs  sur  la  ligne  comme  s'ils
              avaient t associs
               self-insert.
       editing-mode (emacs)
              Commande  si  readline  doit dmarrer avec des raccourcis clavier
              similaires emacs ou  vi. editing-mode peut tre mis  soit   emacs
              ou soit vi.
       enable-keypad (Off)
              Quand  mise   On,  readline  essayera  d'activer  le  clavier de
              l'application lorsqu'elle sera  appele.  Sur  certains  systmes,
              cela est ncessaire pour utiliser les flches.
       expand-tilde (Off)
              Si  mise  on, le dveloppement du tilde est effectu lorsque read-
              line tente un compltement de commandes.
       history-preserve-point (Off)
              Si mise  on,  le  programme  d'historique  tente  de  placer  le
              curseur  au  mme  endroit  sur chaque ligne de l'historique avec
              previous-history ou next-history.
       horizontal-scroll-mode (Off)
              Quand mise  On, readline utilisera une seule  ligne  d'affichage
              et  fera  dfiler  la  saisie horizontalement sur une seule ligne
              d'cran quand elle devient plus longue que la largeur de  l'cran,
              plutt que de faire un retour
               la ligne.
       input-meta (Off)
              Si  mise   On,  readline  acceptera  des  saisies  sur huit bits
              (autrement dit il ne supprimera pas le huitime  bit),  quel  que
              soit  le  terminal utilis. Le nom meta-flag est un synonyme pour
              cette variable.
       isearch-terminators ( C-[C-J )
              La chane des caractres qui doivent terminer une recherche  incr-
              mentale  sans  que le caractre ne soit excut comme une commande.
              Si cette variable n'a pas reu de valeur, les  caractres  ESC  et
              C-J termineront une recherche incrmentale.
       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
              quivalent vi-command ; emacs est quivalent   emacs-standard.  La
              valeur  par  dfaut est emacs ; la valeur de editing-mode modifie
              aussi le jeu de raccourcis par dfaut.
       mark-directories (On)
              Si mise  On, les  noms  de  rpertoires  ont  une  barre  oblique
              d'ajoute.
       mark-modified-lines (Off)
              Si  mise   On, les lignes d'historique qui ont t modifies seront
              prcdes  l'affichage d'un astrisque (*).
       mark-symlinked-directories (Off)
              Si mise  On, les noms complts qui  sont  des  liens  symboliques
              vers  des  rpertoires  ont  une barre oblique d'ajoute (selon la
              valeur de mark-directories).
       match-hidden-files (On)
              Cette variable, quand mise  On, conduit readline   faire  corre-
              spondre  des  fichiers dont le nom commence par un  .  (fichiers
              cachs) lors du compltement de noms de fichiers,   moins  que  le
               .   de tte soit fourni par l'utilisateur dans le nom de fichier
              complter.
       output-meta (Off)
              Si mise  On, readline affichera directement les caractres  ayant
              leur huitime bit  1, plutt que d'utiliser une suite de caractres
              d'chappement avec prfixe mta.
       page-completions (On)
              Si mise  On, readline utilise un visualisateur interne  du  type
              more pour afficher un plein cran  la fois des compltements.
       print-completions-horizontally (Off)
              Si  mise  On, readline affichera les compltements correspondants
              tris horizontalement dans l'ordre alphabtique plutt  que  verti-
              calement.
       show-all-if-ambiguous (Off)
              Ceci modifie le comportement par dfaut des fonctions de complte-
              ment. Si mise  on, les mots qui ont plus d'un compltement possi-
              bles  conduisent  l'affichage  immdiat des correspondances plutt
              qu' l'mission d'une alarme.
       show-all-if-unmodified (Off)
              Ceci modifie le comportement par dfaut des fonctions de complte-
              ment  de faon similaire  show-all-if-ambiguous. Si mise  on, les
              mots qui ont plus d'un compltement possible sans aucun  complte-
              ment  partiel  possible (les compltements possibles ne partagent
              pas de prfixe commun) conduisent
               l'affichage immdiat des  correspondances  plutt  qu'  l'mission
              d'une alarme.
       visible-stats (Off)
              Si  mise   On,  un  caractre indiquant le type de fichier, comme
              signal par stat(2) est ajout aux noms de fichiers  en  affichant
              les compltements possibles.

   Constructions conditionnelles de readline
       Readline implmente un mcanisme inspir des fonctionnalits de compilation
       conditionnelle du pr-processeur C qui permet d'effectuer le  paramtrage
       des raccourcis clavier et des variables selon les rsultats de tests. Il
       y a quatre directives d'analyse utilises.

       $if    La structure $if permet de choisir les raccourcis selon le  mode
              d'dition,  le  terminal  utilis ou l'application utilisant read-
              line. Le texte du test va jusqu' la fin de la ligne ; aucun car-
              actre n'est ncessaire pour le dlimiter.

              mode   La  forme mode= de la directive $if est utilise pour vri-
                     fier si readline est en mode emacs ou vi. Ceci  peut  tre
                     utilis conjointement  la commande set keymap, par exemple
                     pour ne mettre les  raccourcis  des  jeux  de  raccourcis
                     emacs-standard  et  emacs-ctlx  que si readline dmarre en
                     mode emacs.

              term   La forme term= peut tre utilise pour ajouter des raccour-
                     cis  clavier  spcifiques  au terminal, comme associer des
                     suites de touches produites par des touches  de  fonction
                     du  terminal.  Le  mot   droite du signe = est compar  la
                     fois au nom complet du terminal et  la portion de nom  du
                     terminal  qui  prcde le premier signe -. Ceci permet, par
                     exemple, de faire correspondre sun avec  la fois  sun  et
                     sun-cmd.

              application
                     La  structure  application  est  utilise pour inclure des
                     paramtrages spcifiques  chaque application.  Chaque  pro-
                     gramme utilisant la bibliothque readline configure un nom
                     d'application et un fichier d'initialisation peut  tester
                     une   valeur  particulire.  Ceci  peut  tre  utilis  pour
                     associer des suites de touches  des fonctions utiles pour
                     un  certain  programme.  Par exemple, les commandes suiv-
                     antes ajoutent une suite de touches  qui  protge  le  mot
                     courant ou prcdant dans Bash :

                     $if Bash
                     # Protger le mot courant ou le prcdant
                     "\C-xq": "\eb\"\ef\""
                     $endif

       $endif Cette  commande,  comme on l'a vu dans l'exemple ci-dessus, ter-
              mine une commande $if.

       $else  Permet d'ajouter des commandes qui  seront  excutes  si  un  $if
              choue.

       $include
              Cette directive prend un seul nom de fichier comme argument et y
              lit les commandes et les raccourcis. Par exemple,  la  directive
              suivante lirait le fichier /etc/inputrc :

              $include  /etc/inputrc

   Recherche
       Readline  fournit des commandes de recherche au sein de l'historique de
       commandes (voir HISTORIQUE plus bas) des  lignes  contenant  une  chane
       donne. Il y a deux modes de recherche : incrmental et non incrmental.

       Les  recherches incrmentales commencent avant mme que l'utilisateur ait
       termin de saisir la chane recherche.  chaque caractre  saisi,  readline
       affiche  l'lment  suivant  de  l'historique qui correspond  la chane dj
       entre. Une recherche incrmentale ncessite seulement le nombre de carac-
       tres indispensable pour retrouver l'lment d'historique dsir. Les carac-
       tres se trouvant dans la variable isearch-terminators servent  terminer
       une  recherche  incrmentale. Si aucune valeur n'a t affecte cette vari-
       able les caractres  chappement  (Escape)  et  Contrle-J  terminent  une
       recherche  incrmentale.  Contrle-G  permet  d'interrompre une recherche
       incrmentale et de restaurer la ligne originale.  Lorsque  la  recherche
       est  finie,  l'lment  d'historique  contenant la chane dsire devient la
       ligne courante.

       Pour trouver les autres lments correspondant dans la file d'historique,
       saisissez selon Contrle-S ou Contrle-R. Ceci recherchera en avant ou en
       arrire dans l'historique l'lment suivant correspondant  la chane saisie
       jusque-l.  Toute  autre suite de touches associe  une commande readline
       interrompra la recherche et excutera la commande. Par exemple, un  saut
       de ligne interrompra la recherche et acceptera la ligne, excutant ainsi
       la commande de la file d'historique.

       Readline se souvient de la dernire chane de recherche  incrmentale.  Si
       deux  Contrle-R  sont  taps  sans  caractre  pour  dfinir  une nouvelle
       recherche de chane, toute chane mmorise sera utilise.

       Les recherches non incrmentales lisent la chane dsire en  entier  avant
       de  dmarrer  la recherche de correspondance dans la liste d'historique.
       La chane peut tre 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 associes par dfaut. Les noms de commandes
       sans  suite  de touche les accompagnant ne sont pas associes par dfaut.
       Dans les descriptions suivantes, le curseur  (point)  se  rapporte   la
       position  courante du curseur et la marque se rapporte  une position de
       curseur sauvegarde par la commande set-mark. Le texte entre le  curseur
       et la marque est dsign comme la zone.

   Commandes de dplacement
       beginning-of-line (C-a)
              Saut au dbut de la ligne courante.
       end-of-line (C-e)
              Saut  la fin de la ligne.
       forward-char (C-f)
              Avancer d'un caractre.
       backward-char (C-b)
              Reculer d'un caractre.
       forward-word (M-f)
              Avancer  jusqu'  la fin du mot suivant. Les mots sont composs de
              caractres alphanumriques (lettres et chiffres).
       backward-word (M-b)
              Reculer jusqu'au dbut du mot courant ou  du  prcdent.  Les  mots
              sont  composs de caractres alphanumriques (lettres et chiffres).
       clear-screen (C-l)
              Effacer l'cran, en laissant  la  ligne  courante  au  sommet  de
              l'cran.  S'il  y a un argument, rafrachir la ligne courante sans
              effacer l'cran.
       redraw-current-line
              Rafrachir 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  la file d'historique,
              sous contrle de la variable HISTCONTROL.  Si cette ligne est une
              modification   d'une  ligne  de  l'historique,  restaurer  cette
              dernire.
       previous-history (C-p)
              Rcuprer la commande prcdente de la file d'historique, en  remon-
              tant dans la file.
       next-history (C-n)
              Rcuprer  la  commande  suivante  dans  la  file d'historique, en
              descendant dans la file.
       beginning-of-history (M-<)
              Rcuprer la premire ligne de l'historique.
       end-of-history (M->)
              Retourner  la fin de l'historique  de  saisie,  c'est--dire   la
              ligne en cours de saisie.
       reverse-search-history (C-r)
              Rechercher  en arrire dans l'historique, en remontant. C'est une
              recherche incrmentale.
       forward-search-history (C-s)
              Rechercher en avant dans l'historique, en descendant. C'est  une
              recherche incrmentale.
       non-incremental-reverse-search-history (M-p)
              Rechercher  une  chane en arrire dans l'historique, en remontant
              depuis la ligne actuelle, utiliser une recherche non incrmentale
              pour une chane fournie par l'utilisateur.
       non-incremental-forward-search-history (M-n)
              Rechercher  une  chane  en avant dans l'historique, utiliser une
              recherche non incrmentale pour une chane fournie par  l'utilisa-
              teur.
       history-search-forward
              Rechercher en avant dans l'historique la chane comprise entre le
              dbut de la ligne actuelle et la position du curseur.  C'est  une
              recherche non incrmentale.
       history-search-backward
              Rechercher  en  arrire dans l'historique la chane comprise entre
              le dbut de la ligne actuelle et la position  du  curseur.  C'est
              une recherche non incrmentale.
       yank-nth-arg (M-C-y)
              Insrer,   l'emplacement  du  curseur,  le premier argument de la
              commande prcdente. Gnralement, il s'agit du  second  mot  de  la
              ligne  prcdente.  Avec  un argument n, insrer le n-ime mot de la
              commande prcdente (les mots sont numrots  partir de 0). Un argu-
              ment  ngatif  insre le n-ime mot en partant de la fin de la com-
              mande prcdente. Une fois que l'argument n est trait,  l'argument
              est  extrait  comme si le dveloppement d'historique  !n  avait t
              spcifi.
       yank-last-arg (M-., M-_)
              Insrer  la position du curseur le dernier argument  de  la  com-
              mande  prcdente  (le  dernier  mot de l'lment prcdent de la file
              d'historique). Avec un argument, se  comporte  exactement  comme
              yank-nth-arg.  Les  appels  successifs   yank-last-arg remontent
              dans la file d'historique en  insrant  le  dernier  argument  de
              chaque  ligne tour tour. Les outils de dveloppement d'historique
              sont utiliss pour extraire le  dernier  argument,  comme  si  le
              dveloppement d'historique  !$  avait t spcifi.
       shell-expand-line (M-C-e)
              Dvelopper,  comme le fait l'interprteur, la ligne courante. Ceci
              effectue le dveloppement des alias  et  de  l'historique,  aussi
              bien  que  l'ensemble  des dveloppements effectus par l'interpr-
              teur. Voir plus  bas  DVELOPPEMENT  DE  L'HISTORIQUE,  pour  une
              description dtaille du dveloppement de l'historique.
       history-expand-line (M-^)
              Effectuer  le  dveloppement  d'historique sur la ligne courante.
              Voir plus bas DVELOPPEMENT DE L'HISTORIQUE, pour une description
              dtaille.
       magic-space
              Effectuer  le dveloppement de l'historique sur la ligne courante
              et insrer une espace.  Voir  plus  bas  DVELOPPEMENT  DE  L'HIS-
              TORIQUE, pour une description dtaille.
       alias-expand-line
              Effectuer  le dveloppement des alias sur la ligne courante. Voir
              ALIAS plus haut pour une description des dveloppements  d'alias.
       history-and-alias-expand-line
              Effectuer  le  dveloppement  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 rcuprer la ligne suivante de l'his-
              torique pour dition. Tout argument est ignor.
       edit-and-execute-command (C-xC-e)
              Appelle un diteur sur la ligne de commande courante et excute le
              rsultat comme une commande d'interprteur. Bash tente  d'appeler,
              dans cet ordre, $FCEDIT, $EDITOR et emacs comme diteur.

   Commande d'dition de texte
       delete-char (C-d)
              Effacer  le  caractre sous le curseur. Si le curseur est au dbut
              de la ligne, si celle-ci est vide  et  si  le  dernier  caractre
              saisi n'tait pas associ  delete-char, alors renvoyer EOF.
       backward-delete-char ( Rubout  : Effacement)
              Effacer  le  caractre avant le curseur. Lorsque un argument num-
              rique est indiqu, le texte effac est sauvegard  dans  le  tampon
              circulaire.
       forward-backward-delete-char
              Effacer  le  caractre  sous  le curseur, sauf s'il est en fin de
              ligne, auquel cas le caractre avant le curseur est effac.
       quoted-insert (C-q, C-v)
              Ajouter littralement sur la ligne  le  caractre  saisi  suivant.
              Ceci permet d'insrer des caractres comme C-q, par exemple.
       tab-insert (C-v TAB)
              Insrer un caractre de tabulation.
       self-insert (a, b, A, 1, !, ...)
              Insrer le caractre mentionn.
       transpose-chars (C-t)
              changer  les caractres se trouvant devant et sous le curseur. Le
              curseur est avanc d'un caractre.  la fin d'une ligne, les carac-
              tres  changs sont les deux prcdents. Les arguments ngatifs n'ont
              aucun effet.
       transpose-words (M-t)
              Dplace le mot avant le curseur au-del du mot aprs le curseur  et
              dplace aussi le curseur sur ce mot. Si le curseur est  la fin de
              la ligne, cela change les deux derniers mots de la ligne.
       upcase-word (M-u)
              Transformer le mot courant (ou le suivant) en  majuscules.  Avec
              un  argument ngatif, agir sur le mot prcdent mais ne pas dplacer
              le curseur.
       downcase-word (M-l)
              Transformer le mot courant (ou le suivant) en  minuscules.  Avec
              un  argument ngatif, agir sur le mot prcdent mais ne pas dplacer
              le curseur.
       capitalize-word (M-c)
              Passer en majuscule l'initiale du mot courant (ou  du  suivant).
              Avec  un  argument  ngatif,  agir sur le mot prcdent mais ne pas
              dplacer le curseur.
       overwrite-mode
              Basculer  en  mode  d'crasement.  Avec  un   argument   numrique
              explicite strictement positif, bascule en mode d'crasement. Avec
              un argument numrique explicite ngatif ou nul,  bascule  en  mode
              d'insertion.  Cette  commande  n'affecte  que le mode emacs ; le
              mode vi crase de faon diffrente. Chaque appel  readline() dmarre
              en  mode d'insertion. En mode d'crasement, les caractres associs
              self-insert remplacent le texte sous le  curseur  plutt  que  de
              dplacer  le  texte  vers la droite. Les caractres associs  back-
              ward-delete-char remplacent le caractre avant le curseur par une
              espace. Par dfaut, cette commande n'est pas associe.

   Effacement et rcupration
       kill-line (C-k)
              Effacer  le texte depuis la position du curseur jusqu' la fin de
              la ligne.
       backward-kill-line (C-x Effacement)
              Effacer en arrire jusqu'au dbut de ligne.
       unix-line-discard (C-u)
              Effacer le texte entre le dbut de la ligne  et  la  position  du
              curseur. Le texte est sauvegard dans le tampon circulaire.
       kill-whole-line
              Effacer  toute  la  ligne  sans  tenir  compte de la position du
              curseur.
       kill-word (M-d)
              Effacer le texte entre le curseur et la fin du mot  courant  ou,
              si entre des mots, jusqu' la fin du mot suivant. Les limites des
              mots sont identiques celles utilises par forward-word.
       backward-kill-word (M-Effacement)
              Effacer le mot sous le curseur. Les limites de mots  sont  iden-
              tiques  celles utilises par backward-word.
       unix-word-rubout (C-w)
              Effacer  le mot sous le curseur, en utilisant une espace blanche
              comme limite de mot. Le texte effac est sauvegard dans le tampon
              circulaire.
       unix-filename-rubout
              Effacer le mot sous le curseur, en utilisant l'espace blanche et
              la barre oblique comme limites de  mot.  Le  texte  supprim  est
              sauvegard dans le tampon circulaire.
       delete-horizontal-space (M-\)
              Effacer toutes les espaces blanches et les tabulations autour du
              curseur.
       kill-region
              Dtruire le texte dans la zone courante.
       copy-region-as-kill
              Copier le texte de la zone vers le tampon circulaire.
       copy-backward-word
              Copier le mot prcdant le curseur dans le tampon circulaire.  Les
              limites de mots sont identiques  celles de backward-word.
       copy-forward-word
              Copier  le mot suivant le curseur dans le tampon circulaire. Les
              limites de mots sont identiques  celles de forward-word.
       yank (C-y)
              Rcuprer le texte au sommet du tampon circulaire  la position  du
              curseur dans le tampon.
       yank-pop (M-y)
              Excuter  une  rotation  du tampon circulaire et rcuprer le texte
              situ  son nouveau sommet. Ceci ne  fonctionne  qu'aprs  yank  ou
              yank-pop.

   Arguments numriques
       digit-argument (M-0, M-1, ..., M--)
              Ajouter  ce  chiffre  l'argument en cours de rdaction ou crer un
              nouvel argument. M-- cre un argument ngatif.
       universal-argument
              Il s'agit d'une autre faon de spcifier  un  argument.  Si  cette
              commande  est  suivie d'un ou plusieurs chiffres facultativement
              prcds d'un signe moins, ces chiffres dfinissent  l'argument.  Si
              la  commande  est  suivie  de chiffres, une nouvelle excution de
              universal-argument termine l'argument numrique, mais est  ignore
              dans les autres cas. Par exception, si cette commande est suivie
              immdiatement par un caractre qui n'est ni un chiffre ni le signe
              moins,  le compteur d'arguments de la commande suivante est mul-
              tipli par 4. Le compteur d'arguments est initialement  un,  donc
              la  premire  excution de cette commande amne le compteur d'argu-
              ments  quatre, une seconde fois porte  le  compteur  d'arguments
              seize et ainsi de suite.

   Compltement
       complete (TAB)
              Essayer  d'effectuer  un  compltement  du  texte  situ  avant le
              curseur. Bash effectue le compltement en considrant  tour   tour
              le  texte  comme  une  variable  (s'il  commence  par $), un nom
              d'utilisateur (s'il commence par ~), un  nom  de  machine  (s'il
              commence  par  @)  ou  une  commande (y compris les alias et les
              fonctions). Si aucun ne correspond, un  compltement  de  nom  de
              fichier est essay.
       possible-completions (M-?)
              Affiche  les  compltements possibles pour le texte situ avant le
              curseur.
       insert-completions (M-*)
              Insrer avant le curseur l'ensemble des compltements qui auraient
              t produits par possible-completions.
       menu-complete
              Analogue   complete,  mais en remplaant le mot  complter par une
              seule correspondance de la liste des compltements possibles. Des
              excutions  rptes  de  menu-complete parcourent la liste des com-
              pltements  possibles,  en  insrant  chaque  correspondance  tour
              tour.   la fin de la liste des compltements, une alarme est mise
              (selon la configuration de bell-style) et le texte original  est
              restaur.  Un  argument  de n dplace de n positions dans la liste
              des correspondances. Un argument ngatif  peut  tre  utilis  pour
              revenir en arrire dans la liste. Cette commande est destine  tre
              associe  la touche TAB, mais ne l'est pas par dfaut.
       delete-char-or-list
              Effacer le caractre sous le curseur sauf au dbut ou  en  fin  de
              ligne  (comme  delete-char).  En fin de ligne, se comporte comme
              possible-completions.  Cette  commande  n'est  associe    aucune
              touche par dfaut.
       complete-filename (M-/)
              Essayer  le  compltement  des noms de fichiers sur le texte situ
              avant le curseur.
       possible-filename-completions (C-x /)
              Afficher les compltements  possibles  du  texte  situ  avant  le
              curseur, trait comme un nom de fichier.
       complete-username (M-~)
              Essayer le compltement sur le texte situ avant le curseur, en le
              traitant comme un nom d'utilisateur.
       possible-username-completions (C-x ~)
              Afficher les compltements  possibles  du  texte  situ  avant  le
              curseur, en le traitant comme un nom d'utilisateur.
       complete-variable (M-$)
              Essayer le compltement sur le texte situ avant le curseur, en le
              traitant comme une variable de l'interprteur.
       possible-variable-completions (C-x $)
              Afficher les compltements  possibles  du  texte  situ  avant  le
              curseur, en le traitant comme une variable de l'interprteur.
       complete-hostname (M-@)
              Essayer le compltement sur le texte situ avant le curseur, en le
              traitant comme un nom de machine.
       possible-hostname-completions (C-x @)
              Afficher les compltements  possibles  du  texte  situ  avant  le
              curseur, en le traitant comme un nom de machine.
       complete-command (M-!)
              Essayer le compltement sur le texte situ avant le curseur, en le
              traitant comme un nom de commande. Le compltement des  commandes
              essaie  de  faire  correspondre  le  texte,  dans cet ordre, aux
              alias,  mots  rservs,  fonctions  de  l'interprteur,   commandes
              internes  de  l'interprteur  et  finalement les noms de fichiers
              excutables.
       possible-command-completions (C-x !)
              Afficher les compltements  possibles  du  texte  situ  avant  le
              curseur, en le traitant comme un nom de commande.
       dynamic-complete-history (M-TAB)
              Essayer  le  compltement  du  texte situ avant le curseur, en le
              comparant aux lignes de la file d'historique  lui  correspondant
              pour les compltements possibles.
       complete-into-braces (M-{)
              Effectuer  un compltement en noms de fichiers et insrer la liste
              des compltements possibles entre accolades  afin  que  la  liste
              soit  exploitable par l'interprteur (voir Dveloppement des acco-
              lades plus haut).

   Macros clavier
       start-kbd-macro (C-x ()
              Dmarre la mmorisation dans la macro en cours des caractres taps.
       end-kbd-macro (C-x ))
              Arrte la mmorisation dans la macro en cours des caractres saisis
              et conserve la dfinition.
       call-last-kbd-macro (C-x e)
              R-excute la dernire macro dfinie, en agissant comme si les  car-
              actres contenus dans cette macro taient 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'dition en cours et mettre une  alarme  de  terminal
              (selon la configuration de la variable bell-style).
       do-uppercase-version (M-a, M-b, M-x, ...)
              Si  le  caractre x prcd de Mta est en minuscule, excuter la com-
              mande qui est associe aux caractres majuscules correspondants.
       prefix-meta (ESC)
              Considrer le prochain caractre saisi comme un Mta.   ESC  f  est
              quivalent  Meta-f.
       undo (C-_, C-x C-u)
              Fonction  d'annulation  incrmentale,  chaque  ligne tant mmorise
              sparment.
       revert-line (M-r)
              Annuler toutes les modifications sur cette ligne. Ceci est quiv-
              alent  rpter undo en nombre suffisant pour ramener la ligne  son
              tat initial.
       tilde-expand (M-&)
              Effectuer le dveloppement du tilde sur le mot courant.
       set-mark (C-@, M-<space>)
              Placer la marque  la position actuelle du curseur. Si  un  argu-
              ment numrique est fourni, la marque est pose  la position corre-
              spondante.
       exchange-point-and-mark (C-x C-x)
              changer le curseur et la marque. Le position courante du curseur
              est  mise  la position sauvegarde prcdemment et l'ancienne posi-
              tion du curseur est mmorise comme la marque.
       character-search (C-])
              Un caractre est lu et le curseur dplac  l'occurrence suivante de
              ce  caractre.  Un argument ngatif recherche les occurrences prc-
              dentes.
       character-search-backward (M-C-])
              Un caractre est lu et le curseur dplac  l'occurrence prcdente de
              ce  caractre. Un argument ngatif recherche les occurrences suiv-
              antes.
       insert-comment (M-#)
              Sans argument numrique, la valeur de la  variable  comment-begin
              de  readline est insre au dbut de la ligne courante. Si un argu-
              ment numrique est fourni, cette commande  agit  comme  une  bas-
              cule :  si  les  caractres du dbut de ligne ne correspondent pas
              la valeur de comment-begin, la valeur est insre, sinon, les car-
              actres  dans comment-begin sont effacs du dbut de la ligne. Dans
              les deux cas, la ligne est accepte comme si  un  saut  de  ligne
              avait  t  saisi.  La  valeur  par dfaut de comment-begin conduit
              cette commande  transformer la ligne courante  de  l'interprteur
              en commentaire. Si un argument numrique conduit  l'effacement du
              caractre de commentaire, la ligne sera excute par l'interprteur.
       glob-complete-word (M-g)
              Le  mot  avant  le  curseur  est  trait  comme  un motif pour un
              dveloppement de chemin, avec un astrisque  implicitement  ajout.
              Ce  motif est utilis pour produire une liste de noms de fichiers
              correspondants pour de possibles compltements.
       glob-expand-word (C-x *)
              Le mot  prcdant  le  curseur  est  considr  comme  un  motif  de
              dveloppement  de  chemin et la liste des fichiers correspondants
              est insre  sa place. Si un  argument  numrique  est  fourni,  un
              astrisque est ajout avant le dveloppement du chemin.
       glob-list-expansions (C-x g)
              La   liste   des   dveloppements   qui  aurait  t  produite  par
              glob-expand-word est affiche et la ligne est  rafrachie.  Si  un
              argument  numrique  est fourni, un astrisque est ajout devant le
              dveloppement du chemin.
       dump-functions
              Afficher toutes les fonctions et leurs raccourcis clavier sur le
              flot  de sortie de readline. Si un argument numrique est fourni,
              la sortie est mise en forme  de  faon   tre  incorpore  dans  un
              fichier inputrc.
       dump-variables
              Afficher  toutes  les  variables  readline  modifiables et leurs
              valeurs sur le flot de  sortie.  Si  un  argument  numrique  est
              fourni,  la  sortie est mise en forme de faon qu'elle puisse tre
              incorpore dans un fichier inputrc.
       dump-macros
              Afficher toutes les suites de  touches  readline  associes   des
              macros et les chanes auxquelles elles correspondent. Si un argu-
              ment numrique est fourni, la sortie est mise en forme d'une faon
              lui permettant d'tre incorpore dans un fichier inputrc.
       display-shell-version (C-x C-v)
              Afficher des informations sur la version courante de bash.

   Compltement programmable
       Lorsqu'un  compltement  de mot est tent pour un argument d'une commande
       pour laquelle une spcification de compltement a t dfinie  en  utilisant
       la  commande  interne  complete  (voir  plus  bas COMMANDES INTERNES DE
       L'INTERPRTEUR ), les outils de compltement programmables sont appels.

       En premier lieu, le nom de la commande est identifi. Si  une  spcifica-
       tion  de  compltement  a t dfinie pour cette commande, elle est utilise
       pour produire la liste des compltements possibles pour le  mot.  Si  le
       mot  de  commande  est  un chemin d'accs complet, on cherche en premier
       lieu une spcification de compltement pour le chemin d'accs complet.  Si
       aucune  spcification  de compltement n'est trouve pour le chemin d'accs
       complet, une tentative est effectue pour trouver  une  spcification  de
       compltement pour la portion suivant la barre oblique finale.

       Une  fois  qu'une  spcification  de  compltement  a  t trouve, elle est
       utilise pour produire la liste des mots correspondants. Si aucune spci-
       fication de compltement n'est trouve, le compltement par dfaut de bash,
       tel que dcrit plus haut dans Compltement est effectu.

       Tout d'abord, les actions dfinies par la  spcification  de  compltement
       sont  utilises.  Seules les correspondances qui sont prfixes par le mot
       complter sont renvoyes. Lorsque l'option -f ou -d est utilise  pour  le
       compltement  des  noms  de  fichiers  ou  de  rpertoire, la variable de
       l'interprteur FIGNORE est utilise pour filtrer les correspondances.

       Tous les compltements spcifis par le motif de dveloppement  de  nom  de
       fichier  de  l'option  -G sont ensuite produits. Il n'est pas ncessaire
       que les mots produits par le motif correspondent au mot   complter.  La
       variable de l'interprteur GLOBIGNORE n'est pas utilise pour filtrer les
       correspondances, mais la variable FIGNORE est utilise.

       Ensuite, la chane spcifie comme argument   l'option  -W  est  prise  en
       compte.  Cette chane est tout d'abord dcoupe en utilisant les caractres
       de la variable spciale IFS comme dlimiteurs. La protection de  l'inter-
       prtation  est  prise en compte. Chaque mot est ensuite dvelopp en util-
       isant les dveloppements d'accolades, du tilde,  des  paramtres  et  des
       variables,  de  mme  que la substitution de commande et le dveloppement
       arithmtique comme dcrit plus haut  dans  DVELOPPEMENTS.   Les  rsultats
       sont  dcoups  en utilisant les rgles dcrites plus haut dans Dcoupage en
       mots. Les rsultats du dveloppement sont compars au mot complter en con-
       sidrant  ce  dernier comme prfixe et les mots correspondants deviennent
       les compltements possibles.

       Aprs que  ces  correspondances  ont  t  produites,  toute  fonction  de
       l'interprteur ou commande spcifie avec les options -F et -C est appele.
       Lorsque la commande ou la fonction est appele, les variables  COMP_LINE
       et  COMP_POINT se voient affectes de valeurs comme dcrit plus haut dans
       Variables de  l'interprteur.  Si  une  fonction  de  l'interprteur  est
       appele,  les  variables  COMP_WORDS  et  COMP_CWORD sont galement cres.
       Lorsqu'une fonction ou une commande est appele, le premier argument est
       le nom de la commande dont les arguments doivent tre complts, le second
       argument est le mot  complter et le troisime argument est le  mot  prc-
       dent  celui  devant tre complt sur la ligne de commande. Aucun filtrage
       des compltements produits pour le mot
        complter n'est effectu ; la fonction ou la  commande  a  toute  libert
       dans la production des correspondances.

       Toute  fonction spcifie avec -F est appele en premier. La fonction peut
       utiliser tous les outils de l'interprteur, incluant la commande interne
       compgen  dcrite  plus bas, pour produire les correspondances. Elle doit
       mettre les compltements possibles dans la variable tableau COMPREPLY.

       Ensuite, toute commande spcifie avec l'option -C  est  appele  dans  un
       environnement  quivalent   la  substitution  de  commande. Elle devrait
       afficher une liste des compltements possibles, une par  ligne,  sur  la
       sortie standard. Si ncessaire, une contre-oblique peut tre utilise pour
       protger un caractre de saut de ligne.

       Aprs que tous les compltements possibles ont t produits,  tout  filtre,
       spcifi  avec l'option -X, est appliqu  la liste. Ce filtre est un motif
       comme utilis dans le dveloppement des chemins ; un & dans le motif  est
       remplac  par le texte du mot en cours de compltement. Un & littral peut
       tre protg par une contre-oblique ; la contre-oblique est supprime avant
       la tentative de mise en correspondance. Tout compltement qui correspond
       au motif sera supprim de la liste. Un ! au dbut du  motif  provoque  la
       ngation  de  ce  motif ; dans ce cas, tout compltement ne correspondant
       pas au motif sera supprim de la liste.

       Finalement, tous prfixe et suffixe spcifis avec les options  -P  et  -S
       sont ajouts  chacun des lments de la liste de compltement et le rsultat
       est renvoy au programme de compltement de readline comme tant la  liste
       des compltements possibles.

       Si  les  oprations prcdemment appliques ne produisent aucune correspon-
       dance et si l'option -o dirnames a t fournie  complete lorsque la spci-
       fication  de  compltement  a t dfinie, le compltement des noms de rper-
       toire est tent.

       Si l'option -o plusdirs a t fournie  complete lors de la  dfinition  de
       la  spcification  de compltement, le compltement des noms de rpertoires
       est tent et toute correspondance est ajoute  aux  rsultats  des  autres
       actions.

       Par  dfaut,  si  une  spcification  de  compltement est trouve, tout ce
       qu'elle produit est renvoy au programme de  compltement  comme  un  jeu
       complet  des compltements possibles. Les compltements par dfaut de bash
       ne sont pas tents et le compltement par dfaut de readline  ou  le  com-
       pltement de fichiers est dactiv. Si l'option -o bashdefault a t fournie
       complete lors de la dfinition de la spcification  de  compltement,  les
       compltements  par  dfaut  de bash sont tents si la spcification de com-
       pltement ne produit aucune correspondance. Si l'option -o default  a  t
       fournie   complete  lors de la dfinition de la spcification de complte-
       ment, le compltement par dfaut de readline sera effectu si la spcifica-
       tion  de compltement (et, si tents, les compltements par dfaut de bash)
       ne produise(nt) aucune correspondance.

       Lorsqu'une spcification de compltement indique qu'un compltement de nom
       de  rpertoire  est  souhait,  les fonctions de compltement programmable
       forcent readline  ajouter une barre oblique pour complter les noms  qui
       sont  des  liens symboliques vers des rpertoires, selon la valeur de la
       variable mark-directories de readline, indpendamment du  paramtrage  de
       la variable mark-symlinked-directories de readline.

HISTORIQUE

       Quand  l'option  -o  history  de  la  commande  interne set est active,
       l'interprteur donne accs  un historique des commandes,  c'est--dire  la
       liste des commandes prcdemment utilises. La valeur de la variable HIST-
       SIZE est utilise comme le nombre de commandes  sauvegarder dans la file
       d'historique.  Le texte des HISTSIZE dernires commandes (par dfaut 500)
       est sauvegard. L'interprteur conserve  chaque  commande  dans  la  file
       d'historique avant le dveloppement des paramtres et des variables (voir
       DVELOPPEMENTS plus haut) mais aprs avoir  effectu  le  dveloppement  de
       l'historique,  selon les valeurs des variables de l'interprteur HISTIG-
       NORE et HISTCONTROL.

       Au dmarrage, l'historique est initialis avec le fichier dont le nom est
       contenu  dans  la  variable  HISTFILE  (par  dfaut ~/.bash_history). Le
       fichier dsign par la valeur de HISTFILE est tronqu si  ncessaire,  pour
       ne  pas  contenir plus de lignes que le nombre spcifi par HISTFILESIZE.
       Lorsqu'un interprteur interactif termine, les HISTSIZE dernires  lignes
       de  la  file  d'historique  sont  copies  dans le fichier HISTFILE.  Si
       l'option d'interprteur histappend est active (voir plus bas la descrip-
       tion  de  shopt  dans COMMANDES INTERNES DE L'INTERPRTEUR ), les lignes
       sont ajoutes au fichier d'historique, sinon le  fichier  est  cras.  Si
       HISTFILE est inexistante ou si le fichier d'historique n'est pas acces-
       sible en criture, l'historique n'est pas sauvegard. Aprs la  sauvegarde
       de  l'historique,  le  fichier d'historique est tronqu pour ne pas con-
       tenir plus de HISTFILESIZE lignes. Si HISTFILESIZE n'existe pas, aucune
       troncature n'est effectue.

       La  commande interne fc (voir plus bas COMMANDES INTERNES DE L'INTERPR-
       TEUR ) permet d'afficher, d'diter ou de r-excuter une partie de la file
       d'historique.  La  commande  interne  history permet d'afficher la file
       d'historique et de manipuler le fichier d'historique. Quelque  soit  le
       mode  d'dition en ligne de commande, des commandes de recherche donnent
       accs  la file d'historique.

       L'interprteur permet de configurer quelles commandes seront sauvegardes
       dans la file d'historique. Les variables HISTCONTROL et HISTIGNORE peu-
       vent tre configures pour conduire l'interprteur  ne  sauvegarder  qu'un
       sous-ensemble des commandes saisies. L'option d'interprteur cmdhist, si
       active, conduit l'interprteur   essayer  de  sauvegarder  chaque  ligne
       d'une  commande  multiligne  dans  le  mme  lment  de  l'historique, en
       ajoutant des points-virgules si ncessaire pour prserver l'exactitude de
       la   syntaxe.  L'option  d'interprteur  lithist  conduit  l'interprteur
       sauvegarder les commandes avec des sauts de lignes incorpors plutt  que
       des  points-virgules.  Voir  plus  bas  la  description  de la commande
       interne shopt dans COMMANDES INTERNES DE L'INTERPRTEUR pour des  dtails
       sur la cration et la destruction des options d'interprteur.

DVELOPPEMENT DE L\'HISTORIQUE

       L'interprteur  propose  des possibilits de dveloppement de l'historique
       qui sont semblables  celles de csh. Ce paragraphe  dcrit  quelles  syn-
       taxes  sont  disponibles. Cette fonctionnalit est active par dfaut dans
       les interprteurs interactifs et peut tre dsactive en utilisant l'option
       +H  de  la  commande  interne  set (voir plus bas COMMANDES INTERNES DE
       L'INTERPRTEUR ). Les interprteurs non interactifs n'effectuent  pas  de
       dveloppement d'historique par dfaut.

       Le  dveloppement  de  l'historique  permet d'insrer des mots de la file
       d'historique dans le flot de saisie, facilitant la rptition de  comman-
       des,  l'insertion des arguments d'une ligne antrieure dans la saisie en
       cours ou la correction rapide d'erreurs dans les commandes prcdentes.

       Le dveloppement de l'historique est effectu immdiatement aprs  la  lec-
       ture  d'une  ligne  complte,  avant que l'interprteur ne la dcompose en
       mots. Il se droule en deux parties. La premire consiste   dterminer  la
       ligne de la file d'historique  utiliser pour les substitutions, la sec-
       onde permet de slectionner les parties de la  ligne   inclure  dans  la
       nouvelle  ligne. La ligne slectionne dans l'historique est l'vnement et
       les parties de cette ligne  rutiliser sont des mots. Plusieurs  modifi-
       cateurs  permettent  de  manipuler  les  mots  slectionns. La ligne est
       dcoupe en mots de la mme faon que lors  de  la  lecture  d'une  saisie,
       ainsi  plusieurs  mots  spars  par  des mtacaractres et encadrs par des
       guillemets simples sont considrs comme un unique mot.  Le  dveloppement
       de l'historique est introduit par l'apparition du caractre de dveloppe-
       ment, qui  est  !  par  dfaut.  Seule  la  contre-oblique  (\)  et  les
       guillemets simples permettent de protger le caractre de dveloppement de
       l'historique.

       Plusieurs caractres empchent le dveloppement de l'historique  s'ils  se
       trouvent immdiatement aprs le caractre de dveloppement de l'historique,
       mme  s'il  n'est  pas  protg :  espace,  tabulation,  saut  de   ligne,
       retour-chariot  et  =.  Si l'option d'interprteur extglob est active, (
       empchera aussi le dveloppement.

       Plusieurs options d'interprteur, configurables avec la commande interne
       shopt permettent d'ajuster le comportement de le dveloppement de l'his-
       torique. Si l'option  d'interprteur  histverify  est  active  (voir  la
       description  de  la commande interne shopt) et si readline est utilise,
       les substitutions d'historiques ne sont pas transmises  tout  de  suite
       l'analyseur de l'interprteur.  la place, la ligne dveloppe est recharge
       dans la mmoire tampon de  readline  pour  permettre  des  modifications
       ultrieures.  Si  readline  est  utilise  et  si l'option histreedit est
       active, une substitution d'historique qui choue est  recharge  dans  la
       mmoire  tampon  de readline pour correction. L'option -p de la commande
       interne history peut servir  examiner ce  qu'une  substitution  donnera
       avant  de l'employer rellement. L'option -s de la commande interne his-
       tory permet d'ajouter des commandes  la fin  de  la  file  d'historique
       sans  les avoir effectivement excutes, afin qu'elles soient disponibles
       pour des rappels ultrieurs.

       L'interprteur offre le contrle des  divers  caractres  utiliss  par  le
       mcanisme  de  dveloppement  de  l'historique  (voir  la  description de
       histchars plus haut dans Variables de l'interprteur).

   Indicateur d'vnement
       Un indicateur d'vnement est une rfrence  un  lment  ligne  de  commande
       dans la file d'historique.

       !      Dbute  une substitution d'historique, sauf s'il est suivi par un
              blanc, saut de ligne, retour-chariot, = ou (  (lorsque  l'option
              d'interprteur  extglob  est  active  en  utilisant  la  commande
              interne shopt).
       !n     Se rapporte  la ligne de commande n.
       !-n    Se rapporte  la ligne de commande courante moins n.
       !!     Se rapporte  la commande prcdente. C'est un synonyme de  !-1 .
       !chane Se rapporte  la plus rcente commande commenant par chane.
       !?chane[?]
              Se rapporte  la plus rcente commande contenant chane. Le ? final
              peut  tre  omis  si  chane  est immdiatement suivie d'un saut de
              ligne.
       ^chane_1^chane_2^
              Substitution rapide. Rpter  la  dernire  commande  en  remplaant
              chane_1  par  chane_2.  quivalent   !!:s/chane_1/chane_2/  (voir
              Modificateurs plus bas).
       !#     La ligne entire tape jusqu' prsent.

   Indicateurs de mots
       Ces indicateurs servent  slectionner les mots dsirs dans un vnement. Un
       : spare l'indicateur d'vnements de l'indicateur de mot. On peut l'omet-
       tre si l'indicateur de mot commence par ^, $, *, - ou %. Les mots  sont
       numrots  depuis  le  dbut de la ligne, le premier tant not 0 (zro). Les
       mots sont insrs dans la ligne courante, spars par des espaces.

       0 (zro)
              Le zro-ime mot. Pour l'interprteur, c'est le nom de la commande.
       n      Le n-ime mot.
       ^      Le premier argument, c'est--dire le mot 1.
       $      Le dernier argument.
       %      Le mot correspondant  la recherche  ?chane?  la plus rcente.
       x-y    Une plage de mots,  -y  permet d'abrger  0-y .
       *      Tous  les mots sauf le zro-ime. C'est un synonyme pour  1-$ . Il
              n'est pas erron d'utiliser * s'il n'y a qu'un  mot  dans  l'vne-
              ment ; la chane vide est renvoye dans ce cas.
       x*     Abrviation de x-$.
       x-     Abrviation de x-$ comme x*, mais sans le dernier mot.

       Si  un  indicateur  de  mot  est  fourni  sans indication d'vnement, la
       dernire commande est utilise.

   Modificateurs
       Aprs un indicateur de mot facultatif, une suite d'un ou  plusieurs  des
       modificateurs suivants peut apparatre, chacun prcd par un  : .

       h      limine la fin du chemin d'accs, ne laissant que son dbut.
       t      Supprimer tout le dbut d'un chemin d'accs, en ne laissant que la
              fin.
       r      Supprime un suffixe final de la forme .xxx, en ne  laissant  que
              le nom de base.
       e      Tout supprimer sauf le suffixe final.
       p      Afficher la nouvelle commande sans l'excuter.
       q      Protger   les  mots  substitus,  pour  viter  des  substitutions
              futures.
       x      Protger les mots substitus comme avec q,  mais  en  sparant  des
              mots aux blancs et aux sauts de ligne.
       s/ancien/nouveau/
              Remplacer  par  nouveau  la  premire occurrence de ancien sur la
              ligne d'vnement. Tout dlimiteur peut tre utilis  la place de  /.
              Le dernier dlimiteur est facultatif si c'est le dernier caractre
              de la ligne d'vnement. Le dlimiteur peut tre protg  dans  ancien
              et nouveau avec une seule contre-oblique. Si & apparat dans nou-
              veau, il est remplac par ancien. Une seule contre-oblique  prot-
              gera le &. Si ancien est vide, il est mis au dernier ancien sub-
              stitu ou si aucune  substitution  n'a  eu  lieu  prcdemment,  la
              dernire chane dans une recherche !?chane[?].
       &      Rpter la substitution prcdente.
       g      Conduit   l'application  des  changements sur la ligne d'vnement
              entire.  Ceci  est  utilis  conjointement    :s   (par   exemple
               :gs/ancien/nouveau/ ) ou  :& . Si utilis avec  :s , tout dlimi-
              teur peut tre utilis  la place de / et le dernier dlimiteur  est
              facultatif  si  c'est le dernier caractre de la ligne d'vnement.
              Un a peut tre utilis en tant que synonyme de g.
       G      Appliquer le modificateur  s  suivant une fois  chacun des  mots
              dans la ligne d'vnements.

COMMANDES INTERNES DE L\'INTERPRTEUR

       Sauf indication contraire, chaque commande interne dcrite dans ce para-
       graphe comme acceptant des options prcdes  de  -  accepte  galement  la
       notation -- pour signifier la fin des options. Par exemple, les comman-
       des internes :, true, false et test n'acceptent aucune option.
       : [arguments]
              Sans effet ; cette commande ne fait rien d'autre  que  dvelopper
              les  arguments  et  effectuer toute redirection spcifie. Un code
              final de zro est renvoy.

        .  fichier [arguments]
       source fichier [arguments]
              Lire et  excuter  les  commandes  contenues  dans  fichier  avec
              l'environnement  de  l'interprteur  courant, puis renvoyer l'tat
              final de la dernire commande excute dans fichier. Si le  nom  du
              fichier  ne  contient  pas  de barre oblique, les chemins d'accs
              contenus dans PATH sont parcourus pour rechercher  le  rpertoire
              contenant  le  fichier.  Lorsqu'il  est  recherch  dans  PATH le
              fichier n'a pas besoin d'tre excutable. Lorsque bash  n'est  pas
              en  mode  posix,  le rpertoire de travail courant est finalement
              examin si aucun fichier n'est  trouv  dans  PATH.   Si  l'option
              sourcepath  de  la  commande interne shopt est dsactive, le PATH
              n'est pas parcouru. Si des  arguments  sont  fournis,  ils  sont
              transmis  dans les paramtres positionnels lorsque le fichier est
              excut. Sinon les paramtres positionnels  ne  sont  pas  modifis.
              L'tat renvoy est l'tat de la dernire commande termine au sein du
              script (0 si aucune commande n'a t excute) et faux si le fichier
              n'est pas trouv ou ne peut tre lu.

       alias [-p] [nom[=valeur] ...]
              La  commande alias sans argument ou avec l'option -p affiche sur
              la sortie standard la liste des alias actuellement dfinis,  sous
              la  forme  nom=valeur.  Lorsque  des  arguments sont fournis, un
              alias est cr pour chaque nom auquel on a donn  une  valeur.  Une
              espace  finale  dans  une  valeur conduira  la recherche d'alias
              dans le mot suivant lors du dveloppement 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  affichs.  La
              commande  alias renvoie vrai,  moins qu'ait t indiqu un nom pour
              lequel aucun alias n'a t dfini.

       bg [tche ...]
              Reprend en arrire-plan chaque  tche  suspendue,  comme  si  elle
              avait  t  lance  avec  &. Si aucune tche n'est prcise, la notion
              d'interprteur de tche courante est utilise. bg  tche  renvoie  0
              moins  que  le contrle des tches soit dsactiv, ou, quand le con-
              trle des tches est activ, qu'une tche spcifie n'ait pas t trouve
              ou ait t lance sans contrle de tches.

       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-
       teur
       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  une fonc-
              tion  ou une macro readline ou cre une variable readline. Chaque
              argument qui n'est pas une option est une  commande  comme  elle
              devrait  apparatre  dans .inputrc, mais chaque raccourci ou com-
              mande doit tre fourni comme un argument indpendant ; par exemple
               "\C-x\C-r":  re-read-init-file .  Les options, si fournies, ont
              les significations suivantes :
              -m jeu_de_raccourcis
                     Utiliser le jeu_de_raccourcis  comme  jeu  de  raccourcis
                     devant tre concern par les raccourcis ultrieurs. Les noms
                     de jeux_de_raccourcis possibles sont  emacs,  emacs-stan-
                     dard,  emacs-meta, emacs-ctlx, vi, vi-move, vi-command et
                     vi-insert. vi est quivalent  vi-command ; emacs est quiv-
                     alent  emacs-standard.
              -l     Afficher  la liste des noms de toutes les fonctions read-
                     line.
              -p     Affiche les noms des fonctions readline et leurs raccour-
                     cis de faon pouvoir les relire.
              -P     Affiche les noms des fonctions readline et leurs raccour-
                     cis.
              -v     Affiche les noms des variables readline et leurs  valeurs
                     de faon pouvoir les relire.
              -V     Affiche les noms des variables readline et leurs valeurs.
              -s     Afficher les suites  de  touches  readline  associes  aux
                     macros  et  les  chanes correspondantes, de faon  pouvoir
                     les relire.
              -S     Afficher les suites  de  touches  readline  associes  aux
                     macros et les chanes correspondantes.
              -f fichier
                     Lire les raccourcis clavier dans fichier.
              -q fonction
                     Rechercher  les  touches permettant d'appeler la fonction
                     indique.
              -u fonction
                     Dissocier toutes les touches associes  fonction.
              -r suite_de_touches
                     Supprimer    tout    raccourci    courant     pour     la
                     suite_de_touches.
              -x suite_de_touches:commande_de_l'interprteur
                     Conduit   l'excution  de commande_de_l'interprteur ds que
                     la suite de touches est saisie.

              La valeur renvoye est 0,   moins  qu'une  option  inconnue  soit
              indique ou qu'une erreur se soit produite.

       break [n]
              Sortir  d'une  boucle  for,  while,  until  ou  select. Si n est
              spcifi, sortir de n niveaux de boucles. n doit tre >=  1.  Si  n
              est suprieur au nombre de boucles imbriques, on sort de l'ensem-
              ble d'entre elles. La valeur renvoye est 0,  moins que  l'inter-
              prteur  ne  soit pas en train d'excuter une boucle lorsque break
              est excut.

       builtin commande_interne [arguments]
              Excuter la commande interne de  l'interprteur  indique,  en  lui
              passant  les  arguments,  puis  renvoyer son tat final. Ceci est
              utile lorsqu'on dfinit une fonction ayant le mme nom qu'une com-
              mande  interne,  mais  qu'on  a  besoin d'appeler cette commande
              depuis l'intrieur de la fonction. On redfinit  souvent  la  com-
              mande interne cd de cette faon. L'tat renvoy est faux si la com-
              mande_interne n'est pas une commande interne de l'interprteur.

       cd [-L|-P] [rp]
              Remplacer le rpertoire de travail courant par  rp.  La  variable
              HOME  est  la  valeur par dfaut de rp. La variable CDPATH dfinit
              des chemins de recherche pour trouver le rpertoire contenant rp.
              Les  rpertoires  possibles  y sont fournis dans une liste spares
              par des deux-points  : . Un nom de rpertoire  vide  dans  CDPATH
              est  quivalent au rpertoire courant, c'est--dire  . . Si rp com-
              mence par une barre oblique (/), alors CDPATH n'est pas  utilis.
              L'option  -P  dit  de  n'employer que la structure de rpertoires
              physiques au lieu de suivre les liens  symboliques  (voir  aussi
              l'option  -P  de  la  commande  interne  set)  l'option -L force
              suivre les liens symboliques. Un argument - est quivalent  $OLD-
              PWD.  Si un nom de rpertoire non vide de CDPATH est utilis ou si
              - est le premier argument et si le changement de rpertoire  rus-
              sit,  le  chemin absolu du nouveau rpertoire de travail est crit
              sur la sortie standard. La valeur renvoye est vrai si le change-
              ment de rpertoire a russi ; faux sinon.

       caller [expr]
              Renvoie  le  contexte de tout appel de sous-programme actif (une
              fonction de l'interprteur ou un script lanc avec  les  commandes
              internes  .  ou  source).  Sans expr, caller affiche le numro de
              ligne et le nom de fichier  du  sous-programme  courant.  Si  un
              entier positif est fourni comme expr, caller affiche le numro de
              ligne, le nom du sous-programme et le nom de fichier source cor-
              respondant    la  position  dans  la  pile  d'appels  d'excution
              courante. Cette information supplmentaire peut tre utilise,  par
              exemple,  pour  afficher une trace de la pile. La trame courante
              est la trame 0. La valeur renvoye est 0,  moins  que  l'interpr-
              teur  ne  soit  pas  en train d'excuter un sous-programme ou que
              expr ne corresponde pas  une  position  correcte  dans  la  pile
              d'appels.

       command [-pVv] commande [arguments ...]
              Lancer la commande avec les arguments indiqus, mais en simplifi-
              ant le processus habituel de recherche des commandes. Seules les
              commandes  internes  et  les  commandes trouves dans PATH seront
              excutes. Si l'option -p est indique, la recherche de la commande
              est  effectue en utilisant une valeur par dfaut pour PATH garan-
              tissant de trouver  tous  les  utilitaires  standards.  Si  soit
              l'option  -V soit l'option -v est fournie, une description de la
              commande est affiche. L'option -v conduit  n'afficher qu'un seul
              mot  indiquant  la  commande  ou  le  nom de fichier utilis pour
              appeler la commande. L'option -V fournit  une  description  plus
              prolixe.  Si l'option -V ou -v est fournie, l'tat final est 0 si
              la commande a t trouve  et  1  sinon.  Si  aucune  option  n'est
              fournie  et  si  une  erreur s'est produite ou si la commande ne
              peut tre trouve, l'tat final est 127. Sinon, l'tat final  de  la
              commande interne est l'tat final de commande.

       compgen [option] [mot]
              Produit  les correspondances des compltements possibles pour mot
              selon les options, qui peuvent tre toute option accepte  par  la
              commande  interne  complete   l'exception de -p et -r et crit le
              rsultat sur la sortie standard. Lorsqu'on utilise les options -F
              ou -C, les diverses variables de l'interprteur cres par les out-
              ils de compltement programmables, lorsque disponibles,  n'auront
              pas de valeurs utilisables.

              Les  correspondances  seront  produites de la mme faon que si le
              programme  de  compltement  programmable  les  avait   produites
              directement   partir  d'une spcification de compltement avec les
              mmes attributs. Si mot est spcifi, seules les  compltements  qui
              correspondent  mot sont affichs.

              La  valeur renvoye est vrai,  moins qu'une option incorrecte ait
              t fournie ou qu'aucune correspondance n'ait t produite.

       complete [-abcdefgjksuv] [-o option-compltement] [-A action] [-G  glob-
       pat] [-W liste_de_mots] [-P prefix] [-S suffix]
              [-X motif_filtre] [-F fonction] [-C commande] nom [nom ...]
       complete -pr [nom ...]
              Spcifie comment les arguments de chaque nom doivent tre complts.
              Si  l'option  -p  est fournie ou si aucune option n'est fournie,
              les spcifications de compltement  existantes  sont  affiches  de
              telle faon qu'elles puissent tre rutilises comme entre. L'option
              -r retire une spcification de compltement  chaque nom fourni ou,
              si  aucun nom n'est fourni, toutes les spcifications de complte-
              ment.

              Le processus d'application de ces spcifications  de  compltement
              lorsqu'un  compltement  de mot est tent est dcrit plus haut dans
              Compltement programmable.

              Les autres options, si spcifies, ont  les  significations  suiv-
              antes. Les arguments des options -G, -W et -X (et, si ncessaire,
              les options -P et -S) devraient tre protges pour leur  viter  le
              dveloppement avant que la commande interne complete soit appele.
              -o option-compltement
                      L'option-compltement commande plusieurs aspects du  com-
                      portement  des spcifications de compltement au-del de la
                      simple  production  de  compltement.  option-compltement
                      peut tre l'une des suivantes :
                      bashdefault
                              Effectuer le reste des compltements par dfaut de
                              bash si la spcification de compltement  ne  pro-
                              duit aucune correspondance.
                      default Utiliser  le  compltement  de nom de fichier par
                              dfaut de readline si la spcification de complte-
                              ment ne produit aucune correspondance.
                      dirnames
                              Effectuer  le compltement de nom de rpertoire si
                              la spcification de compltement ne produit aucune
                              correspondance.
                      filenames
                              Indiquer   readline  que la spcification de com-
                              pltement produit des noms de fichiers, ainsi  il
                              peut  effectuer  tout  traitement  spcifique aux
                              noms  de  fichiers  (comme  ajouter  une   barre
                              oblique  aux  noms  de rpertoires, supprimer les
                              espaces de fin de ligne). Destine   tre  utilise
                              avec les fonctions de l'interprteur.
                      nospace Indiquer   readline de ne pas ajouter une espace
                              (comportement par dfaut) aux mots complts en fin
                              de ligne.
                      plusdirs
                              Aprs  que toutes les correspondances dfinies par
                              la spcification de compltement ont t  produites,
                              une tentative de compltement de nom de rpertoire
                              est effectue et toutes les correspondances  sont
                              ajoutes aux rsultats des autres actions.
              -A action
                      L'action  peut tre l'une des suivantes pour produire une
                      liste des compltements possibles :
                      alias   Noms d'alias. Peut galement tre spcifie avec -a.
                      arrayvar
                              Noms des variables de type tableau.
                      binding Noms des raccourcis clavier readline.
                      builtin Noms  des  commandes  internes de l'interprteur.
                              Peut galement tre spcifie avec -b.
                      command Nom des commandes.  Peut  galement  tre  spcifie
                              avec -c.
                      directory
                              Noms  des  rpertoires. Peut galement tre spcifie
                              avec -d.
                      disabled
                              Noms des  commandes  internes  de  l'interprteur
                              dsactives.
                      enabled Noms  des  commandes  internes  de l'interprteur
                              actives.
                      export  Noms des variables  de  l'interprteur  exportes.
                              Peut galement tre spcifie avec -e.
                      file    Noms  des  fichiers.  Peut  galement tre spcifie
                              avec -f.
                      function
                              Noms des fonctions de l'interprteur.
                      group   Noms des groupes. Peut galement tre spcifie avec
                              -g.
                      helptopic
                              Sujets de l'aide accepts par la commande interne
                              help.
                      hostname
                              Noms de machines tels qu'ils  sont  extraits  du
                              fichier  spcifi par la variable de l'interprteur
                              HOSTFILE.
                      job     Noms des tches  si  le  contrle  des  tches  est
                              actif. Peut galement tre spcifie avec -j.
                      keyword Mots  rservs de l'interprteur. Peut galement tre
                              spcifie avec -k.
                      running Noms des tches en cours d'excution si le contrle
                              des tches est actif.
                      service Noms  des  services.  Peut  galement tre spcifie
                              avec -s.
                      setopt  Arguments corrects de l'option -o de la commande
                              interne set.
                      shopt   Noms  des  options d'interprteur acceptes par la
                              commande interne shopt.
                      signal  Noms des signaux.
                      stopped Noms des tches  suspendues  si  le  contrle  des
                              tches est actif.
                      user    Noms des utilisateurs. Peut galement tre spcifie
                              avec -u.
                      variable
                              Noms de toutes les variables  de  l'interprteur.
                              Peut galement tre spcifie avec -v.
              -G globpat
                      Le  motif  de  dveloppement des noms de fichiers globpat
                      est dvelopp pour produire les compltements possibles.
              -W liste_de_mots
                      La liste_de_mots est dcoupe en utilisant  les  caractres
                      de  la  variable  spciale IFS comme dlimiteurs et chaque
                      mot rsultant est  dvelopp.  Les  compltements  possibles
                      sont  les lments de la liste rsultante qui correspondent
                      au mot en cours de compltement.
              -C commande
                      La  commande  est  excute  dans  un   environnement   de
                      sous-interprteur et sa sortie est utilise comme complte-
                      ments possibles.
              -F fonction
                      La fonction de l'interprteur est excute dans  l'interpr-
                      teur courant. Lorsqu'elle finit, les compltements possi-
                      bles sont rcuprs partir de la valeur de la  variable  de
                      type tableau COMPREPLY.
              -X motif_filtre
                      motif_filtre  est  un  motif utilis pour le dveloppement
                      des noms de fichiers. Il est appliqu  la liste des  com-
                      pltements  possibles  produite  par les options et argu-
                      ments prcdents et chaque compltement correspondant
                       motif_filtre est supprim de la liste. Un ! au  dbut  du
                      motif_filtre  inverse  le motif ; dans ce cas, tout com-
                      pltement qui ne correspond pas   motif_filtre  est  sup-
                      prim.
              -P prefix
                      prefix  est ajout au dbut de chaque compltement possible
                      aprs que toutes les autres options ont t appliques.
              -S suffix
                      suffix est ajout  chaque compltement possible  aprs  que
                      toutes les autres options ont t appliques.

              La  valeur renvoye est vrai,  moins qu'une option incorrecte ait
              t fournie, qu'une option comme -p ou -r ait t  fournie  sans  un
              nom  d'argument, qu'une tentative ait t faite pour supprimer une
              spcification de compltement pour un nom pour lequel il  n'existe
              pas de spcification, ou bien qu'une erreur soit survenue lors de
              l'ajout d'une spcification de compltement.

       continue [n]
              Reprendre l'excution   l'itration  suivante  d'une  boucle  for,
              while,  until  ou  encore  select.  Si  n  est indiqu, reprendre
              l'excution la n-ime boucle imbrique. n doit tre >= 1. Si  n  est
              suprieur  au nombre de boucles imbriques, l'excution reprend  la
              boucle la plus externe (la boucle  au sommet ). La  valeur  ren-
              voye  est  0,   moins  que  l'interprteur  ne  soit pas en train
              d'excuter une boucle lorsqu'il rencontre l'instruction continue.

       declare [-afFirtx] [-p] [nom[=valeur] ...]
       typeset [-afFirtx] [-p] [nom[=valeur] ...]
              Dclarer des variables et/ou leur fournir des attributs. Si aucun
              nom n'est indiqu  alors  afficher  les  valeurs  des  variables.
              L'option  -p  affichera  les  attributs et les valeurs de chaque
              nom. Quand -p  est  utilise,  les  options  supplmentaires  sont
              ignores.  L'option -F empche l'affichage des dfinitions de fonc-
              tions ; seuls le nom  de  la  fonction  et  ses  attributs  sont
              affichs.  Si l'option d'interprteur extdebug est active en util-
              isant shopt, le nom du fichier source et le numro de ligne o  la
              fonction est dfinie sont aussi affichs. L'option -F implique -f.
              Les options suivantes permettent de restreindre l'affichage  aux
              variables  dotes de certains attributs ou de fixer les attributs
              des variables :
              -a     Chaque  nom  est  une  variable  de  type  tableau  (voir
                     Tableaux plus haut).
              -f     Utiliser seulement les noms de fonctions.
              -i     La  variable  est  traite  comme  un entier ; l'valuation
                     arithmtique (voir  VALUATION  ARITHMTIQUE)  est  effectue
                     lorsqu'une valeur est affecte  la variable.
              -r     Rend  les  noms accessibles en lecture seule. Des valeurs
                     ne pourront alors plus tre affectes   ces  noms  par  des
                     affectations ultrieures. Ils ne pourront pas non plus tre
                     dtruits.
              -t     Donne  chaque nom l'attribut trace. Les fonctions  traces
                     hritent  des captures de DEBUG et RETURN de l'interprteur
                     appelant.  L'attribut  trace  n'a  pas  de  signification
                     spciale pour les variables.
              -x     Marque  les noms pour qu'ils soit exports dans l'environ-
                     nement des commandes ultrieures.

              En utilisant  +   la place de  - , l'attribut correspondant  est
              dsactiv,  l'exception que +a ne peut pas tre utilis pour dtruire
              une variable tableau. Quand utilis dans une fonction, chacun des
              noms  devient  local, comme avec la commande local. Si un nom de
              variable est suivi par =valeur, la valeur de cette variable  est
              mise   valeur.  La  valeur  renvoye  est 0,  moins qu'une option
              incorrecte soit rencontre, qu'une tentative soit faite de dfinir
              une  fonction en utilisant ``-f foo=bar'', qu'une tentative soit
              faite d'affecter une valeur   une  variable  en  lecture  seule,
              qu'une  tentative soit faite d'affecter une valeur  une variable
              tableau sans employer la  syntaxe  d'affectation  compose  (voir
              Tableaux  plus  haut), qu'un des noms ne soit pas un nom correct
              pour une variable de l'interprteur, qu'une tentative soit  faite
              de  supprimer l'attribut lecture-seule d'une variable en lecture
              seule, ou qu'une tentative soit faite  de  supprimer  l'attribut
              tableau  d'une  variable tableau, ou qu'une tentative soit faite
              avec -f d'afficher une fonction inexistante.

       dirs [-clpv] [+n] [-n]
              Affiche  la   liste   des   rpertoires   actuellement   mmoriss.
              L'affichage  par  dfaut se fait sur une seule ligne, les noms de
              rpertoires tant spars par des espaces. On ajoute des  rpertoires
              dans  cette liste avec la commande pushd et on peut en supprimer
              avec la commande popd.
              +n     Affiche le n-ime lment de  la  liste  fournie  par  dirs,
                     lorsqu'appel  sans  options,  en  comptant   partir de la
                     gauche en commenant  zro.
              -n     Affiche le n-ime lment de  la  liste  fournie  par  dirs,
                     lorsqu'appel  sans  options,  en  comptant   partir de la
                     droite en commenant  zro.
              -c     Effacer la liste des rpertoires en les supprimant tous.
              -l     Produit une liste plus longue ; le format d'affichage par
                     dfaut  utilise  le  tilde  pour  reprsenter  le rpertoire
                     d'accueil.
              -p     Afficher la pile des rpertoires avec un lment par  ligne.
              -v     Afficher  la pile des rpertoires avec un lment par ligne,
                     en prfixant chaque entre avec son numro d'indice dans  la
                     pile.

              La  valeur  renvoye est 0,  moins qu'une option incorrecte ait t
              fournie ou que l'indice n dpasse la  longueur  de  la  pile  des
              rpertoires.

       disown [-ar] [-h] [tche ...]
              Sans  options,  chaque  tche  est supprime de la table des tches
              actives. Si l'option -h est indique, chaque tche n'est pas  sup-
              prime  de  la table mais marque pour que le signal SIGHUP ne lui
              soit pas envoy si l'interprteur  reoit  un  signal  SIGHUP.   Si
              aucune  tche  n'est indique et que ni l'option -a ni l'option -r
              n'est fournie, la tche courante est  concerne.  Si  aucune  tche
              n'est  fournie,  l'option  -a signifie la suppression ou le mar-
              quage de toutes les tches ; l'option  -r  sans  l'argument  tche
              restreint les oprations aux tches en cours d'excution. La valeur
              renvoye est 0,  moins que tche ne spcifie pas une tche correcte.

       echo [-neE] [arguments ...]
              Affiche les arguments, spars par des espaces, suivis par un saut
              de ligne. La valeur renvoye est toujours 0. Si -n est spcifi, le
              saut  de  ligne  final  est supprim. Si l'option -e est indique,
              l'interprtation des caractres suivants d'chappement par une con-
              tre-oblique  est active. L'option -E dsactive l'interprtation de
              ces caractres d'chappement, mme  sur  les  systmes  o  ils  sont
              interprts  par  dfaut.  L'option d'interprteur xpg_echo peut tre
              utilise dynamiquement pour dterminer si echo dveloppe ou non par
              dfaut  ces caractres d'chappement. echo n'interprte pas -- comme
              signifiant la fin des options. echo reconnat les suites de  car-
              actres d'chappement suivantes :
              \a     alerte (alarme)
              \b     effacement arrire (backspace)
              \c     suppression du saut de ligne final
              \e     caractre d'chappement
              \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  caractre 8 bits dont la valeur en octal vaut nnn (zro
                     trois chiffres octaux)
              \xHH   le caractre 8 bits dont la valeur hexadcimale est HH  (un
                     deux symboles hexadcimaux)

       enable [-adnps] [-f fichier] [nom ...]
              Active  ou  dsactive  les  commandes  internes de l'interprteur.
              Dsactiver une commande interne  permet  d'excuter  une  commande
              disque  ayant  le  mme nom qu'une commande interne de l'interpr-
              teur, sans avoir  spcifier un chemin d'accs complet,  mme  quand
              l'interprteur recherche normalement les commandes internes avant
              les commandes du disque. Si -n est utilis, chaque nom indiqu est
              dsactiv,  sinon  ils  sont activs. Par exemple, pour utiliser le
              programme binaire test qui se trouve dans PATH plutt que la com-
              mande interne, utilisez ``enable -n test''.  L'option -f demande
              de charger la nouvelle  commande  interne  avec  le  nom  indiqu
              depuis  le  fichier  objet partag sur les systmes qui le permet-
              tent. L'option -d  permet  de  supprimer  une  commande  interne
              charge prcdemment avec -f. Si aucun argument nom n'est indiqu ou
              si l'option -p est fournie, une liste des commandes internes  de
              l'interprteur est affiche. Sans autre option, la liste est celle
              des commandes internes  actives  de  l'interprteur.  Si  -n  est
              fournie, seules les commandes dsactives sont affiches. Si -a est
              fournie, la liste de toutes les commandes est affiche, avec  une
              indication  des activations et inactivations. Si -s est fournie,
              la sortie est limite aux commandes internes spciales  POSIX.  La
              valeur  renvoye  est  0,  moins que nom ne soit pas une commande
              interne ou qu'il y ait une erreur au chargement  d'une  nouvelle
              commande interne d'un objet partag.

       eval [arguments ...]
              Les arguments sont lus et regroups en une seule commande simple.
              Cette commande est alors lue et excute par l'interprteur et  son
              tat  final est renvoy comme valeur de la commande eval. S'il n'y
              a pas d'arguments ou uniquement des arguments vides,  eval  ren-
              voie 0.

       exec [-cl] [-a nom] [commande [arguments]]
              Si  une commande est indique, elle remplace l'interprteur. Aucun
              nouveau processus n'est cr. Les arguments deviennent ceux de  la
              commande.  Si  l'option  -l  est fournie, l'interprteur place un
              tiret en guise de zro-ime argument fourni a la  commande.  C'est
              ce  que  fait  login. L'option -c conduit  l'excution de la com-
              mande avec un environnement vide. Si l'option  -a  est  fournie,
              l'interprteur transmet le nom comme zro-ime argument. Si la com-
              mande  ne  peut  tre  excute  pour  une  certaine   raison,   un
              interprteur  non  interactif  termine,   moins  que  l'option de
              l'interprteur execfail soit active, auquel cas  une  erreur  est
              renvoye.  Un  interprteur  interactif  renvoie  l'erreur  si  le
              fichier ne peut pas tre excut. Si aucune commande n'est indique,
              les  ventuelles redirections sont mises en place dans l'interpr-
              teur courant et l'tat renvoy est 0. S'il y a une erreur de redi-
              rection, l'tat renvoy est 1.

       exit [n]
              Conduit   la terminaison de l'interprteur avec un tat de n. Si n
              est omis, l'tat final est celui de la dernire  commande  excute.
              Une capture sur EXIT est excute avant que l'interprteur termine.

       export [-fn] [nom[=mot]] ...
       export -p
              Les noms fournis sont marqus pour  tre  exports  automatiquement
              dans  l'environnement  des  commandes  excutes  par la suite. Si
              l'option -f est indique, les noms se rapportent  des  fonctions.
              Si aucun nom n'est donn ou si l'option -p est fournie, une liste
              est affiche indiquant  l'ensemble  des  noms  exports  dans  cet
              interprteur. L'option -n conduit supprimer l'attribut d'exporta-
              tion de chacune des variables nommes. Si un nom de variable  est
              suivi par =mot, la valeur de la variable est mise
               mot.  export  renvoie  un  tat final de 0,  moins qu'une option
              incorrecte soit rencontre ou qu'un des noms ne soit pas  un  nom
              correct  de  variable  de  l'interprteur ou que l'option -f soit
              fournie avec un nom qui n'est pas une fonction.

       fc [-e diteur] [-nlr] [premier] [dernier]
       fc -s [motif=nouveau] [commande]
              Commandes pingles (Fix Command).  Dans  la  premire  forme,  une
              plage  de  commandes,  entre la premire et la dernire, est slec-
              tionn dans la file d'historique. La premire et la  dernire  peu-
              vent  tre spcifies sous forme de chanes (pour trouver la dernire
              commande commenant par cette chane) ou sous forme  numrique  (un
              indice  dans  la file d'historique o un nombre ngatif est utilis
              comme dcalage par rapport au numro de la commande courante).  Si
              la dernire n'est pas spcifie, elle est mise la commande courante
              si l'on veut afficher la liste (ainsi ``fc -l -10'' affiche  les
              10  dernires commandes) et qu'il s'agit de la mme que la premire
              sinon. Si la premire n'est pas spcifie, elle est mise   la  com-
              mande  prcdente  pour  une  dition  et   -16 pour l'affichage de
              liste.

              L'option -n supprime  l'affichage  des  numros  dans  la  liste.
              L'option  -r  inverse  l'ordre des commandes. Si l'option -l est
              indique, les commandes sont affiches  sur  la  sortie  standard.
              Sinon,  l'diteur  indiqu est appel avec un fichier contenant les
              commandes slectionnes. Si aucun diteur n'est indiqu, on  utilise
              la valeur de la variable FCEDIT ou la valeur de EDITOR si FCEDIT
              n'existe pas.  Si  aucune  variable  n'existe,  vi  est  utilis.
              Lorsque  l'dition  se  termine, les commandes sont affiches puis
              excutes.

              Dans la seconde forme, la commande est r-excute aprs avoir  rem-
              plac  chaque  instance du motif par nouveau. Un alias utile pour
              ceci est ``r="fc -s"'', ainsi en tapant ``r cc'' on  relance  la
              dernire  commande  commenant  par  ``cc''  et en tapant ``r'' on
              r-excute la commande prcdente.

              Lorsque la premire forme est utilise, la valeur renvoye  est  0,
              moins  qu'une  option  incorrecte  soit trouve ou que premire ou
              dernire indiquent des lignes d'historique  hors  d'atteinte.  Si
              l'option  -e  est  fournie,  la  valeur  renvoye est celle de la
              dernire commande excute ou un chec si une erreur s'est  produite
              avec le fichier temporaire des commandes. Avec la seconde forme,
              l'tat renvoy est celui de la commande r-excute,  moins que  com-
              mande  ne spcifie pas une ligne correcte de l'historique, auquel
              cas fc renvoie un chec.

       fg [tche]
              Reprendre la tche au premier plan et en faire la tche  courante.
              Si  aucune tche n'est prcise, l'interprteur utilise la notion de
              tche courante. La valeur renvoye est celle de la commande  place
              au  premier  plan ou un chec si le contrle des tches est dsactiv
              ou lorsque le contrle des tches est activ, si  tche  ne  spcifie
              pas  une tche correcte ou si tche spcifie une tche qui a t lance
              sans contrle des tches.

       getopts chane_d_options nom [arguments]
              getopts est utilis par les scripts d'interprteur  pour  analyser
              les paramtres positionnels. La chane_d_options contient l'ensem-
              ble des caractres d'options  reconnatre ;  si  un  caractre  est
              suivi  par  deux-points  (:),  l'option  est cense comprendre un
              argument, qui devrait en tre spar par une espace. Les  caractres
              deux-points  et  le  point  d'interrogation  ne  peuvent pas tre
              utiliss comme caractres d'option.  chaque appel,  getopts  place
              l'option  suivante dans la variable de l'interprteur dont le nom
              est fourni, en la crant si elle  n'existe  pas  et  l'indice  de
              l'argument suivant  traiter dans la variable OPTIND.  OPTIND est
              initialise  1  chaque appel d'un  interprteur  ou  d'un  script.
              Quand  une  option ncessite un argument, getopts place cet argu-
              ment dans la variable OPTARG.  L'interprteur ne rinitialise  pas
              OPTIND automatiquement ; il faut le faire manuellement entre des
              appels multiples  getopts au sein du mme appel d'interprteur  si
              un nouveau jeu de paramtres doit tre utilis.

              Lorsque  la  fin  des options est atteinte, getopts termine avec
              une valeur renvoye strictement suprieure  zro.  OPTIND  est  mis
              l'indice du premier argument non-option et nom est mis  ?.

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

              getopts  peut  signaler des erreurs de deux faons. Si le premier
              caractre de la chane_d_options est un deux-points,  les  erreurs
              sont signales de faon silencieuse. Lors d'un fonctionnement nor-
              mal, des messages de diagnostic sont affichs si une  option  est
              incorrecte  ou  s'il manque un argument d'option. Si la variable
              OPTERR est mise  0, aucun message d'erreur ne sera  affich,  mme
              si  le  premier  caractre  de  la  chane_d_options  n'est pas un
              deux-points.

              Si une option incorrecte est rencontre,  getopts  met  un  point
              d'interrogation  (?)  dans  la  variable nom, affiche un message
              d'erreur (s'il n'est pas en mode silencieux) et dtruit la  vari-
              able  OPTARG.  Si getopts fonctionne en mode silencieux, le car-
              actre d'option est plac dans OPTARG et aucun message de diagnos-
              tic n'est affich.

              Lorsqu'un  argument  d'option ncessaire est absent et si getopts
              n'est pas silencieux, un point d'interrogation (?) est plac dans
              la  variable nom, OPTARG est dtruite et un message de diagnostic
              est affich. Si getopts est silencieux, un  deux-points  (:)  est
              plac dans la variable nom et OPTARG est mis  l'option monocarac-
              tre trouve.

              getopts renvoie vrai si une option, spcifie ou non, est  trouve.
              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'accs complet de la  commande
              est  dtermin, en examinant les rpertoires de $PATH et mmoris. Si
              l'option -p est fournie, aucune recherche de chemin d'accs n'est
              effectue  et  le  fichier est utilis comme chemin d'accs complet
              pour la commande. L'option  -r  conduit  l'interprteur   oublier
              tous les emplacements mmoriss. L'option -d conduit l'interprteur
              oublier tous les emplacements mmoriss de chaque nom. Si l'option
              -t  est  fournie,  le chemin d'accs complet de chaque nom corre-
              spondant est affich. Si plusieurs  arguments  nom  sont  fournis
              avec  -t,  le  nom est affich avant chaque chemin d'accs complet
              hach. L'option -l conduit  afficher la  sortie  dans  un  format
              rutilisable  en  entre.  Si  aucun  argument  n'est indiqu ou si
              seulement -l est fournie, des  informations  sur  les  commandes
              mmorises  sont  affiches. La valeur renvoye est vrai,  moins que
              nom ne soit pas trouv ou qu'une option incorrecte soit  fournie.

       help [-s] [motif]
              Affiche des informations d'aide au sujet des commandes internes.
              Si un motif est indiqu, help fournit de l'aide  sur  toutes  les
              commandes internes correspondant  ce motif, sinon, une liste des
              commandes internes et des structures de contrle de l'interprteur
              est  affiche. L'option -s restreint l'affichage de l'information
              un court synopsis d'utilisation.  L'tat  renvoy  est  0,   moins
              qu'aucune commande ne corresponde 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'his-
              torique, avec les numros de ligne. Les lignes marques avec un  *
              ont  t  modifies.  Un  argument n permet de n'afficher que les n
              dernires lignes. Si la variable de l'interprteur  HISTTIMEFORMAT
              existe  et  n'est  pas vide, elle est utilise comme une chane de
              format pour  strftime(3)  afin  d'afficher  l'horodatage  associ
              chaque  lment  de  l'historique affich. Aucun blanc intercalaire
              n'est affich entre l'horodatage ainsi mis en forme et  la  ligne
              de  l'historique.  Si  un  argument  fichier  est fourni, il est
              utilis comme nom de fichier d'historique ; sinon  la  valeur  de
              HISTFILE est utilise. Les options, si fournies, ont les signifi-
              cations suivantes :
              -c     Effacer la file de l'historique en  supprimant  tous  les
                     lments.
              -d nombre
                     Dtruire l'lment de l'historique  la position nombre.
              -a     Ajouter les  nouvelles  lignes d'historiques (celles cres
                     depuis le dbut 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
                      la file d'historique courante. Il s'agit des lignes  qui
                     ont t ajoutes dans le fichier d'historique depuis le dbut
                     de la session bash.
              -r     Lire le contenu du fichier et l'utiliser comme historique
                     courant.
              -w     crire  dans le fichier l'historique actuel, en crasant le
                     contenu prcdent.
              -p     Effectuer la substitution sur les arguments  suivants  et
                     afficher  le  rsultat  sur  la  sortie  standard.  Ne pas
                     mmoriser les rsultats dans la file  d'historique.  Chaque
                     argument  doit  tre  protg pour dsactiver le dveloppement
                     normal de l'historique.
              -s     Conserver les arguments dans la file  d'historique  comme
                     un  unique  lment.  La dernire commande de la file d'his-
                     torique est  supprime  avant  que  les  arguments  soient
                     ajouts.

              Si la variable HISTTIMEFORMAT existe, l'information d'horodatage
              associe
               chaque lment de l'historique est crite dans le  fichier  d'his-
              torique.  La  valeur  renvoye est 0,  moins qu'une option incor-
              recte soit fournie, qu'une erreur se produise durant la  lecture
              ou  l'criture  du  fichier,  qu'un  nombre incorrect soit fourni
              comme argument  -d ou que le dveloppement de l'historique fourni
              en argument  -p choue.

       jobs [-lnprs] [ tche ... ]
       jobs -x commande [ arguments ... ]
              La premire forme affiche la liste des tches actives. Les options
              ont les significations suivantes :
              -l     Affiche les PID, en plus des informations normales.
              -p     N'affiche que le PID du meneur du groupe de processus  de
                     la tche.
              -n     N'affiche de l'information que sur les tches dont l'tat a
                     chang depuis la dernire notification de leur tat  l'util-
                     isateur.
              -r     Restreint l'affichage aux tches en cours d'excution.
              -s     Restreint l'affichage aux tches suspendues.

              Si  une tche est indique, l'affichage est restreint aux informa-
              tions sur cette tche. L'tat renvoy est 0,  moins  qu'une  option
              incorrecte   soit  rencontre  ou  qu'une  tche  incorrecte  soit
              fournie.

              Si l'option -x est fournie, jobs va remplacer toute tche  trouve
              dans la commande ou dans ses arguments avec les Process Group ID
              correspondant, puis il excutera la commande en lui  transmettant
              les arguments et en renvoyant son tat final.

       kill [-s signal | -n num-signal | -signal] [pid | tche] ...
       kill -l [signal | tat_final]
              Envoyer  le signal indiqu par signal ou num-signal aux processus
              spcifis par pid ou par tche. signal est soit sous  la  forme  de
              nom  de  signal  (indiffrent   la casse), comme SIGKILL (avec ou
              sans le prfixe SIG ), soit sous forme numrique ; num-signal  est
              un numro de signal. Si signal est absent, SIGTERM est suppos par
              dfaut. Un argument -l affiche la liste des noms de  signaux.  Si
              des  arguments  sont  fournis  quand -l est indiqu, les noms des
              signaux correspondant aux arguments sont affichs et l'tat renvoy
              est 0. L'argument tat_final de l'option -l est un nombre spcifi-
              ant soit un numro de signal, soit  l'tat  final  d'un  processus
              termin  par un signal. kill renvoie vrai si au moins un signal a
              t envoy avec succs ou faux si une erreur s'est  produite  ou  si
              une option incorrecte a t rencontre.

       let argument [argument ...]
              Chaque  argument  est  une  expression arithmtique  valuer (voir
              VALUATION ARITHMTIQUE ).  Si  l'valuation  du  dernier  argument
              donne 0, let renvoie 1 ; sinon 0 est renvoy.

       local [option] [nom[=valeur] ...]
              Pour  chaque  argument, une variable locale nomme nom est cre et
              la valeur lui  est  affecte.  L'option  peut  tre  toute  option
              accepte  par  declare. Quand local est utilis dans une fonction,
              la variable nom possde une porte visible restreinte  cette fonc-
              tion  et  ses enfants. Sans oprandes, local affiche la liste des
              variables locales sur la sortie  standard.  Une  utilisation  de
              local  en dehors des fonctions est errone. La valeur renvoye est
              0,  moins que local soit utilis en dehors d'une fonction,  qu'un
              nom  incorrect  soit fourni ou que nom soit une variable en lec-
              ture seule.

       logout Termine un interprteur de connexion.

       popd [-n] [+n] [-n]
              Enlve des lments de la pile des rpertoires. Sans arguments, seul
              le rpertoire du sommet de la pile est limin et un cd est effectu
              en direction du nouveau rpertoire au sommet.  Les  argument,  si
              fournis, ont les significations suivantes :
              +n     Supprime  le n-ime lment de la liste affiche par dirs, en
                     comptant depuis la gauche  partir de zro.  Par  exemple :
                     ``popd  +0''  enlve  le premier rpertoire, ``popd +1'' le
                     second.
              -n     Supprime le n-ime lment de la liste affiche par dirs,  en
                     comptant  depuis  la droite  partir de zro. Par exemple :
                     ``popd -0'' supprimer le dernier rpertoire et ``popd -1''
                     l'avant-dernier.
              -n     Empche  le changement normal de rpertoire lors de la sup-
                     pression d'un rpertoire de la pile. On ne fait que manip-
                     uler la pile.

              Si  la commande popd russit, un dirs est effectu et l'tat renvoy
              est 0. popd renvoie faux si une option incorrecte est trouve, si
              la  pile  de  rpertoires  est  vide, si on a indiqu un rpertoire
              absent de la pile ou si le changement de rpertoire a chou.

       printf [-v var] format [arguments]
              crit les arguments mis en forme sur la sortie standard  sous  le
              contrle du format. Ce format est une chane contenant trois types
              de caractres : normaux, qui sont simplement copis sur la  sortie
              standard,  les  caractres  d'chappement  qui sont convertis puis
              copis sur la sortie standard et les spcifications de format  qui
              conduisent chacune l'affichage des arguments successifs. En plus
              des formats standards de printf(1), %b conduit printf  dvelopper
              les suites de caractres d'chappement par contre-oblique se trou-
              vant dans l'argument correspondant (except  que  \c  termine  la
              sortie,  que  les  contre-obliques dans \', \" et \? ne sont pas
              supprimes et que les suites de caractres d'chappement  pour  les
              nombres en octal commenant par \0 peuvent contenir jusqu' quatre
              chiffres) et %q conduit printf afficher l'argument correspondant
              dans un format rutilisable en entre de l'interprteur.

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

              Le format est rutilis jusqu' consommer tous les arguments. Si le
              format  demande  plus d'arguments que fournis, les spcifications
              supplmentaires se comportent comme si des  valeurs  zro  ou  des
              chanes  vides,  comme  ncessaire,  avaient t fournies. La valeur
              renvoye est zro en cas de succs, diffrente de zro en cas d'chec.

       pushd [-n] [rp]
       pushd [-n] [+n] [-n]
              Ajoute  un  rpertoire  au  sommet  de  la pile des rpertoires ou
              effectue une rotation dans la pile,  en  ramenant  le  rpertoire
              courant au sommet. Sans argument, cette commande change les deux
              rpertoires au sommet et renvoie 0,  moins que la pile soit vide.
              Les arguments, si fournis, ont les significations suivantes :
              +n     Effectue  une  rotation  dans la pile, de faon  amener au
                     sommet le n-ime rpertoire (de la liste affiche  par  dirs
                     en comptant  partir de la gauche et en commenant  zro).
              -n     Effectue  une  rotation  dans la pile, de faon  amener au
                     sommet le n-ime rpertoire  (en  comptant   partir  de  la
                     droite  dans  la  liste  affiche  par  dirs, en commenant
                     zro).
              -n     Empche le changement normal de rpertoire lors d'un  ajout
                     dans la pile. Seule la pile est manipule.
              rp     Ajoute le rpertoire rp au sommet de la pile de rpertoires
                     en en faisant le nouveau rpertoire de travail courant.

              Si la commande pushd russit, un dirs est aussi  effectu.  Si  on
              utilise  la premire forme, pushd renvoie 0 sauf si le dplacement
              vers rp choue. Avec la seconde forme, pushd  renvoie  0,   moins
              que  la pile soit vide, que soit spcifi un lment inexistant dans
              la pile ou que le changement de rpertoire vers le nouveau  rper-
              toire spcifi choue.

       pwd [-LP]
              Affiche  le chemin d'accs absolu au rpertoire 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 active. Si l'option -L est  utilise,  le  chemin  affich
              peut  contenir des liens symboliques. L'tat renvoy est 0,  moins
              qu'une erreur se soit produite durant la lecture du nom du rper-
              toire courant ou qu'une option incorrecte soit fournie.

       read  [-ers]  [-u  fd] [-t dlai] [-a nom_t] [-p invite] [-n nb_car] [-d
       dlimiteur] [nom ...]
              Une ligne est lue depuis l'entre standard ou  partir du descrip-
              teur de fichier fd fourni en argument  l'option -u, puis le pre-
              mier mot de cette ligne est affect au premier nom, le second mot
              au second nom, et ainsi de suite avec les mots restants et leurs
              sparateurs  affects  au  dernier nom. S'il y a moins de mots lus
              dans le flot d'entre que de variables, des  valeurs  vides  sont
              affectes  celles restantes. Les caractres contenus dans la vari-
              able IFS sont utiliss pour dcouper la ligne en mots. Le caractre
              contre-oblique  (\)  permet  de  supprimer  toute  signification
              spciale pour le caractre suivant et autorise la continuation  de
              lignes.  Les  options, si fournies, ont les significations suiv-
              antes :
              -a nom_t
                     Les mots sont affects aux indices successifs d'une  vari-
                     able  tableau  de  nom  nom_t, en commenant  0. nom_t est
                     dtruit avant que de nouvelles  valeurs  soient  affectes.
                     Les autres arguments nom sont ignors.
              -d dlimiteur
                     Le premier caractre de dlimiteur est utilis pour terminer
                     la ligne de saisie, plutt qu'un saut de ligne.
              -e     Si l'entre standard provient d'un  terminal,  la  biblio-
                     thque readline (voir READLINE plus haut) est utilise pour
                     obtenir la ligne.
              -n nb_car
                     read renvoie aprs avoir lu  nb_car  caractres  plutt  que
                     d'attendre une ligne complte en entre.
              -p invite
                     Affiche invite sur la sortie d'erreur standard, sans car-
                     actre final de saut de ligne,  avant  d'essayer  de  lire
                     toute  nouvelle saisie. L'invite est affiche seulement si
                     l'entre vient d'un terminal.
              -r     La contre-oblique n'agit pas comme un caractre  d'chappe-
                     ment. La contre-oblique est considre comme faisant partie
                     de   la   ligne.   En   particulier,   le   couple   con-
                     tre-oblique-saut  de  ligne  ne peut tre utilis comme une
                     continuation de ligne.
              -s     Mode silencieux. Si une entre arrive  partir d'un  termi-
                     nal, les caractres ne sont pas affichs.
              -t dlai
                     Conduit  read   expirer  et renvoyer un chec si une ligne
                     complte en entre n'a pas t lue dans le dlai en  secondes.
                     Cette  option  n'a aucun effet si read ne lit pas l'entre
                     partir d'un terminal ou d'un tube.
              -u fd  Lire l'entre  partir du descripteur de fichier fd.

              Si aucun nom n'est fourni, la ligne lue est  affecte  entirement
              la  variable  REPLY.   Le  code  renvoy  est  zro,  moins qu'une
              fin-de-fichier soit rencontre,  que  read  dpasse  son  dlai  de
              rponse ou qu'un descripteur de fichier incorrect ait t fourni en
              argument de -u.

       readonly [-apf] [nom[=mot] ...]
              Les  noms  indiqus  reoivent  un  attribut  lecture-seule ;  les
              valeurs de ces noms ne pourront plus tre modifies par des affec-
              tations ultrieures. Si l'option -f est  fournie,  les  fonctions
              correspondant  ces  noms sont marques en consquence. L'option -a
              restreint l'action aux variables tableaux. Si aucun argument nom
              n'est  indiqu  ou  si l'option -p est fournie, une liste de tous
              les noms en  lecture-seule  est  affiche.  L'option  -p  conduit
              afficher  la  sortie dans un format susceptible d'tre rutilis en
              entre. Si le nom d'une variable est suivi par =mot, la  variable
              est  mise   mot. L'tat renvoy est 0,  moins qu'une option incor-
              recte ait t rencontre, que l'un des noms ne soit pas un nom cor-
              rect  de  variable  de  l'interprteur  ou  que  l'option -f soit
              fournie avec un nom qui n'est pas une fonction.

       return [n]
              Conduit  la terminaison d'une fonction en  renvoyant  la  valeur
              spcifie  par  n.  Si  n  est omis, la valeur renvoye celle de la
              dernire commande excute dans le corps de la fonction. Si utilise
              dehors d'une fonction, mais durant l'excution d'un script par la
              commande . (source) elle conduit  la suspension de l'excution du
              script  par  l'interprteur  et renvoie comme tat final du script
              soit n soit l'tat final de la dernire commande  excute  dans  le
              script. Si utilise en dehors d'une fonction ni pendant un script
              excut par ., l'tat renvoy est faux. Toute commande  associe   la
              capture  de RETURN est excute avant que l'excution reprenne aprs
              la fonction ou le script.

       set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
              Sans options, le nom et la valeur de chacune  des  variables  de
              l'interprteur  sont  affichs  dans  un  format susceptible d'tre
              rutilis  en  entre  pour  crer  ou  rinitialiser  les  variables
              courantes.  Les  variables  en  lecture seule ne peuvent pas tre
              rinitialises. Dans  le  mode  posix,  seules  les  variables  de
              l'interprteur  sont affiches. La sortie est trie en fonction des
              paramtres linguistiques rgionaux courants. Lorsque  des  options
              sont  spcifies,  elles  crent  ou  dtruisent  des  attributs  de
              l'interprteur. Tous les arguments restant  aprs  traitement  des
              options sont considrs comme des valeurs pour les paramtres posi-
              tionnels et sont affects, dans l'ordre,  : $1, $2, ...  $n.  Les
              options, si spcifies, ont les significations suivantes :
              -a      Marquage automatique des variables et fonctions modifies
                      ou cres pour qu'elles soient  exportes  dans  l'environ-
                      nement des commandes excutes ultrieurement.
              -b      Signaler  l'tat des tches termines en arrire-plan immdi-
                      atement,  plutt  que  d'attendre   l'affichage   de   la
                      prochaine  invite de base. N'est effectif que si le con-
                      trle des tches est activ.
              -e      Termine immdiatement si commande simple (voir  GRAMMAIRE
                      DE L'INTERPRTEUR plus haut) termine avec un tat diffrent
                      de zro. L'interprteur ne termine pas si la commande  qui
                      choue  fait partie d'une liste de commandes immdiatement
                      suivie par un mot-clef while ou until, dans le test d'un
                      if,  dans  une liste de && ou de || ou si la valeur ren-
                      voye par la commande est inverse par !. Une capture  sur
                      ERR,  si  existante,  est excute avant que l'interprteur
                      termine.
              -f      Dsactiver le dveloppement des chemins.
              -h      Mmorisation de l'emplacement des commandes lors de  leur
                      excution. Activ par dfaut.
              -k      Tous  les  arguments  sous  la forme d'affectations sont
                      placs dans l'environnement d'une commande,  et  non  pas
                      seulement ceux qui prcdent le nom de la commande.
              -m      Mode supervision. Activation du contrle des tches. Cette
                      option est active par dfaut pour les interprteurs inter-
                      actifs  sur  les systmes qui le permettent (voir CONTRLE
                      DES TCHES plus haut). Les processus en arrire-plan  sont
                      excuts  dans  un  groupe  de processus spar et une ligne
                      contenant leurs tats finaux est affiche lorsqu'ils  ter-
                      minent.
              -n      Lecture de commandes sans excution. Ceci peut tre utilis
                      pour rechercher les erreurs de syntaxe dans  un  script.
                      Cette  option  est ignore par les interprteurs interact-
                      ifs.
              -o nom_d_option
                      Le nom_d_option est l'un des suivants :
                      allexport
                              Identique  -a.
                      braceexpand
                              Identique  -B.
                      emacs   Utiliser une interface d'dition  des  lignes  de
                              commande     la  emacs .  C'est  le comportement
                              activ par dfaut quand l'interprteur est interac-
                              tif,   moins  que  l'interprteur soit dmarr avec
                              l'option --noediting.
                      errtrace
                              Identique  -E.
                      functrace
                              Identique  -T.
                      errexit Identique  -e.
                      hashall Identique  -h.
                      histexpand
                              Identique  -H.
                      history Activer l'historique des commandes, comme  dcrit
                              plus  haut dans HISTORY. Cette option est active
                              par dfaut dans les interprteurs interactifs.
                      ignoreeof
                              Identique  l'excution de la commande  d'interpr-
                              teur   ``IGNOREEOF=10''   (voir   Variables   de
                              l'interprteur plus haut).
                      keyword Identique  -k.
                      monitor Identique  -m.
                      noclobber
                              Identique  -C.
                      noexec  Identique  -n.
                      noglob  Identique  -f. nolog Actuellement ignor.
                      notify  Identique  -b.
                      nounset Identique  -u.
                      onecmd  Identique  -t.
                      physical
                              Identique  -P.
                      pipefail
                              Si existante, la valeur renvoye par une conduite
                              est  la  valeur  de la dernire commande (la plus
                              droite)  terminer avec un tat final diffrent  de
                              zro  ou  zro  si toutes les commandes de la con-
                              duite terminent avec  succs.  Cette  option  est
                              dsactive par dfaut.
                      posix   Aligner  le comportement de bash sur le standard
                              POSIX, en  ce  qui  concerne  les  options  dont
                              l'action  par  dfaut diffre de ce standard (mode
                              posix).
                      privileged
                              Identique  -p.
                      verbose Identique  -v.
                      vi      Utiliser une interface d'dition  des  lignes  de
                              commande   la vi .
                      xtrace  Identique  -x.
                      Si   -o  est  fournie  sans  nom_d_option,  les  valeurs
                      actuelles des options sont affiches. Si +o  est  fournie
                      sans  nom_d_option,  la srie de commandes set permettant
                      de  recrer  la  configuration  courante  d'options   est
                      affiche sur la sortie standard.
              -p      Basculer  en  mode  privilgi. Dans ce mode, les fichiers
                      $ENV et $BASH_ENV ne sont pas traits, les  fonctions  de
                      l'interprteur  ne  sont pas hrites de l'environnement et
                      la variable  SHELLOPTS,  si  dans  l'environnement,  est
                      ignore.  Si l'interprteur dmarre avec un UID (resp. GID)
                      effectif diffrent de son UID (GID) rel et si l'option -p
                      n'est  pas fournie, ce comportement est appliqu et l'UID
                      (GID) effectif est mis au UID (GID) rel. Si l'option  -p
                      est  fournie  au dmarrage l'UID (GID) effectif n'est pas
                      modifi. Dsactiver cette option conduit  la mise des  UID
                      et GID effectifs  la valeur des UID et GID rels.
              -t      Terminer aprs lecture et excution d'une commande.
              -u      Considrer  les  variables inexistantes comme des erreurs
                      lors du dveloppement  des  paramtres.  Si  on  tente  de
                      dvelopper   une   variable   inexistante,  l'interprteur
                      affiche un message d'erreur et, s'il n'est pas  interac-
                      tif, termine avec un tat diffrent de zro.
              -v      Affichage   les   lignes   en   entre  de  l'interprteur
                      lorsqu'elles sont lues.
              -x      Aprs le dveloppement de chaque commande simple, commande
                      for,  commande  case,  commande  select  ou commande for
                      arithmtique, bash affiche la valeur de PS4,  suivie  par
                      la  commande  et  ses  arguments dvelopps ou la liste de
                      mots associs.
              -B      L'interprteur effectue  le  dveloppement  des  accolades
                      (voir  Dveloppement  des  accolades  plus  haut).  Cette
                      option est active par dfaut.
              -C      Si mise, bash n'crasera pas un fichier existant avec les
                      oprateurs  >, >& et <>. Ce comportement peut tre surpass
                      lors de la cration d'un fichier de sortie  en  utilisant
                      l'oprateur de redirection >|  la place de >.
              -E      Si  mise,  toute capture sur ERR est hrite par les fonc-
                      tions d'interprteur, les substitutions de  commandes  et
                      les  commandes excutes dans un sous-interprteur. La cap-
                      ture de ERR n'est normalement pas  hrite  dans  de  tels
                      cas.
              -H      Activer  le style ! de substitution historique. C'est le
                      comportement par dfaut lorsque l'interprteur est  inter-
                      actif.
              -P      Si mise, l'interprteur ne doit pas suivre les liens sym-
                      boliques en excutant des commandes comme  cd  qui  modi-
                      fient  le  rpertoire  de  travail. Utiliser  la place le
                      rpertoire physique. Par dfaut bash suit la chane logique
                      des rpertoires lors des commandes qui modifient le rper-
                      toire courant.
              -T      Si mise, toutes les captures de  DEBUG  et  RETURN  sont
                      hrites par les fonctions de l'interprteur, les substitu-
                      tions de commande  et  les  commandes  excutes  dans  un
                      sous-interprteur.  Les  captures  de  DEBUG et RETURN ne
                      sont normalement pas hrites dans de tels cas.
              --      Si  aucun  argument  ne  suit  cet  option,  alors   les
                      paramtres   positionnels   sont   dtruits.   Sinon,  les
                      paramtres positionnels sont mis aux  arguments,  mme  si
                      certains d'entre eux commencent par un -.
              -       Marque  la fin des options conduisant tous les arguments
                      restants  tre affects aux  paramtres  positionnels.  Les
                      options  -x et -v sont dsactives. S'il n'y a pas d'argu-
                      ments, les paramtres positionnels ne sont pas modifis.

              Par dfaut les attributs  sont  dsactivs,  sauf  indication  con-
              traire.  En utilisant +  la place de - on dsactive explicitement
              un drapeau. Les attributs peuvent galement tre fournis en  argu-
              ment  lors  de  l'appel  de  l'interprteur.  Le  jeu courant des
              options peut tre trouv dans $-. La valeur renvoye  est  toujours
              vrai,  moins qu'une option incorrecte soit rencontre.

       shift [n]
              Les paramtres positionnels  partir de n+1 ... sont renomms en $1
              .... Les paramtres reprsents par les nombres  $#  jusqu'  $#-n+1
              sont  dtruits. n doit tre un entier positif infrieur ou gal  $#.
              Si n vaut 0, aucun paramtres n'est modifi. Si  n  est  omis,  on
              suppose qu'il vaut 1. Si n est suprieur  $#, les paramtres posi-
              tionnels ne sont pas modifis. L'tat renvoy est strictement  plus
              grand que zro si n est plus grand que $# ou plus petit que zro ;
              sinon 0.

       shopt [-pqsu] [-o] [nom_opt ...]
              Bascule la valeur des variables contrlant le comportement facul-
              tatif  de  l'interprteur.  Sans  option ou avec l'option -p, une
              liste de toutes les  options  configurables  est  affiche,  avec
              l'indication de l'tat de chacune d'entre elles. L'option -p con-
              duit  un affichage de la sortie sous une forme susceptible d'tre
              rutilise  en  entre.  Les  autres options ont les significations
              suivantes :
              -s     Activer (crer) chaque nom_opt.
              -u     Dsactiver (dtruire) chaque nom_opt.
              -q     Supprimer la sortie  normale  (mode  silencieux) ;  l'tat
                     renvoy  indique  si  nom_opt  est  existante  ou  non. Si
                     plusieurs arguments nom_opt sont indiqus avec  -q,  l'tat
                     renvoy est zro si tous les nom_opt sont activs ; diffrent
                     de zro sinon.
              -o     Restreindre les valeurs des nom_opts  celles dfinies pour
                     l'option -o de la commande interne set.

              Si  l'option  -s  ou  -u  est  utilise  sans  argument  nom_opt,
              l'affichage est limit aux options qui sont respectivement  exis-
              tantes ou non. Sauf indication contraire, les options shopt sont
              dsactives (dtruites) par dfaut.

              L'tat renvoy lors d'un affichage des options est zro si tous les
              nom_opt  sont  activs, diffrent de zro sinon. Lors de la cration
              ou de la destruction d'options, l'tat renvoy est zro,  moins que
              nom_opt ne soit pas une option correcte de l'interprteur.

              La liste des options shopt est :

              cdable_vars
                      Si  existante, un argument de la commande interne cd qui
                      n'est pas un rpertoire est suppos tre un nom de variable
                      dont la valeur est le rpertoire vis.
              cdspell Si existante, les erreurs minimes de frappe dans un com-
                      posant du rpertoire en argument de la commande cd seront
                      corriges.  Les erreurs corriges sont les inversions d'un
                      caractre, un caractre manquant et un caractre  en  trop.
                      Si une correction est possible, le nom de rpertoire cor-
                      rig est affich et la commande est  excut.  Cette  option
                      n'est utilise que par les interprteurs interactifs.
              checkhash
                      Si existante, bash vrifie si une commande trouve dans la
                      table de hachage existe avant d'essayer de l'excuter. Si
                      une  commande hache n'existe plus, une recherche normale
                      de chemin est effectue.
              checkwinsize
                      Si existante, bash vrifie la taille de  la  fentre  aprs
                      chaque  commande et, au besoin, mettra  jour les valeurs
                      des variables LINES et COLUMNS.
              cmdhist Si existante, bash essaie de sauvegarder  les  commandes
                      s'tendant  sur  plusieurs lignes en un seul lment d'his-
                      torique. Ceci facilite l'dition ultrieure  de  commandes
                      multilignes.
              compat31
                      If set, bash changes its behavior to that of version 3.1
                      with respect to quoted arguments to the conditional com-
                      mand's =~ operator.
              dotglob Si existante, bash inclut les noms de fichiers commenant
                      par un   .   dans  les  rsultats  des  dveloppements  de
                      chemins.
              execfail
                      Si existante, un interprteur non interactif ne terminera
                      pas s'il ne peut excuter un fichier spcifi  en  argument
                      de  la  commande interne exec. Un interprteur interactif
                      ne termine pas si exec choue.
              expand_aliases
                      Si existante, les alias sont dvelopps comme  dcrit  plus
                      haut,  dans  ALIAS.   Cette  option est active par dfaut
                      pour les interprteurs interactifs.
              extdebug
                      Si existante, le comportement attendu par  les  traceurs
                      est activ :
                      1.     L'option   -F  de  la  commande  interne  declare
                             affiche le nom du fichier source et le  numro  de
                             ligne   correspondant   chaque  nom  de  fonction
                             fourni comme argument.
                      2.     Si la commande lance par la capture de DEBUG ren-
                             voie  une  valeur  diffrente  de zro, la commande
                             suivante est saute et n'est pas excute.
                      3.     Si la commande lance par la capture de DEBUG ren-
                             voie  la  valeur  2  et si l'interprteur s'excute
                             dans un sous-programme (une fonction de  l'inter-
                             prteur  ou  un  script  excut  par  les commandes
                             internes .  ou  source),  un  appel   return  est
                             simul.
                      4.     BASH_ARGC  et  BASH_ARGV  sont  mises  jour comme
                             expliqu dans leurs descriptions plus haut.
                      5.     Le traage des fonctions est activ : la  substitu-
                             tion  de commande, les fonctions de l'interprteur
                             et les sous-interprteurs appels avec ( command  )
                             hritent des captures de DEBUG et RETURN.
                      6.     Le traage d'erreur est activ : la substitution de
                             commande, les fonctions de l'interprteur  et  les
                             sous-interprteurs appels avec ( command ) hritent
                             de la capture de ERROR.
              extglob Si existante, les fonctionnalits tendues de mise en cor-
                      respondance  dcrites  plus  haut  dans  Dveloppement des
                      chemins sont actives.
              extquote
                      Si existante, la protection par $'chane' et $"chane" est
                      effectue   l'intrieur  des dveloppements de ${paramtres}
                      entre guillemets doubles. Cette option  est  active  par
                      dfaut.
              failglob
                      Si existante, les motifs qui chouent  faire correspondre
                      les noms de fichiers pendant le dveloppement des chemins
                      font qu'ils provoqueront une erreur de dveloppement.
              force_fignore
                      Si  existante,  les  suffixes spcifis par la variable de
                      l'interprteur FIGNORE conduiront les  mots   tre  ignors
                      lors du compltement de mots, mme si les mots ignors sont
                      des compltements possibles. Voir VARIABLES DE L'INTERPR-
                      TEUR  plus  haut  pour une description de FIGNORE. Cette
                      option est active par dfaut.
              gnu_errfmt
                      Si existante, les  messages  d'erreur  de  l'interprteur
                      seront  crits  dans  le format standard GNU des messages
                      d'erreurs.
              histappend
                      Si existante, la file d'historique est ajoute au fichier
                      dsign  par  la  valeur  de  la variable HISTFILE lorsque
                      l'interprteur termine, plutt que d'craser ce fichier.
              histreedit
                      Si existante et si readline est utilise, un  utilisateur
                      peut rditer une substitution d'historique qui a chou.
              histverify
                      Si  existante  et si readline est utilise, le rsultat de
                      la substitution d'historique n'est pas transmise  immdi-
                      atement   l'analyseur  de  l'interprteur.   la place, la
                      ligne rsultant est charge dans  le  tampon  d'dition  de
                      readline permettant des modifications ultrieures.
              hostcomplete
                      Si  existante  et si readline est utilise, bash essayera
                      d'effectuer  le  compltement  des   noms   de   machines
                      lorsqu'un mot contient un @ (voir Compltement dans READ-
                      LINE plus haut). Cette option est active par dfaut.
              huponexit
                      Si existante, bash enverra un signal SIGHUP
                       toutes les tches  lorsqu'un  interprteur  de  connexion
                      interactif termine.
              interactive_comments
                      Si  existante, un mot commenant par un # conduira ce mot
                      et tous les autres caractres restants de la  ligne   tre
                      ignors dans un interprteur interactif (voir COMMENTAIRES
                      plus haut). Cette option est active par dfaut.
              lithist Si existante et si l'option cmdhist est active, les com-
                      mandes  multilignes  sont  sauvegardes dans l'historique
                      avec des sauts de ligne incorpors comme sparateurs plutt
                      que des points-virgules l o c'est possible.
              login_shell
                      L'interprteur  cre  cette  option s'il est dmarr en tant
                      qu'interprteur de connexion (voir APPEL plus  haut).  La
                      valeur ne peut tre modifie.
              mailwarn
                      Si  existante  et  s'il  a  t  accd  un fichier que bash
                      surveille pour les courriels depuis sa dernire  vrifica-
                      tion,  le  message   The mail in fichier_de_courriel has
                      been read  est affich.
              no_empty_cmd_completion
                      Si existante et si readline est utilise, bash n'essaiera
                      pas  d'utiliser  le  PATH pour de possibles compltements
                      quand le compltement est tent sur une ligne vide.
              nocaseglob
                      Si  existante,  bash  fait  correspondre  les  noms   de
                      fichiers   d'une  faon  insensible   la  casse  lors  du
                      dveloppement des chemins (voir Dveloppement des  chemins
                      plus haut).
              nocasematch
                      Si  existante,  bash  fait correspondre les motifs d'une
                      faon insensible la casse lors de la mise  en  correspon-
                      dance  pendant  l'excution des commandes conditionnelles
                      case ou [[.
              nullglob
                      Si existante, bash autorise les motifs ne  correspondant
                      aucun  fichier (voir Dveloppement des chemins plus haut)
                      se dvelopper en une chane vide plutt  qu'en  une  valeur
                      littrale.
              progcomp
                      Si  existante,  les  outils de compltement programmables
                      (voir Compltement programmable plus haut)  sont  activs.
                      Cette option est active par dfaut.
              promptvars
                      Si  existante,  les  chanes  d'invite  sont  sujettes au
                      dveloppement des paramtres,   la  substitution  de  com-
                      mande, au dveloppement arithmtique et
                       la  suppression  des  protections aprs avoir t dveloppe
                      comme dcrit plus haut dans INVITES.   Cette  option  est
                      active par dfaut.
              restricted_shell
                      L'interprteur  cre  cette  option s'il est dmarr en mode
                      restreint (voir plus bas INTERPRTEUR RESTREINT ).  Cette
                      valeur  ne  peut  pas  tre  change. Elle n'est pas rini-
                      tialise lorsque les fichiers de dmarrage sont excuts, ce
                      qui  permet   ces fichiers de dcouvrir si un interprteur
                      est restreint ou non.
              shift_verbose
                      Si existante, la commande interne shift affiche un  mes-
                      sage  d'erreur  lorsque  le nombre de dcalages dpasse le
                      nombre de paramtres positionnels.
              sourcepath
                      Si existante, la commande interne source (.) utilise  la
                      valeur  de  la  variable  PATH pour trouver le rpertoire
                      contenant le fichier fourni en  argument.  Cette  option
                      est active par dfaut.
              xpg_echo
                      Si  existante,  la  commande  interne  echo dveloppe par
                      dfaut les suites  de  caractres  d'chappement  par  con-
                      tre-oblique.
       suspend [-f]
              Suspend l'excution de l'interprteur jusqu' la rception d'un sig-
              nal SIGCONT.  L'option -f limine le message d'erreur s'il s'agit
              d'un interprteur de connexion et force sa suspension. L'tat ren-
              voy est 0, moins que l'interprteur soit un interprteur  de  con-
              nexion  et  que  l'option  -f soit absente ou que le contrle des
              tches ne soit pas activ.
       test expr
       [ expr ]
              Renvoie un tat de 0 ou 1 selon l'valuation de la condition expr.
              Chaque  oprateur  et  oprande  doit tre reprsent par un argument
              distinct. Les conditions sont composes  des  primitives  dcrites
              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 tre combines avec les oprateurs suivant,
              dcrits par ordre de priorit dcroissante.
              ! expr Vrai si expr est fausse.
              ( expr )
                     Renvoie la valeur de expr. Peut servir  surpasser la pri-
                     orit normale des oprateurs.
              expr1 -a expr2
                     Vrai si expr1 et expr2 sont toutes deux vraies.
              expr1 -o expr2
                     Vrai si expr1 ou expr2 est vraie.

              test  et  [ valuent les conditions en fonction d'un jeu de rgles
              dpendant 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  pre-
                     mier argument est l'un des oprateurs conditionnel unaires
                     dcrits plus haut dans CONDITIONS la condition  est  vraie
                     si  le test unaire est vrai. Si le premier argument n'est
                     pas un oprateur conditionnel unaire correct, la condition
                     est fausse.
              3 arguments
                     Si  le  second argument est l'un des oprateurs condition-
                     nels binaires dcrits plus haut dans CONDITIONS, le  rsul-
                     tat  de la condition est le rsultat du test binaire util-
                     isant  le  premier  et  le  troisime  argument  en   tant
                     qu'oprandes.  Si le premier argument est !, la valeur est
                     la ngation du  test  binaire  utilisant  les  deuxime  et
                     troisime arguments. Si le premier argument est exactement
                     ( et le troisime argument est exactement  ),  le  rsultat
                     est le test unaire du second argument. Sinon la condition
                     est fausse. Les oprateurs -a et -o  sont  considrs  comme
                     des oprateurs binaires dans ce cas.
              4 arguments
                     Si  le  premier argument est !, le rsultat est la ngation
                     de la condition
                      trois arguments compose des arguments restants. Sinon la
                     condition est analyse et value selon les rgles de priorit
                     dcrites ci-dessus.
              5 arguments ou plus
                     La condition est analyse et value selon les rgles de pri-
                     orit dcrites ci-dessus.

       times  Affiche  les dures cumules utilisateur et systme pour l'interpr-
              teur et les processus lancs par cet  interprteur.  L'tat  renvoy
              est 0.

       trap [-lp] [[arg] sigspec ...]
              La  commande  arg sera lue et excute lorsque l'interprteur reoit
              l'un des signaux sigspec. Si arg est  absent  (et  qu'il  n'y  a
              qu'un  sigspec)  ou  s'il  est -, chaque signal spcifi est rini-
              tialis dans son tat d'origine (la valeur qu'il avait au dmarrage
              de  l'interprteur).  Si  arg est la chane vide, le signal spcifi
              par chaque sigspec est ignor par l'interprteur et par  les  com-
              mandes  qu'il  appelle.  Si  arg est absent et si -p a t fournie
              alors les commandes de captures  associes   chacun  des  sigspec
              sont affiches. Si aucun argument n'est fourni ou si seulement -p
              est indiqu, trap affiche la liste des commandes associes  chaque
              signal. L'option -l conduit l'interprteur  afficher une liste de
              noms de signaux et leurs numros correspondants.  Chaque  sigspec
              est  soit  un nom de signal dfini dans <signal.h> ou un numro de
              signal. Les noms de signaux sont  insensible   la  casse  et  le
              prfixe  SIG  est  facultatif. Si un sigspec est EXIT (0) la com-
              mande arg est excute quand l'interprteur termine. Si un  sigspec
              est DEBUG, la commande arg est excute avant chaque commande sim-
              ple, commande for, commande case, commande select,  chaque  com-
              mande  for  arithmtique  et  avant  que la premire commande soit
              excute dans une fonction de l'interprteur (voir plus haut  GRAM-
              MAIRE  DE  L'INTERPRTEUR  ).  Se  rapporter   la  description de
              l'option extdebug de la commande interne shopt pour  les  dtails
              de  son effet sur la capture de DEBUG. Si un sigspec est ERR, la
              commande arg est excute chaque fois qu'une commande simple a  un
              tat  final  diffrent  de zro, selon les conditions suivantes. La
              capture de ERR n'est pas excute si la commande qui a  chou  fait
              partie d'une liste de commandes suivant immdiatement un mot-clef
              while ou until, un test d'un if, d'un && ou d'une liste || ou si
              la valeur renvoye par la commande est inverse par !. Ce sont les
              mmes conditions que pour l'option errexit.  Si  un  sigspec  est
              RETURN,  la  commande arg est excute chaque fois qu'une fonction
              de l'interprteur ou un script excut par les commandes internes .
              ou source finit son excution. Les signaux ignors lors de l'appel
              de l'interprteur ne peuvent tre capturs ni rinitialiss. Les sig-
              naux  capturs,  qui ne sont pas ignors, sont rinitialises  leurs
              valeurs originelles dans un processus enfant lors de sa cration.
              L'tat  renvoy  est  faux si un quelconque des sigspec est incor-
              rect ; sinon trap renvoie vrai.

       type [-aftpP] nom [nom ...]
              Sans option, indique comment chaque nom doit tre interprt si  on
              l'utilise  en nom de commande. Si l'attribut -t est utilis, type
              affiche une des  phrases  suivantes  alias,  keyword,  function,
              builtin  ou  file selon que le nom est un alias, un mot-cl rserv
              de l'interprteur, une  fonction,  une  commande  interne  ou  un
              fichier  sur  le  disque.  Si le nom n'est pas trouv, rien n'est
              affich et un tat final faux  est  renvoy.  Si  l'option  -p  est
              utilise,  type  renvoie le nom du fichier qui sera excut 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, mme 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  ncessaire-
              ment  le fichier apparaissant en premier dans PATH.  Si l'option
              -a est appele, type affiche tous les emplacements  contenant  un
              excutable du nom indiqu. Ceci inclut les alias et les fonctions,
              sauf si l'option -p est galement prsente. La  table  de  hachage
              des  commandes  n'est pas consulte avec l'option -a. L'option -f
              supprime la fonction de l'interprteur de consultation de  table,
              comme  avec la commande interne command. type renvoie vrai si un
              quelconque des arguments est trouv et faux si aucun n'a t trouv.

       ulimit [-SHacdefilmnpqrstuvx [limitation]]
              Fournit,  sur les systmes qui le permettent, un mcanisme de con-
              trle des ressources disponibles pour l'interprteur et  pour  les
              processus qu'il lance. Les options -H et -S spcifient si la lim-
              itation est stricte (hard) ou flexible (soft) pour la  ressource
              indique.  Une  limitation  stricte  ne peut pas tre augmente une
              fois qu'elle  a  t  mise ;  une  limitation  flexible  peut  tre
              augmente  jusqu'  la  valeur de la limitation stricte correspon-
              dante. Si ni -H ni -S n'est spcifi les limitations  strictes  et
              flexibles  sont  toutes  deux  mises. La valeur de la limitation
              peut tre un nombre  (utilisant  les  units  particulires  de  la
              ressource)  ou  l'une  des valeurs spciales hard, soft ou unlim-
              ited, qui  signifient,  respectivement,  la  limitation  stricte
              courante,  la limitation flexible courante et l'absence de limi-
              tation. Si la limitation est omise, la  valeur  courante  de  la
              limitation  flexible  pour  la  ressource est affiche, moins que
              l'option -H soit indique. Quand plusieurs ressources sont  spci-
              fies, les noms des limitations et leurs units sont affichs avant
              les valeurs. Les autres options sont interprtes comme suit :
              -a     Toutes les limitations courantes sont signales
              -c     La taille maximum des fichiers core crs
              -d     La taille maximum du segment de donnes d'un processus
              -e     La priorit d'ordonnancement maximum ( nice )
              -f     La taille maximum d'un fichier crit par l'interprteur  et
                     ses fils
              -i     Le nombre maximum de signaux en attente
              -l     La taille maximum qui peut tre verrouille en mmoire
              -m     La taille maximum de la partie rsidente d'un processus
              -n     Le nombre maximum de descripteurs de fichiers ouverts (la
                     plupart des systmes ne permettent pas de  modifier  cette
                     valeur)
              -p     La taille d'un tube en blocs de 512 octets (parfois inex-
                     istante)
              -q     Le nombre maximum d'octets dans  les  files  de  messages
                     POSIX
              -r     La priorit d'ordonnancement temps-rel maximale
              -s     La taille maximum de la pile
              -t     La dure maximum, en seconde, de temps CPU accord  un pro-
                     cessus
              -u     Le nombre maximum de  processus  autoriss  pour  un  seul
                     utilisateur
              -v     La quantit de mmoire virtuelle disponible pour l'interpr-
                     teur
              -x     Le nombre maximum de verrous de fichiers

              Si une limitation est indique, elle sera la nouvelle valeur pour
              la ressource spcifie (l'option -a correspond  l'affichage seul).
              Si aucune option n'est indique alors -f est suppose. Les valeurs
              s'expriment par pas de 1024 octets, sauf pour -t qui est en sec-
              ondes, -p, qui utilise des units de blocs de 512  octets,  ainsi
              que  -n et -u, qui n'ont pas d'units. L'tat renvoy est 0,  moins
              qu'une option ou un argument incorrect ait t  fourni  ou  qu'une
              erreur se produise en mettant la nouvelle limitation.

       umask [-p] [-S] [mode]
              Le  masque de cration de fichier de l'utilisateur est mis  mode.
              Si mode commence par un chiffre, il est interprt comme un nombre
              octal,  sinon  il  est  considr comme un masque symbolique, sem-
              blable  ceux accepts par  chmod(1).  Si  mode  est  omis  ou  si
              l'option  -S  est  fournie,  la  valeur  courante  du masque est
              affiche. L'option -S conduit  l'affichage du masque  sous  forme
              symbolique,  l'affichage par dfaut tant en octal. Si l'option -p
              est fournie et si le mode est omis, la sortie  a  lieu  dans  un
              format  rutilisable en entre. L'tat renvoy est 0 si le mode a pu
              tre chang correctement ou si aucun argument mode n'a  t  fourni,
              et faux sinon.

       unalias [-a] [nom ...]
              Supprime le nom de la liste des alias dfinis. Si l'option -a est
              fournie, toutes les dfinitions d'alias sont supprimes. La valeur
              renvoye  est  vrai,  moins qu'un nom fourni ne soit pas un alias
              dfini.

       unset [-fv] [nom ...]
              Pour chaque nom indiqu, supprimer la  variable  ou  la  fonction
              correspondante. Si aucune option n'est fournie ou si l'option -v
              est indique, chaque nom se rapporte  une variable de  l'interpr-
              teur.  Les  variables  en lecture-seule ne peuvent pas tre dtru-
              ites. Si l'option -f est spcifie, chaque nom  se  rapporte   une
              fonction  de  l'interprteur  et  la dfinition de la fonction est
              supprime. Chaque variable ou fonction dtruite  est  supprime  de
              l'environnement  transmis aux commandes ultrieures. Si une quel-
              conque des variables RANDOM, SECONDS, LINENO, HISTCMD, FUNCNAME,
              GROUPS  ou  DIRSTACK  est  dtruite, elle perd ses proprits spci-
              fiques, mme s'il elle est recre ultrieurement. L'tat  final  est
              vrai,  moins qu'un des noms ne soit en lecture seule.

       wait [n ...]
              Attend  que  chaque  processus spcifi termine et renvoie son tat
              final. Chaque n peut tre un PID ou une spcification de tche ; si
              une spcification de tche est indique, la fin de tous les proces-
              sus de la conduite de cette tche sera attendue. Si n  est  omis,
              la  fin  de  tous les processus enfants actuellement actifs sera
              attendue et l'tat renvoy est zro. Si n spcifie un  processus  ou
              une  tche inexistants, l'tat renvoy est 127. Sinon, l'tat renvoy
              est l'tat final du dernier processus ou tche attendu.

INTERPRTEUR RESTREINT

       Si bash dmarre sous le nom rbash ou si l'option -r est fournie lors  de
       son  appel,  l'interprteur  devient restreint. Un interprteur restreint
       permet de crer un environnement plus contrl qu'un interprteur standard.
       Il se comporte de mme faon que bash  la diffrence des actions suivantes
       qui sont interdites ou non effectues :

       +o      changer de rpertoire avec cd

       +o      crer ou dtruire 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      Spcifier  un  nom  de  fichier contenant une barre oblique comme
              argument de l'option -p de la commande interne hash

       +o      importer une dfinition de fonction dans l'environnement au dmar-
              rage ;

       +o      analyser les valeurs de SHELLOPTS au dmarrage ;

       +o      rediriger la sortie en utilisant les oprateurs de redirection >,
              >|, <>, >&, &> et >>

       +o      utiliser la commande interne exec pour  remplacer  l'interprteur
              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'interprteur dsactives ;

       +o      indiquer l'option -p  la commande interne commande

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

       Ces  restrictions  sont  mises en place aprs la lecture d'un quelconque
       des fichiers de dmarrage.

       When a command that is found to be a shell script is executed (see COM-
       MAND EXECUTION above), rbash supprime toute restriction dans l'interpr-
       teur cr pour excuter le script.

VOIR AUSSI

       Manuel de rfrence 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  Utili-
       ties, IEEE
       sh(1), ksh(1), csh(1)
       emacs(1), vi(1)
       readline(3)

FICHIERS

       /bin/bash
              L'excutable bash
       /etc/profile
              Le fichier d'initialisation commun  tout le systme,  excut  pour
              les interprteurs de commandes de connexion
       /etc/bash.bashrc
              Le  fichier  de  dmarrage commun  tout le systme pour chacun des
              interprteurs interactifs
       /etc/bash.logout
              Le fichier de nettoyage des  interprteurs  de  connexion  commun
              tout le systme, excut lorsqu'un interprteur de connexion termine
       ~/.bash_profile
              Le fichier d'initialisation personnel excut  pour  les  interpr-
              teurs de commandes de connexion
       ~/.bashrc
              Le  fichier  de dmarrage personnel, pour chacun des interprteurs
              interactifs
       ~/.bash_logout
              Le fichier de nettoyage personnel des interprteurs de  commandes
              de  connexion,  excut lorsqu'un interprteur de commandes de con-
              nexion termine
       ~/.inputrc
              Le fichier d'initialisation personnalise de readline

AUTEURS

       Brian Fox, Free Software Foundation
       bfox [AT] gnu.org

       Chet Ramey, Case Western Reserve University
       chet [AT] po.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 rellement d'une anomalie
       et qu'elle apparat bien dans la dernire version de bash disponible.  La
       dernire     version     est     toujours    disponible     partir    de
       ftp://ftp.gnu.org/pub/bash/.

       Une fois que vous avez dtermin qu'une  anomalie  existe  effectivement,
       utilisez la commande bashbug pour envoyer un signalement d'anomalie. Si
       vous avez un correctif, vous tes encourag  l'envoyer en mme temps ! Les
       suggestions  ou  les signalements d'anomalies de nature  philosophique
       peuvent tre envoys (en anglais)   bug-bash [AT] gnu.org  ou  posts  dans  le
       groupe Usenet gnu.bash.bug.

       TOUS les signalements d'anomalie doivent contenir :

       Le numro de version de bash
       Le matriel et le systme d'exploitation utiliss
       Le compilateur utilis pour compiler
       Une description (en anglais) de l'anomalie
       Un petit script ou une  recette  qui dmontre l'anomalie

       bashbug  insre automatiquement les trois premiers lments de cette liste
       dans le formulaire qu'il fournit pour remplir un  signalement  d'anoma-
       lie.

       Les commentaires et signalement d'anomalies concernant la version orig-
       inale de cette  page  de  manuel  (en  anglais)  doivent  tre  transmis
       chet [AT] po.edu.  Ceux  concernant  cette version franaise peuvent tre
       envoys  debian-l10n-french [AT] lists.org.

ANOMALIES

       Cet interprteur de commandes est trop gros et trop lent.

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

       L'utilisation des alias peut avoir des consquences inattendues.

       Les commandes internes et les fonctions de l'interprteur ne peuvent pas
       tre suspendues/relances.

       Les  commandes  composes  et  les  suites  de  commandes  de  la  forme
        a ; b ; c  ne sont pas gres lgamment lors d'une interruption  de  pro-
       cessus.  En cas de suspension d'un processus, l'interprteur excute imm-
       diatement la commande suivante. Il suffit de placer cette suite de com-
       mandes  entre parenthses pour la forcer  crer un sous-interprteur, qui,
       lui, pourra tre suspendu en bloc.

       Les commandes  l'intrieur de la substitution de commande $(...) ne sont
       pas  analyses  avant  la  tentative  de  substitution.  Cela  retardera
       l'affichage de messages d'erreurs pendant un certain temps aprs que  la
       commande a t saisie. Par exemple, des parenthses qui ne concordent pas,
       mme  l'intrieur de commentaires,  provoqueront  des  messages  d'erreur
       lorsque la structure sera lue.

       Les variables de type tableau ne peuvent pas (encore) tre exportes.

TRADUCTION

       Ce  document est une traduction ralise par Christophe Blaess et Thierry
       Vignaud en 1997, et mise  jour par Alain Portal <aportal AT univ-montp2
       DOT  fr> en 2006.  La version prsente dans Debian a t entirement retra-
       vaille et est dornavant  maintenue  par  Frdric  Lehobey  <Frederic  AT
       Lehobey  DOT  net>  et  les  membres de la liste <debian-l10n-french AT
       lists DOT debian DOT org>.  Veuillez signaler toute erreur  de  traduc-
       tion par un rapport de bogue sur le paquet manpages-fr-extra.



GNU Bash-3.2                   28 septembre 2006                       BASH(1)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.