Provided by: manpages-fr-extra_20111118_all bug

NOM

       bash-builtins - Commandes internes de bash, voir bash(1)

SYNOPSIS

       bash  définit  les  commandes  internes suivantes : :, ., [, alias, bg,
       bind, break, builtin, case, cd, command, compgen,  complete,  continue,
       declare,  dirs, disown, echo, enable, eval, exec, exit, export, fc, fg,
       getopts, hash, help, history, if, jobs, kill, let, local, logout, popd,
       printf,  pushd, pwd, read, readonly, return, set, shift, shopt, source,
       suspend, test, times, trap,  type,  typeset,  ulimit,  umask,  unalias,
       unset, until, wait, while.

COMMANDES INTERNES DE BASH

       Unless otherwise noted, each builtin command documented in this section
       as accepting options preceded by - accepts -- to signify the end of the
       options.  The  :,  true, false, and test builtins do not accept options
       and do not treat -- specially. The exit, logout, break, continue,  let,
       and  shift  builtins  accept  and  process  arguments  beginning with -
       without requiring --. Other builtins that accept arguments but are  not
       specified  as accepting options interpret arguments beginning with - as
       invalid options and require -- to prevent this interpretation.
       : [arguments]
              No effect; the command does nothing beyond  expanding  arguments
              and  performing  any specified redirections. A zero exit code is
              returned.

        .  filename [arguments]
       source filename [arguments]
              Read and execute commands from filename  in  the  current  shell
              environment  and  return  the  exit  status  of the last command
              executed from filename. If filename does not  contain  a  slash,
              file  names  in  PATH  are used to find the directory containing
              filename. The file searched for in PATH need not be  executable.
              When  bash  is  not  in  posix  mode,  the  current directory is
              searched if no file is found in PATH. If the  sourcepath  option
              to  the  shopt  builtin  command  is turned off, the PATH is not
              searched.  If  any  arguments  are  supplied,  they  become  the
              positional  parameters  when filename is executed. Otherwise the
              positional parameters are unchanged. The return  status  is  the
              status  of  the  last  command exited within the script (0 if no
              commands are executed), and false if filename is  not  found  or
              cannot be read.

       alias [-p] [name[=value] ...]
              Alias with no arguments or with the -p option prints the list of
              aliases in the form alias name=value on  standard  output.  When
              arguments  are supplied, an alias is defined for each name whose
              value is given. A trailing space in  value causes the next  word
              to be checked for alias substitution when the alias is expanded.
              For each name in  the  argument  list  for  which  no  value  is
              supplied,  the  name  and  value  of the alias is printed. Alias
              returns true unless a name is given for which no alias has  been
              defined.

       bg [jobspec ...]
              Resume  each  suspended  job jobspec in the background, as if it
              had been started with &. If jobspec is not present, the  shell's
              notion  of  the current job is used. bg jobspec returns 0 unless
              run when job control is disabled or, when run with  job  control
              enabled,  any  specified  jobspec  was  not found or was started
              without job control.

       bind [-m keymap] [-lpsvPSV]
       bind [-m keymap] [-q function] [-u function] [-r keyseq]
       bind [-m keymap] -f filename
       bind [-m keymap] -x keyseq:shell-command
       bind [-m keymap] keyseq:function-name
       bind readline-command
              Display current readline key and function bindings, bind  a  key
              sequence  to  a  readline  function  or macro, or set a readline
              variable. Each non-option argument is  a  command  as  it  would
              appear  in  .inputrc, but each binding or command must be passed
              as a separate argument; e.g.,  '"\C-x\C-r":  re-read-init-file'.
              Options, if supplied, have the following meanings:
              -m keymap
                     Use keymap as the keymap to be affected by the subsequent
                     bindings.   Acceptable   keymap    names    are    emacs,
                     emacs-standard,   emacs-meta,  emacs-ctlx,  vi,  vi-move,
                     vi-command,  and   vi-insert.   vi   is   equivalent   to
                     vi-command; emacs is equivalent to emacs-standard.
              -l     List the names of all readline functions.
              -p     Display  readline  function  names and bindings in such a
                     way that they can be re-read.
              -P     List current readline function names and bindings.
              -s     Display readline key sequences bound to  macros  and  the
                     strings  they  output  in such a way that they can be re-
                     read.
              -S     Display readline key sequences bound to  macros  and  the
                     strings they output.
              -v     Display  readline variable names and values in such a way
                     that they can be re-read.
              -V     List current readline variable names and values.
              -f filename
                     Read key bindings from filename.
              -q function
                     Query about which keys invoke the named function.
              -u function
                     Unbind all keys bound to the named function.
              -r keyseq
                     Remove any current binding for keyseq.
              -x keyseq:shell-command
                     Cause shell-command to be  executed  whenever  keyseq  is
                     entered.  When  shell-command is executed, the shell sets
                     the  READLINE_LINE  variable  to  the  contents  of   the
                     readline  line  buffer and the READLINE_POINT variable to
                     the current location  of  the  insertion  point.  If  the
                     executed  command  changes  the value of READLINE_LINE or
                     READLINE_POINT, those new values will be reflected in the
                     editing state.

              The  return value is 0 unless an unrecognized option is given or
              an error occurred.

       break [n]
              Exit from within a for, while, until, or select loop.  If  n  is
              specified,  break  n levels. n must be ≥ 1. If n is greater than
              the number of enclosing loops, all enclosing loops  are  exited.
              The  return  value is 0 unless n is not greater than or equal to
              1.

       builtin shell-builtin [arguments]
              Execute the specified shell builtin, passing it  arguments,  and
              return  its exit status. This is useful when defining a function
              whose name is  the  same  as  a  shell  builtin,  retaining  the
              functionality of the builtin within the function. The cd builtin
              is commonly redefined this way. The return status  is  false  if
              shell-builtin is not a shell builtin command.

       caller [expr]
              Returns  the  context  of  any  active  subroutine call (a shell
              function or a script executed with the .  or  source  builtins).
              Without  expr,  caller  displays  the  line  number  and  source
              filename of the  current  subroutine  call.  If  a  non-negative
              integer  is  supplied  as expr, caller displays the line number,
              subroutine name, and source file corresponding to that  position
              in  the current execution call stack. This extra information may
              be used, for example, to print a stack trace. The current  frame
              is  frame  0.  The  return  value  is  0 unless the shell is not
              executing a subroutine call or expr does  not  correspond  to  a
              valid position in the call stack.

       cd [-L|[-P [-e]]] [dir]
              Change  the  current  directory to dir. The variable HOME is the
              default dir. The variable CDPATH defines the search path for the
              directory  containing dir. Alternative directory names in CDPATH
              are separated by a colon (:). A null directory name in CDPATH is
              the  same  as  the current directory, i.e., ``.''. If dir begins
              with a slash (/), then CDPATH is not used. The -P option says to
              use  the  physical  directory  structure  instead  of  following
              symbolic links (see also  the  -P  option  to  the  set  builtin
              command); the -L option forces symbolic links to be followed. If
              the -e option is supplied  with  -P,  and  the  current  working
              directory  cannot  be successfully determined after a successful
              directory change, cd will  return  an  unsuccessful  status.  An
              argument of - is equivalent to $OLDPWD. If a non-empty directory
              name from CDPATH is used, or if - is the first argument, and the
              directory change is successful, the absolute pathname of the new
              working directory is written to the standard output. The  return
              value  is  true if the directory was successfully changed; false
              otherwise.

       command [-pVv] command [arg ...]
              Run command with args  suppressing  the  normal  shell  function
              lookup.  Only builtin commands or commands found in the PATH are
              executed. If the -p option is given, the search for  command  is
              performed  using  a default value for PATH that is guaranteed to
              find all of the standard utilities.  If  either  the  -V  or  -v
              option  is supplied, a description of command is printed. The -v
              option causes a single word indicating the command or file  name
              used to invoke command to be displayed; the -V option produces a
              more verbose description. If the -V or -v  option  is  supplied,
              the  exit  status  is  0  if command was found, and 1 if not. If
              neither option is supplied and  an  error  occurred  or  command
              cannot  be  found,  the  exit status is 127. Otherwise, the exit
              status of the command builtin is the exit status of command.

       compgen [option] [word]
              Generate possible completion matches for word according  to  the
              options,  which  may  be  any  option  accepted  by the complete
              builtin with the exception of -p and -r, and write  the  matches
              to  the  standard  output.  When using the -F or -C options, the
              various shell  variables  set  by  the  programmable  completion
              facilities, while available, will not have useful values.

              The  matches  will  be  generated  in  the  same  way  as if the
              programmable completion code had generated them directly from  a
              completion  specification  with  the  same  flags.  If  word  is
              specified,  only  those  completions  matching  word   will   be
              displayed.

              The  return  value is true unless an invalid option is supplied,
              or no matches were generated.

       complete  [-abcdefgjksuv]  [-o  comp-option]  [-DE]  [-A  action]   [-G
       globpat] [-W wordlist] [-F function] [-C command]
              [-X filterpat] [-P prefix] [-S suffix] name [name ...]
       complete -pr [-DE] [name ...]
              Specify  how  arguments to each name should be completed. If the
              -p option is supplied, or if no options are  supplied,  existing
              completion  specifications are printed in a way that allows them
              to be reused as  input.  The  -r  option  removes  a  completion
              specification  for  each name, or, if no names are supplied, all
              completion specifications. The  -D  option  indicates  that  the
              remaining  options  and  actions should apply to the ``default''
              command completion; that is, completion attempted on  a  command
              for  which  no  completion  has  previously been defined. The -E
              option indicates that the remaining options and  actions  should
              apply  to  ``empty''  command  completion;  that  is, completion
              attempted on a blank line.

              The process of applying  these  completion  specifications  when
              word   completion   is   attempted   is  described  above  under
              Programmable Completion.

              Other options, if specified, have the  following  meanings.  The
              arguments  to the -G, -W, and -X options (and, if necessary, the
              -P and -S  options)  should  be  quoted  to  protect  them  from
              expansion before the complete builtin is invoked.
              -o comp-option
                      The   comp-option   controls   several  aspects  of  the
                      compspec's behavior  beyond  the  simple  generation  of
                      completions. comp-option may be one of:
                      bashdefault
                              Perform the rest of the default bash completions
                              if the compspec generates no matches.
                      default Use readline's default  filename  completion  if
                              the compspec generates no matches.
                      dirnames
                              Perform   directory   name   completion  if  the
                              compspec generates no matches.
                      filenames
                              Tell  readline  that  the   compspec   generates
                              filenames,     so    it    can    perform    any
                              filename-specific  processing  (like  adding   a
                              slash   to   directory  names,  quoting  special
                              characters,  or  suppressing  trailing  spaces).
                              Intended to be used with shell functions.
                      nospace Tell   readline  not  to  append  a  space  (the
                              default) to words completed at the  end  of  the
                              line.
                      plusdirs
                              After  any  matches  defined by the compspec are
                              generated,   directory   name   completion    is
                              attempted  and  any  matches  are  added  to the
                              results of the other actions.
              -A action
                      The action may be one of the  following  to  generate  a
                      list of possible completions:
                      alias   Alias names. May also be specified as -a.
                      arrayvar
                              Array variable names.
                      binding Readline key binding names.
                      builtin Names  of  shell  builtin  commands. May also be
                              specified as -b.
                      command Command names. May also be specified as -c.
                      directory
                              Directory names. May also be specified as -d.
                      disabled
                              Names of disabled shell builtins.
                      enabled Names of enabled shell builtins.
                      export  Names of exported shell variables. May  also  be
                              specified as -e.
                      file    File names. May also be specified as -f.
                      function
                              Names of shell functions.
                      group   Group names. May also be specified as -g.
                      helptopic
                              Help topics as accepted by the help builtin.
                      hostname
                              Hostnames,  as  taken from the file specified by
                              the HOSTFILE shell variable.
                      job     Job names, if job control is active. May also be
                              specified as -j.
                      keyword Shell  reserved  words. May also be specified as
                              -k.
                      running Names of running jobs, if job control is active.
                      service Service names. May also be specified as -s.
                      setopt  Valid arguments for the -o  option  to  the  set
                              builtin.
                      shopt   Shell  option  names  as  accepted  by the shopt
                              builtin.
                      signal  Signal names.
                      stopped Names of stopped jobs, if job control is active.
                      user    User names. May also be specified as -u.
                      variable
                              Names  of  all  shell  variables.  May  also  be
                              specified as -v.
              -C command
                      command  is  executed in a subshell environment, and its
                      output is used as the possible completions.
              -F function
                      The shell function function is executed in  the  current
                      shell   environment.  When  it  finishes,  the  possible
                      completions  are  retrieved  from  the  value   of   the
                      COMPREPLY array variable.
              -G globpat
                      The  pathname  expansion  pattern globpat is expanded to
                      generate the possible completions.
              -P prefix
                      prefix is  added  at  the  beginning  of  each  possible
                      completion after all other options have been applied.
              -S suffix
                      suffix is appended to each possible completion after all
                      other options have been applied.
              -W wordlist
                      The wordlist is split using the characters  in  the  IFS
                      special  variable as delimiters, and each resultant word
                      is expanded. The possible completions are the members of
                      the resultant list which match the word being completed.
              -X filterpat
                      filterpat  is  a pattern as used for pathname expansion.
                      It is  applied  to  the  list  of  possible  completions
                      generated  by  the  preceding options and arguments, and
                      each completion matching filterpat is removed  from  the
                      list.  A  leading ! in filterpat negates the pattern; in
                      this case, any  completion  not  matching  filterpat  is
                      removed.

              The  return  value is true unless an invalid option is supplied,
              an option other than  -p  or  -r  is  supplied  without  a  name
              argument,   an   attempt   is   made   to  remove  a  completion
              specification for a name for which no specification  exists,  or
              an error occurs adding a completion specification.

       compopt [-o option] [-DE] [+o option] [name]
              Modify  completion  options  for  each  name  according  to  the
              options, or for the currently-executing completion if  no  names
              are  supplied.  If  no options are given, display the completion
              options for each name or the current  completion.  The  possible
              values  of  option  are  those  valid  for  the complete builtin
              described above. The -D  option  indicates  that  the  remaining
              options should apply to the ``default'' command completion; that
              is, completion attempted on a command for  which  no  completion
              has  previously  been  defined. The -E option indicates that the
              remaining options should apply to ``empty'' command  completion;
              that is, completion attempted on a blank line.

              The  return  value is true unless an invalid option is supplied,
              an attempt is made to modify the options for a name for which no
              completion specification exists, or an output error occurs.

       continue [n]
              Resume the next iteration of the enclosing for, while, until, or
              select loop. If n is specified,  resume  at  the  nth  enclosing
              loop.  n  must  be  ≥  1.  If  n  is  greater than the number of
              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
              loop)  is resumed. The return value is 0 unless n is not greater
              than or equal to 1.

       declare [-aAfFgilrtux] [-p] [name[=value] ...]
       typeset [-aAfFgilrtux] [-p] [name[=value] ...]
              Declare variables and/or give them attributes. If no  names  are
              given  then  display the values of variables. The -p option will
              display the attributes and values of each name. When -p is  used
              with  name arguments, additional options are ignored. When -p is
              supplied without name arguments, it will display the  attributes
              and  values  of all variables having the attributes specified by
              the additional options. If no other options  are  supplied  with
              -p,  declare will display the attributes and values of all shell
              variables. The -f option will  restrict  the  display  to  shell
              functions.  The  -F  option  inhibits  the  display  of function
              definitions; only the function name and attributes are  printed.
              If  the extdebug shell option is enabled using shopt, the source
              file name and line number where  the  function  is  defined  are
              displayed  as  well.  The  -F  option  implies -f. The -g option
              forces variables to be created or modified at the global  scope,
              even when declare is executed in a shell function. It is ignored
              in all other  cases.  The  following  options  can  be  used  to
              restrict  output to variables with the specified attribute or to
              give variables attributes:
              -a     Each name  is  an  indexed  array  variable  (see  Arrays
                     above).
              -A     Each  name  is  an associative array variable (see Arrays
                     above).
              -f     Use function names only.
              -i     The  variable  is  treated  as  an  integer;   arithmetic
                     evaluation (see ARITHMETIC EVALUATION above) is performed
                     when the variable is assigned a value.
              -l     When the variable is assigned  a  value,  all  upper-case
                     characters  are  converted  to lower-case. The upper-case
                     attribute is disabled.
              -r     Make names readonly. These names cannot then be  assigned
                     values by subsequent assignment statements or unset.
              -t     Give  each  name  the  trace  attribute. Traced functions
                     inherit the DEBUG  and  RETURN  traps  from  the  calling
                     shell.  The  trace  attribute  has no special meaning for
                     variables.
              -u     When the variable is assigned  a  value,  all  lower-case
                     characters  are  converted  to upper-case. The lower-case
                     attribute is disabled.
              -x     Mark names for export  to  subsequent  commands  via  the
                     environment.

              Using  `+'  instead of `-' turns off the attribute instead, with
              the exceptions that +a may not  be  used  to  destroy  an  array
              variable  and  +r  will  not remove the readonly attribute. When
              used in a function, makes each name local,  as  with  the  local
              command, unless the -g option is supplied, If a variable name is
              followed by =value, the value of the variable is set  to  value.
              The  return  value is 0 unless an invalid option is encountered,
              an attempt is made to define a function using ``-f foo=bar'', an
              attempt  is  made  to  assign a value to a readonly variable, an
              attempt is made to assign a value to an array  variable  without
              using  the compound assignment syntax (see Arrays above), one of
              the names is not a valid shell variable name, an attempt is made
              to  turn off readonly status for a readonly variable, an attempt
              is made to turn off array status for an array  variable,  or  an
              attempt is made to display a non-existent function with -f.

       dirs [+n] [-n] [-clpv]
              Without  options,  displays  the  list  of  currently remembered
              directories. The default  display  is  on  a  single  line  with
              directory  names  separated  by spaces. Directories are added to
              the list with  the  pushd  command;  the  popd  command  removes
              entries from the list.
              +n     Displays the nth entry counting from the left of the list
                     shown by dirs when invoked without options, starting with
                     zero.
              -n     Displays  the  nth  entry  counting from the right of the
                     list shown by dirs when invoked without options, starting
                     with zero.
              -c     Clears  the  directory  stack  by  deleting  all  of  the
                     entries.
              -l     Produces a longer listing;  the  default  listing  format
                     uses a tilde to denote the home directory.
              -p     Print the directory stack with one entry per line.
              -v     Print  the  directory  stack  with  one  entry  per line,
                     prefixing each entry with its index in the stack.

              The return value is 0 unless an invalid option is supplied or  n
              indexes beyond the end of the directory stack.

       disown [-ar] [-h] [jobspec ...]
              Without  options,  each  jobspec  is  removed  from the table of
              active jobs. If jobspec is not present, and neither -a nor -r is
              supplied,  the shell's notion of the current job is used. If the
              -h option is given, each jobspec is not removed from the  table,
              but is marked so that SIGHUP is not sent to the job if the shell
              receives a SIGHUP. If no jobspec is present, and neither the  -a
              nor  the  -r  option is supplied, the current job is used. If no
              jobspec is supplied, the -a option means to remove or  mark  all
              jobs;  the  -r  option  without  a  jobspec  argument  restricts
              operation to running jobs.  The  return  value  is  0  unless  a
              jobspec does not specify a valid job.

       echo [-neE] [arg ...]
              Output the args, separated by spaces, followed by a newline. The
              return status is always 0. If  -n  is  specified,  the  trailing
              newline is suppressed. If the -e option is given, interpretation
              of the following backslash-escaped characters is enabled. The -E
              option  disables  the interpretation of these escape characters,
              even on systems where  they  are  interpreted  by  default.  The
              xpg_echo  shell  option  may  be  used  to dynamically determine
              whether or not echo expands these escape characters by  default.
              echo  does  not  interpret  --  to mean the end of options. echo
              interprets the following escape sequences:
              \a     alert (bell)
              \b     backspace
              \c     suppress further output
              \e
              \E     an escape character
              \f     form feed
              \n     new line
              \r     carriage return
              \t     horizontal tab
              \v     vertical tab
              \\     backslash
              \0nnn  the eight-bit character whose value is  the  octal  value
                     nnn (zero to three octal digits)
              \xHH   the  eight-bit  character  whose value is the hexadecimal
                     value HH (one or two hex digits)
              \uHHHH the Unicode (ISO/IEC 10646) character whose value is  the
                     hexadecimal value HHHH (one to four hex digits)
              \UHHHHHHHH
                     the  Unicode (ISO/IEC 10646) character whose value is the
                     hexadecimal value HHHHHHHH (one to eight hex digits)

       enable [-a] [-dnps] [-f filename] [name ...]
              Enable and disable builtin shell commands. Disabling  a  builtin
              allows a disk command which has the same name as a shell builtin
              to be executed without specifying a full pathname,  even  though
              the  shell  normally searches for builtins before disk commands.
              If -n is used, each  name  is  disabled;  otherwise,  names  are
              enabled.  For example, to use the test binary found via the PATH
              instead of the shell builtin version, run  ``enable  -n  test''.
              The  -f  option  means to load the new builtin command name from
              shared object filename, on systems that support dynamic loading.
              The  -d  option will delete a builtin previously loaded with -f.
              If no name arguments are given, or if the -p option is supplied,
              a  list  of  shell  builtins  is  printed.  With no other option
              arguments, the list consists of all enabled shell  builtins.  If
              -n  is  supplied,  only  disabled builtins are printed. If -a is
              supplied, the  list  printed  includes  all  builtins,  with  an
              indication of whether or not each is enabled. If -s is supplied,
              the output is restricted to  the  POSIX  special  builtins.  The
              return  value is 0 unless a name is not a shell builtin or there
              is an error loading a new builtin from a shared object.

       eval [arg ...]
              The args are  read  and  concatenated  together  into  a  single
              command.  This  command  is then read and executed by the shell,
              and its exit status is returned as the value of eval.  If  there
              are no args, or only null arguments, eval returns 0.

       exec [-cl] [-a name] [command [arguments]]
              If  command  is specified, it replaces the shell. No new process
              is created. The arguments become the arguments  to  command.  If
              the  -l  option  is  supplied,  the  shell  places a dash at the
              beginning of the zeroth argument passed to command. This is what
              login(1)  does. The -c option causes command to be executed with
              an empty environment. If -a is supplied, the shell  passes  name
              as  the  zeroth  argument  to  the  executed command. If command
              cannot be executed for  some  reason,  a  non-interactive  shell
              exits,  unless  the  shell  option execfail is enabled, in which
              case it returns failure. An interactive shell returns failure if
              the  file  cannot  be executed. If command is not specified, any
              redirections take effect in the current shell,  and  the  return
              status  is 0. If there is a redirection error, the return status
              is 1.

       exit [n]
              Cause the shell to exit with a status of n. If n is omitted, the
              exit status is that of the last command executed. A trap on EXIT
              is executed before the shell terminates.

       export [-fn] [name[=word]] ...
       export -p
              The supplied names  are  marked  for  automatic  export  to  the
              environment  of subsequently executed commands. If the -f option
              is given, the names refer to functions. If no names  are  given,
              or  if  the  -p option is supplied, a list of all names that are
              exported in this shell is printed.  The  -n  option  causes  the
              export property to be removed from each name. If a variable name
              is followed by =word, the value of the variable is set to  word.
              export  returns  an exit status of 0 unless an invalid option is
              encountered, one of the names is  not  a  valid  shell  variable
              name, or -f is supplied with a name that is not a function.

       fc [-e ename] [-lnr] [first] [last]
       fc -s [pat=rep] [cmd]
              Fix  Command.  In the first form, a range of commands from first
              to last is selected from the history list. First and last may be
              specified as a string (to locate the last command beginning with
              that string) or as a number (an index  into  the  history  list,
              where  a  negative  number is used as an offset from the current
              command number). If last is not  specified  it  is  set  to  the
              current  command  for  listing (so that ``fc -l -10'' prints the
              last 10 commands) and  to  first  otherwise.  If  first  is  not
              specified  it is set to the previous command for editing and -16
              for listing.

              The -n option suppresses the command numbers when  listing.  The
              -r  option  reverses the order of the commands. If the -l option
              is given, the commands are listed on standard output. Otherwise,
              the  editor given by ename is invoked on a file containing those
              commands. If ename  is  not  given,  the  value  of  the  FCEDIT
              variable  is used, and the value of EDITOR if FCEDIT is not set.
              If neither variable is set, is used. When editing  is  complete,
              the edited commands are echoed and executed.

              In  the  second form, command is re-executed after each instance
              of pat is replaced by rep. A useful alias to use  with  this  is
              ``r="fc  -s"'',  so  that  typing ``r cc'' runs the last command
              beginning with ``cc'' and  typing  ``r''  re-executes  the  last
              command.

              If  the  first  form  is  used,  the return value is 0 unless an
              invalid option is encountered or first or last  specify  history
              lines  out  of  range.  If the -e option is supplied, the return
              value is the value of the last command executed or failure if an
              error  occurs with the temporary file of commands. If the second
              form is used, the return status  is  that  of  the  command  re-
              executed,  unless  cmd does not specify a valid history line, in
              which case fc returns failure.

       fg [jobspec]
              Resume jobspec in the foreground, and make it the  current  job.
              If jobspec is not present, the shell's notion of the current job
              is used. The return value is that of the command placed into the
              foreground,  or  failure if run when job control is disabled or,
              when run with job control enabled, if jobspec does not specify a
              valid  job  or  jobspec specifies a job that was started without
              job control.

       getopts optstring name [args]
              getopts  is  used  by  shell  procedures  to  parse   positional
              parameters.  optstring  contains  the  option  characters  to be
              recognized; if a character is followed by a colon, the option is
              expected  to have an argument, which should be separated from it
              by white space. The colon and question mark characters  may  not
              be  used  as option characters. Each time it is invoked, getopts
              places the next option in the shell variable name,  initializing
              name if it does not exist, and the index of the next argument to
              be processed into the variable OPTIND. OPTIND is initialized  to
              1  each  time  the  shell  or a shell script is invoked. When an
              option requires an argument, getopts places that  argument  into
              the   variable   OPTARG.   The   shell  does  not  reset  OPTIND
              automatically; it must be manually reset between multiple  calls
              to  getopts  within  the  same  shell invocation if a new set of
              parameters is to be used.

              When the end of options is encountered,  getopts  exits  with  a
              return  value  greater  than zero. OPTIND is set to the index of
              the first non-option argument, and name is set to ?.

              getopts normally parses the positional parameters, but  if  more
              arguments are given in args, getopts parses those instead.

              getopts can report errors in two ways. If the first character of
              optstring is a colon, silent error reporting is used. In  normal
              operation  diagnostic  messages are printed when invalid options
              or missing option arguments are  encountered.  If  the  variable
              OPTERR is set to 0, no error messages will be displayed, even if
              the first character of optstring is not a colon.

              If an invalid option is seen, getopts places ? into name and, if
              not  silent,  prints  an  error  message  and  unsets OPTARG. If
              getopts is silent, the  option  character  found  is  placed  in
              OPTARG and no diagnostic message is printed.

              If  a required argument is not found, and getopts is not silent,
              a question mark (?) is placed in name, OPTARG is  unset,  and  a
              diagnostic  message  is  printed.  If  getopts is silent, then a
              colon (:) is placed in name and OPTARG  is  set  to  the  option
              character found.

              getopts  returns true if an option, specified or unspecified, is
              found. It returns false if the end of options is encountered  or
              an error occurs.

       hash [-lr] [-p filename] [-dt] [name]
              Each time hash is invoked, the full pathname of the command name
              is  determined  by  searching  the  directories  in  $PATH   and
              remembered.  Any previously-remembered pathname is discarded. If
              the -p option is supplied, no  path  search  is  performed,  and
              filename  is  used  as the full file name of the command. The -r
              option causes the shell to forget all remembered locations.  The
              -d  option causes the shell to forget the remembered location of
              each name. If the -t option is supplied, the  full  pathname  to
              which  each  name  corresponds  is  printed.  If  multiple  name
              arguments are supplied with -t, the name is printed  before  the
              hashed  full  pathname.  The  -l  option  causes  output  to  be
              displayed in a format  that  may  be  reused  as  input.  If  no
              arguments  are  given,  or  if  only -l is supplied, information
              about remembered commands is printed. The return status is  true
              unless a name is not found or an invalid option is supplied.

       help [-dms] [pattern]
              Display  helpful  information about builtin commands. If pattern
              is specified, help gives detailed help on all commands  matching
              pattern;  otherwise  help for all the builtins and shell control
              structures is printed.
              -d     Display a short description of each pattern
              -m     Display the description of each pattern in a manpage-like
                     format
              -s     Display only a short usage synopsis for each pattern

              The return status is 0 unless no command matches pattern.

       history [n]
       history -c
       history -d offset
       history -anrw [filename]
       history -p arg [arg ...]
       history -s arg [arg ...]
              With  no  options,  display  the  command history list with line
              numbers. Lines listed with a * have been modified.  An  argument
              of  n  lists  only  the  last  n  lines.  If  the shell variable
              HISTTIMEFORMAT is set and not null,  it  is  used  as  a  format
              string for strftime(3) to display the time stamp associated with
              each displayed history entry. No intervening  blank  is  printed
              between  the  formatted  time  stamp  and  the  history line. If
              filename is supplied, it is used as  the  name  of  the  history
              file;  if  not,  the  value  of  HISTFILE  is  used. Options, if
              supplied, have the following meanings:
              -c     Clear the history list by deleting all the entries.
              -d offset
                     Delete the history entry at position offset.
              -a     Append the ``new'' history lines (history  lines  entered
                     since  the  beginning of the current bash session) to the
                     history file.
              -n     Read the history lines not already read from the  history
                     file  into  the  current  history  list.  These are lines
                     appended to the history file since the beginning  of  the
                     current bash session.
              -r     Read the contents of the history file and use them as the
                     current history.
              -w     Write  the  current  history   to   the   history   file,
                     overwriting the history file's contents.
              -p     Perform  history  substitution  on the following args and
                     display the result on the standard output. Does not store
                     the  results in the history list. Each arg must be quoted
                     to disable normal history expansion.
              -s     Store the args in the history list as a single entry. The
                     last  command  in  the history list is removed before the
                     args are added.

              If  the  HISTTIMEFORMAT  variable  is  set,   the   time   stamp
              information associated with each history entry is written to the
              history file, marked with the history  comment  character.  When
              the  history  file  is  read,  lines  beginning with the history
              comment  character  followed  immediately   by   a   digit   are
              interpreted  as  timestamps  for  the previous history line. The
              return value is 0 unless an invalid option  is  encountered,  an
              error  occurs  while  reading  or  writing  the history file, an
              invalid offset is supplied as an argument to -d, or the  history
              expansion supplied as an argument to -p fails.

       jobs [-lnprs] [ jobspec ... ]
       jobs -x command [ args ... ]
              The  first  form  lists  the  active  jobs. The options have the
              following meanings:
              -l     List process IDs in addition to the normal information.
              -n     Display information only about  jobs  that  have  changed
                     status since the user was last notified of their status.
              -p     List  only  the  process  ID  of  the job's process group
                     leader.
              -r     Restrict output to running jobs.
              -s     Restrict output to stopped jobs.

              If jobspec is given, output is restricted to  information  about
              that  job.  The  return  status is 0 unless an invalid option is
              encountered or an invalid jobspec is supplied.

              If the -x option is supplied, jobs replaces any jobspec found in
              command  or  args  with  the corresponding process group ID, and
              executes command passing it args, returning its exit status.

       kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
       kill -l [sigspec | exit_status]
              Send the signal named by sigspec  or  signum  to  the  processes
              named  by  pid  or jobspec. sigspec is either a case-insensitive
              signal name such as SIGKILL (with or without the SIG prefix)  or
              a  signal  number;  signum is a signal number. If sigspec is not
              present, then SIGTERM is assumed. An argument of  -l  lists  the
              signal  names.  If  any arguments are supplied when -l is given,
              the names of the signals  corresponding  to  the  arguments  are
              listed,  and the return status is 0. The exit_status argument to
              -l is a number specifying either a signal  number  or  the  exit
              status of a process terminated by a signal. kill returns true if
              at least one signal was successfully sent, or false if an  error
              occurs or an invalid option is encountered.

       let arg [arg ...]
              Each  arg  is  an  arithmetic  expression  to  be evaluated (see
              ARITHMETIC EVALUATION above). If the last arg  evaluates  to  0,
              let returns 1; 0 is returned otherwise.

       local [option] [name[=value] ...]
              For  each  argument, a local variable named name is created, and
              assigned value. The option can be any of the options accepted by
              declare.  When  local  is  used within a function, it causes the
              variable name  to  have  a  visible  scope  restricted  to  that
              function and its children. With no operands, local writes a list
              of local variables to the standard output. It is an error to use
              local  when not within a function. The return status is 0 unless
              local is used outside a function, an invalid name  is  supplied,
              or name is a readonly variable.

       logout Exit a login shell.

       mapfile  [-n  count]  [-O origin] [-s count] [-t] [-u fd] [-C callback]
       [-c quantum] [array]
       readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C  callback]
       [-c quantum] [array]
              Read  lines  from  the  standard  input  into  the indexed array
              variable array, or from file descriptor fd if the -u  option  is
              supplied. The variable MAPFILE is the default array. Options, if
              supplied, have the following meanings:
              -n     Copy at most count lines. If count is 0,  all  lines  are
                     copied.
              -O     Begin  assigning  to  array  at index origin. The default
                     index is 0.
              -s     Discard the first count lines read.
              -t     Remove a trailing newline from each line read.
              -u     Read  lines  from  file  descriptor  fd  instead  of  the
                     standard input.
              -C     Evaluate  callback  each time quantum lines are read. The
                     -c option specifies quantum.
              -c     Specify the number of lines read  between  each  call  to
                     callback.

              If -C is specified without -c, the default quantum is 5000. When
              callback is evaluated, it is supplied  the  index  of  the  next
              array element to be assigned and the line to be assigned to that
              element as additional arguments. callback is evaluated after the
              line is read but before the array element is assigned.

              If  not  supplied  with  an  explicit origin, mapfile will clear
              array before assigning to it.

              mapfile returns successfully unless an invalid option or  option
              argument  is  supplied,  array is invalid or unassignable, or if
              array is not an indexed array.

       popd [-n] [+n] [-n]
              Removes entries from the directory  stack.  With  no  arguments,
              removes  the  top directory from the stack, and performs a cd to
              the  new  top  directory.  Arguments,  if  supplied,  have   the
              following meanings:
              -n     Suppresses  the  normal change of directory when removing
                     directories from the stack, so that  only  the  stack  is
                     manipulated.
              +n     Removes  the nth entry counting from the left of the list
                     shown by dirs, starting with zero.  For  example:  ``popd
                     +0'' removes the first directory, ``popd +1'' the second.
              -n     Removes the nth entry counting from the right of the list
                     shown by dirs, starting with zero.  For  example:  ``popd
                     -0''  removes the last directory, ``popd -1'' the next to
                     last.

              If the popd command is successful, a dirs is performed as  well,
              and  the  return  status  is 0. popd returns false if an invalid
              option is encountered, the directory  stack  is  empty,  a  non-
              existent  directory  stack  entry is specified, or the directory
              change fails.

       printf [-v var] format [arguments]
              Write the formatted arguments to the standard output  under  the
              control  of  the  format.  The -v option causes the output to be
              assigned to the variable var rather than being  printed  to  the
              standard output.

              The  format  is a character string which contains three types of
              objects: plain characters, which are simply copied  to  standard
              output,  character  escape  sequences,  which  are converted and
              copied to the standard output, and format  specifications,  each
              of  which  causes  printing  of the next successive argument. In
              addition to the standard printf(1) format specifications, printf
              interprets the following extensions:
              %b     causes printf to expand backslash escape sequences in the
                     corresponding argument (except that \c terminates output,
                     backslashes  in \', \", and \? are not removed, and octal
                     escapes beginning with \0 may contain up to four digits).
              %q     causes printf to output the corresponding argument  in  a
                     format that can be reused as shell input.
              %(datefmt)T
                     causes  printf  to  output the date-time string resulting
                     from using datefmt as a format  string  for  strftime(3).
                     The corresponding argument is an integer representing the
                     number of seconds since the epoch. Two  special  argument
                     values  may  be used: -1 represents the current time, and
                     -2 represents the time the shell was invoked.

              Arguments to non-string  format  specifiers  are  treated  as  C
              constants,  except that a leading plus or minus sign is allowed,
              and if the leading character is a single or  double  quote,  the
              value is the ASCII value of the following character.

              The  format  is  reused  as  necessary  to  consume  all  of the
              arguments. If  the  format  requires  more  arguments  than  are
              supplied,  the  extra  format specifications behave as if a zero
              value or null string, as appropriate,  had  been  supplied.  The
              return value is zero on success, non-zero on failure.

       pushd [-n] [+n] [-n]
       pushd [-n] [dir]
              Adds  a  directory to the top of the directory stack, or rotates
              the stack, making the new top of the stack the  current  working
              directory.  With no arguments, exchanges the top two directories
              and returns 0, unless the directory stack is  empty.  Arguments,
              if supplied, have the following meanings:
              -n     Suppresses  the  normal  change  of directory when adding
                     directories to the stack,  so  that  only  the  stack  is
                     manipulated.
              +n     Rotates  the  stack  so  that the nth directory (counting
                     from the left of the list shown by  dirs,  starting  with
                     zero) is at the top.
              -n     Rotates  the  stack  so  that the nth directory (counting
                     from the right of the list shown by dirs,  starting  with
                     zero) is at the top.
              dir    Adds dir to the directory stack at the top, making it the
                     new current working directory.

              If the pushd command is successful, a dirs is performed as well.
              If  the first form is used, pushd returns 0 unless the cd to dir
              fails.  With  the  second  form,  pushd  returns  0  unless  the
              directory stack is empty, a non-existent directory stack element
              is specified, or the  directory  change  to  the  specified  new
              current directory fails.

       pwd [-LP]
              Print  the  absolute  pathname of the current working directory.
              The pathname printed contains no symbolic links if the -P option
              is supplied or the -o physical option to the set builtin command
              is enabled. If the -L option is used, the pathname  printed  may
              contain  symbolic  links. The return status is 0 unless an error
              occurs while reading the name of the  current  directory  or  an
              invalid option is supplied.

       read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p
       prompt] [-t timeout] [-u fd] [name ...]
              One line is read from the  standard  input,  or  from  the  file
              descriptor  fd supplied as an argument to the -u option, and the
              first word is assigned to the first name, the second word to the
              second   name,   and  so  on,  with  leftover  words  and  their
              intervening separators assigned to the last name. If  there  are
              fewer words read from the input stream than names, the remaining
              names are assigned empty values. The characters in IFS are  used
              to split the line into words. The backslash character (\) may be
              used to remove any special meaning for the next  character  read
              and  for  line  continuation.  Options,  if  supplied,  have the
              following meanings:
              -a aname
                     The words are assigned to sequential indices of the array
                     variable  aname, starting at 0. aname is unset before any
                     new  values  are  assigned.  Other  name  arguments   are
                     ignored.
              -d delim
                     The  first  character  of  delim is used to terminate the
                     input line, rather than newline.
              -e     If the standard input is coming from a terminal, readline
                     (see READLINE above) is used to obtain the line. Readline
                     uses the current (or default, if  line  editing  was  not
                     previously active) editing settings.
              -i text
                     If  readline  is  being  used  to  read the line, text is
                     placed into the editing buffer before editing begins.
              -n nchars
                     read returns after reading nchars characters rather  than
                     waiting  for  a  complete  line  of  input,  but  honor a
                     delimiter if fewer than nchars characters are read before
                     the delimiter.
              -N nchars
                     read  returns  after  reading  exactly  nchars characters
                     rather than waiting for a complete line of input,  unless
                     EOF   is   encountered   or  read  times  out.  Delimiter
                     characters encountered  in  the  input  are  not  treated
                     specially  and  do  not cause read to return until nchars
                     characters are read.
              -p prompt
                     Display prompt on  standard  error,  without  a  trailing
                     newline,  before attempting to read any input. The prompt
                     is displayed only if input is coming from a terminal.
              -r     Backslash does  not  act  as  an  escape  character.  The
                     backslash  is  considered  to  be  part  of  the line. In
                     particular, a backslash-newline pair may not be used as a
                     line continuation.
              -s     Silent   mode.  If  input  is  coming  from  a  terminal,
                     characters are not echoed.
              -t timeout
                     Cause read to time out and return failure if  a  complete
                     line of input is not read within timeout seconds. timeout
                     may  be  a  decimal  number  with  a  fractional  portion
                     following   the   decimal  point.  This  option  is  only
                     effective if read is reading input from a terminal, pipe,
                     or other special file; it has no effect when reading from
                     regular files. If timeout is 0, read returns  success  if
                     input  is  available  on  the  specified file descriptor,
                     failure otherwise. The exit status is greater than 128 if
                     the timeout is exceeded.
              -u fd  Read input from file descriptor fd.

              If  no  names  are  supplied,  the  line read is assigned to the
              variable REPLY. The return code is zero, unless  end-of-file  is
              encountered,  read  times  out (in which case the return code is
              greater than 128), or an invalid file descriptor is supplied  as
              the argument to -u.

       readonly [-aAf] [-p] [name[=word] ...]
              The  given  names are marked readonly; the values of these names
              may not be changed by subsequent assignment. If the -f option is
              supplied,  the  functions  corresponding  to  the  names  are so
              marked. The -a option restricts the variables to indexed arrays;
              the  -A option restricts the variables to associative arrays. If
              both options are supplied,  -A  takes  precedence.  If  no  name
              arguments  are given, or if the -p option is supplied, a list of
              all readonly names is printed. The other options may be used  to
              restrict  the  output  to a subset of the set of readonly names.
              The -p option causes output to be displayed in a format that may
              be reused as input. If a variable name is followed by =word, the
              value of the variable is set to word. The  return  status  is  0
              unless an invalid option is encountered, one of the names is not
              a valid shell variable name, or -f is supplied with a name  that
              is not a function.

       return [n]
              Causes  a function to exit with the return value specified by n.
              If n is omitted, the return status is that of the  last  command
              executed  in  the function body. If used outside a function, but
              during execution of a script  by  the  .  (source)  command,  it
              causes the shell to stop executing that script and return either
              n or the exit status of the last  command  executed  within  the
              script  as  the  exit  status  of  the script. If used outside a
              function and not during execution of a script by .,  the  return
              status  is false. Any command associated with the RETURN trap is
              executed before execution resumes after the function or script.

       set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
       set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
              Without options, the name and value of each shell  variable  are
              displayed in a format that can be reused as input for setting or
              resetting  the  currently-set  variables.  Read-only   variables
              cannot be reset. In posix mode, only shell variables are listed.
              The output is sorted  according  to  the  current  locale.  When
              options  are  specified, they set or unset shell attributes. Any
              arguments remaining  after  option  processing  are  treated  as
              values for the positional parameters and are assigned, in order,
              to $1, $2, ... $n. Options, if  specified,  have  the  following
              meanings:
              -a      Automatically  mark  variables  and  functions which are
                      modified or created for export  to  the  environment  of
                      subsequent commands.
              -b      Report   the   status   of  terminated  background  jobs
                      immediately, rather than before the next primary prompt.
                      This is effective only when job control is enabled.
              -e      Exit  immediately  if a pipeline (which may consist of a
                      single simple command),  a subshell command enclosed  in
                      parentheses,  or one of the commands executed as part of
                      a command list enclosed by  braces  (see  SHELL  GRAMMAR
                      above)  exits with a non-zero status. The shell does not
                      exit if the command that fails is part  of  the  command
                      list  immediately  following  a  while or until keyword,
                      part of the test  following  the  if  or  elif  reserved
                      words,  part  of any command executed in a && or || list
                      except the command following the final  &&  or  ||,  any
                      command  in a pipeline but the last, or if the command's
                      return value is being inverted with !. A trap on ERR, if
                      set,  is  executed  before  the shell exits. This option
                      applies to  the  shell  environment  and  each  subshell
                      environment    separately    (see    COMMAND   EXECUTION
                      ENVIRONMENT above), and  may  cause  subshells  to  exit
                      before executing all the commands in the subshell.
              -f      Disable pathname expansion.
              -h      Remember  the location of commands as they are looked up
                      for execution. This is enabled by default.
              -k      All arguments in the form of assignment  statements  are
                      placed  in the environment for a command, not just those
                      that precede the command name.
              -m      Monitor mode. Job control is enabled. This option is  on
                      by  default  for  interactive  shells  on  systems  that
                      support it (see JOB CONTROL above). Background processes
                      run  in  a  separate process group and a line containing
                      their exit status is printed upon their completion.
              -n      Read commands but do not execute them. This may be  used
                      to  check  a  shell  script  for  syntax errors. This is
                      ignored by interactive shells.
              -o option-name
                      The option-name can be one of the following:
                      allexport
                              Same as -a.
                      braceexpand
                              Same as -B.
                      emacs   Use  an   emacs-style   command   line   editing
                              interface.  This  is enabled by default when the
                              shell  is  interactive,  unless  the  shell   is
                              started  with  the --noediting option. This also
                              affects the editing interface used for read -e.
                      errexit Same as -e.
                      errtrace
                              Same as -E.
                      functrace
                              Same as -T.
                      hashall Same as -h.
                      histexpand
                              Same as -H.
                      history Enable command history, as described above under
                              HISTORY.   This  option  is  on  by  default  in
                              interactive shells.
                      ignoreeof
                              The  effect  is  as   if   the   shell   command
                              ``IGNOREEOF=10''  had  been  executed (see Shell
                              Variables above).
                      keyword Same as -k.
                      monitor Same as -m.
                      noclobber
                              Same as -C.
                      noexec  Same as -n.
                      noglob  Same as -f.
                      nolog   Currently ignored.
                      notify  Same as -b.
                      nounset Same as -u.
                      onecmd  Same as -t.
                      physical
                              Same as -P.
                      pipefail
                              If set, the return value of a  pipeline  is  the
                              value  of  the  last (rightmost) command to exit
                              with a non-zero status, or zero if all  commands
                              in  the  pipeline exit successfully. This option
                              is disabled by default.
                      posix   Change the behavior of bash  where  the  default
                              operation  differs  from  the  POSIX standard to
                              match the standard (posix mode).
                      privileged
                              Same as -p.
                      verbose Same as -v.
                      vi      Use a vi-style command line  editing  interface.
                              This also affects the editing interface used for
                              read -e.
                      xtrace  Same as -x.
                      If -o is supplied with no option-name, the values of the
                      current  options  are printed. If +o is supplied with no
                      option-name, a series of set commands  to  recreate  the
                      current  option  settings  is  displayed on the standard
                      output.
              -p      Turn on privileged mode. In  this  mode,  the  $ENV  and
                      $BASH_ENV  files  are not processed, shell functions are
                      not inherited from the environment, and  the  SHELLOPTS,
                      BASHOPTS,  CDPATH,  and  GLOBIGNORE  variables,  if they
                      appear in the environment, are ignored. If the shell  is
                      started  with the effective user (group) id not equal to
                      the real user (group) id,  and  the  -p  option  is  not
                      supplied, these actions are taken and the effective user
                      id is set to the real user  id.  If  the  -p  option  is
                      supplied at startup, the effective user id is not reset.
                      Turning this option off causes the  effective  user  and
                      group ids to be set to the real user and group ids.
              -t      Exit after reading and executing one command.
              -u      Treat  unset  variables  and  parameters  other than the
                      special  parameters  "@"  and  "*"  as  an  error   when
                      performing   parameter   expansion.   If   expansion  is
                      attempted on an unset variable or parameter,  the  shell
                      prints  an error message, and, if not interactive, exits
                      with a non-zero status.
              -v      Print shell input lines as they are read.
              -x      After expanding each simple command, for  command,  case
                      command,  select  command,  or  arithmetic  for command,
                      display the expanded  value  of  PS4,  followed  by  the
                      command  and  its  expanded arguments or associated word
                      list.
              -B      The shell performs brace expansion (see Brace  Expansion
                      above). This is on by default.
              -C      If  set,  bash  does not overwrite an existing file with
                      the >, >&, and <> redirection  operators.  This  may  be
                      overridden  when  creating  output  files  by  using the
                      redirection operator >| instead of >.
              -E      If set, any trap on ERR is inherited by shell functions,
                      command   substitutions,  and  commands  executed  in  a
                      subshell environment.  The  ERR  trap  is  normally  not
                      inherited in such cases.
              -H      Enable  !  style history substitution. This option is on
                      by default when the shell is interactive.
              -P      If set, the shell does not follow  symbolic  links  when
                      executing  commands  such  as cd that change the current
                      working  directory.  It  uses  the  physical   directory
                      structure  instead. By default, bash follows the logical
                      chain of  directories  when  performing  commands  which
                      change the current directory.
              -T      If  set,  any traps on DEBUG and RETURN are inherited by
                      shell functions,  command  substitutions,  and  commands
                      executed in a subshell environment. The DEBUG and RETURN
                      traps are normally not inherited in such cases.
              --      If no arguments follow this option, then the  positional
                      parameters   are   unset.   Otherwise,   the  positional
                      parameters are set to the args, even  if  some  of  them
                      begin with a -.
              -       Signal  the  end of options, cause all remaining args to
                      be assigned to the positional parameters. The -x and  -v
                      options  are  turned  off.  If  there  are  no args, the
                      positional parameters remain unchanged.

              The options are off by default unless otherwise noted.  Using  +
              rather than - causes these options to be turned off. The options
              can also be specified as  arguments  to  an  invocation  of  the
              shell. The current set of options may be found in $-. The return
              status is always true unless an invalid option is encountered.

       shift [n]
              The positional parameters from n+1 ... are renamed  to  $1  ....
              Parameters  represented  by  the  numbers  $# down to $#-n+1 are
              unset. n must be a non-negative number less than or equal to $#.
              If  n  is 0, no parameters are changed. If n is not given, it is
              assumed to be 1.  If  n  is  greater  than  $#,  the  positional
              parameters  are  not  changed. The return status is greater than
              zero if n is greater than $# or less than zero; otherwise 0.

       shopt [-pqsu] [-o] [optname ...]
              Toggle  the  values  of  variables  controlling  optional  shell
              behavior.  With no options, or with the -p option, a list of all
              settable options is displayed, with an indication of whether  or
              not  each is set. The -p option causes output to be displayed in
              a form that may be reused  as  input.  Other  options  have  the
              following meanings:
              -s     Enable (set) each optname.
              -u     Disable (unset) each optname.
              -q     Suppresses  normal output (quiet mode); the return status
                     indicates  whether  the  optname  is  set  or  unset.  If
                     multiple  optname arguments are given with -q, the return
                     status is zero if  all  optnames  are  enabled;  non-zero
                     otherwise.
              -o     Restricts  the  values of optname to be those defined for
                     the -o option to the set builtin.

              If either -s or -u  is  used  with  no  optname  arguments,  the
              display  is  limited  to  those  options which are set or unset,
              respectively. Unless otherwise  noted,  the  shopt  options  are
              disabled (unset) by default.

              The  return  status when listing options is zero if all optnames
              are enabled,  non-zero  otherwise.  When  setting  or  unsetting
              options,  the  return  status is zero unless an optname is not a
              valid shell option.

              The list of shopt options is:

              autocd  If set, a command name that is the name of  a  directory
                      is  executed  as  if  it  were  the  argument  to the cd
                      command. This option is only used by interactive shells.
              cdable_vars
                      If set, an argument to the cd builtin  command  that  is
                      not  a directory is assumed to be the name of a variable
                      whose value is the directory to change to.
              cdspell If set, minor errors in  the  spelling  of  a  directory
                      component  in a cd command will be corrected. The errors
                      checked  for  are  transposed  characters,   a   missing
                      character,  and  one character too many. If a correction
                      is found, the corrected file name is  printed,  and  the
                      command   proceeds.   This   option   is  only  used  by
                      interactive shells.
              checkhash
                      If set, bash checks that a command  found  in  the  hash
                      table  exists  before  trying to execute it. If a hashed
                      command no  longer  exists,  a  normal  path  search  is
                      performed.
              checkjobs
                      If set, bash lists the status of any stopped and running
                      jobs before exiting an interactive shell.  If  any  jobs
                      are running, this causes the exit to be deferred until a
                      second exit is attempted without an intervening  command
                      (see  JOB  CONTROL  above).  The  shell always postpones
                      exiting if any jobs are stopped.
              checkwinsize
                      If set, bash checks the window size after  each  command
                      and,  if  necessary,  updates  the  values  of LINES and
                      COLUMNS.
              cmdhist If set, bash attempts to save all lines of  a  multiple-
                      line command in the same history entry. This allows easy
                      re-editing of multi-line commands.
              compat31
                      If set, bash changes its behavior to that of version 3.1
                      with  respect  to quoted arguments to the [[ conditional
                      command's =~ operator.
              compat32
                      If set, bash changes its behavior to that of version 3.2
                      with  respect  to locale-specific string comparison when
                      using the [[ conditional command's <  and  >  operators.
                      Bash  versions prior to bash-4.1 use ASCII collation and
                      strcmp(3); bash-4.1 and later use the  current  locale's
                      collation sequence and strcoll(3).
              compat40
                      If set, bash changes its behavior to that of version 4.0
                      with respect to locale-specific string  comparison  when
                      using  the  [[  conditional  command's < and > operators
                      (see previous item) and the  effect  of  interrupting  a
                      command list.
              compat41
                      If  set, bash, when in posix mode, treats a single quote
                      in a double-quoted  parameter  expansion  as  a  special
                      character. The single quotes must match (an even number)
                      and  the  characters  between  the  single  quotes   are
                      considered  quoted.  This  is the behavior of posix mode
                      through version 4.1. The default bash  behavior  remains
                      as in previous versions.
              direxpand
                      If  set,  bash replaces directory names with the results
                      of word expansion when performing  filename  completion.
                      This  changes  the  contents  of  the  readline  editing
                      buffer. If not set, bash attempts to preserve  what  the
                      user typed.
              dirspell
                      If  set,  bash attempts spelling correction on directory
                      names during  word  completion  if  the  directory  name
                      initially supplied does not exist.
              dotglob If  set, bash includes filenames beginning with a `.' in
                      the results of pathname expansion.
              execfail
                      If set, a non-interactive shell  will  not  exit  if  it
                      cannot  execute the file specified as an argument to the
                      exec builtin command. An interactive shell does not exit
                      if exec fails.
              expand_aliases
                      If  set,  aliases  are expanded as described above under
                      ALIASES.  This  option  is  enabled   by   default   for
                      interactive shells.
              extdebug
                      If  set,  behavior  intended  for  use  by  debuggers is
                      enabled:
                      1.     The -F option to the declare builtin displays the
                             source file name and line number corresponding to
                             each function name supplied as an argument.
                      2.     If the command run by the DEBUG  trap  returns  a
                             non-zero  value,  the next command is skipped and
                             not executed.
                      3.     If the command run by the DEBUG  trap  returns  a
                             value  of  2,  and  the  shell  is executing in a
                             subroutine (a shell function or  a  shell  script
                             executed  by the . or source builtins), a call to
                             return is simulated.
                      4.     BASH_ARGC and BASH_ARGV are updated as  described
                             in their descriptions above.
                      5.     Function    tracing    is    enabled:     command
                             substitution,  shell  functions,  and   subshells
                             invoked  with  (  command ) inherit the DEBUG and
                             RETURN traps.
                      6.     Error tracing is enabled:  command  substitution,
                             shell  functions,  and  subshells  invoked with (
                             command ) inherit the ERR trap.
              extglob If set, the extended pattern matching features described
                      above under Pathname Expansion are enabled.
              extquote
                      If  set,  $'string'  and  $"string" quoting is performed
                      within  ${parameter}  expansions  enclosed   in   double
                      quotes. This option is enabled by default.
              failglob
                      If  set,  patterns  which fail to match filenames during
                      pathname expansion result in an expansion error.
              force_fignore
                      If set, the suffixes  specified  by  the  FIGNORE  shell
                      variable  cause words to be ignored when performing word
                      completion even  if  the  ignored  words  are  the  only
                      possible  completions.  See  SHELL VARIABLES above for a
                      description  of  FIGNORE.  This  option  is  enabled  by
                      default.
              globstar
                      If  set,  the  pattern  **  used in a pathname expansion
                      context  will  match  all  files  and   zero   or   more
                      directories   and  subdirectories.  If  the  pattern  is
                      followed by a /,  only  directories  and  subdirectories
                      match.
              gnu_errfmt
                      If set, shell error messages are written in the standard
                      GNU error message format.
              histappend
                      If set, the history list is appended to the  file  named
                      by  the  value  of  the HISTFILE variable when the shell
                      exits, rather than overwriting the file.
              histreedit
                      If set, and readline is being used, a user is given  the
                      opportunity to re-edit a failed history substitution.
              histverify
                      If  set,  and  readline  is  being  used, the results of
                      history substitution are not immediately passed  to  the
                      shell parser. Instead, the resulting line is loaded into
                      the   readline   editing   buffer,   allowing    further
                      modification.
              hostcomplete
                      If set, and readline is being used, bash will attempt to
                      perform hostname completion when a word containing  a  @
                      is   being  completed  (see  Completing  under  READLINE
                      above). This is enabled by default.
              huponexit
                      If set, bash will  send  SIGHUP  to  all  jobs  when  an
                      interactive login shell exits.
              interactive_comments
                      If set, allow a word beginning with # to cause that word
                      and all remaining characters on that line to be  ignored
                      in  an  interactive  shell  (see  COMMENTS  above). This
                      option is enabled by default.
              lastpipe
                      If set, and job control is not active,  the  shell  runs
                      the  last  command  of  a  pipeline  not executed in the
                      background in the current shell environment.
              lithist If set, and the cmdhist option  is  enabled,  multi-line
                      commands are saved to the history with embedded newlines
                      rather than using semicolon separators where possible.
              login_shell
                      The shell sets this option if it is started as  a  login
                      shell  (see  INVOCATION  above).  The  value  may not be
                      changed.
              mailwarn
                      If set, and a file that bash is checking  for  mail  has
                      been  accessed  since  the last time it was checked, the
                      message ``The  mail  in  mailfile  has  been  read''  is
                      displayed.
              no_empty_cmd_completion
                      If  set,  and  readline  is  being  used,  bash will not
                      attempt to search the PATH for possible completions when
                      completion is attempted on an empty line.
              nocaseglob
                      If  set,  bash  matches  filenames in a case-insensitive
                      fashion when performing pathname expansion (see Pathname
                      Expansion above).
              nocasematch
                      If  set,  bash  matches  patterns  in a case-insensitive
                      fashion when performing matching while executing case or
                      [[ conditional commands.
              nullglob
                      If  set,  bash allows patterns which match no files (see
                      Pathname Expansion above) to expand to  a  null  string,
                      rather than themselves.
              progcomp
                      If  set,  the  programmable  completion  facilities (see
                      Programmable Completion above) are enabled. This  option
                      is enabled by default.
              promptvars
                      If  set,  prompt  strings  undergo  parameter expansion,
                      command substitution, arithmetic  expansion,  and  quote
                      removal  after  being expanded as described in PROMPTING
                      above. This option is enabled by default.
              restricted_shell
                      The  shell  sets  this  option  if  it  is  started   in
                      restricted  mode (see RESTRICTED SHELL below). The value
                      may not be changed. This is not reset when  the  startup
                      files  are  executed,  allowing  the  startup  files  to
                      discover whether or not a shell is restricted.
              shift_verbose
                      If set, the shift builtin prints an error  message  when
                      the   shift  count  exceeds  the  number  of  positional
                      parameters.
              sourcepath
                      If set, the source (.) builtin uses the value of PATH to
                      find  the  directory  containing the file supplied as an
                      argument. This option is enabled by default.
              xpg_echo
                      If  set,  the  echo  builtin  expands   backslash-escape
                      sequences by default.

       suspend [-f]
              Suspend  the execution of this shell until it receives a SIGCONT
              signal. A login shell cannot be suspended; the -f option can  be
              used  to  override  this  and  force  the suspension. The return
              status is 0 unless the shell is a login  shell  and  -f  is  not
              supplied, or if job control is not enabled.

       test expr
       [ expr ]
              Return  a  status  of  0 or 1 depending on the evaluation of the
              conditional expression expr. Each operator and operand must be a
              separate  argument.  Expressions  are  composed of the primaries
              described above under CONDITIONAL  EXPRESSIONS.  test  does  not
              accept any options, nor does it accept and ignore an argument of
              -- as signifying the end of options.

              Expressions may  be  combined  using  the  following  operators,
              listed in decreasing order of precedence. The evaluation depends
              on the number of arguments; see below.  Operator  precedence  is
              used when there are five or more arguments.
              ! expr True if expr is false.
              ( expr )
                     Returns  the  value of expr. This may be used to override
                     the normal precedence of operators.
              expr1 -a expr2
                     True if both expr1 and expr2 are true.
              expr1 -o expr2
                     True if either expr1 or expr2 is true.

              test and [ evaluate conditional expressions using a set of rules
              based on the number of arguments.

              0 arguments
                     The expression is false.
              1 argument
                     The expression is true if and only if the argument is not
                     null.
              2 arguments
                     If the first argument is !, the expression is true if and
                     only  if  the  second  argument  is  null.  If  the first
                     argument is one of the unary conditional operators listed
                     above  under  CONDITIONAL  EXPRESSIONS, the expression is
                     true if the unary test is true. If the first argument  is
                     not a valid unary conditional operator, the expression is
                     false.
              3 arguments
                     The following conditions are applied in the order listed.
                     If  the  second argument is one of the binary conditional
                     operators listed above under CONDITIONAL EXPRESSIONS, the
                     result of the expression is the result of the binary test
                     using the first and third arguments as operands.  The  -a
                     and  -o  operators  are  considered binary operators when
                     there are three arguments. If the first  argument  is  !,
                     the  value is the negation of the two-argument test using
                     the second and third arguments. If the first argument  is
                     exactly ( and the third argument is exactly ), the result
                     is  the  one-argument  test  of  the   second   argument.
                     Otherwise, the expression is false.
              4 arguments
                     If the first argument is !, the result is the negation of
                     the three-argument expression composed of  the  remaining
                     arguments.   Otherwise,  the  expression  is  parsed  and
                     evaluated according to precedence using the rules  listed
                     above.
              5 or more arguments
                     The  expression  is  parsed  and  evaluated  according to
                     precedence using the rules listed above.

              When  used  with  test  or  [,  the  <  and  >  operators   sort
              lexicographically using ASCII ordering.

       times  Print  the  accumulated  user and system times for the shell and
              for processes run from the shell. The return status is 0.

       trap [-lp] [[arg] sigspec ...]
              The command arg is to  be  read  and  executed  when  the  shell
              receives  signal(s)  sigspec.  If  arg is absent (and there is a
              single sigspec) or -, each specified  signal  is  reset  to  its
              original  disposition  (the  value  it  had upon entrance to the
              shell). If arg is the null string the signal specified  by  each
              sigspec  is ignored by the shell and by the commands it invokes.
              If arg is not present and -p has been supplied,  then  the  trap
              commands  associated  with  each  sigspec  are  displayed. If no
              arguments are supplied or if only -p is given, trap  prints  the
              list  of  commands  associated  with  each signal. The -l option
              causes the shell to print a  list  of  signal  names  and  their
              corresponding  numbers.  Each  sigspec  is  either a signal name
              defined in <signal.h>, or a signal number. Signal names are case
              insensitive and the SIG prefix is optional.

              If  a  sigspec  is  EXIT (0) the command arg is executed on exit
              from the shell. If a  sigspec  is  DEBUG,  the  command  arg  is
              executed before every simple command, for command, case command,
              select command, every arithmetic for  command,  and  before  the
              first  command  executes  in a shell function (see SHELL GRAMMAR
              above). Refer to the description of the extdebug option  to  the
              shopt  builtin for details of its effect on the DEBUG trap. If a
              sigspec is RETURN, the command arg is executed each time a shell
              function  or  a  script  executed  with the . or source builtins
              finishes executing.

              If a sigspec is ERR, the command  arg  is  executed  whenever  a
              simple  command  has  a  non-zero  exit  status,  subject to the
              following conditions. The ERR trap is not executed if the failed
              command  is  part  of  the  command list immediately following a
              while or until keyword, part of the test  in  an  if  statement,
              part  of  a  command  executed  in  a  &&  or || list, or if the
              command's return value is being inverted via !.  These  are  the
              same conditions obeyed by the errexit option.

              Signals  ignored  upon  entry  to the shell cannot be trapped or
              reset. Trapped signals that are not being ignored are  reset  to
              their original values in a subshell or subshell environment when
              one is created. The return status is false  if  any  sigspec  is
              invalid; otherwise trap returns true.

       type [-aftpP] name [name ...]
              With  no options, indicate how each name would be interpreted if
              used as a command name. If the -t option is used, type prints  a
              string  which  is  one  of alias, keyword, function, builtin, or
              file if  name  is  an  alias,  shell  reserved  word,  function,
              builtin,  or  disk file, respectively. If the name is not found,
              then nothing  is  printed,  and  an  exit  status  of  false  is
              returned. If the -p option is used, type either returns the name
              of the disk file that would be executed if name  were  specified
              as  a  command  name,  or  nothing if ``type -t name'' would not
              return file. The -P option forces a PATH search for  each  name,
              even  if ``type -t name'' would not return file. If a command is
              hashed, -p and -P print the hashed value,  not  necessarily  the
              file  that appears first in PATH. If the -a option is used, type
              prints all of the places that contain an executable named  name.
              This  includes  aliases  and  functions,  if  and only if the -p
              option is not also used. The table of  hashed  commands  is  not
              consulted when using -a. The -f option suppresses shell function
              lookup, as with the command builtin. type returns true if all of
              the arguments are found, false if any are not found.

       ulimit [-HSTabcdefilmnpqrstuvx [limit]]
              Provides  control  over the resources available to the shell and
              to processes started by it, on systems that allow such  control.
              The -H and -S options specify that the hard or soft limit is set
              for the given resource. A hard limit cannot be  increased  by  a
              non-root  user  once it is set; a soft limit may be increased up
              to the value of  the  hard  limit.  If  neither  -H  nor  -S  is
              specified,  both  the soft and hard limits are set. The value of
              limit can be a number in the unit specified for the resource  or
              one  of the special values hard, soft, or unlimited, which stand
              for the current hard limit,  the  current  soft  limit,  and  no
              limit,  respectively.  If limit is omitted, the current value of
              the soft limit of the resource is printed, unless the -H  option
              is  given.  When  more than one resource is specified, the limit
              name and unit are printed before the value.  Other  options  are
              interpreted as follows:
              -a     All current limits are reported
              -b     The maximum socket buffer size
              -c     The maximum size of core files created
              -d     The maximum size of a process's data segment
              -e     The maximum scheduling priority ("nice")
              -f     The  maximum  size  of files written by the shell and its
                     children
              -i     The maximum number of pending signals
              -l     The maximum size that may be locked into memory
              -m     The maximum resident set size (many systems do not  honor
                     this limit)
              -n     The maximum number of open file descriptors (most systems
                     do not allow this value to be set)
              -p     The pipe size in 512-byte blocks (this may not be set)
              -q     The maximum number of bytes in POSIX message queues
              -r     The maximum real-time scheduling priority
              -s     The maximum stack size
              -t     The maximum amount of cpu time in seconds
              -u     The maximum number of processes  available  to  a  single
                     user
              -v     The  maximum  amount  of  virtual memory available to the
                     shell and, on some systems, to its children
              -x     The maximum number of file locks
              -T     The maximum number of threads

              If limit is given, it is the new value of the specified resource
              (the  -a option is display only). If no option is given, then -f
              is assumed. Values are in 1024-byte increments, except  for  -t,
              which  is  in seconds, -p, which is in units of 512-byte blocks,
              and -T, -b, -n, and -u, which are unscaled  values.  The  return
              status is 0 unless an invalid option or argument is supplied, or
              an error occurs while setting a new limit.

       umask [-p] [-S] [mode]
              The user file-creation mask is set to mode. If mode begins  with
              a  digit,  it is interpreted as an octal number; otherwise it is
              interpreted as a symbolic mode mask similar to that accepted  by
              chmod(1).  If  mode is omitted, the current value of the mask is
              printed. The -S option causes the mask to be printed in symbolic
              form; the default output is an octal number. If the -p option is
              supplied, and mode is omitted, the output is in a form that  may
              be  reused  as  input.  The  return  status is 0 if the mode was
              successfully changed or if no mode argument  was  supplied,  and
              false otherwise.

       unalias [-a] [name ...]
              Remove  each  name  from  the  list of defined aliases. If -a is
              supplied, all alias definitions are removed. The return value is
              true unless a supplied name is not a defined alias.

       unset [-fv] [name ...]
              For each name, remove the corresponding variable or function. If
              no options are supplied, or the -v option is  given,  each  name
              refers  to  a  shell  variable.  Read-only  variables may not be
              unset. If -f is specified, each name refers to a shell function,
              and  the  function definition is removed. Each unset variable or
              function is removed from the environment  passed  to  subsequent
              commands.  If  any  of COMP_WORDBREAKS, RANDOM, SECONDS, LINENO,
              HISTCMD, FUNCNAME, GROUPS, or  DIRSTACK  are  unset,  they  lose
              their  special  properties, even if they are subsequently reset.
              The exit status is true unless a name is readonly.

       wait [n ...]
              Wait for each  specified  process  and  return  its  termination
              status.  Each n may be a process ID or a job specification; if a
              job spec is given, all processes  in  that  job's  pipeline  are
              waited  for.  If  n  is  not  given,  all currently active child
              processes are waited for, and the return status is  zero.  If  n
              specifies  a  non-existent  process or job, the return status is
              127. Otherwise, the return status is the exit status of the last
              process or job waited for.

VOIR AUSSI

       bash(1), sh(1)