BASH_BUILTINS(1)                                              BASH_BUILTINS(1)
NNAAMMEE
       bash,  :,  ., [, alias, bg, bind, break, builtin, cd, command, compgen,
       complete, continue, declare, dirs, disown, echo,  enable,  eval,  exec,
       exit,  export,  fc,  fg, getopts, hash, help, history, 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,  wait  -  bash  built-in  commands,  see
       bbaasshh(1)
BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
       Unless otherwise noted, each builtin command documented in this section
       as accepting options preceded by -- accepts ---- to signify the end of the
       options.
       :: [_a_r_g_u_m_e_n_t_s]
              No  effect;  the command does nothing beyond expanding _a_r_g_u_m_e_n_t_s
              and performing any specified redirections.  A zero exit code  is
              returned.
        ..  _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s]
       ssoouurrccee _f_i_l_e_n_a_m_e [_a_r_g_u_m_e_n_t_s]
              Read  and  execute  commands  from _f_i_l_e_n_a_m_e in the current shell
              environment and return the exit status of the last command  exe-
              cuted from _f_i_l_e_n_a_m_e.  If _f_i_l_e_n_a_m_e does not contain a slash, file
              names in PPAATTHH are used to find the  directory  containing  _f_i_l_e_-
              _n_a_m_e.   The  file  searched  for in PPAATTHH need not be executable.
              When bbaasshh is  not  in  _p_o_s_i_x  _m_o_d_e,  the  current  directory  is
              searched  if no file is found in PPAATTHH.  If the ssoouurrcceeppaatthh option
              to the sshhoopptt builtin command is turned  off,  the  PPAATTHH  is  not
              searched.   If any _a_r_g_u_m_e_n_t_s are supplied, they become the posi-
              tional parameters when  _f_i_l_e_n_a_m_e  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 _f_i_l_e_n_a_m_e is not found or
              cannot be read.
       aalliiaass [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
              AAlliiaass with no arguments or with the --pp option prints the list of
              aliases  in  the form aalliiaass _n_a_m_e=_v_a_l_u_e on standard output.  When
              arguments are supplied, an alias is defined for each _n_a_m_e  whose
              _v_a_l_u_e is given.  A trailing space in  _v_a_l_u_e causes the next word
              to be checked for alias substitution when the alias is expanded.
              For  each  _n_a_m_e  in the argument list for which no _v_a_l_u_e is sup-
              plied, the name and  value  of  the  alias  is  printed.   AAlliiaass
              returns  true unless a _n_a_m_e is given for which no alias has been
              defined.
       bbgg [_j_o_b_s_p_e_c]
              Resume the suspended job _j_o_b_s_p_e_c in the background, as if it had
              been  started  with  &&.   If _j_o_b_s_p_e_c is not present, the shell’s
              notion of the _c_u_r_r_e_n_t _j_o_b is used.  bbgg _j_o_b_s_p_e_c returns 0  unless
              run  when  job control is disabled or, when run with job control
              enabled, if _j_o_b_s_p_e_c was not found or started  without  job  con-
              trol.
       bbiinndd [--mm _k_e_y_m_a_p] [--llppssvvPPSSVV]
       bbiinndd [--mm _k_e_y_m_a_p] [--qq _f_u_n_c_t_i_o_n] [--uu _f_u_n_c_t_i_o_n] [--rr _k_e_y_s_e_q]
       bbiinndd [--mm _k_e_y_m_a_p] --ff _f_i_l_e_n_a_m_e
       bbiinndd [--mm _k_e_y_m_a_p] --xx _k_e_y_s_e_q:_s_h_e_l_l_-_c_o_m_m_a_n_d
       bbiinndd [--mm _k_e_y_m_a_p] _k_e_y_s_e_q:_f_u_n_c_t_i_o_n_-_n_a_m_e
       bbiinndd _r_e_a_d_l_i_n_e_-_c_o_m_m_a_n_d
              Display  current  rreeaaddlliinnee key and function bindings, bind a key
              sequence to a rreeaaddlliinnee function or  macro,  or  set  a  rreeaaddlliinnee
              variable.   Each  non-option  argument  is a command as it would
              appear in _._i_n_p_u_t_r_c, 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m _k_e_y_m_a_p
                     Use _k_e_y_m_a_p as the keymap to be affected by the subsequent
                     bindings.  Acceptable _k_e_y_m_a_p names are _e_m_a_c_s_, _e_m_a_c_s_-_s_t_a_n_-
                     _d_a_r_d_, _e_m_a_c_s_-_m_e_t_a_, _e_m_a_c_s_-_c_t_l_x_,  _v_i_,  _v_i_-_m_o_v_e_,  _v_i_-_c_o_m_m_a_n_d,
                     and  _v_i_-_i_n_s_e_r_t.  _v_i is equivalent to _v_i_-_c_o_m_m_a_n_d; _e_m_a_c_s is
                     equivalent to _e_m_a_c_s_-_s_t_a_n_d_a_r_d.
              --ll     List the names of all rreeaaddlliinnee functions.
              --pp     Display rreeaaddlliinnee function names and bindings  in  such  a
                     way that they can be re-read.
              --PP     List current rreeaaddlliinnee function names and bindings.
              --vv     Display  rreeaaddlliinnee variable names and values in such a way
                     that they can be re-read.
              --VV     List current rreeaaddlliinnee variable names and values.
              --ss     Display rreeaaddlliinnee key sequences bound to  macros  and  the
                     strings  they  output  in such a way that they can be re-
                     read.
              --SS     Display rreeaaddlliinnee key sequences bound to  macros  and  the
                     strings they output.
              --ff _f_i_l_e_n_a_m_e
                     Read key bindings from _f_i_l_e_n_a_m_e.
              --qq _f_u_n_c_t_i_o_n
                     Query about which keys invoke the named _f_u_n_c_t_i_o_n.
              --uu _f_u_n_c_t_i_o_n
                     Unbind all keys bound to the named _f_u_n_c_t_i_o_n.
              --rr _k_e_y_s_e_q
                     Remove any current binding for _k_e_y_s_e_q.
              --xx _k_e_y_s_e_q::_s_h_e_l_l_-_c_o_m_m_a_n_d
                     Cause  _s_h_e_l_l_-_c_o_m_m_a_n_d  to  be  executed whenever _k_e_y_s_e_q is
                     entered.
              The return value is 0 unless an unrecognized option is given  or
              an error occurred.
       bbrreeaakk [_n]
              Exit  from  within a ffoorr, wwhhiillee, uunnttiill, or sseelleecctt 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 the shell is not executing  a  loop
              when bbrreeaakk is executed.
       bbuuiillttiinn _s_h_e_l_l_-_b_u_i_l_t_i_n [_a_r_g_u_m_e_n_t_s]
              Execute  the  specified shell builtin, passing it _a_r_g_u_m_e_n_t_s, and
              return its exit status.  This is useful when defining a function
              whose  name  is the same as a shell builtin, retaining the func-
              tionality of the builtin within the function.  The ccdd builtin is
              commonly  redefined  this  way.   The  return status is false if
              _s_h_e_l_l_-_b_u_i_l_t_i_n is not a shell builtin command.
       ccdd [--LL||--PP] [_d_i_r]
              Change the current directory to _d_i_r.  The variable HHOOMMEE  is  the
              default  _d_i_r.   The  variable CCDDPPAATTHH defines the search path for
              the directory containing _d_i_r.  Alternative  directory  names  in
              CCDDPPAATTHH  are  separated by a colon (:).  A null directory name in
              CCDDPPAATTHH is the same as the current directory,  i.e.,  ‘‘..’’.   If
              _d_i_r  begins  with  a  slash (/), then CCDDPPAATTHH is not used. The --PP
              option says to use the physical directory structure  instead  of
              following  symbolic  links  (see  also  the --PP option to the sseett
              builtin command); the --LL option forces symbolic links to be fol-
              lowed.   An  argument of -- is equivalent to $$OOLLDDPPWWDD.  The return
              value is true if the directory was successfully  changed;  false
              otherwise.
       ccoommmmaanndd [--ppVVvv] _c_o_m_m_a_n_d [_a_r_g ...]
              Run  _c_o_m_m_a_n_d  with  _a_r_g_s  suppressing  the normal shell function
              lookup. Only builtin commands or commands found in the PPAATTHH  are
              executed.   If the --pp option is given, the search for _c_o_m_m_a_n_d is
              performed using a default value for PPAATTHH that is  guaranteed  to
              find  all  of  the  standard  utilities.  If either the --VV or --vv
              option is supplied, a description of _c_o_m_m_a_n_d is printed.  The --vv
              option  causes a single word indicating the command or file name
              used to invoke _c_o_m_m_a_n_d to be displayed; the --VV option produces a
              more  verbose  description.  If the --VV or --vv option is supplied,
              the exit status is 0 if _c_o_m_m_a_n_d was found, and  1  if  not.   If
              neither option is supplied and an error occurred or _c_o_m_m_a_n_d can-
              not be found, the exit status is 127.  Otherwise, the exit  sta-
              tus of the ccoommmmaanndd builtin is the exit status of _c_o_m_m_a_n_d.
       ccoommppggeenn [_o_p_t_i_o_n] [_w_o_r_d]
              Generate  possible  completion matches for _w_o_r_d according to the
              _o_p_t_i_o_ns, which may  be  any  option  accepted  by  the  ccoommpplleettee
              builtin  with  the exception of --pp and --rr, and write the matches
              to the standard output.  When using the --FF or  --C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  pro-
              grammable  completion  code  had  generated them directly from a
              completion specification with the same flags.  If _w_o_r_d is speci-
              fied, only those completions matching _w_o_r_d will be displayed.
              The  return  value is true unless an invalid option is supplied,
              or no matches were generated.
       ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_p_a_t]  [--WW
       _w_o_r_d_l_i_s_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x]
              [--XX _f_i_l_t_e_r_p_a_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d] _n_a_m_e [_n_a_m_e _._._.]
       ccoommpplleettee --pprr [_n_a_m_e ...]
              Specify how arguments to each _n_a_m_e should be completed.  If  the
              --p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r option removes a completion spec-
              ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all  com-
              pletion specifications.
              The  process  of  applying  these completion specifications when
              word completion is  attempted  is  described  above  under  PPrroo--
              ggrraammmmaabbllee CCoommpplleettiioonn.
              Other  options,  if specified, have the following meanings.  The
              arguments to the --GG, --WW, and --XX options (and, if necessary,  the
              --PP  and --SS options) should be quoted to protect them from expan-
              sion before the ccoommpplleettee builtin is invoked.
              --oo _c_o_m_p_-_o_p_t_i_o_n
                      The _c_o_m_p_-_o_p_t_i_o_n controls several aspects  of  the  comp-
                      spec’s  behavior beyond the simple generation of comple-
                      tions.  _c_o_m_p_-_o_p_t_i_o_n may be one of:
                      ddeeffaauulltt Use readline’s default  filename  completion  if
                              the compspec generates no matches.
                      ddiirrnnaammeess
                              Perform  directory  name completion if the comp-
                              spec generates no matches.
                      ffiilleennaammeess
                              Tell readline that the compspec generates  file-
                              names,  so  it can perform any filename-specific
                              processing (like adding  a  slash  to  directory
                              names or suppressing trailing spaces).  Intended
                              to be used with shell functions.
                      nnoossppaaccee Tell  readline  not  to  append  a  space   (the
                              default)  to  words  completed at the end of the
                              line.
              --AA _a_c_t_i_o_n
                      The _a_c_t_i_o_n may be one of the  following  to  generate  a
                      list of possible completions:
                      aalliiaass   Alias names.  May also be specified as --aa.
                      aarrrraayyvvaarr
                              Array variable names.
                      bbiinnddiinngg RReeaaddlliinnee key binding names.
                      bbuuiillttiinn Names  of  shell  builtin commands.  May also be
                              specified as --bb.
                      ccoommmmaanndd Command names.  May also be specified as --cc.
                      ddiirreeccttoorryy
                              Directory names.  May also be specified as --dd.
                      ddiissaabblleedd
                              Names of disabled shell builtins.
                      eennaabblleedd Names of enabled shell builtins.
                      eexxppoorrtt  Names of exported shell variables.  May also  be
                              specified as --ee.
                      ffiillee    File names.  May also be specified as --ff.
                      ffuunnccttiioonn
                              Names of shell functions.
                      ggrroouupp   Group names.  May also be specified as --gg.
                      hheellppttooppiicc
                              Help topics as accepted by the hheellpp builtin.
                      hhoossttnnaammee
                              Hostnames,  as  taken from the file specified by
                              the HHOOSSTTFFIILLEE shell variable.
                      jjoobb     Job names, if job control is active.   May  also
                              be specified as --jj.
                      kkeeyywwoorrdd Shell  reserved words.  May also be specified as
                              --kk.
                      rruunnnniinngg Names of running jobs, if job control is active.
                      sseerrvviiccee Service names.  May also be specified as --ss.
                      sseettoopptt  Valid  arguments  for  the  --oo option to the sseett
                              builtin.
                      sshhoopptt   Shell option names  as  accepted  by  the  sshhoopptt
                              builtin.
                      ssiiggnnaall  Signal names.
                      ssttooppppeedd Names of stopped jobs, if job control is active.
                      uusseerr    User names.  May also be specified as --uu.
                      vvaarriiaabbllee
                              Names of all shell variables.  May also be spec-
                              ified as --vv.
              --GG _g_l_o_b_p_a_t
                      The  filename  expansion  pattern _g_l_o_b_p_a_t is expanded to
                      generate the possible completions.
              --WW _w_o_r_d_l_i_s_t
                      The _w_o_r_d_l_i_s_t is split using the characters  in  the  IIFFSS
                      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 com-
                      pleted.
              --CC _c_o_m_m_a_n_d
                      _c_o_m_m_a_n_d is executed in a subshell environment,  and  its
                      output is used as the possible completions.
              --FF _f_u_n_c_t_i_o_n
                      The  shell  function _f_u_n_c_t_i_o_n is executed in the current
                      shell environment.  When it finishes, the possible  com-
                      pletions  are  retrieved from the value of the CCOOMMPPRREEPPLLYY
                      array variable.
              --XX _f_i_l_t_e_r_p_a_t
                      _f_i_l_t_e_r_p_a_t is a pattern as used for  filename  expansion.
                      It is applied to the list of possible completions gener-
                      ated by the preceding options and  arguments,  and  each
                      completion  matching _f_i_l_t_e_r_p_a_t is removed from the list.
                      A leading !! in _f_i_l_t_e_r_p_a_t negates the  pattern;  in  this
                      case,  any completion not matching _f_i_l_t_e_r_p_a_t is removed.
              --PP _p_r_e_f_i_x
                      _p_r_e_f_i_x is added at the beginning of each  possible  com-
                      pletion after all other options have been applied.
              --SS _s_u_f_f_i_x
                      _s_u_f_f_i_x is appended to each possible completion after all
                      other options have been applied.
              The return value is true unless an invalid option  is  supplied,
              an  option  other than --pp or --rr is supplied without a _n_a_m_e argu-
              ment, an attempt is made to remove  a  completion  specification
              for a _n_a_m_e for which no specification exists, or an error occurs
              adding a completion specification.
       ccoonnttiinnuuee [_n]
              Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or
              sseelleecctt  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 the shell is not
              executing a loop when ccoonnttiinnuuee is executed.
       ddeeccllaarree [--aaffFFiirrttxx] [--pp] [_n_a_m_e[=_v_a_l_u_e]]
       ttyyppeesseett [--aaffFFiirrttxx] [--pp] [_n_a_m_e[=_v_a_l_u_e]]
              Declare  variables and/or give them attributes.  If no _n_a_m_es are
              given then display the values of variables.  The --pp option  will
              display  the  attributes  and  values  of each _n_a_m_e.  When --pp is
              used, additional options are ignored.  The  --FF  option  inhibits
              the  display of function definitions; only the function name and
              attributes are printed.  The --FF option implies --ff.  The  follow-
              ing options can be used to restrict output to variables with the
              specified attribute or to give variables attributes:
              --aa     Each _n_a_m_e is an array variable (see AArrrraayyss above).
              --ff     Use function names only.
              --ii     The variable is treated as an integer; arithmetic evalua-
                     tion  (see  AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN )) is performed when the
                     variable is assigned a value.
              --rr     Make _n_a_m_es readonly.  These names cannot then be assigned
                     values by subsequent assignment statements or unset.
              --tt     Give  each  _n_a_m_e  the  _t_r_a_c_e attribute.  Traced functions
                     inherit the DDEEBBUUGG trap from the calling shell.  The trace
                     attribute has no special meaning for variables.
              --xx     Mark  _n_a_m_es  for  export  to  subsequent commands via the
                     environment.
              Using ‘+’ instead of ‘-’ turns off the attribute  instead,  with
              the  exception that ++aa may not be used to destroy an array vari-
              able.  When used in a function, makes each _n_a_m_e local,  as  with
              the  llooccaall  command.   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
              AArrrraayyss above), one of the _n_a_m_e_s is not a  valid  shell  variable
              name, an attempt is made to turn off readonly status for a read-
              only variable, an attempt is made to turn off array  status  for
              an  array variable, or an attempt is made to display a non-exis-
              tent function with --ff.
       ddiirrss [[--ccllppvv]] [[++_n]] [[--_n]]
              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  ppuusshhdd  command;  the  ppooppdd command removes
              entries from the list.
              ++_n     Displays the _nth entry counting from the left of the list
                     shown by ddiirrss when invoked without options, starting with
                     zero.
              --_n     Displays the _nth entry counting from  the  right  of  the
                     list shown by ddiirrss when invoked without options, starting
                     with zero.
              --cc     Clears  the  directory  stack  by  deleting  all  of  the
                     entries.
              --ll     Produces  a  longer  listing;  the default listing format
                     uses a tilde to denote the home directory.
              --pp     Print the directory stack with one entry per line.
              --vv     Print the directory stack with one entry per  line,  pre-
                     fixing 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.
       ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ...]
              Without options, each _j_o_b_s_p_e_c  is  removed  from  the  table  of
              active  jobs.   If  the  --hh option is given, each _j_o_b_s_p_e_c is not
              removed from the table, but is marked so that SSIIGGHHUUPP is not sent
              to  the  job  if  the shell receives a SSIIGGHHUUPP.  If no _j_o_b_s_p_e_c is
              present, and neither the --aa nor the --rr option is  supplied,  the
              _c_u_r_r_e_n_t  _j_o_b  is used.  If no _j_o_b_s_p_e_c is supplied, the --aa option
              means to remove or mark all jobs; the --rr option without  a  _j_o_b_-
              _s_p_e_c  argument  restricts operation to running jobs.  The return
              value is 0 unless a _j_o_b_s_p_e_c does not specify a valid job.
       eecchhoo [--nneeEE] [_a_r_g ...]
              Output the _a_r_gs, separated by spaces,  followed  by  a  newline.
              The return status is always 0.  If --nn is specified, the trailing
              newline is suppressed.  If the --ee option is  given,  interpreta-
              tion  of  the following backslash-escaped characters is enabled.
              The --EE option disables the interpretation of these escape  char-
              acters,  even  on systems where they are interpreted by default.
              The xxppgg__eecchhoo shell option may be used to  dynamically  determine
              whether  or not eecchhoo expands these escape characters by default.
              eecchhoo does not interpret ---- to mean the  end  of  options.   eecchhoo
              interprets the following escape sequences:
              \\aa     alert (bell)
              \\bb     backspace
              \\cc     suppress trailing newline
              \\ee     an escape character
              \\ff     form feed
              \\nn     new line
              \\rr     carriage return
              \\tt     horizontal tab
              \\vv     vertical tab
              \\\\     backslash
              \\00_n_n_n  the  eight-bit  character  whose value is the octal value
                     _n_n_n (zero to three octal digits)
              \\_n_n_n   the eight-bit character whose value is  the  octal  value
                     _n_n_n (one to three octal digits)
              \\xx_H_H   the  eight-bit  character  whose value is the hexadecimal
                     value _H_H (one or two hex digits)
       eennaabbllee [--aaddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...]
              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n is used, each  _n_a_m_e  is  disabled;  otherwise,  _n_a_m_e_s  are
              enabled.  For example, to use the tteesstt binary found via the PPAATTHH
              instead of the shell builtin version, run  ‘‘enable  -n  test’’.
              The  --ff  option  means to load the new builtin command _n_a_m_e from
              shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading.
              The  --dd  option will delete a builtin previously loaded with --ff.
              If no _n_a_m_e arguments are given, or if the --pp option is supplied,
              a list of shell builtins is printed.  With no other option argu-
              ments, the list consists of all enabled shell builtins.   If  --nn
              is  supplied, only disabled builtins are printed.  If --aa is sup-
              plied, the list printed includes all builtins, with  an  indica-
              tion  of whether or not each is enabled.  If --ss is supplied, the
              output is restricted to the POSIX _s_p_e_c_i_a_l builtins.  The  return
              value  is  0 unless a _n_a_m_e is not a shell builtin or there is an
              error loading a new builtin from a shared object.
       eevvaall [_a_r_g ...]
              The _a_r_gs are read and concatenated together into a  single  com-
              mand.   This command is then read and executed by the shell, and
              its exit status is returned as the value of eevvaall.  If there  are
              no _a_r_g_s, or only null arguments, eevvaall returns 0.
       eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]]
              If  _c_o_m_m_a_n_d is specified, it replaces the shell.  No new process
              is created.  The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d.   If
              the --ll option is supplied, the shell places a dash at the begin-
              ning of the zeroth arg passed to _c_o_m_m_a_n_d.  This is what _l_o_g_i_n(1)
              does.  The --cc option causes _c_o_m_m_a_n_d to be executed with an empty
              environment.  If --aa is supplied, the shell passes  _n_a_m_e  as  the
              zeroth  argument  to the executed command.  If _c_o_m_m_a_n_d cannot be
              executed for some reason, a non-interactive shell exits,  unless
              the  shell  option eexxeeccffaaiill is enabled, in which case it returns
              failure.  An interactive shell returns failure if the file  can-
              not  be executed.  If _c_o_m_m_a_n_d 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.
       eexxiitt [_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
              EEXXIITT is executed before the shell terminates.
       eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ...
       eexxppoorrtt --pp
              The  supplied _n_a_m_e_s are marked for automatic export to the envi-
              ronment of subsequently executed commands.  If the --ff option  is
              given,  the _n_a_m_e_s refer to functions.  If no _n_a_m_e_s are given, or
              if the --pp option is supplied, a  list  of  all  names  that  are
              exported  in  this  shell  is printed.  The --nn option causes the
              export property to be removed from the named variables.   eexxppoorrtt
              returns  an exit status of 0 unless an invalid option is encoun-
              tered, one of the _n_a_m_e_s is not a valid shell variable  name,  or
              --ff is supplied with a _n_a_m_e that is not a function.
       ffcc [--ee _e_n_a_m_e] [--nnllrr] [_f_i_r_s_t] [_l_a_s_t]
       ffcc --ss [_p_a_t=_r_e_p] [_c_m_d]
              Fix  Command.  In the first form, a range of commands from _f_i_r_s_t
              to _l_a_s_t is selected from the history list.  _F_i_r_s_t and  _l_a_s_t  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 cur-
              rent command number).  If _l_a_s_t is not specified it is set to the
              current  command  for  listing (so that ‘‘fc -l -10’’ prints the
              last 10 commands) and to _f_i_r_s_t otherwise.  If _f_i_r_s_t is not spec-
              ified  it is set to the previous command for editing and -16 for
              listing.
              The --nn option suppresses the command numbers when listing.   The
              --rr  option reverses the order of the commands.  If the --ll option
              is given, the commands are listed on  standard  output.   Other-
              wise,  the editor given by _e_n_a_m_e is invoked on a file containing
              those commands.  If _e_n_a_m_e is not given, the value of the  FFCCEEDDIITT
              variable  is used, and the value of EEDDIITTOORR if FFCCEEDDIITT 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, _c_o_m_m_a_n_d is re-executed after each instance
              of _p_a_t is replaced by _r_e_p.  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 com-
              mand.
              If  the  first  form  is  used,  the return value is 0 unless an
              invalid option is encountered or _f_i_r_s_t or _l_a_s_t  specify  history
              lines  out  of  range.  If the --e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-exe-
              cuted,  unless  _c_m_d  does  not  specify a valid history line, in
              which case ffcc returns failure.
       ffgg [_j_o_b_s_p_e_c]
              Resume _j_o_b_s_p_e_c in the foreground, and make it the  current  job.
              If _j_o_b_s_p_e_c is not present, the shell’s notion of the _c_u_r_r_e_n_t _j_o_b
              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 _j_o_b_s_p_e_c does not spec-
              ify  a  valid  job  or  _j_o_b_s_p_e_c specifies a job that was started
              without job control.
       ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s]
              ggeettooppttss is used by shell procedures to parse positional  parame-
              ters.   _o_p_t_s_t_r_i_n_g  contains  the  option characters to be recog-
              nized; 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, ggeettooppttss
              places the next option in the shell variable _n_a_m_e,  initializing
              _n_a_m_e if it does not exist, and the index of the next argument to
              be processed into the variable OOPPTTIINNDD.  OOPPTTIINNDD is initialized to
              1  each  time  the  shell or a shell script is invoked.  When an
              option requires an argument, ggeettooppttss places that  argument  into
              the  variable OOPPTTAARRGG.  The shell does not reset OOPPTTIINNDD automati-
              cally; it must be  manually  reset  between  multiple  calls  to
              ggeettooppttss within the same shell invocation if a new set of parame-
              ters is to be used.
              When the end of options is encountered,  ggeettooppttss  exits  with  a
              return  value  greater than zero.  OOPPTTIINNDD is set to the index of
              the first non-option argument, and nnaammee is set to ?.
              ggeettooppttss normally parses the positional parameters, but  if  more
              arguments are given in _a_r_g_s, ggeettooppttss parses those instead.
              ggeettooppttss  can  report errors in two ways.  If the first character
              of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error  reporting  is  used.   In
              normal  operation  diagnostic  messages are printed when invalid
              options or missing option arguments  are  encountered.   If  the
              variable  OOPPTTEERRRR  is  set  to  0, no error messages will be dis-
              played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon.
              If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if
              not silent, prints an  error  message  and  unsets  OOPPTTAARRGG.   If
              ggeettooppttss  is  silent,  the  option  character  found is placed in
              OOPPTTAARRGG and no diagnostic message is printed.
              If a required argument is not found, and ggeettooppttss is not  silent,
              a  question  mark  (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
              diagnostic message is printed.  If ggeettooppttss  is  silent,  then  a
              colon  (::)  is  placed  in  _n_a_m_e and OOPPTTAARRGG is set to the option
              character found.
              ggeettooppttss returns true if an option, specified or unspecified,  is
              found.  It returns false if the end of options is encountered or
              an error occurs.
       hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
              For each _n_a_m_e, the full file name of the command  is  determined
              by searching the directories in $$PPAATTHH and remembered.  If the --pp
              option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e is
              used as the full file name of the command.  The --rr option causes
              the shell to forget all remembered  locations.   The  --dd  option
              causes the shell to forget the remembered location of each _n_a_m_e.
              If the --tt option is supplied, the full pathname  to  which  each
              _n_a_m_e  corresponds  is  printed.   If multiple _n_a_m_e arguments are
              supplied with --tt, the _n_a_m_e is printed  before  the  hashed  full
              pathname.  The --ll option causes output to be displayed in a for-
              mat that may be reused as input.  If no arguments are given,  or
              if only --ll is supplied, information about remembered commands is
              printed.  The return status is true unless a _n_a_m_e is  not  found
              or an invalid option is supplied.
       hheellpp [--ss] [_p_a_t_t_e_r_n]
              Display  helpful information about builtin commands.  If _p_a_t_t_e_r_n
              is specified, hheellpp gives detailed help on all commands  matching
              _p_a_t_t_e_r_n;  otherwise  help for all the builtins and shell control
              structures is printed.  The --ss option restricts the  information
              displayed  to  a  short  usage synopsis.  The return status is 0
              unless no command matches _p_a_t_t_e_r_n.
       hhiissttoorryy [[_n]]
       hhiissttoorryy --cc
       hhiissttoorryy --dd _o_f_f_s_e_t
       hhiissttoorryy --aannrrww [_f_i_l_e_n_a_m_e]
       hhiissttoorryy --pp _a_r_g [_a_r_g _._._.]
       hhiissttoorryy --ss _a_r_g [_a_r_g _._._.]
              With no options, display the command history list with line num-
              bers.  Lines listed with a ** have been modified.  An argument of
              _n lists only the last _n lines.  If _f_i_l_e_n_a_m_e is supplied,  it  is
              used as the name of the history file; if not, the value of HHIISSTT--
              FFIILLEE is used.  Options, if supplied, have  the  following  mean-
              ings:
              --cc     Clear the history list by deleting all the entries.
              --dd _o_f_f_s_e_t
                     Delete the history entry at position _o_f_f_s_e_t.
              --aa     Append  the  ‘‘new’’ history lines (history lines entered
                     since the beginning of the current bbaasshh session)  to  the
                     history file.
              --n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 bbaasshh session.
              --rr     Read the contents of the history file and use them as the
                     current history.
              --ww     Write  the current history to the history file, overwrit-
                     ing the history file’s contents.
              --pp     Perform history substitution on the  following  _a_r_g_s  and
                     display  the  result  on  the  standard output.  Does not
                     store the results in the history list.  Each _a_r_g must  be
                     quoted to disable normal history expansion.
              --ss     Store  the  _a_r_g_s  in  the history list as a single entry.
                     The last command in the history list  is  removed  before
                     the _a_r_g_s are added.
              The  return  value is 0 unless an invalid option is encountered,
              an error occurs while reading or writing the  history  file,  an
              invalid  _o_f_f_s_e_t is supplied as an argument to --dd, or the history
              expansion supplied as an argument to --pp fails.
       jjoobbss [--llnnpprrss] [ _j_o_b_s_p_e_c ... ]
       jjoobbss --xx _c_o_m_m_a_n_d [ _a_r_g_s ... ]
              The first form lists the active jobs.  The options have the fol-
              lowing meanings:
              --ll     List process IDs in addition to the normal information.
              --pp     List  only  the  process  ID  of  the job’s process group
                     leader.
              --nn     Display information only about  jobs  that  have  changed
                     status  since the user was last notified of their status.
              --rr     Restrict output to running jobs.
              --ss     Restrict output to stopped jobs.
              If _j_o_b_s_p_e_c is given, output is restricted to  information  about
              that  job.   The  return status is 0 unless an invalid option is
              encountered or an invalid _j_o_b_s_p_e_c is supplied.
              If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in
              _c_o_m_m_a_n_d  or  _a_r_g_s  with  the corresponding process group ID, and
              executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status.
       kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ...
       kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s]
              Send the signal named by _s_i_g_s_p_e_c  or  _s_i_g_n_u_m  to  the  processes
              named  by  _p_i_d or _j_o_b_s_p_e_c.  _s_i_g_s_p_e_c is either a signal name such
              as SSIIGGKKIILLLL or a signal number; _s_i_g_n_u_m is a  signal  number.   If
              _s_i_g_s_p_e_c  is a signal name, the name may be given with or without
              the SSIIGG prefix.  If _s_i_g_s_p_e_c is  not  present,  then  SSIIGGTTEERRMM  is
              assumed.   An  argument  of  --ll  lists the signal names.  If any
              arguments are supplied when --ll is given, the names of  the  sig-
              nals  corresponding  to the arguments are listed, and the return
              status is 0.  The _e_x_i_t___s_t_a_t_u_s argument to --ll is a number  speci-
              fying  either  a  signal  number or the exit status of a process
              terminated by a signal.  kkiillll returns true if at least one  sig-
              nal  was  successfully  sent,  or false if an error occurs or an
              invalid option is encountered.
       lleett _a_r_g [_a_r_g ...]
              Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH--
              MMEETTIICC  EEVVAALLUUAATTIIOONN).  If the last _a_r_g evaluates to 0, lleett returns
              1; 0 is returned otherwise.
       llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...]
              For each argument, a local variable named _n_a_m_e is  created,  and
              assigned  _v_a_l_u_e.   The _o_p_t_i_o_n can be any of the options accepted
              by ddeeccllaarree.  When llooccaall is used within a function, it causes the
              variable  _n_a_m_e  to have a visible scope restricted to that func-
              tion and its children.  With no operands, llooccaall writes a list of
              local  variables  to the standard output.  It is an error to use
              llooccaall when not within a function.  The return status is 0 unless
              llooccaall  is  used outside a function, an invalid _n_a_m_e is supplied,
              or _n_a_m_e is a readonly variable.
       llooggoouutt Exit a login shell.
       ppooppdd [-nn] [+_n] [-_n]
              Removes entries from the directory stack.   With  no  arguments,
              removes  the  top directory from the stack, and performs a ccdd to
              the new top directory.  Arguments, if supplied, have the follow-
              ing meanings:
              ++_n     Removes  the _nth entry counting from the left of the list
                     shown by ddiirrss, 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  ddiirrss, starting with zero.  For example: ‘‘popd
                     -0’’ removes the last directory, ‘‘popd -1’’ the next  to
                     last.
              --nn     Suppresses  the  normal change of directory when removing
                     directories from the stack, so that  only  the  stack  is
                     manipulated.
              If  the ppooppdd command is successful, a ddiirrss is performed as well,
              and the return status is 0.  ppooppdd returns false  if  an  invalid
              option is encountered, the directory stack is empty, a non-exis-
              tent directory stack entry is specified, or the directory change
              fails.
       pprriinnttff _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
              Write  the  formatted _a_r_g_u_m_e_n_t_s to the standard output under the
              control of the _f_o_r_m_a_t.  The _f_o_r_m_a_t 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 for-
              mat specifications, each of which causes printing  of  the  next
              successive _a_r_g_u_m_e_n_t.  In addition to the standard _p_r_i_n_t_f(1) for-
              mats, %%bb causes pprriinnttff to expand backslash escape  sequences  in
              the  corresponding  _a_r_g_u_m_e_n_t, and %%qq causes pprriinnttff to output the
              corresponding _a_r_g_u_m_e_n_t in a format that can be reused  as  shell
              input.
              The  _f_o_r_m_a_t  is  reused as necessary to consume all of the _a_r_g_u_-
              _m_e_n_t_s.  If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s 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.
       ppuusshhdd [--nn] [_d_i_r]
       ppuusshhdd [--nn] [+_n] [-_n]
              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     Rotates  the  stack  so  that the _nth directory (counting
                     from the left of the list shown by  ddiirrss,  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 ddiirrss,  starting  with
                     zero) is at the top.
              --nn     Suppresses  the  normal  change  of directory when adding
                     directories to the stack,  so  that  only  the  stack  is
                     manipulated.
              _d_i_r    Adds _d_i_r to the directory stack at the top, making it the
                     new current working directory.
              If the ppuusshhdd command is successful, a ddiirrss is performed as well.
              If  the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
              fails.  With the second form, ppuusshhdd returns 0 unless the  direc-
              tory  stack  is empty, a non-existent directory stack element is
              specified, or the directory change to the specified new  current
              directory fails.
       ppwwdd [--LLPP]
              Print  the  absolute  pathname of the current working directory.
              The pathname printed contains no symbolic links if the --PP option
              is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
              is enabled.  If the --L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.
       rreeaadd [--eerrss] [--uu _f_d] [--tt _t_i_m_e_o_u_t] [--aa _a_n_a_m_e] [--pp _p_r_o_m_p_t] [--nn _n_c_h_a_r_s] [--dd
       _d_e_l_i_m] [_n_a_m_e ...]
              One  line  is  read  from  the  standard input, or from the file
              descriptor _f_d supplied as an argument to the --uu option, and  the
              first word is assigned to the first _n_a_m_e, the second word to the
              second _n_a_m_e, and so on, with leftover words and their  interven-
              ing  separators  assigned  to the last _n_a_m_e.  If there are fewer
              words read from the input stream than names, the remaining names
              are  assigned  empty  values.  The characters in IIFFSS 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  fol-
              lowing meanings:
              --aa _a_n_a_m_e
                     The words are assigned to sequential indices of the array
                     variable _a_n_a_m_e, starting at 0.  _a_n_a_m_e is unset before any
                     new  values  are  assigned.   Other  _n_a_m_e  arguments  are
                     ignored.
              --dd _d_e_l_i_m
                     The first character of _d_e_l_i_m is  used  to  terminate  the
                     input line, rather than newline.
              --ee     If the standard input is coming from a terminal, rreeaaddlliinnee
                     (see RREEAADDLLIINNEE above) is used to obtain the line.
              --nn _n_c_h_a_r_s
                     rreeaadd returns after reading _n_c_h_a_r_s characters rather  than
                     waiting for a complete line of input.
              --pp _p_r_o_m_p_t
                     Display _p_r_o_m_p_t on standard error, without a trailing new-
                     line, before attempting to read any input.  The prompt is
                     displayed only if input is coming from a terminal.
              --rr     Backslash does not act as an escape character.  The back-
                     slash is considered to be part of the line.  In  particu-
                     lar,  a  backslash-newline pair may not be used as a line
                     continuation.
              --ss     Silent mode.  If input is coming from a terminal, charac-
                     ters are not echoed.
              --tt _t_i_m_e_o_u_t
                     Cause  rreeaadd  to time out and return failure if a complete
                     line of input is not read within _t_i_m_e_o_u_t  seconds.   This
                     option  has  no  effect if rreeaadd is not reading input from
                     the terminal or a pipe.
              --uu _f_d  Read input from file descriptor _f_d.
              If no _n_a_m_e_s are supplied, the line read is assigned to the vari-
              able  RREEPPLLYY.   The  return  code  is zero, unless end-of-file is
              encountered, rreeaadd times out, or an invalid  file  descriptor  is
              supplied as the argument to --uu.
       rreeaaddoonnllyy [--aappff] [_n_a_m_e ...]
              The  given  _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
              may not be changed by subsequent assignment.  If the  --ff  option
              is  supplied,  the  functions  corresponding to the _n_a_m_e_s are so
              marked.  The --aa option restricts the variables to arrays.  If no
              _n_a_m_e  arguments  are  given,  or if the --pp option is supplied, a
              list of all readonly names is printed.   The  --pp  option  causes
              output  to be displayed in a format that may be reused as input.
              The return status is 0 unless an invalid option is  encountered,
              one  of  the  _n_a_m_e_s is not a valid shell variable name, or --ff is
              supplied with a _n_a_m_e that is not a function.
       rreettuurrnn [_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 ..  (ssoouurrccee) 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.
       sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCHHPP] [--oo _o_p_t_i_o_n] [_a_r_g ...]
              Without options, the name and value of each shell  variable  are
              displayed  in  a format that can be reused as input.  The output
              is sorted according to the current  locale.   When  options  are
              specified,  they  set  or unset shell attributes.  Any arguments
              remaining after the options are processed are treated as  values
              for the positional parameters and are assigned, in order, to $$11,
              $$22, ......  $$_n.  Options, if specified, have  the  following  mean-
              ings:
              --aa      Automatically  mark  variables  and  functions which are
                      modified or created for export  to  the  environment  of
                      subsequent commands.
              --bb      Report  the status of terminated background jobs immedi-
                      ately, rather than before the next primary prompt.  This
                      is effective only when job control is enabled.
              --ee      Exit  immediately if a _s_i_m_p_l_e _c_o_m_m_a_n_d (see SSHHEELLLL GGRRAAMMMMAARR
                      above) exits with a non-zero status.  The shell does not
                      exit  if  the  command that fails is part of an _u_n_t_i_l or
                      _w_h_i_l_e loop, part of an _i_f statement, part of a &&&& or  ││││
                      list, or if the command’s return value is being inverted
                      via !!.  A trap on EERRRR, if set, is  executed  before  the
                      shell exits.
              --ff      Disable pathname expansion.
              --hh      Remember  the location of commands as they are looked up
                      for execution.  This is enabled by default.
              --k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m      Monitor mode.  Job control is enabled.  This  option  is
                      on  by  default  for  interactive shells on systems that
                      support it (see JJOOBB  CCOONNTTRROOLL  above).   Background  pro-
                      cesses  run  in a separate process group and a line con-
                      taining their exit status is printed upon their  comple-
                      tion.
              --n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o _o_p_t_i_o_n_-_n_a_m_e
                      The _o_p_t_i_o_n_-_n_a_m_e can be one of the following:
                      aalllleexxppoorrtt
                              Same as --aa.
                      bbrraacceeeexxppaanndd
                              Same as --BB.
                      eemmaaccss   Use  an  emacs-style command line editing inter-
                              face.  This is enabled by default when the shell
                              is interactive, unless the shell is started with
                              the ----nnooeeddiittiinngg option.
                      eerrrreexxiitt Same as --ee.
                      hhaasshhaallll Same as --hh.
                      hhiisstteexxppaanndd
                              Same as --HH.
                      hhiissttoorryy Enable command history, as described above under
                              HHIISSTTOORRYY.  This option is on by default in inter-
                              active shells.
                      iiggnnoorreeeeooff
                              The  effect  is  as   if   the   shell   command
                              ‘‘IGNOREEOF=10’’  had  been  executed (see SShheellll
                              VVaarriiaabblleess above).
                      kkeeyywwoorrdd Same as --kk.
                      mmoonniittoorr Same as --mm.
                      nnoocclloobbbbeerr
                              Same as --CC.
                      nnooeexxeecc  Same as --nn.
                      nnoogglloobb  Same as --ff.  nnoolloogg Currently ignored.
                      nnoottiiffyy  Same as --bb.
                      nnoouunnsseett Same as --uu.
                      oonneeccmmdd  Same as --tt.
                      pphhyyssiiccaall
                              Same as --PP.
                      ppoossiixx   Change the behavior of bbaasshh  where  the  default
                              operation differs from the POSIX 1003.2 standard
                              to match the standard (_p_o_s_i_x _m_o_d_e).
                      pprriivviilleeggeedd
                              Same as --pp.
                      vveerrbboossee Same as --vv.
                      vvii      Use a vi-style command line editing interface.
                      xxttrraaccee  Same as --xx.
                      If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the
                      current  options are printed.  If ++oo is supplied with no
                      _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands  to  recreate  the
                      current  option  settings  is  displayed on the standard
                      output.
              --pp      Turn on _p_r_i_v_i_l_e_g_e_d mode.  In this  mode,  the  $$EENNVV  and
                      $$BBAASSHH__EENNVV  files  are not processed, shell functions are
                      not inherited from the environment,  and  the  SSHHEELLLLOOPPTTSS
                      variable,  if it appears in the environment, is ignored.
                      If the shell is started with the effective user  (group)
                      id  not  equal  to  the real user (group) id, and the --pp
                      option is not supplied, these actions are taken and  the
                      effective user id is set to the real user id.  If the --p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t      Exit after reading and executing one command.
              --uu      Treat unset variables as an error when performing param-
                      eter expansion.  If expansion is attempted on  an  unset
                      variable, the shell prints an error message, and, if not
                      interactive, exits with a non-zero status.
              --vv      Print shell input lines as they are read.
              --xx      After  expanding  each  _s_i_m_p_l_e  _c_o_m_m_a_n_d,   display   the
                      expanded  value  of PPSS44, followed by the command and its
                      expanded arguments.
              --BB      The shell performs brace expansion (see BBrraaccee  EExxppaannssiioonn
                      above).  This is on by default.
              --CC      If  set,  bbaasshh  does not overwrite an existing file with
                      the >>, >>&&, and <<>> redirection operators.   This  may  be
                      overridden when creating output files by using the redi-
                      rection operator >>|| instead of >>.
              --HH      Enable !!  style history substitution.  This option is on
                      by default when the shell is interactive.
              --PP      If  set,  the  shell does not follow symbolic links when
                      executing commands such as ccdd that  change  the  current
                      working  directory.   It  uses  the  physical  directory
                      structure instead.  By default, bbaasshh follows the logical
                      chain  of  directories  when  performing  commands which
                      change the current directory.
              ----      If no arguments follow this option, then the  positional
                      parameters are unset.  Otherwise, the positional parame-
                      ters are set to the _a_r_gs, even if  some  of  them  begin
                      with a --.
              --       Signal  the  end of options, cause all remaining _a_r_gs to
                      be assigned to the positional parameters.  The --xx and --vv
                      options are turned off.  If there are no _a_r_gs, the posi-
                      tional 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 encoun-
              tered.
       sshhiifftt [_n]
              The  positional  parameters  from _n+1 ... are renamed to $$1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.
       sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...]
              Toggle the values of variables controlling optional shell behav-
              ior.  With no options, or with the --pp option, a list of all set-
              table options is displayed, with an indication of whether or not
              each is set.  The --pp option causes output to be displayed  in  a
              form  that  may be reused as input.  Other options have the fol-
              lowing meanings:
              --ss     Enable (set) each _o_p_t_n_a_m_e.
              --uu     Disable (unset) each _o_p_t_n_a_m_e.
              --qq     Suppresses normal output (quiet mode); the return  status
                     indicates whether the _o_p_t_n_a_m_e is set or unset.  If multi-
                     ple _o_p_t_n_a_m_e arguments are given with --qq, the return  sta-
                     tus  is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other-
                     wise.
              --oo     Restricts the values of _o_p_t_n_a_m_e to be those  defined  for
                     the --oo option to the sseett builtin.
              If  either  --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis-
              play is limited  to  those  options  which  are  set  or  unset,
              respectively.   Unless  otherwise  noted,  the sshhoopptt options are
              disabled (unset) by default.
              The return status when listing options is zero if  all  _o_p_t_n_a_m_e_s
              are  enabled,  non-zero  otherwise.   When  setting or unsetting
              options, the return status is zero unless an _o_p_t_n_a_m_e  is  not  a
              valid shell option.
              The list of sshhoopptt options is:
              ccddaabbllee__vvaarrss
                      If  set,  an  argument to the ccdd builtin command that is
                      not a directory is assumed to be the name of a  variable
                      whose value is the directory to change to.
              ccddssppeellll If set, minor errors in the spelling of a directory com-
                      ponent in a ccdd command will be  corrected.   The  errors
                      checked for are transposed characters, a missing charac-
                      ter, and one character too many.   If  a  correction  is
                      found,  the corrected file name is printed, and the com-
                      mand proceeds.  This option is only used by  interactive
                      shells.
              cchheecckkhhaasshh
                      If set, bbaasshh checks that a command found in the hash ta-
                      ble exists before trying to execute  it.   If  a  hashed
                      command  no  longer exists, a normal path search is per-
                      formed.
              cchheecckkwwiinnssiizzee
                      If set, bbaasshh checks the window size after  each  command
                      and,  if  necessary,  updates  the  values  of LLIINNEESS and
                      CCOOLLUUMMNNSS.
              ccmmddhhiisstt If set, bbaasshh attempts to save all lines of  a  multiple-
                      line  command  in  the  same history entry.  This allows
                      easy re-editing of multi-line commands.
              ddoottgglloobb If set, bbaasshh includes filenames beginning with a ‘.’  in
                      the results of pathname expansion.
              eexxeeccffaaiill
                      If set, a non-interactive shell will not exit if it can-
                      not execute the file specified as  an  argument  to  the
                      eexxeecc  builtin  command.   An  interactive shell does not
                      exit if eexxeecc fails.
              eexxppaanndd__aalliiaasseess
                      If set, aliases are expanded as  described  above  under
                      AALLIIAASSEESS.  This option is enabled by default for interac-
                      tive shells.
              eexxttgglloobb If set, the extended pattern matching features described
                      above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
              hhiissttaappppeenndd
                      If  set,  the history list is appended to the file named
                      by the value of the HHIISSTTFFIILLEE  variable  when  the  shell
                      exits, rather than overwriting the file.
              hhiissttrreeeeddiitt
                      If  set, and rreeaaddlliinnee is being used, a user is given the
                      opportunity to re-edit a failed history substitution.
              hhiissttvveerriiffyy
                      If set, and rreeaaddlliinnee is being used, the results of  his-
                      tory  substitution  are  not  immediately  passed to the
                      shell parser.  Instead, the  resulting  line  is  loaded
                      into the rreeaaddlliinnee editing buffer, allowing further modi-
                      fication.
              hhoossttccoommpplleettee
                      If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
                      perform  hostname  completion when a word containing a @@
                      is  being  completed  (see  CCoommpplleettiinngg  under   RREEAADDLLIINNEE
                      above).  This is enabled by default.
              hhuuppoonneexxiitt
                      If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
                      active login shell exits.
              iinntteerraaccttiivvee__ccoommmmeennttss
                      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  CCOOMMMMEENNTTSS  above).   This
                      option is enabled by default.
              lliitthhiisstt If  set,  and  the ccmmddhhiisstt option is enabled, multi-line
                      commands are saved to the history with embedded newlines
                      rather than using semicolon separators where possible.
              llooggiinn__sshheellll
                      The  shell  sets this option if it is started as a login
                      shell (see IINNVVOOCCAATTIIOONN above).   The  value  may  not  be
                      changed.
              mmaaiillwwaarrnn
                      If  set,  and  a file that bbaasshh is checking for mail has
                      been accessed since the last time it  was  checked,  the
                      message  ‘‘The  mail in _m_a_i_l_f_i_l_e has been read’’ is dis-
                      played.
              nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
                      If set, and  rreeaaddlliinnee  is  being  used,  bbaasshh  will  not
                      attempt to search the PPAATTHH for possible completions when
                      completion is attempted on an empty line.
              nnooccaasseegglloobb
                      If set, bbaasshh matches  filenames  in  a  case-insensitive
                      fashion when performing pathname expansion (see PPaatthhnnaammee
                      EExxppaannssiioonn above).
              nnuullllgglloobb
                      If set, bbaasshh allows patterns which match no  files  (see
                      PPaatthhnnaammee  EExxppaannssiioonn  above)  to expand to a null string,
                      rather than themselves.
              pprrooggccoommpp
                      If set, the programmable completion facilities (see PPrroo--
                      ggrraammmmaabbllee CCoommpplleettiioonn above) are enabled.  This option is
                      enabled by default.
              pprroommppttvvaarrss
                      If set, prompt strings undergo  variable  and  parameter
                      expansion after being expanded as described in PPRROOMMPPTTIINNGG
                      above.  This option is enabled by default.
              rreessttrriicctteedd__sshheellll
                      The  shell  sets  this  option  if  it  is  started   in
                      restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below).  The value
                      may not be changed.  This is not reset when the  startup
                      files  are  executed, allowing the startup files to dis-
                      cover whether or not a shell is restricted.
              sshhiifftt__vveerrbboossee
                      If set, the sshhiifftt builtin prints an error  message  when
                      the shift count exceeds the number of positional parame-
                      ters.
              ssoouurrcceeppaatthh
                      If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
                      find  the  directory  containing the file supplied as an
                      argument.  This option is enabled by default.
              xxppgg__eecchhoo
                      If  set,  the  eecchhoo  builtin  expands   backslash-escape
                      sequences by default.
       ssuussppeenndd [--ff]
              Suspend  the execution of this shell until it receives a SSIIGGCCOONNTT
              signal.  The --ff option says not to complain if this is  a  login
              shell;  just  suspend anyway.  The return status is 0 unless the
              shell is a login shell and --ff is not supplied, or if job control
              is not enabled.
       tteesstt _e_x_p_r
       [[ _e_x_p_r ]]
              Return  a  status  of  0 or 1 depending on the evaluation of the
              conditional expression _e_x_p_r.  Each operator and operand must  be
              a  separate argument.  Expressions are composed of the primaries
              described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS.
              Expressions may  be  combined  using  the  following  operators,
              listed in decreasing order of precedence.
              !! _e_x_p_r True if _e_x_p_r is false.
              (( _e_x_p_r ))
                     Returns  the value of _e_x_p_r.  This may be used to override
                     the normal precedence of operators.
              _e_x_p_r_1 -aa _e_x_p_r_2
                     True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
              _e_x_p_r_1 -oo _e_x_p_r_2
                     True if either _e_x_p_r_1 or _e_x_p_r_2 is true.
              tteesstt 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 argu-
                     ment is one of the  unary  conditional  operators  listed
                     above  under  CCOONNDDIITTIIOONNAALL  EEXXPPRREESSSSIIOONNSS, 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
                     If the second argument is one of the  binary  conditional
                     operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
                     result of the expression is the result of the binary test
                     using  the first and third arguments as operands.  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.
                     The  --aa  and --oo operators are considered binary operators
                     in this case.
              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 eval-
                     uated  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.
       ttiimmeess  Print  the  accumulated  user and system times for the shell and
              for processes run from the shell.  The return status is 0.
       ttrraapp [--llpp] [_a_r_g] [_s_i_g_s_p_e_c ...]
              The command _a_r_g is to  be  read  and  executed  when  the  shell
              receives  signal(s)  _s_i_g_s_p_e_c.  If _a_r_g is absent or --, all speci-
              fied signals are reset to their original values (the values they
              had  upon entrance to the shell).  If _a_r_g is the null string the
              signal specified by each _s_i_g_s_p_e_c is ignored by the shell and  by
              the  commands it invokes.  If _a_r_g is not present and --pp has been
              supplied, then the trap commands associated  with  each  _s_i_g_s_p_e_c
              are  displayed.   If  no arguments are supplied or if only --pp is
              given, ttrraapp prints the list of  commands  associated  with  each
              signal  number.  Each _s_i_g_s_p_e_c is either a signal name defined in
              <_s_i_g_n_a_l_._h>, or a signal number.  If a _s_i_g_s_p_e_c is  EEXXIITT  (0)  the
              command _a_r_g is executed on exit from the shell.  If a _s_i_g_s_p_e_c is
              DDEEBBUUGG, the command _a_r_g is executed after  every  _s_i_m_p_l_e  _c_o_m_m_a_n_d
              (see SSHHEELLLL GGRRAAMMMMAARR above).  If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g
              is executed whenever a simple command has a non-zero  exit  sta-
              tus.  The EERRRR trap is not executed if the failed command is part
              of an _u_n_t_i_l or _w_h_i_l_e loop, part of an _i_f statement, part of a &&&&
              or  ││││  list, or if the command’s return value is being inverted
              via !!.  The --ll option causes the shell to print a list of signal
              names  and  their  corresponding  numbers.  Signals ignored upon
              entry to the shell cannot be trapped or reset.  Trapped  signals
              are reset to their original values in a child process when it is
              created.  The return status is false if any _s_i_g_s_p_e_c is  invalid;
              otherwise ttrraapp returns true.
       ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
              With  no options, indicate how each _n_a_m_e would be interpreted if
              used as a command name.  If the --tt option is used, ttyyppee prints a
              string  which  is  one  of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
              _f_i_l_e if  _n_a_m_e  is  an  alias,  shell  reserved  word,  function,
              builtin,  or disk file, respectively.  If the _n_a_m_e is not found,
              then nothing  is  printed,  and  an  exit  status  of  false  is
              returned.   If  the  --pp  option is used, ttyyppee either returns the
              name of the disk file that would be executed if _n_a_m_e were speci-
              fied as a command name, or nothing if ‘‘type -t name’’ would not
              return _f_i_l_e.  The --PP option forces a PPAATTHH search for each  _n_a_m_e,
              even if ‘‘type -t name’’ would not return _f_i_l_e.  If a command is
              hashed, --pp and --PP print the hashed value,  not  necessarily  the
              file that appears first in PPAATTHH.  If the --aa option is used, ttyyppee
              prints all of the places that contain an executable named  _n_a_m_e.
              This  includes  aliases  and  functions,  if  and only if the --pp
              option is not also used.  The table of hashed  commands  is  not
              consulted  when  using --aa.  The --ff option suppresses shell func-
              tion lookup, as with the ccoommmmaanndd builtin.  ttyyppee returns true  if
              any of the arguments are found, false if none are found.
       uulliimmiitt [--SSHHaaccddffllmmnnppssttuuvv [_l_i_m_i_t]]
              Provides  control  over the resources available to the shell and
              to processes started by it, on systems that allow such  control.
              The --HH and --SS options specify that the hard or soft limit is set
              for the given resource.  A hard limit cannot be  increased  once
              it  is set; a soft limit may be increased up to the value of the
              hard limit.  If neither --HH nor --SS is specified,  both  the  soft
              and  hard limits are set.  The value of _l_i_m_i_t can be a number in
              the unit specified for the resource or one of the special values
              hhaarrdd,  ssoofftt,  or  uunnlliimmiitteedd,  which  stand  for the current hard
              limit, the current soft limit, and no limit,  respectively.   If
              _l_i_m_i_t  is  omitted,  the  current value of the soft limit of the
              resource is printed, unless the --H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 fol-
              lows:
              --aa     All current limits are reported
              --cc     The maximum size of core files created
              --dd     The maximum size of a process’s data segment
              --ff     The maximum size of files created by the shell
              --ll     The maximum size that may be locked into memory
              --mm     The maximum resident set size
              --nn     The maximum number of open file descriptors (most systems
                     do not allow this value to be set)
              --pp     The pipe size in 512-byte blocks (this may not be set)
              --ss     The maximum stack size
              --tt     The maximum amount of cpu time in seconds
              --uu     The maximum number of processes  available  to  a  single
                     user
              --vv     The  maximum  amount  of  virtual memory available to the
                     shell
              If _l_i_m_i_t is given, it is the new value of the specified resource
              (the --aa option is display only).  If no option is given, then --ff
              is assumed.  Values are in 1024-byte increments, except for  --tt,
              which  is  in seconds, --pp, which is in units of 512-byte blocks,
              and --nn and --u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.
       uummaasskk [--pp] [--SS] [_m_o_d_e]
              The user file-creation mask is set to _m_o_d_e.  If _m_o_d_e 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
              _c_h_m_o_d(1).   If _m_o_d_e is omitted, the current value of the mask is
              printed.  The --SS option causes the mask to be  printed  in  sym-
              bolic  form;  the  default output is an octal number.  If the --pp
              option is supplied, and _m_o_d_e 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 _m_o_d_e  argument  was  supplied,
              and false otherwise.
       uunnaalliiaass [-aa] [_n_a_m_e ...]
              Remove  each  _n_a_m_e  from  the list of defined aliases.  If --aa is
              supplied, all alias definitions are removed.  The  return  value
              is true unless a supplied _n_a_m_e is not a defined alias.
       uunnsseett [-ffvv] [_n_a_m_e ...]
              For  each  _n_a_m_e,  remove the corresponding variable or function.
              If no options are supplied, or the --vv option is given, each _n_a_m_e
              refers  to  a  shell  variable.   Read-only variables may not be
              unset.  If --ff is specifed, each _n_a_m_e 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 RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE,
              GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their  special  proper-
              ties,  even  if they are subsequently reset.  The exit status is
              true unless a _n_a_m_e does not exist or is readonly.
       wwaaiitt [_n]
              Wait for the specified process and return its  termination  sta-
              tus.   _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.  Other-
              wise, the return status is the exit status of the  last  process
              or job waited for.
SSEEEE AALLSSOO
       bash(1), sh(1)
GNU Bash-2.05a                 2001 November 27               BASH_BUILTINS(1)