lib/glob/{glob,gmisc}.c
- PATSCAN: change all callers to add extra flags arg of 0
+
+doc/{bash.1,bashref.texi}
+ - trap description: replace ARG with ACTION
+ - clarify the language describing what trap without arguments and
+ trap -p without arguments display
+ - clarify that trap in non-interactive shells does not allow signals
+ that were ignored at shell start to be trapped; interactive shells
+ allow this
+ - trap: add missing command types to the description of when the
+ DEBUG trap is executed
+
+builtins/trap.def
+ - LONG_DOC: replace ARG with ACTION
+ - make it clear that trap and trap -p without arguments display a
+ information about specified signals, but in a form that may be
+ reused as shell input
+
+ 12/5
+ ----
+pcomplete.c
+ - compgen_compspec: new flag saying whether or not we're running via
+ the compgen builtin or via programmable completion: set to 0
+ every time gen_progcomp_completions runs, set to 1 in
+ gen_compspec_completions if this_shell_builtin == compgen_builtin
+ - gen_shell_function_completions: call rl_clear_signals and
+ rl_set_signals so the shell's signal handlers are active when
+ running shell functions to generate completions. We try to do it
+ only when programmable completion, not the compgen builtin, is active.
+ Idea from Koichi Murase <myoga.murase@gmail.com>, fixes bug
+ reported in 9/22
+
+sig.c
+ - sigint_sighandler, termsig_sighandler: since these can now be called
+ during programmable completion, we need to set the readline signal
+ event hook if the readline state includes RL_STATE_DISPATCHING or
+ RL_STATE_COMPLETING, since we can't rely on RL_STATE_SIGHANDLER
+ being set and we want to call throw_to_top_level here
+ - throw_to_top_level: if the shell is interactive, before calling
+ bashline_reset (which zeroes rl_signal_event_hook), call
+ rl_cleanup_after_signal if we think readline hasn't called it
+ already
handler for a given signal to the original disposition, they should
use '-' as the first argument.
- 42. 'trap -p' displays signals whose dispositions are set to SIG_DFL
- and those that were ignored when the shell started.
+ 42. 'trap -p' without arguments displays signals whose dispositions
+ are set to SIG_DFL and those that were ignored when the shell
+ started, not just trapped signals.
43. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
$BUILTIN trap
$FUNCTION trap_builtin
-$SHORT_DOC trap [-lp] [[arg] signal_spec ...]
+$SHORT_DOC trap [-lp] [[action] signal_spec ...]
Trap signals and other events.
Defines and activates handlers to be run when the shell receives signals
or other conditions.
-ARG is a command to be read and executed when the shell receives the
-signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC
+ACTION is a command to be read and executed when the shell receives the
+signal(s) SIGNAL_SPEC. If ACTION is absent (and a single SIGNAL_SPEC
is supplied) or `-', each specified signal is reset to its original
-value. If ARG is the null string each SIGNAL_SPEC is ignored by the
+value. If ACTION is the null string each SIGNAL_SPEC is ignored by the
shell and by the commands it invokes.
-If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If
-a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. If
-a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a
-script run by the . or source builtins finishes executing. A SIGNAL_SPEC
-of ERR means to execute ARG each time a command's failure would cause the
-shell to exit when the -e option is enabled.
+If a SIGNAL_SPEC is EXIT (0) ACTION is executed on exit from the shell.
+If a SIGNAL_SPEC is DEBUG, ACTION is executed before every simple command
+and selected other commands. If a SIGNAL_SPEC is RETURN, ACTION is
+executed each time a shell function or a script run by the . or source
+builtins finishes executing. A SIGNAL_SPEC of ERR means to execute ACTION
+each time a command's failure would cause the shell to exit when the -e
+option is enabled.
If no arguments are supplied, trap prints the list of commands associated
-with each signal.
+with each trapped signal in a form that may be reused as shell input to
+restore the same signal dispositions.
Options:
-l print a list of signal names and their corresponding numbers
- -p display the trap commands associated with each SIGNAL_SPEC
+ -p display the trap commands associated with each SIGNAL_SPEC in a
+ form that may be reused as shell input; or for all trapped
+ signals if no arguments are supplied
Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.
Signal names are case insensitive and the SIG prefix is optional. A
fault, whether or not it is translated and replaced. If the n\bno\boe\bex\bx-\b-
p\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn option is enabled using the s\bsh\bho\bop\bpt\bt builtin, translated
strings are single-quoted instead of double-quoted. See the descrip-
- tion of s\bsh\bho\bop\bpt\bt below under S\bSH\bHE\bEL\bLL\bLBUILTINC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS.
+ tion of s\bsh\bho\bop\bpt\bt below under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS.
P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
A _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values. It can be a _\bn_\ba_\bm_\be, a num-
!\b!(\b(_\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt)\b)
Matches anything except one of the given patterns
- Thee\bex\bxt\btg\bgl\blo\bob\bb option changes the behavior of the parser, since the paren-
+ The e\bex\bxt\btg\bgl\blo\bob\bb option changes the behavior of the parser, since the paren-
theses are normally treated as operators with syntactic meaning. To
ensure that extended matching patterns are parsed correctly, make sure
that e\bex\bxt\btg\bgl\blo\bob\bb is enabled before parsing constructs containing the pat-
t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
- t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
- The command _\ba_\br_\bg is to be read and executed when the shell re-
- ceives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\br_\bg is absent (and there is a sin-
- gle _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its origi-
- nal disposition (the value it had upon entrance to the shell).
- If _\ba_\br_\bg is the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc
- is ignored by the shell and by the commands it invokes. If _\ba_\br_\bg
- is not present and -\b-p\bp has been supplied, then the trap commands
- associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc are displayed. If no arguments are
- supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the list of com-
- mands associated with each signal. The -\b-l\bl option causes the
- shell to print a list of signal names and their corresponding
- numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined in <_\bs_\bi_\bg_\b-
- _\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names are case insensitive
- and the S\bSI\bIG\bG prefix is optional.
-
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
- from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
- cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
- _\bs_\be_\bl_\be_\bc_\bt command, every arithmetic _\bf_\bo_\br command, and before the
- first command executes in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
- above). Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
- s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a
- _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
- function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
- ishes executing.
-
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a
+ t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
+ The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
+ receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and there is a
+ single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the signal specified by
+ each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
+ vokes.
+
+ If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+ ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
+ be reused as shell input to restore the current signal disposi-
+ tions. If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+ displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+ are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
+ that can be reused as shell input to restore the current signal
+ dispositions.
+
+ The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of signal names and
+ their corresponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
+ name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names
+ are case insensitive and the S\bSI\bIG\bG prefix is optional.
+
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
+ from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
+ executed before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
+ _\bs_\be_\bl_\be_\bc_\bt command, (( arithmetic command, [[ conditional command,
+ arithmetic _\bf_\bo_\br command, and before the first command executes in
+ a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above). Refer to the de-
+ scription of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for de-
+ tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
+ the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
+ script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
+ ing.
+
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
the following conditions. The E\bER\bRR\bR trap is not executed if the
!\b!. These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
tion.
- Signals ignored upon entry to the shell cannot be trapped or re-
- set. 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 _\bs_\bi_\bg_\bs_\bp_\be_\bc is
- invalid; otherwise t\btr\bra\bap\bp returns true.
+ When the shell is not interactive, signals ignored upon entry to
+ the shell cannot be trapped or reset. Interactive shells permit
+ trapping signals ignored on entry. 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 _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
- With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+ With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
used as a command name. If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
- string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
- _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
- builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
- then nothing is printed, and an exit status of false is re-
- turned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the name
- of the disk file that would be executed if _\bn_\ba_\bm_\be were specified
- as a command name, or nothing if ``type -t name'' would not re-
- turn _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
+ string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+ _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
+ builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
+ then nothing is printed, and an exit status of false is re-
+ turned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the name
+ of the disk file that would be executed if _\bn_\ba_\bm_\be were specified
+ as a command name, or nothing if ``type -t name'' would not re-
+ turn _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
even if ``type -t name'' would not return _\bf_\bi_\bl_\be. If a command is
hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
- ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
- used, t\bty\byp\bpe\be prints all of the places that contain an executable
+ ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
+ used, t\bty\byp\bpe\be prints all of the places that contain an executable
named _\bn_\ba_\bm_\be. This includes aliases and functions, if and only if
the -\b-p\bp option is not also used. The table of hashed commands is
- not consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell
+ not consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell
function lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true
if all of the arguments are found, false if any are not found.
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The -\b-H\bH and -\b-S\bS 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 -\b-H\bH nor -\b-S\bS is speci-
+ 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 -\b-H\bH nor -\b-S\bS is speci-
fied, both the soft and hard limits are set. The value of _\bl_\bi_\bm_\bi_\bt
can be a number in the unit specified for the resource or one of
the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
- current hard limit, the current soft limit, and no limit, re-
- spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+ current hard limit, the current soft limit, and no limit, re-
+ spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
limit of the resource is printed, unless the -\b-H\bH option is given.
- When more than one resource is specified, the limit name and
- unit, if appropriate, are printed before the value. Other op-
+ When more than one resource is specified, the limit name and
+ unit, if appropriate, are printed before the value. Other op-
tions are interpreted as follows:
-\b-a\ba All current limits are reported; no limits are set
-\b-b\bb The maximum socket buffer size
-\b-c\bc The maximum size of core files created
-\b-d\bd The maximum size of a process's data segment
-\b-e\be The maximum scheduling priority ("nice")
- -\b-f\bf The maximum size of files written by the shell and its
+ -\b-f\bf The maximum size of files written by the shell and its
children
-\b-i\bi The maximum number of pending signals
-\b-k\bk The maximum number of kqueues that may be allocated
-\b-l\bl The maximum size that may be locked into memory
- -\b-m\bm The maximum resident set size (many systems do not honor
+ -\b-m\bm The maximum resident set size (many systems do not honor
this limit)
-\b-n\bn The maximum number of open file descriptors (most systems
do not allow this value to be set)
-\b-r\br The maximum real-time scheduling priority
-\b-s\bs The maximum stack size
-\b-t\bt The maximum amount of cpu time in seconds
- -\b-u\bu The maximum number of processes available to a single
+ -\b-u\bu The maximum number of processes available to a single
user
- -\b-v\bv The maximum amount of virtual memory available to the
+ -\b-v\bv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
-\b-x\bx The maximum number of file locks
-\b-P\bP The maximum number of pseudoterminals
- -\b-R\bR The maximum time a real-time process can run before
+ -\b-R\bR The maximum time a real-time process can run before
blocking, in microseconds
-\b-T\bT The maximum number of threads
- If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
- new value of the specified resource. If no option is given,
- then -\b-f\bf is assumed. Values are in 1024-byte increments, except
- for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
- which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
- -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
- -\b-f\bf, which are in 512-byte increments. The return status is 0
- unless an invalid option or argument is supplied, or an error
+ If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
+ new value of the specified resource. If no option is given,
+ then -\b-f\bf is assumed. Values are in 1024-byte increments, except
+ for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+ which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
+ -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
+ -\b-f\bf, which are in 512-byte increments. The return status is 0
+ unless an invalid option or argument is supplied, or an error
occurs while setting a new limit.
u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
The user file-creation mask is set to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be 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
- _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
- printed. The -\b-S\bS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the -\b-p\bp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+ printed. The -\b-S\bS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the -\b-p\bp
option is supplied, and _\bm_\bo_\bd_\be 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 _\bm_\bo_\bd_\be argument was supplied,
+ was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
and false otherwise.
u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
- Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
- supplied, all alias definitions are removed. The return value
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
- For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
+ For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
- and that variable is removed. Read-only variables may not be
- unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
- tion, and the function definition is removed. If the -\b-n\bn option
- is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
- _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
- has no effect if the -\b-f\bf option is supplied. If no options are
- supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
- able by that name, a function with that name, if any, is unset.
- Each unset variable or function is removed from the environment
- passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+ and that variable is removed. Read-only variables may not be
+ unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
+ tion, and the function definition is removed. If the -\b-n\bn option
+ is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
+ _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
+ has no effect if the -\b-f\bf option is supplied. If no options are
+ supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+ able by that name, a function with that name, if any, is unset.
+ Each unset variable or function is removed from the environment
+ passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0, B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS, B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD, B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL, B\bBA\bAS\bSH\bHP\bPI\bID\bD,
- C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
- N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
+ C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
+ N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _\bn_\ba_\bm_\be is read-
only or may not be unset.
w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd _\b._\b._\b.]
Wait for each specified child process and return its termination
- status. Each _\bi_\bd 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 _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
- background jobs and the last-executed process substitution, if
+ status. Each _\bi_\bd 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 _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
+ background jobs and the last-executed process substitution, if
its process id is the same as $\b$!\b!, and the return status is zero.
- If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+ If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
- and returns its exit status. If none of the supplied arguments
+ and returns its exit status. If none of the supplied arguments
is a child of the shell, or if no arguments are supplied and the
- shell has no unwaited-for children, the exit status is 127. If
- the -\b-p\bp option is supplied, the process or job identifier of the
- job for which the exit status is returned is assigned to the
- variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
- will be unset initially, before any assignment. This is useful
- only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
- when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+ shell has no unwaited-for children, the exit status is 127. If
+ the -\b-p\bp option is supplied, the process or job identifier of the
+ job for which the exit status is returned is assigned to the
+ variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
+ will be unset initially, before any assignment. This is useful
+ only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
+ when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
minate before returning its status, instead of returning when it
- changes status. If _\bi_\bd specifies a non-existent process or job,
- the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
- the return status will be greater than 128, as described under
- S\bSI\bIG\bGN\bNA\bAL\bLS\bS above. Otherwise, the return status is the exit status
+ changes status. If _\bi_\bd specifies a non-existent process or job,
+ the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
+ the return status will be greater than 128, as described under
+ S\bSI\bIG\bGN\bNA\bAL\bLS\bS above. Otherwise, the return status is the exit status
of the last process or job waited for.
S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
- Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
- fied as a set of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
- c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibil-
- ity level -- each option is mutually exclusive. The compatibility
- level is intended to allow users to select behavior from previous ver-
- sions that is incompatible with newer versions while they migrate
- scripts to use current features and behavior. It's intended to be a
+ Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
+ fied as a set of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
+ c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibil-
+ ity level -- each option is mutually exclusive. The compatibility
+ level is intended to allow users to select behavior from previous ver-
+ sions that is incompatible with newer versions while they migrate
+ scripts to use current features and behavior. It's intended to be a
temporary solution.
- This section does not mention behavior that is standard for a particu-
- lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
- regexp matching operator quotes special regexp characters in the word,
+ This section does not mention behavior that is standard for a particu-
+ lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
+ regexp matching operator quotes special regexp characters in the word,
which is default behavior in bash-3.2 and subsequent versions).
- If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
- compatibility levels up to and including the current compatibility
- level. The idea is that each compatibility level controls behavior
- that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
- present in earlier versions. For instance, the change to use locale-
- based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
+ If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
+ compatibility levels up to and including the current compatibility
+ level. The idea is that each compatibility level controls behavior
+ that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
+ present in earlier versions. For instance, the change to use locale-
+ based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
- ASCII-based comparisons as well. That granularity may not be suffi-
- cient for all uses, and as a result users should employ compatibility
- levels carefully. Read the documentation for a particular feature to
+ ASCII-based comparisons as well. That granularity may not be suffi-
+ cient for all uses, and as a result users should employ compatibility
+ levels carefully. Read the documentation for a particular feature to
find out the current behavior.
- Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
+ Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
- ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+ ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
patibility level.
- Starting with bash-4.4, Bash has begun deprecating older compatibility
- levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+ Starting with bash-4.4, Bash has begun deprecating older compatibility
+ levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
P\bPA\bAT\bT.
- Bash-5.0 is the final version for which there will be an individual
- shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
+ Bash-5.0 is the final version for which there will be an individual
+ shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
bash-5.0 and later versions.
- The following table describes the behavior changes controlled by each
+ The following table describes the behavior changes controlled by each
compatibility level setting. The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
setting the compatibility level to _\bN_\bN using one of the following mecha-
- nisms. For versions prior to bash-5.0, the compatibility level may be
- set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
- later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+ nisms. For versions prior to bash-5.0, the compatibility level may be
+ set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
+ later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
quired for bash-5.1 and later versions.
c\bco\bom\bmp\bpa\bat\bt3\b31\b1
ator (=~) has no special effect
c\bco\bom\bmp\bpa\bat\bt3\b32\b2
- +\bo interrupting a command list such as "a ; b ; c" causes
- the execution of the next command in the list (in
- bash-4.0 and later versions, the shell acts as if it re-
- ceived the interrupt, so interrupting one command in a
+ +\bo interrupting a command list such as "a ; b ; c" causes
+ the execution of the next command in the list (in
+ bash-4.0 and later versions, the shell acts as if it re-
+ ceived the interrupt, so interrupting one command in a
list aborts the execution of the entire list)
c\bco\bom\bmp\bpa\bat\bt4\b40\b0
- +\bo the <\b< and >\b> operators to the [\b[[\b[ command do not consider
+ +\bo the <\b< and >\b> operators to the [\b[[\b[ command do not consider
the current locale when comparing strings; they use ASCII
ordering. Bash versions prior to bash-4.1 use ASCII col-
- lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
+ lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
c\bco\bom\bmp\bpa\bat\bt4\b41\b1
- +\bo in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+ +\bo in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
be recognized as a reserved word (this is POSIX interpre-
tation 267)
+\bo in _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
- single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
- quoted parameter expansion and treats them specially, so
- that characters within the single quotes are considered
+ single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
+ quoted parameter expansion and treats them specially, so
+ that characters within the single quotes are considered
quoted (this is POSIX interpretation 221)
c\bco\bom\bmp\bpa\bat\bt4\b42\b2
+\bo the replacement string in double-quoted pattern substitu-
- tion does not undergo quote removal, as it does in ver-
+ tion does not undergo quote removal, as it does in ver-
sions after bash-4.2
- +\bo in posix mode, single quotes are considered special when
- expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
- expansion and can be used to quote a closing brace or
- other special character (this is part of POSIX interpre-
- tation 221); in later versions, single quotes are not
+ +\bo in posix mode, single quotes are considered special when
+ expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
+ expansion and can be used to quote a closing brace or
+ other special character (this is part of POSIX interpre-
+ tation 221); in later versions, single quotes are not
special within double-quoted word expansions
c\bco\bom\bmp\bpa\bat\bt4\b43\b3
- +\bo the shell does not print a warning message if an attempt
- is made to use a quoted compound assignment as an argu-
- ment to declare (e.g., declare -a foo='(1 2)'). Later
+ +\bo the shell does not print a warning message if an attempt
+ is made to use a quoted compound assignment as an argu-
+ ment to declare (e.g., declare -a foo='(1 2)'). Later
versions warn that this usage is deprecated
- +\bo word expansion errors are considered non-fatal errors
- that cause the current command to fail, even in posix
- mode (the default behavior is to make them fatal errors
+ +\bo word expansion errors are considered non-fatal errors
+ that cause the current command to fail, even in posix
+ mode (the default behavior is to make them fatal errors
that cause the shell to exit)
- +\bo when executing a shell function, the loop state
+ +\bo when executing a shell function, the loop state
(while/until/etc.) is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
that function will break or continue loops in the calling
- context. Bash-4.4 and later reset the loop state to pre-
+ context. Bash-4.4 and later reset the loop state to pre-
vent this
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
- +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
- B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
+ +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+ B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
parameters even if extended debugging mode is not enabled
- +\bo a subshell inherits loops from its parent context, so
- b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
- Bash-5.0 and later reset the loop state to prevent the
+ +\bo a subshell inherits loops from its parent context, so
+ b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
+ Bash-5.0 and later reset the loop state to prevent the
exit
- +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+ +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
+ +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
duce slightly more randomness. If the shell compatibility
- level is set to 50 or lower, it reverts to the method
- from bash-5.0 and previous versions, so seeding the ran-
- dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
+ level is set to 50 or lower, it reverts to the method
+ from bash-5.0 and previous versions, so seeding the ran-
+ dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
produce the same sequence as in bash-5.0
- +\bo If the command hash table is empty, bash versions prior
- to bash-5.1 printed an informational message to that ef-
- fect, even when producing output that can be reused as
- input. Bash-5.1 suppresses that message when the -\b-l\bl op-
+ +\bo If the command hash table is empty, bash versions prior
+ to bash-5.1 printed an informational message to that ef-
+ fect, even when producing output that can be reused as
+ input. Bash-5.1 suppresses that message when the -\b-l\bl op-
tion is supplied.
c\bco\bom\bmp\bpa\bat\bt5\b51\b1
- +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
- scripts @\b@ and *\b* differently depending on whether the ar-
- ray is indexed or associative, and differently than in
+ +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
+ scripts @\b@ and *\b* differently depending on whether the ar-
+ ray is indexed or associative, and differently than in
previous versions.
R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
- invocation, the shell becomes restricted. A restricted shell is used
- to set up an environment more controlled than the standard shell. It
- behaves identically to b\bba\bas\bsh\bh with the exception that the following are
+ invocation, the shell becomes restricted. A restricted shell is used
+ to set up an environment more controlled than the standard shell. It
+ behaves identically to b\bba\bas\bsh\bh with the exception that the following are
disallowed or not performed:
+\bo changing directories with c\bcd\bd
- +\bo setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
+ +\bo setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
+\bo specifying command names containing /\b/
- +\bo specifying a filename containing a /\b/ as an argument to the .\b.
+ +\bo specifying a filename containing a /\b/ as an argument to the .\b.
builtin command
- +\bo specifying a filename containing a slash as an argument to the
+ +\bo specifying a filename containing a slash as an argument to the
h\bhi\bis\bst\bto\bor\bry\by builtin command
- +\bo specifying a filename containing a slash as an argument to the
+ +\bo specifying a filename containing a slash as an argument to the
-\b-p\bp option to the h\bha\bas\bsh\bh builtin command
- +\bo importing function definitions from the shell environment at
+ +\bo importing function definitions from the shell environment at
startup
- +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+ +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
startup
+\bo redirecting output using the >, >|, <>, >&, &>, and >> redirect-
+\bo using the e\bex\bxe\bec\bc builtin command to replace the shell with another
command
- +\bo adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
+ +\bo adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
to the e\ben\bna\bab\bbl\ble\be builtin command
- +\bo using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
+ +\bo using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
builtins
+\bo specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
- +\bo turning off restricted mode with s\bse\bet\bt +\b+r\br or s\bsh\bho\bop\bpt\bt -\b-u\bu r\bre\be-\b-
+ +\bo turning off restricted mode with s\bse\bet\bt +\b+r\br or s\bsh\bho\bop\bpt\bt -\b-u\bu r\bre\be-\b-
s\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl.
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
- M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
+ M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
spawned to execute the script.
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
_\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
_\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
_\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
- _\bP_\bo_\br_\bt_\ba_\bb_\bl_\be _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
+ _\bP_\bo_\br_\bt_\ba_\bb_\bl_\be _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
_\bt_\bi_\be_\bs, IEEE --
http://pubs.opengroup.org/onlinepubs/9699919799/
http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
The individual per-interactive-shell startup file
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
- The individual login shell cleanup file, executed when a login
+ The individual login shell cleanup file, executed when a login
shell exits
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
- The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
+ The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
command history
_\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
If you find a bug in b\bba\bas\bsh\bh,\b, you should report it. But first, you should
- make sure that it really is a bug, and that it appears in the latest
- version of b\bba\bas\bsh\bh. The latest version is always available from
+ make sure that it really is a bug, and that it appears in the latest
+ version of b\bba\bas\bsh\bh. The latest version is always available from
_\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/ and _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
_\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
- Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
- command to submit a bug report. If you have a fix, you are encouraged
- to mail that as well! Suggestions and `philosophical' bug reports may
- be mailed to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or posted to the Usenet newsgroup
+ Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+ command to submit a bug report. If you have a fix, you are encouraged
+ to mail that as well! Suggestions and `philosophical' bug reports may
+ be mailed to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or posted to the Usenet newsgroup
g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
ALL bug reports should include:
A description of the bug behaviour
A short script or `recipe' which exercises the bug
- _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
+ _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
it provides for filing a bug report.
Comments and bug reports concerning this manual page should be directed
Shell builtin commands and functions are not stoppable/restartable.
Compound commands and command sequences of the form `a ; b ; c' are not
- handled gracefully when process suspension is attempted. When a
- process is stopped, the shell immediately executes the next command in
- the sequence. It suffices to place the sequence of commands between
- parentheses to force it into a subshell, which may be stopped as a
+ handled gracefully when process suspension is attempted. When a
+ process is stopped, the shell immediately executes the next command in
+ the sequence. It suffices to place the sequence of commands between
+ parentheses to force it into a subshell, which may be stopped as a
unit.
Array variables may not (yet) be exported.
-GNU Bash 5.2 2022 September 19 BASH(1)
+GNU Bash 5.2 2022 December 2 BASH(1)
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Mon Sep 19 11:13:21 EDT 2022
+.\" Last Change: Fri Dec 2 15:53:52 EST 2022
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2022 September 19" "GNU Bash 5.2"
+.TH BASH 1 "2022 December 2" "GNU Bash 5.2"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
.TP
-\fBtrap\fP [\fB\-lp\fP] [[\fIarg\fP] \fIsigspec\fP ...]
-The command
-.I arg
-is to be read and executed when the shell receives
+\fBtrap\fP [\fB\-lp\fP] [[\fIaction\fP] \fIsigspec\fP ...]
+The
+.I action
+is a command that is read and executed when the shell receives
signal(s)
.IR sigspec .
If
-.I arg
+.I action
is absent (and there is a single \fIsigspec\fP) or
.BR \- ,
each specified signal is
reset to its original disposition (the value it had
upon entrance to the shell).
If
-.I arg
+.I action
is the null string the signal specified by each
.I sigspec
is ignored by the shell and by the commands it invokes.
+.if t .sp 0.5
+.if n .sp 1
+If no arguments are supplied,
+.B trap
+displays the actions associated with each trapped signal
+as a set of \fBtrap\fP commands
+that can be reused as shell input to
+restore the current signal dispositions.
If
-.I arg
-is not present and
-.B \-p
-has been supplied, then the trap commands associated with each
-.I sigspec
-are displayed.
-If no arguments are supplied or if only
.B \-p
is given,
-.B trap
-prints the list of commands associated with each signal.
+and
+.I action
+is not present,
+then \fBtrap\fP displays the actions associated with each
+.I sigspec
+or, if none are supplied, for all trapped signals,
+as a set of \fBtrap\fP commands
+that can be reused as shell input to
+restore the current signal dispositions.
+.if t .sp 0.5
+.if n .sp 1
The
.B \-l
-option causes the shell to print a list of signal names and
+option causes \fBtrap\fP to print a list of signal names and
their corresponding numbers.
Each
.I sigspec
.SM
.B EXIT
(0) the command
-.I arg
+.I action
is executed on exit from the shell.
If a
.I sigspec
.SM
.BR DEBUG ,
the command
-.I arg
+.I action
is executed before every \fIsimple command\fP, \fIfor\fP command,
-\fIcase\fP command, \fIselect\fP command, every arithmetic \fIfor\fP
-command, and before the first command executes in a shell function (see
+\fIcase\fP command, \fIselect\fP command, (( arithmetic command,
+[[ conditional command,
+arithmetic \fIfor\fP command, and before the first command executes
+in a shell function (see
.SM
.B SHELL GRAMMAR
.ie \n(zZ=1 in \fIbash(1)\fP).
.SM
.BR RETURN ,
the command
-.I arg
+.I action
is executed each time a shell function or a script executed with
the \fB.\fP or \fBsource\fP builtins finishes executing.
.if t .sp 0.5
.SM
.BR ERR ,
the command
-.I arg
+.I action
is executed whenever
a pipeline (which may consist of a single simple
command), a list, or a compound command returns a
These are the same conditions obeyed by the \fBerrexit\fP (\fB\-e\fP) option.
.if t .sp 0.5
.if n .sp 1
-Signals ignored upon entry to the shell cannot be trapped or reset.
+When the shell is not interactive,
+signals ignored upon entry to the shell cannot be trapped or reset.
+Interactive shells permit trapping signals ignored on entry.
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
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 September 19<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 December 2<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
<B>shopt</B>
below under
-<FONT SIZE=-1><B>SHELL</B>BUILTIN<B>COMMANDS</B>.
+<FONT SIZE=-1><B>SHELL BUILTIN COMMANDS</B>.
</FONT>
<A NAME="lbAT"> </A>
<P>
-The<B>extglob</B> option changes the behavior of the parser, since the
+The <B>extglob</B> option changes the behavior of the parser, since the
parentheses are normally treated as operators with syntactic meaning.
To ensure that extended matching patterns are parsed correctly, make sure
that <B>extglob</B> is enabled before parsing constructs containing the
<DD>
Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
-<DT><B>trap</B> [<B>-lp</B>] [[<I>arg</I>] <I>sigspec</I> ...]<DD>
-The command
-<I>arg</I>
+<DT><B>trap</B> [<B>-lp</B>] [[<I>action</I>] <I>sigspec</I> ...]<DD>
+The
+<I>action</I>
-is to be read and executed when the shell receives
+is a command that is read and executed when the shell receives
signal(s)
<I>sigspec</I>.
If
-<I>arg</I>
+<I>action</I>
is absent (and there is a single <I>sigspec</I>) or
<B>-</B>,
reset to its original disposition (the value it had
upon entrance to the shell).
If
-<I>arg</I>
+<I>action</I>
is the null string the signal specified by each
<I>sigspec</I>
is ignored by the shell and by the commands it invokes.
-If
-<I>arg</I>
+<P>
-is not present and
-<B>-p</B>
-has been supplied, then the trap commands associated with each
-<I>sigspec</I>
+If no arguments are supplied,
+<B>trap</B>
-are displayed.
-If no arguments are supplied or if only
+displays the actions associated with each trapped signal
+as a set of <B>trap</B> commands
+that can be reused as shell input to
+restore the current signal dispositions.
+If
<B>-p</B>
is given,
-<B>trap</B>
+and
+<I>action</I>
+
+is not present,
+then <B>trap</B> displays the actions associated with each
+<I>sigspec</I>
+
+or, if none are supplied, for all trapped signals,
+as a set of <B>trap</B> commands
+that can be reused as shell input to
+restore the current signal dispositions.
+<P>
+
-prints the list of commands associated with each signal.
The
<B>-l</B>
-option causes the shell to print a list of signal names and
+option causes <B>trap</B> to print a list of signal names and
their corresponding numbers.
Each
<I>sigspec</I>
</FONT>
(0) the command
-<I>arg</I>
+<I>action</I>
is executed on exit from the shell.
If a
</FONT>
the command
-<I>arg</I>
+<I>action</I>
is executed before every <I>simple command</I>, <I>for</I> command,
-<I>case</I> command, <I>select</I> command, every arithmetic <I>for</I>
-command, and before the first command executes in a shell function (see
+<I>case</I> command, <I>select</I> command, (( arithmetic command,
+[[ conditional command,
+arithmetic <I>for</I> command, and before the first command executes
+in a shell function (see
<FONT SIZE=-1><B>SHELL GRAMMAR</B>
</FONT>
</FONT>
the command
-<I>arg</I>
+<I>action</I>
is executed each time a shell function or a script executed with
the <B>.</B> or <B>source</B> builtins finishes executing.
</FONT>
the command
-<I>arg</I>
+<I>action</I>
is executed whenever
a pipeline (which may consist of a single simple
<P>
-Signals ignored upon entry to the shell cannot be trapped or reset.
+When the shell is not interactive,
+signals ignored upon entry to the shell cannot be trapped or reset.
+Interactive shells permit trapping signals ignored on entry.
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
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 September 19<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 December 2<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
<DT><A HREF="#lbDI">BUGS</A><DD>
</DL>
<HR>
-This document was created by man2html from /usr/local/src/bash/bash-20220907/doc/bash.1.<BR>
-Time: 19 September 2022 12:02:51 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20221202/doc/bash.1.<BR>
+Time: 02 December 2022 17:01:20 EST
</BODY>
</HTML>
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 19 September 2022).
+Bash shell (version 5.2, 2 December 2022).
- This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash
+ This is Edition 5.2, last updated 2 December 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2022 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 19 September 2022). The Bash home page is
+Bash shell (version 5.2, 2 December 2022). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash
+ This is Edition 5.2, last updated 2 December 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
In each of the cases below, WORD is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
- When not performing substring expansion, using the form described
+ When not performing substring expansion, using the forms described
below (e.g., ':-'), Bash tests for a parameter that is unset or null.
Omitting the colon results in a test only for a parameter that is unset.
Put another way, if the colon is included, the operator tests for both
children. The return status is zero.
'trap'
- trap [-lp] [ARG] [SIGSPEC ...]
-
- The commands in ARG are to be read and executed when the shell
- receives signal SIGSPEC. If ARG is absent (and there is a single
- SIGSPEC) or equal to '-', each specified signal's disposition is
- reset to the value it had when the shell was started. If ARG is
- the null string, then the signal specified by each SIGSPEC is
- ignored by the shell and commands it invokes. If ARG is not
- present and '-p' has been supplied, the shell displays the trap
- commands associated with each SIGSPEC. If no arguments are
- supplied, or only '-p' is given, 'trap' prints the list of commands
- associated with each signal number in a form that may be reused as
- shell input. The '-l' option causes the shell to print a list of
- signal names and their corresponding numbers. Each SIGSPEC is
- either a signal name or a signal number. Signal names are case
- insensitive and the 'SIG' prefix is optional.
-
- If a SIGSPEC is '0' or 'EXIT', ARG is executed when the shell
- exits. 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. Refer to the description of
- the 'extdebug' option to the 'shopt' builtin (*note 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
- pipeline (which may consist of a single simple command), a list, or
- a compound command returns a non-zero exit status, subject to the
+ trap [-lp] [ACTION] [SIGSPEC ...]
+
+ The ACTION is a command that is read and executed when the shell
+ receives signal SIGSPEC. If ACTION is absent (and there is a
+ single SIGSPEC) or equal to '-', each specified signal's
+ disposition is reset to the value it had when the shell was
+ started. If ACTION is the null string, then the signal specified
+ by each SIGSPEC is ignored by the shell and commands it invokes.
+
+ If no arguments are supplied, 'trap' prints the actions associated
+ with each trapped signal as a set of 'trap' commands that can be
+ reused as shell input to restore the current signal dispositions.
+ If ACTION is not present and '-p' has been supplied, 'trap'
+ displays the trap commands associated with each SIGSPEC, or, if no
+ SIGSPECs are supplied, for all trapped signals, as a set of 'trap'
+ commands that can be reused as shell input to restore the current
+ signal dispositions.
+
+ The '-l' option causes 'trap' to print a list of signal names and
+ their corresponding numbers. Each SIGSPEC is either a signal name
+ or a signal number. Signal names are case insensitive and the
+ 'SIG' prefix is optional.
+
+ If a SIGSPEC is '0' or 'EXIT', ACTION is executed when the shell
+ exits. If a SIGSPEC is 'DEBUG', ACTION is executed before every
+ simple command, 'for' command, 'case' command, 'select' command, ((
+ arithmetic command, [[ conditional command, arithmetic 'for'
+ command, and before the first command executes in a shell function.
+ Refer to the description of the 'extdebug' option to the 'shopt'
+ builtin (*note The Shopt Builtin::) for details of its effect on
+ the 'DEBUG' trap. If a SIGSPEC is 'RETURN', ACTION is executed
+ each time a shell function or a script executed with the '.' or
+ 'source' builtins finishes executing.
+
+ If a SIGSPEC is 'ERR', ACTION is executed whenever a pipeline
+ (which may consist of a single simple command), a list, or a
+ compound command returns 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 an
'until' or 'while' keyword, part of the test following the 'if' or
status is being inverted using '!'. These are the same conditions
obeyed by the 'errexit' ('-e') 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.
+ Signals ignored upon entry to a non-interactive shell cannot be
+ trapped or reset. Interactive shells permit trapping signals
+ ignored on entry. 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 zero unless a SIGSPEC does not specify a valid
signal.
handler for a given signal to the original disposition, they should
use '-' as the first argument.
- 42. 'trap -p' displays signals whose dispositions are set to SIG_DFL
- and those that were ignored when the shell started.
+ 42. 'trap -p' without arguments displays signals whose dispositions
+ are set to SIG_DFL and those that were ignored when the shell
+ started, not just trapped signals.
43. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
<http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz>.
Once you have determined that a bug actually exists, use the
-'bashbug' command to submit a bug report. If you have a fix, you are
-encouraged to mail that as well! Suggestions and 'philosophical' bug
-reports may be mailed to <bug-bash@gnu.org> or posted to the Usenet
-newsgroup 'gnu.bash.bug'.
+'bashbug' command to submit a bug report or use the form at the <a
+href="https://savannah.gnu.org/projects/bash/">Bash project page</a>.
+If you have a fix, you are encouraged to submit that as well!
+Suggestions and 'philosophical' bug reports may be mailed to
+<bug-bash@gnu.org> or <help-bash@gnu.org>.
All bug reports should include:
* The version number of Bash.
* typeset: Bash Builtins. (line 631)
* ulimit: Bash Builtins. (line 637)
* umask: Bourne Shell Builtins.
- (line 415)
+ (line 422)
* unalias: Bash Builtins. (line 743)
* unset: Bourne Shell Builtins.
- (line 433)
+ (line 440)
* wait: Job Control Builtins.
(line 76)
\1f
Tag Table:
-Node: Top\7f896
-Node: Introduction\7f2815
-Node: What is Bash?\7f3028
-Node: What is a shell?\7f4139
-Node: Definitions\7f6674
-Node: Basic Shell Features\7f9622
-Node: Shell Syntax\7f10838
-Node: Shell Operation\7f11861
-Node: Quoting\7f13151
-Node: Escape Character\7f14452
-Node: Single Quotes\7f14934
-Node: Double Quotes\7f15279
-Node: ANSI-C Quoting\7f16554
-Node: Locale Translation\7f17861
-Node: Creating Internationalized Scripts\7f19169
-Node: Comments\7f23283
-Node: Shell Commands\7f23898
-Node: Reserved Words\7f24833
-Node: Simple Commands\7f25586
-Node: Pipelines\7f26237
-Node: Lists\7f29233
-Node: Compound Commands\7f31025
-Node: Looping Constructs\7f32034
-Node: Conditional Constructs\7f34526
-Node: Command Grouping\7f49011
-Node: Coprocesses\7f50486
-Node: GNU Parallel\7f53146
-Node: Shell Functions\7f54060
-Node: Shell Parameters\7f61942
-Node: Positional Parameters\7f66327
-Node: Special Parameters\7f67226
-Node: Shell Expansions\7f70437
-Node: Brace Expansion\7f72561
-Node: Tilde Expansion\7f75292
-Node: Shell Parameter Expansion\7f77910
-Node: Command Substitution\7f96258
-Node: Arithmetic Expansion\7f97610
-Node: Process Substitution\7f98575
-Node: Word Splitting\7f99692
-Node: Filename Expansion\7f101633
-Node: Pattern Matching\7f104379
-Node: Quote Removal\7f109378
-Node: Redirections\7f109670
-Node: Executing Commands\7f119327
-Node: Simple Command Expansion\7f119994
-Node: Command Search and Execution\7f122101
-Node: Command Execution Environment\7f124476
-Node: Environment\7f127508
-Node: Exit Status\7f129168
-Node: Signals\7f130949
-Node: Shell Scripts\7f134395
-Node: Shell Builtin Commands\7f137419
-Node: Bourne Shell Builtins\7f139454
-Node: Bash Builtins\7f160917
-Node: Modifying Shell Behavior\7f191770
-Node: The Set Builtin\7f192112
-Node: The Shopt Builtin\7f202710
-Node: Special Builtins\7f218619
-Node: Shell Variables\7f219595
-Node: Bourne Shell Variables\7f220029
-Node: Bash Variables\7f222130
-Node: Bash Features\7f254942
-Node: Invoking Bash\7f255952
-Node: Bash Startup Files\7f261962
-Node: Interactive Shells\7f267090
-Node: What is an Interactive Shell?\7f267498
-Node: Is this Shell Interactive?\7f268144
-Node: Interactive Shell Behavior\7f268956
-Node: Bash Conditional Expressions\7f272582
-Node: Shell Arithmetic\7f277221
-Node: Aliases\7f280162
-Node: Arrays\7f282772
-Node: The Directory Stack\7f289160
-Node: Directory Stack Builtins\7f289941
-Node: Controlling the Prompt\7f294198
-Node: The Restricted Shell\7f297160
-Node: Bash POSIX Mode\7f299767
-Node: Shell Compatibility Mode\7f311682
-Node: Job Control\7f320246
-Node: Job Control Basics\7f320703
-Node: Job Control Builtins\7f325702
-Node: Job Control Variables\7f331494
-Node: Command Line Editing\7f332647
-Node: Introduction and Notation\7f334315
-Node: Readline Interaction\7f335935
-Node: Readline Bare Essentials\7f337123
-Node: Readline Movement Commands\7f338909
-Node: Readline Killing Commands\7f339866
-Node: Readline Arguments\7f341784
-Node: Searching\7f342825
-Node: Readline Init File\7f345008
-Node: Readline Init File Syntax\7f346266
-Node: Conditional Init Constructs\7f369849
-Node: Sample Init File\7f374042
-Node: Bindable Readline Commands\7f377163
-Node: Commands For Moving\7f378364
-Node: Commands For History\7f380412
-Node: Commands For Text\7f385403
-Node: Commands For Killing\7f389049
-Node: Numeric Arguments\7f392079
-Node: Commands For Completion\7f393215
-Node: Keyboard Macros\7f397403
-Node: Miscellaneous Commands\7f398088
-Node: Readline vi Mode\7f404030
-Node: Programmable Completion\7f404934
-Node: Programmable Completion Builtins\7f412711
-Node: A Programmable Completion Example\7f423460
-Node: Using History Interactively\7f428705
-Node: Bash History Facilities\7f429386
-Node: Bash History Builtins\7f432388
-Node: History Interaction\7f437409
-Node: Event Designators\7f441026
-Node: Word Designators\7f442377
-Node: Modifiers\7f444134
-Node: Installing Bash\7f445939
-Node: Basic Installation\7f447073
-Node: Compilers and Options\7f450792
-Node: Compiling For Multiple Architectures\7f451530
-Node: Installation Names\7f453219
-Node: Specifying the System Type\7f455325
-Node: Sharing Defaults\7f456039
-Node: Operation Controls\7f456709
-Node: Optional Features\7f457664
-Node: Reporting Bugs\7f468880
-Node: Major Differences From The Bourne Shell\7f470152
-Node: GNU Free Documentation License\7f486998
-Node: Indexes\7f512172
-Node: Builtin Index\7f512623
-Node: Reserved Word Index\7f519447
-Node: Variable Index\7f521892
-Node: Function Index\7f538663
-Node: Concept Index\7f552444
+Node: Top\7f892
+Node: Introduction\7f2807
+Node: What is Bash?\7f3020
+Node: What is a shell?\7f4131
+Node: Definitions\7f6666
+Node: Basic Shell Features\7f9614
+Node: Shell Syntax\7f10830
+Node: Shell Operation\7f11853
+Node: Quoting\7f13143
+Node: Escape Character\7f14444
+Node: Single Quotes\7f14926
+Node: Double Quotes\7f15271
+Node: ANSI-C Quoting\7f16546
+Node: Locale Translation\7f17853
+Node: Creating Internationalized Scripts\7f19161
+Node: Comments\7f23275
+Node: Shell Commands\7f23890
+Node: Reserved Words\7f24825
+Node: Simple Commands\7f25578
+Node: Pipelines\7f26229
+Node: Lists\7f29225
+Node: Compound Commands\7f31017
+Node: Looping Constructs\7f32026
+Node: Conditional Constructs\7f34518
+Node: Command Grouping\7f49003
+Node: Coprocesses\7f50478
+Node: GNU Parallel\7f53138
+Node: Shell Functions\7f54052
+Node: Shell Parameters\7f61934
+Node: Positional Parameters\7f66319
+Node: Special Parameters\7f67218
+Node: Shell Expansions\7f70429
+Node: Brace Expansion\7f72553
+Node: Tilde Expansion\7f75284
+Node: Shell Parameter Expansion\7f77902
+Node: Command Substitution\7f96251
+Node: Arithmetic Expansion\7f97603
+Node: Process Substitution\7f98568
+Node: Word Splitting\7f99685
+Node: Filename Expansion\7f101626
+Node: Pattern Matching\7f104372
+Node: Quote Removal\7f109371
+Node: Redirections\7f109663
+Node: Executing Commands\7f119320
+Node: Simple Command Expansion\7f119987
+Node: Command Search and Execution\7f122094
+Node: Command Execution Environment\7f124469
+Node: Environment\7f127501
+Node: Exit Status\7f129161
+Node: Signals\7f130942
+Node: Shell Scripts\7f134388
+Node: Shell Builtin Commands\7f137412
+Node: Bourne Shell Builtins\7f139447
+Node: Bash Builtins\7f161229
+Node: Modifying Shell Behavior\7f192082
+Node: The Set Builtin\7f192424
+Node: The Shopt Builtin\7f203022
+Node: Special Builtins\7f218931
+Node: Shell Variables\7f219907
+Node: Bourne Shell Variables\7f220341
+Node: Bash Variables\7f222442
+Node: Bash Features\7f255254
+Node: Invoking Bash\7f256264
+Node: Bash Startup Files\7f262274
+Node: Interactive Shells\7f267402
+Node: What is an Interactive Shell?\7f267810
+Node: Is this Shell Interactive?\7f268456
+Node: Interactive Shell Behavior\7f269268
+Node: Bash Conditional Expressions\7f272894
+Node: Shell Arithmetic\7f277533
+Node: Aliases\7f280474
+Node: Arrays\7f283084
+Node: The Directory Stack\7f289472
+Node: Directory Stack Builtins\7f290253
+Node: Controlling the Prompt\7f294510
+Node: The Restricted Shell\7f297472
+Node: Bash POSIX Mode\7f300079
+Node: Shell Compatibility Mode\7f312043
+Node: Job Control\7f320607
+Node: Job Control Basics\7f321064
+Node: Job Control Builtins\7f326063
+Node: Job Control Variables\7f331855
+Node: Command Line Editing\7f333008
+Node: Introduction and Notation\7f334676
+Node: Readline Interaction\7f336296
+Node: Readline Bare Essentials\7f337484
+Node: Readline Movement Commands\7f339270
+Node: Readline Killing Commands\7f340227
+Node: Readline Arguments\7f342145
+Node: Searching\7f343186
+Node: Readline Init File\7f345369
+Node: Readline Init File Syntax\7f346627
+Node: Conditional Init Constructs\7f370210
+Node: Sample Init File\7f374403
+Node: Bindable Readline Commands\7f377524
+Node: Commands For Moving\7f378725
+Node: Commands For History\7f380773
+Node: Commands For Text\7f385764
+Node: Commands For Killing\7f389410
+Node: Numeric Arguments\7f392440
+Node: Commands For Completion\7f393576
+Node: Keyboard Macros\7f397764
+Node: Miscellaneous Commands\7f398449
+Node: Readline vi Mode\7f404391
+Node: Programmable Completion\7f405295
+Node: Programmable Completion Builtins\7f413072
+Node: A Programmable Completion Example\7f423821
+Node: Using History Interactively\7f429066
+Node: Bash History Facilities\7f429747
+Node: Bash History Builtins\7f432749
+Node: History Interaction\7f437770
+Node: Event Designators\7f441387
+Node: Word Designators\7f442738
+Node: Modifiers\7f444495
+Node: Installing Bash\7f446300
+Node: Basic Installation\7f447434
+Node: Compilers and Options\7f451153
+Node: Compiling For Multiple Architectures\7f451891
+Node: Installation Names\7f453580
+Node: Specifying the System Type\7f455686
+Node: Sharing Defaults\7f456400
+Node: Operation Controls\7f457070
+Node: Optional Features\7f458025
+Node: Reporting Bugs\7f469241
+Node: Major Differences From The Bourne Shell\7f470582
+Node: GNU Free Documentation License\7f487428
+Node: Indexes\7f512602
+Node: Builtin Index\7f513053
+Node: Reserved Word Index\7f519877
+Node: Variable Index\7f522322
+Node: Function Index\7f539093
+Node: Concept Index\7f552874
\1f
End Tag Table
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
-%%CreationDate: Mon Sep 19 12:02:42 2022
+%%CreationDate: Fri Dec 2 17:01:15 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
(~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti)
144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(1)190.115 E 0 Cg EP
+(2022 December 2)139.295 E(1)193.455 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25
G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806
(un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15
-F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(2)
-190.115 E 0 Cg EP
+F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(2)
+193.455 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
669.6 R F6(SHELL GRAMMAR)72 686.4 Q F0
(This section describes the syntax of the v)108 698.4 Q
(arious forms of shell commands.)-.25 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(3)190.115 E 0 Cg EP
+(2022 December 2)139.295 E(3)193.455 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
G(cuted if, and only if,).15 E F2(command1)2.7 E F0(returns an e)2.5 E
(xit status of zero \(success\).)-.15 E(An OR list has the form)108
712.8 Q F2(command1)144 729.6 Q F1(||)2.5 E F2(command2)2.5 E F0
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(4)190.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(4)193.455 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
.583(with inde)144 720 R 3.083(x0)-.15 G .582
(contains the portion of the string matching the entire re)-.001 F .582
(gular e)-.15 F 3.082(xpression. Substrings)-.15 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(5)190.115 E 0 Cg EP
+(2022 December 2)139.295 E(5)193.455 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
(Using)144 720 Q F3(;;&)3.378 E F0 .878(in place of)3.378 F F3(;;)3.378
E F0 .878(causes the shell to test the ne)3.378 F .878
(xt pattern list in the statement, if an)-.15 F 2.178 -.65(y, a)-.15 H
-(nd).65 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(6)190.115 E
-0 Cg EP
+(nd).65 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(6)193.455 E 0
+Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
(cutes a compound command with).15 F 2.5(an)108 703.2 S .5 -.25(ew s)
-2.5 H(et of positional parameters.).25 E
(Shell functions are declared as follo)5 E(ws:)-.25 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(7)190.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(7)193.455 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
(replaced as speci\214ed by the ANSI C standard.)3.027 F
(Backslash escape sequences, if present, are decoded as follo)108 684 Q
(ws:)-.25 E F2(\\a)144 696 Q F0(alert \(bell\))180 696 Q F2(\\b)144 708
-Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2022 September 19)135.955
-E(8)190.115 E 0 Cg EP
+Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E
+(8)193.455 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
393.6 R .535(ault, whether or not it is translated and)-.1 F 2.798
(replaced. If)108 405.6 R(the)2.798 E F1(noexpand_translation)2.797 E F0
.297(option is enabled using the)2.797 F F1(shopt)2.797 E F0 -.2(bu)
-2.797 G .297(iltin, translated strings are sin-).2 F 2.044
-(gle-quoted instead of double-quoted.)108 417.6 R 2.044
-(See the description of)7.044 F F1(shopt)4.545 E F0(belo)4.545 E 4.545
-(wu)-.25 G(nder)-4.545 E/F3 9/Times-Bold@0 SF(SHELL)4.545 E/F4 9
-/Times-Roman@0 SF -.09(BU)C(IL).09 E(TIN)-.828 E F3(COM-)A(MANDS)108
-429.6 Q F4(.)A/F5 10.95/Times-Bold@0 SF -.81(PA)72 446.4 S(RAMETERS).81
-E F0(A)108 458.4 Q F2(par)4.575 E(ameter)-.15 E F0 .825
-(is an entity that stores v)4.055 F 3.325(alues. It)-.25 F .825
-(can be a)3.325 F F2(name)3.684 E F0 3.324(,an).18 G(umber)-3.324 E
-3.324(,o)-.4 G 3.324(ro)-3.324 G .824(ne of the special characters)
--3.324 F .801(listed belo)108 470.4 R 3.301(wu)-.25 G(nder)-3.301 E F1
-.801(Special P)3.301 F(arameters)-.1 E F0 5.802(.A)C F2(variable)-2.21 E
-F0 .802(is a parameter denoted by a)3.482 F F2(name)3.662 E F0 5.802(.A)
-.18 G -.25(va)-2.5 G .802(riable has a).25 F F2(value)108 482.4 Q F0
-.369(and zero or more)2.869 F F2(attrib)2.869 E(utes)-.2 E F0 5.369(.A)C
-(ttrib)-5.369 E .369(utes are assigned using the)-.2 F F1(declar)2.868 E
-(e)-.18 E F0 -.2(bu)2.868 G .368(iltin command \(see).2 F F1(declar)
-2.868 E(e)-.18 E F0(belo)108 494.4 Q 2.5(wi)-.25 G(n)-2.5 E F3(SHELL B)
-2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F4(\).)A F0 2.754(Ap)108 511.2 S
-.254(arameter is set if it has been assigned a v)-2.754 F 2.754
-(alue. The)-.25 F .254(null string is a v)2.754 F .255(alid v)-.25 F
-2.755(alue. Once)-.25 F 2.755(av)2.755 G .255(ariable is set, it)-3.005
-F(may be unset only by using the)108 523.2 Q F1(unset)2.5 E F0 -.2(bu)
-2.5 G(iltin command \(see).2 E F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
+2.797 G .297(iltin, translated strings are sin-).2 F 1.228
+(gle-quoted instead of double-quoted.)108 417.6 R 1.229
+(See the description of)6.228 F F1(shopt)3.729 E F0(belo)3.729 E 3.729
+(wu)-.25 G(nder)-3.729 E/F3 9/Times-Bold@0 SF 1.229(SHELL B)3.729 F(UIL)
+-.09 E 1.229(TIN COM-)-.828 F(MANDS)108 429.6 Q/F4 9/Times-Roman@0 SF(.)
+A/F5 10.95/Times-Bold@0 SF -.81(PA)72 446.4 S(RAMETERS).81 E F0(A)108
+458.4 Q F2(par)4.575 E(ameter)-.15 E F0 .825(is an entity that stores v)
+4.055 F 3.325(alues. It)-.25 F .825(can be a)3.325 F F2(name)3.684 E F0
+3.324(,an).18 G(umber)-3.324 E 3.324(,o)-.4 G 3.324(ro)-3.324 G .824
+(ne of the special characters)-3.324 F .801(listed belo)108 470.4 R
+3.301(wu)-.25 G(nder)-3.301 E F1 .801(Special P)3.301 F(arameters)-.1 E
+F0 5.802(.A)C F2(variable)-2.21 E F0 .802(is a parameter denoted by a)
+3.482 F F2(name)3.662 E F0 5.802(.A).18 G -.25(va)-2.5 G .802
+(riable has a).25 F F2(value)108 482.4 Q F0 .369(and zero or more)2.869
+F F2(attrib)2.869 E(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369
+(utes are assigned using the)-.2 F F1(declar)2.868 E(e)-.18 E F0 -.2(bu)
+2.868 G .368(iltin command \(see).2 F F1(declar)2.868 E(e)-.18 E F0
+(belo)108 494.4 Q 2.5(wi)-.25 G(n)-2.5 E F3(SHELL B)2.5 E(UIL)-.09 E
+(TIN COMMANDS)-.828 E F4(\).)A F0 2.754(Ap)108 511.2 S .254
+(arameter is set if it has been assigned a v)-2.754 F 2.754(alue. The)
+-.25 F .254(null string is a v)2.754 F .255(alid v)-.25 F 2.755
+(alue. Once)-.25 F 2.755(av)2.755 G .255(ariable is set, it)-3.005 F
+(may be unset only by using the)108 523.2 Q F1(unset)2.5 E F0 -.2(bu)2.5
+G(iltin command \(see).2 E F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 540 Q F2(variable)2.79 E F0
(may be assigned to by a statement of the form)2.68 E F2(name)144 556.8
Q F0(=[)A F2(value)A F0(])A(If)108 573.6 Q F2(value)3.023 E F0 .233
(sion and added to the v)108 722.4 R(ariable')-.25 E 3.726(sc)-.55 G
1.227(urrent v)-3.726 F 1.227(alue, which is also e)-.25 F -.25(va)-.25
G 3.727(luated. When).25 F 1.227(+= is applied to an array)3.727 F
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(9)190.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(9)193.455 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
R -.2(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G
.881(iltin command, or).2 F(those set by the shell itself \(such as the)
144 715.2 Q F1<ad69>2.5 E F0(option\).)2.5 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(10)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(10)188.455 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
(f)-5.216 E F1 -.3(BA)2.716 G(SH_ARGV0).3 E F0 .216
(is unset, it loses its special properties, e)2.716 F -.15(ve)-.25 G
2.716(ni).15 G(f)-2.716 E(it is subsequently reset.)144 705.6 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(11)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(11)188.455 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
(yt)-3.537 G 1.037(he programmable completion f)-3.537 F 1.037
(acilities \(see)-.1 F F1(Pr)3.537 E 1.037(ogrammable Completion)-.18 F
F0(be-)3.537 E(lo)144 726 Q(w\).)-.25 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(12)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(12)188.455 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
(at line number)144 702 R F1(${B)3.684 E(ASH_LINENO[)-.3 E F2($i)A F1
(]})A F0 6.184(.T)C(he)-6.184 E F1(caller)3.683 E F0 -.2(bu)3.683 G
1.183(iltin displays the current call stack using).2 F
-(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(13)185.115 E 0 Cg EP
+(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(13)188.455 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
3.517 F(UIL)-.09 E 1.017(TIN COMMANDS)-.828 F F0(belo)3.267 E 3.516
(w\). The)-.25 F 1.016(characters between the insertion point and the)
3.516 F(mark are often called the)144 720 Q F3 -.37(re)2.5 G(gion)-.03 E
-F0(.)A(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(14)185.115 E 0
-Cg EP
+F0(.)A(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(14)188.455 E 0 Cg
+EP
%%Page: 15 15
%%BeginPageSetup
BP
(is a colon-separated list of directories in which the)3.748 F 3.795
(shell looks for destination directories speci\214ed by the)144 729.6 R
F1(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796
-(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(15)
-185.115 E 0 Cg EP
+(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(15)
+188.455 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
-.1 F(alue)-.25 E(is)144 696 Q F5(~/.bash_history)2.5 E F0 5(.I)C 2.5
(fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5
(dw).15 G(hen a shell e)-2.5 E(xits.)-.15 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(16)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(16)188.455 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
(rrides the v).15 F .973(alue of)-.25 F F2(LANG)3.473 E F0 .973(and an)
3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0 -.25(va)3.473 G
.974(riable specifying a locale cate-).25 F(gory)144 720 Q(.)-.65 E
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(17)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(17)188.455 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
-.15 F F2(PR)3.674 E(OMPTING)-.27 E F0(belo)3.424 E 1.174
(w\) and displayed by interacti)-.25 F -.15(ve)-.25 G
(shells after reading a command and before the command is e)144 720 Q
--.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(18)185.115 E 0 Cg EP
+-.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(18)188.455 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
(must be a pre\214x of a stopped job')144 692.4 R 2.816(sn)-.55 G .316
(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F
F1(%)2.815 E F3(string)A F0(job)2.815 E(identi\214er)144 704.4 Q(.)-.55
-E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(19)185.115 E 0 Cg EP
+E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(19)188.455 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228
(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727
(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(20)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(20)188.455 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
F2(]})A F0 3.149(,w)C(here)-3.149 E F1(x)3.149 E F0(and)3.149 E F1(y)
3.149 E F0 .649(are either inte)3.149 F .649
(gers or single letters, and)-.15 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(21)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(21)188.455 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
(the v)108 724.8 R .415(ariable to be e)-.25 F .415
(xpanded from characters immediately follo)-.15 F .414
(wing it which could be interpreted as part of)-.25 F(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(22)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(22)188.455 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
(en relati)-.1 F 1.851 -.15(ve t)-.25 H 4.051(oo).15 G 1.551
(ne greater than the greatest positional parameter)-4.051 F 4.051(,s)-.4
G 4.052(oa)-4.051 G 4.052(no)-4.052 G -.25(ff)-4.052 G 1.552
-(set of \2551).25 F(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E
-(23)185.115 E 0 Cg EP
+(set of \2551).25 F(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(23)
+188.455 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
(,)A .423(the pattern remo)144 708 R -.25(va)-.15 G 2.923(lo).25 G .422
(peration is applied to each member of the array in turn, and the e)
-2.923 F .422(xpansion is)-.15 F(the resultant list.)144 720 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(24)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(24)188.455 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
F1(par)2.653 E(ameter)-.15 E F0 .153(itself, depending on the v)2.653 F
.153(alue of)-.25 F F1(oper)2.653 E(ator)-.15 E F0 5.154(.E)C(ach)-5.154
E F1(oper)2.654 E(ator)-.15 E F0 .154(is a sin-)2.654 F(gle letter:)144
-717.6 Q(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(25)185.115 E 0
+717.6 Q(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(25)188.455 E 0
Cg EP
%%Page: 26 26
%%BeginPageSetup
.2 E(ession)-.37 E F0 2.799(are not treated specially and are remo)5.3 F
-.15(ve)-.15 G 5.299(d. All).15 F(tok)5.299 E 2.799(ens in the e)-.1 F
2.799(xpression under)-.15 F(go)-.18 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(26)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(26)188.455 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
F F3(pattern)3.811 E F0 5.061(.I).24 G(f)-5.061 E F1(GLO-)2.561 E
(BIGNORE)108 727.2 Q F0 2.015(is set, each matching \214le name that al\
so matches one of the patterns in)4.264 F F1(GLOBIGNORE)4.515 E F0(is)
-4.265 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(27)185.115 E 0
+4.265 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(27)188.455 E 0
Cg EP
%%Page: 28 28
%%BeginPageSetup
678 Q -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 690 Q F4
(pattern-list).833 E F1(\)).833 E F0
(Matches one or more occurrences of the gi)180 702 Q -.15(ve)-.25 G 2.5
-(np).15 G(atterns)-2.5 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955
-E(28)185.115 E 0 Cg EP
+(np).15 G(atterns)-2.5 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E
+(28)188.455 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
F0(Matches one of the gi)180 96 Q -.15(ve)-.25 G 2.5(np).15 G(atterns)
-2.5 E F1(!\()144 108 Q F2(pattern-list).833 E F1(\)).833 E F0
(Matches an)180 120 Q(ything e)-.15 E(xcept one of the gi)-.15 E -.15
-(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E(The)108 136.8 Q F1(extglob)A F0
-.477(option changes the beha)2.977 F .477(vior of the parser)-.2 F 2.977
-(,s)-.4 G .478(ince the parentheses are normally treated as opera-)
--2.977 F .105(tors with syntactic meaning.)108 148.8 R 1.705 -.8(To e)
+(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E(The)108 136.8 Q F1(extglob)2.791
+E F0 .291(option changes the beha)2.791 F .291(vior of the parser)-.2 F
+2.791(,s)-.4 G .292(ince the parentheses are normally treated as opera-)
+-2.791 F .105(tors with syntactic meaning.)108 148.8 R 1.705 -.8(To e)
5.105 H .105(nsure that e).8 F .105
(xtended matching patterns are parsed correctly)-.15 F 2.604(,m)-.65 G
(ak)-2.604 E 2.604(es)-.1 G .104(ure that)-2.604 F F1(extglob)108 160.8
(vides these special \214les, bash will use them;)-.15 F
(otherwise it will emulate them internally with the beha)108 715.2 Q
(vior described belo)-.2 E -.65(w.)-.25 G(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(29)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(29)188.455 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
A(d)-.37 E F0(Of the tw)108 700.8 Q 2.5(of)-.1 G
(orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E
-.25(va)-.25 G(lent to).25 E F1(>)144 717.6 Q F2(wor)A(d)-.37 E F0(2)2.5
-E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(30)
-185.115 E 0 Cg EP
+E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(30)
+188.455 E 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
3.465 E F0 3.466(,t)C .966
(he standard output and standard error are redirected as described)
-3.466 F(pre)108 720 Q(viously)-.25 E(.)-.65 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(31)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(31)188.455 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
-.18 F -.15(xe)-.15 G(cution.).15 E 1.659(The special parameter)108 720
R F1(#)4.159 E F0 1.659(is updated to re\215ect the change.)4.159 F
1.659(Special parameter)6.659 F F1(0)4.159 E F0 1.658(is unchanged.)
-4.158 F 1.658(The \214rst)6.658 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(32)185.115 E 0 Cg EP
+4.158 F 1.658(The \214rst)6.658 F(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(32)188.455 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
(stack and restrict the number of function in)108 688.8 R -.2(vo)-.4 G
2.822(cations. By).2 F(def)2.822 E .322
(ault, no limit is imposed on the number of re-)-.1 F(cursi)108 700.8 Q
-.3 -.15(ve c)-.25 H(alls.).15 E(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(33)185.115 E 0 Cg EP
+.3 -.15(ve c)-.25 H(alls.).15 E(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(33)188.455 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
(vior based on the number of ar)-.2 F .198
(guments; see the descriptions of those commands for an)-.18 F 2.698(yo)
-.15 G .198(ther command-)-2.698 F(speci\214c actions.)108 720 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(34)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(34)188.455 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
F0(is zero.)2.5 E F2(string)108 658.8 Q F1<ad6e>108 670.8 Q F2(string)
2.5 E F0 -.35(Tr)144 682.8 S(ue if the length of).35 E F2(string)2.84 E
F0(is non-zero.)2.72 E F2(string1)108 699.6 Q F1(==)2.5 E F2(string2)2.5
-E F0(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(35)185.115 E 0 Cg
+E F0(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(35)188.455 E 0 Cg
EP
%%Page: 36 36
%%BeginPageSetup
720 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E
F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS)
-.828 F F0(belo)4.165 E 4.415(w\). A)-.25 F(full)4.415 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(36)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(36)188.455 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
(fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E
(vironment.)-.4 E(A)108 729.6 Q F3(subshell)2.5 E F0(is a cop)2.5 E 2.5
(yo)-.1 G 2.5(ft)-2.5 G(he shell process.)-2.5 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(37)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(37)188.455 E 0 Cg EP
%%Page: 38 38
%%BeginPageSetup
BP
-.15(ve s)-.25 H .915(hell\), and).15 F F4(SIGINT)3.415 E F0 .915
(is caught and handled \(so that the)3.165 F F1(wait)3.415 E F0 -.2(bu)
3.416 G .916(iltin is interruptible\).).2 F .916(In all cases,)5.916 F
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(38)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(38)188.455 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
-2.66 F(-)-.2 E 3.052(minal. Background)108 722.4 R .551
(processes which attempt to read from \(write to when)3.052 F F6 .551
(stty tostop)3.051 F F0 .551(is in ef)3.051 F .551(fect\) the)-.25 F
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(39)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(39)188.455 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
(the hostname up to the \214rst `.)180 693.6 Q(')-.7 E F2(\\H)144 705.6
Q F0(the hostname)180 705.6 Q F2(\\j)144 717.6 Q F0
(the number of jobs currently managed by the shell)180 717.6 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(40)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(40)188.455 E 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
-.15 F .567(which can be yank)108 696 R .567(ed all at once.)-.1 F .567
(Commands which do not kill te)5.567 F .567
(xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.)
-108 708 Q(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(41)185.115 E
-0 Cg EP
+108 708 Q(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(41)188.455 E 0
+Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
144 676.8 Q F0(meta pre\214x)180 676.8 Q F1(\\e)144 688.8 Q F0
(an escape character)180 688.8 Q F1(\\\\)144 700.8 Q F0(backslash)180
700.8 Q F1(\\")144 712.8 Q F0(literal ")180 712.8 Q(GNU Bash 5.2)72 768
-Q(2022 September 19)135.955 E(42)185.115 E 0 Cg EP
+Q(2022 December 2)139.295 E(42)188.455 E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
s to bind the control characters treated specially by the k)-2.556 F
(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 705.6 Q -.15
(ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)
--.25 G(lents.).25 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E
-(43)185.115 E 0 Cg EP
+-.25 G(lents.).25 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(43)
+188.455 E 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
.621(xpanded lik)-.15 F 3.121(ea)-.1 G -.1(ke)144 720 S 3.339(yb)-.05 G
.839(inding, so the standard set of meta- and control pre\214x)-3.339 F
.84(es and backslash escape sequences is)-.15 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(44)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(44)188.455 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
1.106 -.15(ey s)-.1 H 3.306(equence\). If).15 F .806(no input is recei)
3.306 F -.15(ve)-.25 G 3.306(dw).15 G .807(ithin the timeout,)-3.306 F
F2 -.37(re)3.307 G(adline).37 E F0(will)3.307 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(45)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(45)188.455 E 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
(The v)5.475 F(alue)-.25 E 1.235(is e)144 720 R 1.235(xpanded lik)-.15 F
3.735(eak)-.1 G 1.535 -.15(ey b)-3.835 H 1.236
(inding, so the standard set of meta- and control pre\214x).15 F 1.236
-(es and backslash)-.15 F(GNU Bash 5.2)72 768 Q(2022 September 19)135.955
-E(46)185.115 E 0 Cg EP
+(es and backslash)-.15 F(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E
+(46)188.455 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
.129(Both string and boolean v)5.129 F .129(ariables may be)-.25 F
(tested. Boolean v)180 717.6 Q(ariables must be tested ag)-.25 E
(ainst the v)-.05 E(alues)-.25 E F2(on)2.5 E F0(and)2.5 E F2(of)2.5 E(f)
--.18 E F0(.)A(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(47)
-185.115 E 0 Cg EP
+-.18 E F0(.)A(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(47)188.455
+E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
Q(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 691.2 Q .784 -.15(ve f)-.15 H
(orw).15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984
(ord. W)-.1 F .484(ords are delimited by non-quoted shell metacharac-)
--.8 F(ters.)144 703.2 Q(GNU Bash 5.2)72 768 Q(2022 September 19)135.955
-E(48)185.115 E 0 Cg EP
+-.8 F(ters.)144 703.2 Q(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E
+(48)188.455 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
(emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
E F0 1.353(Search forw)144 688.8 R 1.354(ard through the history using \
a non-incremental search for a string supplied by the)-.1 F(user)144
-700.8 Q(.)-.55 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(49)
-185.115 E 0 Cg EP
+700.8 Q(.)-.55 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(49)
+188.455 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
(there are no characters on the line, and point is at the be)144 688.8 R
.167(ginning of the line, readline interprets it as)-.15 F
(the end of input and returns)144 700.8 Q F3(EOF)2.5 E F4(.)A F0
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(50)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(50)188.455 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 712.8 Q(ord behind point.)
-.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
(backward\255w)2.5 E(ord)-.1 E F0(.)A(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(51)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(51)188.455 E 0 Cg EP
%%Page: 52 52
%%BeginPageSetup
BP
1.193(possible completions.)144 729.6 R 1.193(Repeated e)6.193 F -.15
(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194
(steps through the list of possible)3.694 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(52)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(52)188.455 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
E F1(print\255last\255kbd\255macr)108 688.8 Q 2.5(o\()-.18 G(\))-2.5 E
F0(Print the last k)144 700.8 Q -.15(ey)-.1 G
(board macro de\214ned in a format suitable for the).15 E F2(inputr)2.5
-E(c)-.37 E F0(\214le.)2.5 E(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(53)185.115 E 0 Cg EP
+E(c)-.37 E F0(\214le.)2.5 E(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(53)188.455 E 0 Cg EP
%%Page: 54 54
%%BeginPageSetup
BP
(names is inserted, replacing the w)144 720 R 3.016(ord. If)-.1 F 3.016
(an)3.016 G .516(umeric ar)-3.016 F .516
(gument is supplied, an asterisk is appended)-.18 F(GNU Bash 5.2)72 768
-Q(2022 September 19)135.955 E(54)185.115 E 0 Cg EP
+Q(2022 December 2)139.295 E(54)188.455 E 0 Cg EP
%%Page: 55 55
%%BeginPageSetup
BP
R .628(ord preceding the w)-.1 F .629
(ord being completed on the current command line.)-.1 F .629
(No \214ltering of the generated)5.629 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(55)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(55)188.455 E 0 Cg EP
%%Page: 56 56
%%BeginPageSetup
BP
(stores each command in the history list prior to parameter and v)108
729.6 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F2(EXP)2.787 E
(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(56)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(56)188.455 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
(ve)-.25 G .109(ral shell options settable with the).15 F F4(shopt)2.609
E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11
(vior of history e)-.2 F(xpansion.)-.15 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(57)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(57)188.455 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 717.6 Q
(These modify)5 E 2.5(,o)-.65 G 2.5(re)-2.5 G(dit, the w)-2.5 E
(ord or w)-.1 E(ords selected from the history e)-.1 E -.15(ve)-.25 G
-(nt.).15 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(58)185.115
-E 0 Cg EP
+(nt.).15 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(58)188.455 E
+0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
(returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F
-.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E
(which no alias has been de\214ned.)144 704.4 Q(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(59)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(59)188.455 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
E F0(1.)2.555 E(If)144 722.4 Q F2(n)3.075 E F0 .215(is greater than the\
number of enclosing loops, all enclosing loops are e)2.955 F 2.714
(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(GNU Bash 5.2)72 768
-Q(2022 September 19)135.955 E(60)185.115 E 0 Cg EP
+Q(2022 December 2)139.295 E(60)188.455 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
(ay as if the programmable completion code had gen-)-.1 F .02(erated th\
em directly from a completion speci\214cation with the same \215ags.)144
720 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)2.52
-F(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(61)185.115 E 0 Cg EP
+F(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(61)188.455 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
(action)2.5 E F0(may be one of the follo)2.5 E
(wing to generate a list of possible completions:)-.25 E F2(alias)184
700.8 Q F0(Alias names.)224 700.8 Q(May also be speci\214ed as)5 E F2
-<ad61>2.5 E F0(.)A(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(62)
-185.115 E 0 Cg EP
+<ad61>2.5 E F0(.)A(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(62)
+188.455 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
A F0 1.964
(The possible completions are the members of the resultant list which)
6.464 F(match the w)184 720 Q(ord being completed.)-.1 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(63)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(63)188.455 E 0 Cg EP
%%Page: 64 64
%%BeginPageSetup
BP
1.518(That other v)180 727.2 R 1.518(ariable is de\214ned by the v)-.25
F 1.519(alue of)-.25 F F2(name)4.019 E F0 6.519(.A)C 1.519
(ll references, assignments, and)-6.519 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(64)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(64)188.455 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
(xpg_echo)144 720 Q F0 .601
(shell option may be used to dynamically determine whether or not)3.101
F F2(echo)3.102 E F0 -.15(ex)3.102 G .602(pands these).15 F
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(65)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(65)188.455 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
-2.788 F 2.788(ee)-.1 G -.25(ff)-2.788 G .288(ect in the current shell,)
.25 F(and the return status is 0.)144 710.4 Q
(If there is a redirection error)5 E 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(66)185.115 E 0 Cg EP
+(he return status is 1.)-2.5 E(GNU Bash 5.2)72 768 Q(2022 December 2)
+139.295 E(66)188.455 E 0 Cg EP
%%Page: 67 67
%%BeginPageSetup
BP
(the v)144 727.2 R(ariable)-.25 E F3(OPT)3.067 E(ARG)-.81 E F5(.)A F0
.566(The shell does not reset)5.067 F F3(OPTIND)3.066 E F0 .566
(automatically; it must be manually reset)2.816 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(67)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(67)188.455 E 0 Cg EP
%%Page: 68 68
%%BeginPageSetup
BP
2.88 E(MA)144 727.2 Q(T)-.855 E F0 1.491
(is set and not null, it is used as a format string for)3.741 F F3
(strftime)3.992 E F0 1.492(\(3\) to display the time stamp)B
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(68)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(68)188.455 E 0 Cg EP
%%Page: 69 69
%%BeginPageSetup
BP
(The)5.962 E F3<ad4c>3.462 E F0 .962(option is equi)3.462 F -.25(va)-.25
G .962(lent to).25 F F3<ad6c>3.462 E F0(.)A F3(kill)5.962 E F0 .962
(returns true if at least one signal w)3.462 F(as)-.1 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(69)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(69)188.455 E 0 Cg EP
%%Page: 70 70
%%BeginPageSetup
BP
(iltin to change to the directory at the top of the stack.).2 F .196
(If the)5.196 F F1(cd)2.696 E F0 -.1(fa)2.696 G(ils,).1 E F1(popd)2.696
E F0 .196(returns a non-)2.696 F(zero v)144 715.2 Q(alue.)-.25 E
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(70)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(70)188.455 E 0 Cg EP
%%Page: 71 71
%%BeginPageSetup
BP
(returns 0 unless the directory stack is empty)4.28 F(.)-.65 E .881
(When rotating the directory stack,)144 722.4 R F1(pushd)3.381 E F0 .881
(returns 0 unless the directory stack is empty or a non-)3.381 F
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(71)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(71)188.455 E 0 Cg EP
%%Page: 72 72
%%BeginPageSetup
BP
.3 -.15(ve i)-.25 H(f).15 E F1 -.18(re)2.5 G(ad).18 E F0 .506(is readin\
g input from a terminal, pipe, or other special \214le; it has no ef)180
722.4 R .506(fect when reading)-.25 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(72)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(72)188.455 E 0 Cg EP
%%Page: 73 73
%%BeginPageSetup
BP
F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c)
-3.418 H .918(ommand in a pipeline b).15 F .917
(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(73)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(73)188.455 E 0 Cg EP
%%Page: 74 74
%%BeginPageSetup
BP
F1(noglob)184 690 Q F0(Same as)224 690 Q F1<ad66>2.5 E F0(.)A F1(nolog)
184 702 Q F0(Currently ignored.)224 702 Q F1(notify)184 714 Q F0
(Same as)224 714 Q F1<ad62>2.5 E F0(.)A(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(74)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(74)188.455 E 0 Cg EP
%%Page: 75 75
%%BeginPageSetup
BP
(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
(UG)-.1 E F0(and)4.432 E F1(RETURN)184 726 Q F0
(traps are normally not inherited in such cases.)2.5 E(GNU Bash 5.2)72
-768 Q(2022 September 19)135.955 E(75)185.115 E 0 Cg EP
+768 Q(2022 December 2)139.295 E(75)188.455 E 0 Cg EP
%%Page: 76 76
%%BeginPageSetup
BP
(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184
718.8 Q(If a hashed command no longer e)5 E
(xists, a normal path search is performed.)-.15 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(76)185.115 E 0 Cg EP
+(2022 December 2)139.295 E(76)188.455 E 0 Cg EP
%%Page: 77 77
%%BeginPageSetup
BP
F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
(iltin displays the source \214le name and line).2 F
(number corresponding to each function name supplied as an ar)220 722.4
-Q(gument.)-.18 E(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(77)
-185.115 E 0 Cg EP
+Q(gument.)-.18 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(77)
+188.455 E 0 Cg EP
%%Page: 78 78
%%BeginPageSetup
BP
(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
G(adline).18 E F0(editing)3.161 E -.2(bu)184 708 S -.25(ff).2 G(er).25 E
2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(78)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(78)188.455 E 0 Cg EP
%%Page: 79 79
%%BeginPageSetup
BP
-.1(Pa)3.354 G .854(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G
3.354(\)t).15 G(o)-3.354 E -.15(ex)184 715.2 S
(pand to a null string, rather than themselv).15 E(es.)-.15 E
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(79)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(79)188.455 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
(Returns the v)180 690 R .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0
5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
(rride the normal precedence of opera-).15 F(tors.)180 702 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(80)185.115 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(80)188.455 E 0 Cg EP
%%Page: 81 81
%%BeginPageSetup
BP
1.229(Print the accumulated user and system times for the shell and for\
processes run from the shell.)144 513.6 R(The return status is 0.)144
525.6 Q F2(trap)108 542.4 Q F0([)2.5 E F2(\255lp)A F0 2.5(][)C([)-2.5 E
-F1(ar)A(g)-.37 E F0(])A F1(sigspec)2.5 E F0(...])2.5 E .682(The command)
-144 554.4 R F1(ar)3.512 E(g)-.37 E F0 .682(is to be read and e)3.402 F
--.15(xe)-.15 G .682(cuted when the shell recei).15 F -.15(ve)-.25 G
-3.183(ss).15 G(ignal\(s\))-3.183 E F1(sigspec)3.523 E F0 5.683(.I).31 G
-(f)-5.683 E F1(ar)3.513 E(g)-.37 E F0(is)3.403 E .609
-(absent \(and there is a single)144 566.4 R F1(sigspec)3.108 E F0 3.108
-(\)o)C(r)-3.108 E F2<ad>3.108 E F0 3.108(,e)C .608
-(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 578.4 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F1(sigspec)
-144.34 590.4 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F1(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F2<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 602.4 R
-F1(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 614.4 R F2<ad70>3.36
-E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F2(trap)3.36 E F0 .86
-(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 626.4 R F2<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 638.4 R F1(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F1(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 650.4 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E .666(If a)144 668.4 R F1
-(sigspec)3.506 E F0(is)3.476 E F3(EXIT)3.166 E F0 .666
-(\(0\) the command)2.916 F F1(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F
--.15(xe)-.15 G .666(cuted on e).15 F .667(xit from the shell.)-.15 F
-.667(If a)5.667 F F1(sigspec)3.507 E F0(is)3.477 E F3(DE-)3.167 E -.09
-(BU)144 680.4 S(G).09 E F4(,)A F0 .484(the command)2.734 F F1(ar)3.314 E
-(g)-.37 E F0 .484(is e)3.204 F -.15(xe)-.15 G .484(cuted before e).15 F
--.15(ve)-.25 G(ry).15 E F1 .483(simple command)2.984 F F0(,)A F1(for)
-2.983 E F0(command,)2.983 E F1(case)2.983 E F0(command,)2.983 E F1
-(select)144 692.4 Q F0 .562(command, e)3.062 F -.15(ve)-.25 G .563
-(ry arithmetic).15 F F1(for)3.063 E F0 .563
-(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .563
-(cutes in a shell).15 F .623(function \(see)144 704.4 R F3 .622
-(SHELL GRAMMAR)3.122 F F0(abo)2.872 E -.15(ve)-.15 G 3.122(\). Refer).15
-F .622(to the description of the)3.122 F F2(extdeb)3.122 E(ug)-.2 E F0
-.622(option to the)3.122 F F2(shopt)144 716.4 Q F0 -.2(bu)2.996 G .496
-(iltin for details of its ef).2 F .496(fect on the)-.25 F F2(DEB)2.996 E
-(UG)-.1 E F0 2.996(trap. If)2.996 F(a)2.996 E F1(sigspec)3.336 E F0(is)
-3.306 E F3(RETURN)2.996 E F4(,)A F0 .496(the command)2.746 F F1(ar)
-144.33 728.4 Q(g)-.37 E F0 .18(is e)2.9 F -.15(xe)-.15 G .18
-(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G .18
-(cuted with the).15 F F2(.)2.68 E F0(or)2.68 E F2(sour)2.68 E(ce)-.18 E
-F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(81)185.115 E 0 Cg EP
+F1(action)A F0(])A F1(sigspec)2.5 E F0(...])2.5 E(The)144 554.4 Q F1
+(action)3.733 E F0 .903(is a command that is read and e)3.643 F -.15(xe)
+-.15 G .903(cuted when the shell recei).15 F -.15(ve)-.25 G 3.403(ss).15
+G(ignal\(s\))-3.403 E F1(sigspec)3.744 E F0 5.904(.I).31 G(f)-5.904 E F1
+(action)144.33 566.4 Q F0 .106(is absent \(and there is a single)2.846 F
+F1(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F2<ad>2.605 E F0 2.605(,e)C
+.105(ach speci\214ed signal is reset to its original dis-)-2.605 F .626
+(position \(the v)144 578.4 R .626
+(alue it had upon entrance to the shell\).)-.25 F(If)5.626 E F1(action)
+3.456 E F0 .626(is the null string the signal speci-)3.366 F
+(\214ed by each)144 590.4 Q F1(sigspec)2.84 E F0
+(is ignored by the shell and by the commands it in)2.81 E -.2(vo)-.4 G
+-.1(ke).2 G(s.).1 E .165(If no ar)144 608.4 R .165
+(guments are supplied,)-.18 F F2(trap)2.665 E F0 .165
+(displays the actions associated with each trapped signal as a set)2.665
+F(of)144 620.4 Q F2(trap)2.569 E F0 .069(commands that can be reused as\
+ shell input to restore the current signal dispositions.)2.569 F(If)5.07
+E F2<ad70>2.57 E F0 .474(is gi)144 632.4 R -.15(ve)-.25 G .474(n, and)
+.15 F F1(action)3.303 E F0 .473(is not present, then)3.213 F F2(trap)
+2.973 E F0 .473(displays the actions associated with each)2.973 F F1
+(sigspec)3.313 E F0(or)3.283 E(,)-.4 E .363
+(if none are supplied, for all trapped signals, as a set of)144 644.4 R
+F2(trap)2.864 E F0 .364(commands that can be reused as shell)2.864 F
+(input to restore the current signal dispositions.)144 656.4 Q(The)144
+674.4 Q F2<ad6c>3.217 E F0 .717(option causes)3.217 F F2(trap)3.217 E F0
+.716(to print a list of signal names and their corresponding numbers.)
+3.216 F(Each)5.716 E F1(sigspec)144.34 686.4 Q F0 .709
+(is either a signal name de\214ned in <)3.518 F F1(signal.h)A F0 .709
+(>, or a signal number)B 5.709(.S)-.55 G .709(ignal names are case)
+-5.709 F(insensiti)144 698.4 Q .3 -.15(ve a)-.25 H(nd the).15 E F3(SIG)
+2.5 E F0(pre\214x is optional.)2.25 E .092(If a)144 716.4 R F1(sigspec)
+2.932 E F0(is)2.902 E F3(EXIT)2.592 E F0 .092(\(0\) the command)2.342 F
+F1(action)2.921 E F0 .091(is e)2.831 F -.15(xe)-.15 G .091(cuted on e)
+.15 F .091(xit from the shell.)-.15 F .091(If a)5.091 F F1(sigspec)2.931
+E F0(is)2.901 E F3(DE-)2.591 E -.09(BU)144 728.4 S(G).09 E F4(,)A F0
+3.269(the command)5.518 F F1(action)6.099 E F0 3.269(is e)6.009 F -.15
+(xe)-.15 G 3.269(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F1 3.269
+(simple command)5.769 F F0(,)A F1(for)5.769 E F0(command,)5.769 E F1
+(case)5.769 E F0(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(81)
+188.455 E 0 Cg EP
%%Page: 82 82
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(exe)144 84 S
-(cuting.).15 E .96(If a)144 102 R/F1 10/Times-Italic@0 SF(sigspec)3.8 E
-F0(is)3.77 E/F2 9/Times-Bold@0 SF(ERR)3.46 E/F3 9/Times-Roman@0 SF(,)A
-F0 .96(the command)3.21 F F1(ar)3.791 E(g)-.37 E F0 .961(is e)3.681 F
--.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G 3.461(rap).15 G
-.961(ipeline \(which may consist of a)-3.461 F .185(single simple comma\
-nd\), a list, or a compound command returns a non\255zero e)144 114 R
-.184(xit status, subject to)-.15 F .451(the follo)144 126 R .451
-(wing conditions.)-.25 F(The)5.451 E F2(ERR)2.951 E F0 .451
-(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .452
-(ailed command is part of the com-)-.1 F .388
-(mand list immediately follo)144 138 R .388(wing a)-.25 F/F4 10
-/Times-Bold@0 SF(while)2.888 E F0(or)2.888 E F4(until)2.888 E F0 -.1(ke)
-2.888 G(yw)-.05 E .388(ord, part of the test in an)-.1 F F1(if)2.897 E
-F0 .387(statement, part)4.847 F .777(of a command e)144 150 R -.15(xe)
--.15 G .778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E
-F0 .778(list e)3.278 F .778(xcept the command follo)-.15 F .778
-(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0
-3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 162 R 1.28
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(command,)144 84 Q
+/F1 10/Times-Italic@0 SF(select)3.076 E F0 .575
+(command, \(\( arithmetic command, [[ conditional command, arithmetic)
+3.076 F F1(for)3.075 E F0(com-)3.075 E .392
+(mand, and before the \214rst command e)144 96 R -.15(xe)-.15 G .393
+(cutes in a shell function \(see).15 F/F2 9/Times-Bold@0 SF .393
+(SHELL GRAMMAR)2.893 F F0(abo)2.643 E -.15(ve)-.15 G(\).).15 E .556
+(Refer to the description of the)144 108 R/F3 10/Times-Bold@0 SF(extdeb)
+3.056 E(ug)-.2 E F0 .556(option to the)3.056 F F3(shopt)3.056 E F0 -.2
+(bu)3.056 G .556(iltin for details of its ef).2 F .556(fect on the)-.25
+F F3(DEB)144 120 Q(UG)-.1 E F0 2.514(trap. If)2.514 F(a)2.514 E F1
+(sigspec)2.854 E F0(is)2.824 E F2(RETURN)2.514 E/F4 9/Times-Roman@0 SF
+(,)A F0 .014(the command)2.264 F F1(action)2.845 E F0 .015(is e)2.755 F
+-.15(xe)-.15 G .015(cuted each time a shell function).15 F
+(or a script e)144 132 Q -.15(xe)-.15 G(cuted with the).15 E F3(.)2.5 E
+F0(or)2.5 E F3(sour)2.5 E(ce)-.18 E F0 -.2(bu)2.5 G(iltins \214nishes e)
+.2 E -.15(xe)-.15 G(cuting.).15 E .285(If a)144 150 R F1(sigspec)3.125 E
+F0(is)3.095 E F2(ERR)2.784 E F4(,)A F0 .284(the command)2.534 F F1
+(action)3.114 E F0 .284(is e)3.024 F -.15(xe)-.15 G .284(cuted whene).15
+F -.15(ve)-.25 G 2.784(rap).15 G .284(ipeline \(which may consist of a)
+-2.784 F .185(single simple command\), a list, or a compound command re\
+turns a non\255zero e)144 162 R .185(xit status, subject to)-.15 F .452
+(the follo)144 174 R .452(wing conditions.)-.25 F(The)5.452 E F2(ERR)
+2.952 E F0 .451(trap is not e)2.701 F -.15(xe)-.15 G .451
+(cuted if the f).15 F .451(ailed command is part of the com-)-.1 F .387
+(mand list immediately follo)144 186 R .387(wing a)-.25 F F3(while)2.887
+E F0(or)2.887 E F3(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
+(ord, part of the test in an)-.1 F F1(if)2.898 E F0 .388
+(statement, part)4.848 F .778(of a command e)144 198 R -.15(xe)-.15 G
+.778(cuted in a).15 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.278 E F0 .778
+(list e)3.278 F .778(xcept the command follo)-.15 F .778
+(wing the \214nal)-.25 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.277 E F0
+3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 210 R 1.28
(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)-3.78
-F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!)
-3.78 E F0(.)A(These are the same conditions obe)144 174 Q(yed by the)
--.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4<ad65>A F0 2.5(\)o)C
-(ption.)-2.5 E .132
-(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-192 R -.35(Tr)5.133 G .133(apped signals that are not be-).35 F .117
-(ing ignored are reset to their original v)144 204 R .117
-(alues in a subshell or subshell en)-.25 F .117
-(vironment when one is cre-)-.4 F 2.5(ated. The)144 216 R
-(return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F1(sigspec)2.84 E F0
-(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F4(trap)2.5 E F0
-(returns true.)2.5 E F4(type)108 232.8 Q F0([)2.5 E F4(\255aftpP)A F0(])
-A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E -.4(Wi)144 244.8 S
-.173(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F1
-(name)3.033 E F0 -.1(wo)2.853 G .174
+F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F3(!)
+3.78 E F0(.)A(These are the same conditions obe)144 222 Q(yed by the)
+-.15 E F3(err)2.5 E(exit)-.18 E F0(\()2.5 E F3<ad65>A F0 2.5(\)o)C
+(ption.)-2.5 E .07(When the shell is not interacti)144 240 R -.15(ve)
+-.25 G 2.57(,s).15 G .069
+(ignals ignored upon entry to the shell cannot be trapped or reset.)
+-2.57 F(Interacti)144 252 Q .951 -.15(ve s)-.25 H .651
+(hells permit trapping signals ignored on entry).15 F 5.651(.T)-.65 G
+.652(rapped signals that are not being ig-)-6.001 F .577
+(nored are reset to their original v)144 264 R .576
+(alues in a subshell or subshell en)-.25 F .576
+(vironment when one is created.)-.4 F(The return status is f)144 276 Q
+(alse if an)-.1 E(y)-.15 E F1(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4
+G(lid; otherwise).25 E F3(trap)2.5 E F0(returns true.)2.5 E F3(type)108
+292.8 Q F0([)2.5 E F3(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1
+(name)A F0(...])2.5 E -.4(Wi)144 304.8 S .173
+(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F1(name)
+3.033 E F0 -.1(wo)2.853 G .174
(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F4<ad74>144 256.8 Q F0 .715(option is used,)3.215 F F4(type)3.215 E F0
+F3<ad74>144 316.8 Q F0 .715(option is used,)3.215 F F3(type)3.215 E F0
.715(prints a string which is one of)3.215 F F1(alias)3.545 E F0(,).27 E
F1 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)5.185 E F0
(,).24 E F1 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F1
-(\214le)5.125 E F0(if)3.395 E F1(name)144.36 268.8 Q F0 .086
+(\214le)5.125 E F0(if)3.395 E F1(name)144.36 328.8 Q F0 .086
(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1
(name)2.947 E F0 .087(is not)2.767 F .119
-(found, then nothing is printed, and an e)144 280.8 R .118
+(found, then nothing is printed, and an e)144 340.8 R .118
(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F4<ad70>2.618 E F0 .118(option is used,)2.618 F F4(type)2.618 E F0 .855
-(either returns the name of the disk \214le that w)144 292.8 R .855
+F3<ad70>2.618 E F0 .118(option is used,)2.618 F F3(type)2.618 E F0 .855
+(either returns the name of the disk \214le that w)144 352.8 R .855
(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0
.855(were speci\214ed as a com-)3.535 F .529(mand name, or nothing if)
-144 304.8 R/F5 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028
+144 364.8 R/F5 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028
G .528(uld not return).1 F F1(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528
-E F4<ad50>3.028 E F0 .528(option forces a)3.028 F F2 -.666(PA)3.028 G
-(TH)-.189 E F0 .006(search for each)144 316.8 R F1(name)2.506 E F0 2.506
+E F3<ad50>3.028 E F0 .528(option forces a)3.028 F F2 -.666(PA)3.028 G
+(TH)-.189 E F0 .006(search for each)144 376.8 R F1(name)2.506 E F0 2.506
(,e)C -.15(ve)-2.756 G 2.506(ni).15 G(f)-2.506 E F5 .007(type -t name)
2.506 F F0 -.1(wo)2.507 G .007(uld not return).1 F F1(\214le)4.417 E F0
-5.007(.I).18 G 2.507(fac)-5.007 G .007(ommand is hashed,)-2.507 F F4
-<ad70>2.507 E F0(and)144 328.8 Q F4<ad50>3.231 E F0 .731
+5.007(.I).18 G 2.507(fac)-5.007 G .007(ommand is hashed,)-2.507 F F3
+<ad70>2.507 E F0(and)144 388.8 Q F3<ad50>3.231 E F0 .731
(print the hashed v)3.231 F .73
(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F2 -.666(PA)3.23 G(TH)-.189 E F3(.)A F0 .73(If the)5.23 F F4<ad61>144
-340.8 Q F0 .823(option is used,)3.323 F F4(type)3.323 E F0 .824
+F F2 -.666(PA)3.23 G(TH)-.189 E F4(.)A F0 .73(If the)5.23 F F3<ad61>144
+400.8 Q F0 .823(option is used,)3.323 F F3(type)3.323 E F0 .824
(prints all of the places that contain an e)3.323 F -.15(xe)-.15 G .824
(cutable named).15 F F1(name)3.684 E F0 5.824(.T).18 G .824(his in-)
-5.824 F 1.176(cludes aliases and functions, if and only if the)144
-352.8 R F4<ad70>3.676 E F0 1.176(option is not also used.)3.676 F 1.176
+412.8 R F3<ad70>3.676 E F0 1.176(option is not also used.)3.676 F 1.176
(The table of hashed)6.176 F 1.223(commands is not consulted when using)
-144 364.8 R F4<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F4<ad66>3.723 E F0
+144 424.8 R F3<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F3<ad66>3.723 E F0
1.223(option suppresses shell function lookup, as)3.723 F .326(with the)
-144 376.8 R F4(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F4(type)
+144 436.8 R F3(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F3(type)
5.326 E F0 .326(returns true if all of the ar)2.826 F .325
(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325
-(re not)-2.825 F(found.)144 388.8 Q F4(ulimit)108 405.6 Q F0([)2.5 E F4
-(\255HS)A F0(])A F4<ad61>2.5 E(ulimit)108 417.6 Q F0([)2.5 E F4(\255HS)A
-F0 2.5(][)C F4(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4 E F0([)2.5 E F1
-(limit)A F0(]])A(Pro)144 429.6 Q .243(vides control o)-.15 F -.15(ve)
+(re not)-2.825 F(found.)144 448.8 Q F3(ulimit)108 465.6 Q F0([)2.5 E F3
+(\255HS)A F0(])A F3<ad61>2.5 E(ulimit)108 477.6 Q F0([)2.5 E F3(\255HS)A
+F0 2.5(][)C F3(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4 E F0([)2.5 E F1
+(limit)A F0(]])A(Pro)144 489.6 Q .243(vides control o)-.15 F -.15(ve)
-.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244
(ilable to the shell and to processes started by it, on systems).25 F
-.944(that allo)144 441.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
-(The)5.944 E F4<ad48>3.444 E F0(and)3.444 E F4<ad53>3.444 E F0 .943
+.944(that allo)144 501.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F3<ad48>3.444 E F0(and)3.444 E F3<ad53>3.444 E F0 .943
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 453.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
+144 513.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.708 F .426(be increased up to the v)144 465.6 R .426
-(alue of the hard limit.)-.25 F .425(If neither)5.426 F F4<ad48>2.925 E
-F0(nor)2.925 E F4<ad53>2.925 E F0 .425
+ft limit may)2.708 F .426(be increased up to the v)144 525.6 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F3<ad48>2.925 E
+F0(nor)2.925 E F3<ad53>2.925 E F0 .425
(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
-477.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
+537.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
(can be a number in the unit speci\214ed for the resource or one)3.319 F
-.742(of the special v)144 489.6 R(alues)-.25 E F4(hard)3.242 E F0(,)A F4
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w)
+.742(of the special v)144 549.6 R(alues)-.25 E F3(hard)3.242 E F0(,)A F3
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F3(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .023
-(soft limit, and no limit, respecti)144 501.6 R -.15(ve)-.25 G(ly).15 E
+(soft limit, and no limit, respecti)144 561.6 R -.15(ve)-.25 G(ly).15 E
5.023(.I)-.65 G(f)-5.023 E F1(limit)2.613 E F0 .023
(is omitted, the current v)3.203 F .023
(alue of the soft limit of the re-)-.25 F .985
-(source is printed, unless the)144 513.6 R F4<ad48>3.485 E F0 .984
+(source is printed, unless the)144 573.6 R F3<ad48>3.485 E F0 .984
(option is gi)3.485 F -.15(ve)-.25 G 3.484(n. When).15 F .984
(more than one resource is speci\214ed, the)3.484 F .7
-(limit name and unit, if appropriate, are printed before the v)144 525.6
+(limit name and unit, if appropriate, are printed before the v)144 585.6
R 3.2(alue. Other)-.25 F .7(options are interpreted as)3.2 F(follo)144
-537.6 Q(ws:)-.25 E F4<ad61>144 549.6 Q F0
-(All current limits are reported; no limits are set)180 549.6 Q F4<ad62>
-144 561.6 Q F0(The maximum sock)180 561.6 Q(et b)-.1 E(uf)-.2 E
-(fer size)-.25 E F4<ad63>144 573.6 Q F0
-(The maximum size of core \214les created)180 573.6 Q F4<ad64>144 585.6
-Q F0(The maximum size of a process')180 585.6 Q 2.5(sd)-.55 G(ata se)
--2.5 E(gment)-.15 E F4<ad65>144 597.6 Q F0
-(The maximum scheduling priority \("nice"\))180 597.6 Q F4<ad66>144
-609.6 Q F0
+597.6 Q(ws:)-.25 E F3<ad61>144 609.6 Q F0
+(All current limits are reported; no limits are set)180 609.6 Q F3<ad62>
+144 621.6 Q F0(The maximum sock)180 621.6 Q(et b)-.1 E(uf)-.2 E
+(fer size)-.25 E F3<ad63>144 633.6 Q F0
+(The maximum size of core \214les created)180 633.6 Q F3<ad64>144 645.6
+Q F0(The maximum size of a process')180 645.6 Q 2.5(sd)-.55 G(ata se)
+-2.5 E(gment)-.15 E F3<ad65>144 657.6 Q F0
+(The maximum scheduling priority \("nice"\))180 657.6 Q F3<ad66>144
+669.6 Q F0
(The maximum size of \214les written by the shell and its children)180
-609.6 Q F4<ad69>144 621.6 Q F0(The maximum number of pending signals)180
-621.6 Q F4<ad6b>144 633.6 Q F0
-(The maximum number of kqueues that may be allocated)180 633.6 Q F4
-<ad6c>144 645.6 Q F0(The maximum size that may be lock)180 645.6 Q
-(ed into memory)-.1 E F4<ad6d>144 657.6 Q F0
-(The maximum resident set size \(man)180 657.6 Q 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F4<ad6e>144 669.6 Q F0 .791(Th\
-e maximum number of open \214le descriptors \(most systems do not allo)
-180 669.6 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
-(be set\))180 681.6 Q F4<ad70>144 693.6 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))180 693.6 Q F4
-<ad71>144 705.6 Q F0
-(The maximum number of bytes in POSIX message queues)180 705.6 Q F4
-<ad72>144 717.6 Q F0(The maximum real-time scheduling priority)180 717.6
-Q(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(82)185.115 E 0 Cg EP
+669.6 Q F3<ad69>144 681.6 Q F0(The maximum number of pending signals)180
+681.6 Q F3<ad6b>144 693.6 Q F0
+(The maximum number of kqueues that may be allocated)180 693.6 Q F3
+<ad6c>144 705.6 Q F0(The maximum size that may be lock)180 705.6 Q
+(ed into memory)-.1 E F3<ad6d>144 717.6 Q F0
+(The maximum resident set size \(man)180 717.6 Q 2.5(ys)-.15 G
+(ystems do not honor this limit\))-2.5 E(GNU Bash 5.2)72 768 Q
+(2022 December 2)139.295 E(82)188.455 E 0 Cg EP
%%Page: 83 83
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF<ad73>144 84 Q F0(The maximum stack size)180 84 Q F1<ad74>144 96 Q F0
-(The maximum amount of cpu time in seconds)180 96 Q F1<ad75>144 108 Q F0
-(The maximum number of processes a)180 108 Q -.25(va)-.2 G
-(ilable to a single user).25 E F1<ad76>144 120 Q F0 .47
-(The maximum amount of virtual memory a)180 120 R -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children)180 132
-Q F1<ad78>144 144 Q F0(The maximum number of \214le locks)180 144 Q F1
-<ad50>144 156 Q F0(The maximum number of pseudoterminals)180 156 Q F1
-<ad52>144 168 Q F0(The maximum time a real-time process can run before \
-blocking, in microseconds)180 168 Q F1<ad54>144 180 Q F0
-(The maximum number of threads)180 180 Q(If)144 196.8 Q/F2 10
+SF<ad6e>144 84 Q F0 .791(The maximum number of open \214le descriptors \
+\(most systems do not allo)180 84 R 3.29(wt)-.25 G .79(his v)-3.29 F .79
+(alue to)-.25 F(be set\))180 96 Q F1<ad70>144 108 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))180 108 Q F1
+<ad71>144 120 Q F0(The maximum number of bytes in POSIX message queues)
+180 120 Q F1<ad72>144 132 Q F0
+(The maximum real-time scheduling priority)180 132 Q F1<ad73>144 144 Q
+F0(The maximum stack size)180 144 Q F1<ad74>144 156 Q F0
+(The maximum amount of cpu time in seconds)180 156 Q F1<ad75>144 168 Q
+F0(The maximum number of processes a)180 168 Q -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 180 Q F0 .47
+(The maximum amount of virtual memory a)180 180 R -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180 192
+Q F1<ad78>144 204 Q F0(The maximum number of \214le locks)180 204 Q F1
+<ad50>144 216 Q F0(The maximum number of pseudoterminals)180 216 Q F1
+<ad52>144 228 Q F0(The maximum time a real-time process can run before \
+blocking, in microseconds)180 228 Q F1<ad54>144 240 Q F0
+(The maximum number of threads)180 240 Q(If)144 256.8 Q/F2 10
/Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G
.468(n, and the).15 F F1<ad61>2.968 E F0 .468(option is not used,)2.968
F F2(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
-(no option is gi)144 208.8 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
+(no option is gi)144 268.8 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .67(in seconds;)144
-220.8 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
+280.8 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
F1<ad70>3.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;)
-3.17 F F1<ad50>3.17 E F0(,)A F1<ad54>3.17 E F0(,)A F1<ad62>3.17 E F0(,)
-A F1<ad6b>144 232.8 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
+A F1<ad6b>144 292.8 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
F1<ad75>3.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236
(alues; and, when in posix mode,)-.25 F F1<ad63>3.736 E F0(and)3.736 E
F1<ad66>3.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F .239
-(512-byte increments.)144 244.8 R .238
+(512-byte increments.)144 304.8 R .238
(The return status is 0 unless an in)5.239 F -.25(va)-.4 G .238
(lid option or ar).25 F .238(gument is supplied, or an)-.18 F
-(error occurs while setting a ne)144 256.8 Q 2.5(wl)-.25 G(imit.)-2.5 E
-F1(umask)108 273.6 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0
+(error occurs while setting a ne)144 316.8 Q 2.5(wl)-.25 G(imit.)-2.5 E
+F1(umask)108 333.6 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0
2.5(][)C F2(mode)-2.5 E F0(])A .18
-(The user \214le-creation mask is set to)144 285.6 R F2(mode)3.06 E F0
+(The user \214le-creation mask is set to)144 345.6 R F2(mode)3.06 E F0
5.18(.I).18 G(f)-5.18 E F2(mode)3.06 E F0(be)2.86 E .18
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 297.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-309.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+pted by)144 357.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+369.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 321.6 R .547
+(printed in symbolic form; the def)144 381.6 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 333.6 Q F0 .551
+(mode)144.38 393.6 Q F0 .551
(is omitted, the output is in a form that may be reused as input.)3.231
-F .552(The return status is 0 if the)5.552 F(mode w)144 345.6 Q
+F .552(The return status is 0 if the)5.552 F(mode w)144 405.6 Q
(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 362.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 374.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
+(unalias)108 422.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 434.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E
F1<ad61>3.258 E F0 .757(is supplied, all alias de\214nitions are re-)
-3.258 F(mo)144 386.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+3.258 F(mo)144 446.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 403.2 Q F0<5bad>2.5 E F1
+(is not a de\214ned alias.)2.68 E F1(unset)108 463.2 Q F0<5bad>2.5 E F1
(fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
-2.5 E -.15(Fo)144 415.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
+2.5 E -.15(Fo)144 475.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303
(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
(If the)6.303 F F1<ad76>3.804 E F0 1.304(option is gi)3.804 F -.15(ve)
--.25 G 1.304(n, each).15 F F2(name)144.36 427.2 Q F0 .465
+-.25 G 1.304(n, each).15 F F2(name)144.36 487.2 Q F0 .465
(refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464
(ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va)
-2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 439.2 R F1
+2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 499.2 R F1
<ad66>2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0
.269(refers to a shell function, and the function de\214nition is remo)
-2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 451.2 R F1<ad6e>2.904 E
+2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 511.2 R F1<ad6e>2.904 E
F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v)
2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0
(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F
-.719(rather than the v)144 463.2 R .719(ariable it references.)-.25 F F1
+.719(rather than the v)144 523.2 R .719(ariable it references.)-.25 F F1
<ad6e>5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1<ad66>
3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .737
-(are supplied, each)144 475.2 R F2(name)3.237 E F0 .737(refers to a v)
+(are supplied, each)144 535.2 R F2(name)3.237 E F0 .737(refers to a v)
3.237 F .737(ariable; if there is no v)-.25 F .736
(ariable by that name, a function with)-.25 F 1.761(that name, if an)144
-487.2 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
+547.2 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
1.761(unset v)4.261 F 1.761(ariable or function is remo)-.25 F -.15(ve)
-.15 G 4.262(df).15 G 1.762(rom the en)-4.262 F(vironment)-.4 E 3.172
-(passed to subsequent commands.)144 499.2 R 3.172(If an)8.172 F 5.672
+(passed to subsequent commands.)144 559.2 R 3.172(If an)8.172 F 5.672
(yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES)
.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A
-F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 511.2 S
+F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 571.2 S
(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3
-.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E
F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
-144 523.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
+144 583.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67
E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144
-535.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
+595.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
-.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G
-1.78(re subse-)-4.28 F(quently reset.)144 547.2 Q(The e)5 E
+1.78(re subse-)-4.28 F(quently reset.)144 607.2 Q(The e)5 E
(xit status is true unless a)-.15 E F2(name)2.86 E F0
-(is readonly or may not be unset.)2.68 E F1(wait)108 564 Q F0([)2.5 E F1
+(is readonly or may not be unset.)2.68 E F1(wait)108 624 Q F0([)2.5 E F1
(\255fn)A F0 2.5(][)C F1<ad70>-2.5 E F2(varname)2.5 E F0 2.5(][)C F2
-(id ...)-2.5 E F0(])A -.8(Wa)144 576 S .659(it for each speci\214ed chi\
+(id ...)-2.5 E F0(])A -.8(Wa)144 636 S .659(it for each speci\214ed chi\
ld process and return its termination status.).8 F(Each)5.659 E F2(id)
3.169 E F0 .658(may be a process)3.928 F .008
-(ID or a job speci\214cation; if a job spec is gi)144 588 R -.15(ve)-.25
+(ID or a job speci\214cation; if a job spec is gi)144 648 R -.15(ve)-.25
G .009(n, all processes in that job').15 F 2.509(sp)-.55 G .009
(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)-5.009 E
-F2(id)144.01 600 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E F1
+F2(id)144.01 660 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E F1
(wait)2.942 E F0 -.1(wa)2.942 G .441
(its for all running background jobs and the last-e).1 F -.15(xe)-.15 G
.441(cuted process substitu-).15 F .597
-(tion, if its process id is the same as)144 612 R F1($!)3.098 E F0 3.098
+(tion, if its process id is the same as)144 672 R F1($!)3.098 E F0 3.098
(,a)C .598(nd the return status is zero.)-3.098 F .598(If the)5.598 F F1
-<ad6e>3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 624 Q F0
+<ad6e>3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 684 Q F0
-.1(wa)3.083 G .583(its for a single job from the list of).1 F F2(id)
3.083 E F0 3.083(so)C 1.383 -.4(r, i)-3.083 H 3.083(fn).4 G(o)-3.083 E
F2(id)3.083 E F0 3.083(sa)C .583(re supplied, an)-3.083 F 3.083(yj)-.15
-G .582(ob, to complete and)-3.083 F .403(returns its e)144 636 R .403
+G .582(ob, to complete and)-3.083 F .403(returns its e)144 696 R .403
(xit status.)-.15 F .403(If none of the supplied ar)5.403 F .403
(guments is a child of the shell, or if no ar)-.18 F(guments)-.18 E .573
-(are supplied and the shell has no unw)144 648 R .573
+(are supplied and the shell has no unw)144 708 R .573
(aited-for children, the e)-.1 F .573(xit status is 127.)-.15 F .572
(If the)5.573 F F1<ad70>3.072 E F0 .572(option is)3.072 F .39
(supplied, the process or job identi\214er of the job for which the e)
-144 660 R .39(xit status is returned is assigned to)-.15 F .905(the v)
-144 672 R(ariable)-.25 E F2(varname)3.405 E F0 .905
-(named by the option ar)3.405 F 3.405(gument. The)-.18 F -.25(va)3.405 G
-.905(riable will be unset initially).25 F 3.405(,b)-.65 G(efore)-3.405 E
-(an)144 684 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39
-(is useful only when the)3.89 F F1<ad6e>3.89 E F0 1.39
-(option is supplied.)3.89 F 1.39(Supplying the)6.39 F F1<ad66>3.89 E F0
-(option,)3.89 E .575(when job control is enabled, forces)144 696 R F1
-(wait)3.075 E F0 .575(to w)3.075 F .575(ait for)-.1 F F2(id)3.075 E F0
-.574(to terminate before returning its status, in-)3.075 F .635
-(stead of returning when it changes status.)144 708 R(If)5.635 E F2(id)
-3.145 E F0 .635(speci\214es a non-e)3.905 F .635
-(xistent process or job, the return)-.15 F 1.694(status is 127.)144 720
-R(If)6.694 E F1(wait)4.194 E F0 1.694(is interrupted by a signal, the r\
-eturn status will be greater than 128, as)4.194 F(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(83)185.115 E 0 Cg EP
+144 720 R .39(xit status is returned is assigned to)-.15 F(GNU Bash 5.2)
+72 768 Q(2022 December 2)139.295 E(83)188.455 E 0 Cg EP
%%Page: 84 84
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .113
-(described under)144 84 R/F1 10/Times-Bold@0 SF(SIGN)2.613 E(ALS)-.2 E
-F0(abo)2.613 E -.15(ve)-.15 G 5.113(.O).15 G .113
-(therwise, the return status is the e)-5.113 F .114
-(xit status of the last process)-.15 F(or job w)144 96 Q(aited for)-.1 E
-(.)-.55 E/F2 10.95/Times-Bold@0 SF(SHELL COMP)72 112.8 Q -1.04(AT)-.81 G
-(IBILITY MODE)1.04 E F0 1.355(Bash-4.0 introduced the concept of a)108
-124.8 R/F3 10/Times-Italic@0 SF 1.355(shell compatibility le)3.855 F
-(vel)-.15 E F0 3.855(,s)C 1.354
-(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 136.8 S
-.398(iltin \().2 F F1(compat31)2.898 E F0(,)A F1(compat32)2.898 E F0(,)A
-F1(compat40)2.898 E F0(,)A F1(compat41)2.898 E F0 2.898(,a)C .399
-(nd so on\).)-2.898 F .399(There is only one current compatibility)5.399
-F(le)108 148.8 Q -.15(ve)-.25 G 3.254(l-).15 G 3.254(-e)-3.254 G .754
-(ach option is mutually e)-3.254 F(xclusi)-.15 E -.15(ve)-.25 G 5.754
-(.T).15 G .754(he compatibility le)-5.754 F -.15(ve)-.25 G 3.253(li).15
-G 3.253(si)-3.253 G .753(ntended to allo)-3.253 F 3.253(wu)-.25 G .753
-(sers to select be-)-3.253 F(ha)108 160.8 Q 1.083(vior from pre)-.2 F
-1.083(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F
-1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.584(ym)-.15 G 1.084
-(igrate scripts to use)-3.584 F(current features and beha)108 172.8 Q
-(vior)-.2 E 2.5(.I)-.55 G(t')-2.5 E 2.5(si)-.55 G
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .905(the v)144 84
+R(ariable)-.25 E/F1 10/Times-Italic@0 SF(varname)3.405 E F0 .905
+(named by the option ar)3.405 F 3.405(gument. The)-.18 F -.25(va)3.405 G
+.905(riable will be unset initially).25 F 3.405(,b)-.65 G(efore)-3.405 E
+(an)144 96 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39
+(is useful only when the)3.89 F/F2 10/Times-Bold@0 SF<ad6e>3.89 E F0
+1.39(option is supplied.)3.89 F 1.39(Supplying the)6.39 F F2<ad66>3.89 E
+F0(option,)3.89 E .575(when job control is enabled, forces)144 108 R F2
+(wait)3.075 E F0 .575(to w)3.075 F .575(ait for)-.1 F F1(id)3.075 E F0
+.574(to terminate before returning its status, in-)3.075 F .635
+(stead of returning when it changes status.)144 120 R(If)5.635 E F1(id)
+3.145 E F0 .635(speci\214es a non-e)3.905 F .635
+(xistent process or job, the return)-.15 F .802(status is 127.)144 132 R
+(If)5.801 E F2(wait)3.301 E F0 .801(is interrupted by a signal, the ret\
+urn status will be greater than 128, as de-)3.301 F .019(scribed under)
+144 144 R F2(SIGN)2.519 E(ALS)-.2 E F0(abo)2.519 E -.15(ve)-.15 G 5.019
+(.O).15 G .019(therwise, the return status is the e)-5.019 F .02
+(xit status of the last process or)-.15 F(job w)144 156 Q(aited for)-.1
+E(.)-.55 E/F3 10.95/Times-Bold@0 SF(SHELL COMP)72 172.8 Q -1.04(AT)-.81
+G(IBILITY MODE)1.04 E F0 1.355(Bash-4.0 introduced the concept of a)108
+184.8 R F1 1.355(shell compatibility le)3.855 F(vel)-.15 E F0 3.855(,s)C
+1.354(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108
+196.8 S .398(iltin \().2 F F2(compat31)2.898 E F0(,)A F2(compat32)2.898
+E F0(,)A F2(compat40)2.898 E F0(,)A F2(compat41)2.898 E F0 2.898(,a)C
+.399(nd so on\).)-2.898 F .399(There is only one current compatibility)
+5.399 F(le)108 208.8 Q -.15(ve)-.25 G 3.254(l-).15 G 3.254(-e)-3.254 G
+.754(ach option is mutually e)-3.254 F(xclusi)-.15 E -.15(ve)-.25 G
+5.754(.T).15 G .754(he compatibility le)-5.754 F -.15(ve)-.25 G 3.253
+(li).15 G 3.253(si)-3.253 G .753(ntended to allo)-3.253 F 3.253(wu)-.25
+G .753(sers to select be-)-3.253 F(ha)108 220.8 Q 1.083(vior from pre)
+-.2 F 1.083(vious v)-.25 F 1.083(ersions that is incompatible with ne)
+-.15 F 1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.584(ym)-.15 G
+1.084(igrate scripts to use)-3.584 F(current features and beha)108 232.8
+Q(vior)-.2 E 2.5(.I)-.55 G(t')-2.5 E 2.5(si)-.55 G
(ntended to be a temporary solution.)-2.5 E 1.457
-(This section does not mention beha)108 189.6 R 1.457
+(This section does not mention beha)108 249.6 R 1.457
(vior that is standard for a particular v)-.2 F 1.456
-(ersion \(e.g., setting)-.15 F F1(compat32)3.956 E F0 .886
-(means that quoting the rhs of the re)108 201.6 R(ge)-.15 E .886
+(ersion \(e.g., setting)-.15 F F2(compat32)3.956 E F0 .886
+(means that quoting the rhs of the re)108 261.6 R(ge)-.15 E .886
(xp matching operator quotes special re)-.15 F(ge)-.15 E .887
-(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 213.6 Q
+(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 273.6 Q
(ault beha)-.1 E(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15
-E .523(If a user enables, say)108 230.4 R(,)-.65 E F1(compat32)3.023 E
+E .523(If a user enables, say)108 290.4 R(,)-.65 E F2(compat32)3.023 E
F0 3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha)
-.25 F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .522
(ls up to and includ-).15 F .259(ing the current compatibility le)108
-242.4 R -.15(ve)-.25 G 2.759(l. The).15 F .259
+302.4 R -.15(ve)-.25 G 2.759(l. The).15 F .259
(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.76(lc).15 G
.26(ontrols beha)-2.76 F .26(vior that changed)-.2 F 1.646(in that v)108
-254.4 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0 4.146(,b)C 1.646
+314.4 R 1.646(ersion of)-.15 F F2(bash)4.146 E F0 4.146(,b)C 1.646
(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15(ve b)-.2 H
1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.645
(or instance, the)-.15 F .76
-(change to use locale-based comparisons with the)108 266.4 R F1([[)3.261
+(change to use locale-based comparisons with the)108 326.4 R F2([[)3.261
E F0 .761(command came in bash-4.1, and earlier v)3.261 F .761
(ersions used)-.15 F 1.905(ASCII-based comparisons, so enabling)108
-278.4 R F1(compat32)4.405 E F0 1.904
+338.4 R F2(compat32)4.405 E F0 1.904
(will enable ASCII-based comparisons as well.)4.405 F(That)6.904 E .295
-(granularity may not be suf)108 290.4 R .296
+(granularity may not be suf)108 350.4 R .296
(\214cient for all uses, and as a result users should emplo)-.25 F 2.796
(yc)-.1 G .296(ompatibility le)-2.796 F -.15(ve)-.25 G .296(ls care-).15
-F(fully)108 302.4 Q 5(.R)-.65 G(ead the documentation for a particular \
+F(fully)108 362.4 Q 5(.R)-.65 G(ead the documentation for a particular \
feature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .532
-(Bash-4.3 introduced a ne)108 319.2 R 3.032(ws)-.25 G .531(hell v)-3.032
+(Bash-4.3 introduced a ne)108 379.2 R 3.032(ws)-.25 G .531(hell v)-3.032
F(ariable:)-.25 E/F4 9/Times-Bold@0 SF -.27(BA)3.031 G(SH_COMP).27 E
-.855(AT)-.666 G/F5 9/Times-Roman@0 SF(.).855 E F0 .531(The v)5.031 F
.531(alue assigned to this v)-.25 F .531(ariable \(a decimal)-.25 F -.15
-(ve)108 331.2 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107
-(.2, or an inte)-2.607 F .107(ger corresponding to the)-.15 F F1(compat)
-2.608 E F3(NN)A F0 .108(option, lik)2.608 F 2.608(e4)-.1 G .108
-(2\) determines the com-)-2.608 F(patibility le)108 343.2 Q -.15(ve)-.25
-G(l.).15 E .388(Starting with bash-4.4, Bash has be)108 360 R .388
+(ve)108 391.2 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107
+(.2, or an inte)-2.607 F .107(ger corresponding to the)-.15 F F2(compat)
+2.608 E F1(NN)A F0 .108(option, lik)2.608 F 2.608(e4)-.1 G .108
+(2\) determines the com-)-2.608 F(patibility le)108 403.2 Q -.15(ve)-.25
+G(l.).15 E .388(Starting with bash-4.4, Bash has be)108 420 R .388
(gun deprecating older compatibility le)-.15 F -.15(ve)-.25 G 2.887
(ls. Ev).15 F(entually)-.15 E 2.887(,t)-.65 G .387(he options will)
--2.887 F(be remo)108 372 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G -.2
+-2.887 F(be remo)108 432 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G -.2
(avo)-2.6 G 2.5(ro).2 G(f)-2.5 E F4 -.27(BA)2.5 G(SH_COMP).27 E -.855
-(AT)-.666 G F5(.).855 E F0 1.163(Bash-5.0 is the \214nal v)108 388.8 R
+(AT)-.666 G F5(.).855 E F0 1.163(Bash-5.0 is the \214nal v)108 448.8 R
1.163(ersion for which there will be an indi)-.15 F 1.164
(vidual shopt option for the pre)-.25 F 1.164(vious v)-.25 F(ersion.)
--.15 E(Users should use)108 400.8 Q F4 -.27(BA)2.5 G(SH_COMP).27 E -.855
+-.15 E(Users should use)108 460.8 Q F4 -.27(BA)2.5 G(SH_COMP).27 E -.855
(AT)-.666 G F0(on bash-5.0 and later v)3.105 E(ersions.)-.15 E 1.614
-(The follo)108 417.6 R 1.613(wing table describes the beha)-.25 F 1.613
+(The follo)108 477.6 R 1.613(wing table describes the beha)-.25 F 1.613
(vior changes controlled by each compatibility le)-.2 F -.15(ve)-.25 G
-4.113(ls).15 G 4.113(etting. The)-4.113 F F1(compat)108 429.6 Q F3(NN)A
+4.113(ls).15 G 4.113(etting. The)-4.113 F F2(compat)108 489.6 Q F1(NN)A
F0 1.186(tag is used as shorthand for setting the compatibility le)3.685
-F -.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F3(NN)3.686 E F0 1.186
+F -.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F1(NN)3.686 E F0 1.186
(using one of the follo)3.686 F(wing)-.25 E 3.807(mechanisms. F)108
-441.6 R 1.307(or v)-.15 F 1.307
+501.6 R 1.307(or v)-.15 F 1.307
(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G
-3.806(lm).15 G 1.306(ay be set using the corresponding)-3.806 F F1
-(compat)108 453.6 Q F3(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502
+3.806(lm).15 G 1.306(ay be set using the corresponding)-3.806 F F2
+(compat)108 513.6 Q F1(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502
G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
-.15 F F4 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)
3.607 G .502(riable is preferred, and it).25 F
-(is required for bash-5.1 and later v)108 465.6 Q(ersions.)-.15 E F1
-(compat31)108 482.4 Q F0<83>144 494.4 Q(quoting the rhs of the)180 494.4
-Q F1([[)2.5 E F0(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15
+(is required for bash-5.1 and later v)108 525.6 Q(ersions.)-.15 E F2
+(compat31)108 542.4 Q F0<83>144 554.4 Q(quoting the rhs of the)180 554.4
+Q F2([[)2.5 E F0(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15
G 2.5(pm).15 G(atching operator \(=~\) has no special ef)-2.5 E(fect)
--.25 E F1(compat32)108 511.2 Q F0<83>144 523.2 Q .35
-(interrupting a command list such as "a ; b ; c" causes the e)180 523.2
+-.25 E F2(compat32)108 571.2 Q F0<83>144 583.2 Q .35
+(interrupting a command list such as "a ; b ; c" causes the e)180 583.2
R -.15(xe)-.15 G .35(cution of the ne).15 F .35(xt command)-.15 F .017
-(in the list \(in bash-4.0 and later v)180 535.2 R .018
+(in the list \(in bash-4.0 and later v)180 595.2 R .018
(ersions, the shell acts as if it recei)-.15 F -.15(ve)-.25 G 2.518(dt)
.15 G .018(he interrupt, so in-)-2.518 F
-(terrupting one command in a list aborts the e)180 547.2 Q -.15(xe)-.15
-G(cution of the entire list\)).15 E F1(compat40)108 564 Q F0<83>144 576
-Q(the)180 576 Q F1(<)2.674 E F0(and)2.674 E F1(>)2.673 E F0 .173
-(operators to the)2.673 F F1([[)2.673 E F0 .173
+(terrupting one command in a list aborts the e)180 607.2 Q -.15(xe)-.15
+G(cution of the entire list\)).15 E F2(compat40)108 624 Q F0<83>144 636
+Q(the)180 636 Q F2(<)2.674 E F0(and)2.674 E F2(>)2.673 E F0 .173
+(operators to the)2.673 F F2([[)2.673 E F0 .173
(command do not consider the current locale when compar)2.673 F(-)-.2 E
-.067(ing strings; the)180 588 R 2.567(yu)-.15 G .067(se ASCII ordering.)
+.067(ing strings; the)180 648 R 2.567(yu)-.15 G .067(se ASCII ordering.)
-2.567 F .068(Bash v)5.068 F .068
-(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 600 Q F3
+(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 660 Q F1
(str)4.743 E(cmp)-.37 E F0 1.903
(\(3\); bash-4.1 and later use the current locale').19 F 4.402(sc)-.55 G
-1.902(ollation sequence and)-4.402 F F3(str)4.742 E(-)-.2 E(coll)180 612
-Q F0(\(3\).).51 E F1(compat41)108 628.8 Q F0<83>144 640.8 Q(in)180 640.8
-Q F3(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29(may be follo)
+1.902(ollation sequence and)-4.402 F F1(str)4.742 E(-)-.2 E(coll)180 672
+Q F0(\(3\).).51 E F2(compat41)108 688.8 Q F0<83>144 700.8 Q(in)180 700.8
+Q F1(posix)3.79 E F0(mode,)3.79 E F2(time)3.79 E F0 1.29(may be follo)
3.79 F 1.29(wed by options and still be recognized as a reserv)-.25 F
-(ed)-.15 E -.1(wo)180 652.8 S(rd \(this is POSIX interpretation 267\)).1
-E<83>144 664.8 Q(in)180 664.8 Q F3(posix)2.709 E F0 .208
-(mode, the parser requires that an e)2.709 F -.15(ve)-.25 G 2.708(nn).15
-G .208(umber of single quotes occur in the)-2.708 F F3(wor)2.708 E(d)
--.37 E F0 .281(portion of a double-quoted parameter e)180 676.8 R .282
-(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot)
--2.782 G .282(hat charac-)-2.782 F(ters within the single quotes are co\
-nsidered quoted \(this is POSIX interpretation 221\))180 688.8 Q F1
-(compat42)108 705.6 Q F0<83>144 717.6 Q 1.056(the replacement string in\
- double-quoted pattern substitution does not under)180 717.6 R 1.055
-(go quote re-)-.18 F(mo)180 729.6 Q -.25(va)-.15 G(l, as it does in v)
-.25 E(ersions after bash-4.2)-.15 E(GNU Bash 5.2)72 768 Q
-(2022 September 19)135.955 E(84)185.115 E 0 Cg EP
+(ed)-.15 E -.1(wo)180 712.8 S(rd \(this is POSIX interpretation 267\)).1
+E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(84)188.455 E 0 Cg EP
%%Page: 85 85
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E<83>144 84 Q .021
-(in posix mode, single quotes are considered special when e)180 84 R
-.021(xpanding the)-.15 F/F1 10/Times-Italic@0 SF(wor)2.521 E(d)-.37 E F0
-.021(portion of a)2.521 F .018(double-quoted parameter e)180 96 R .017
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E<83>144 84 Q(in)180
+84 Q/F1 10/Times-Italic@0 SF(posix)2.709 E F0 .208
+(mode, the parser requires that an e)2.709 F -.15(ve)-.25 G 2.708(nn).15
+G .208(umber of single quotes occur in the)-2.708 F F1(wor)2.708 E(d)
+-.37 E F0 .281(portion of a double-quoted parameter e)180 96 R .282
+(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot)
+-2.782 G .282(hat charac-)-2.782 F(ters within the single quotes are co\
+nsidered quoted \(this is POSIX interpretation 221\))180 108 Q/F2 10
+/Times-Bold@0 SF(compat42)108 124.8 Q F0<83>144 136.8 Q 1.056(the repla\
+cement string in double-quoted pattern substitution does not under)180
+136.8 R 1.055(go quote re-)-.18 F(mo)180 148.8 Q -.25(va)-.15 G
+(l, as it does in v).25 E(ersions after bash-4.2)-.15 E<83>144 160.8 Q
+.021(in posix mode, single quotes are considered special when e)180
+160.8 R .021(xpanding the)-.15 F F1(wor)2.521 E(d)-.37 E F0 .021
+(portion of a)2.521 F .018(double-quoted parameter e)180 172.8 R .017
(xpansion and can be used to quote a closing brace or other spe-)-.15 F
.998(cial character \(this is part of POSIX interpretation 221\); in la\
-ter v)180 108 R .999(ersions, single quotes)-.15 F
-(are not special within double-quoted w)180 120 Q(ord e)-.1 E(xpansions)
--.15 E/F2 10/Times-Bold@0 SF(compat43)108 136.8 Q F0<83>144 148.8 Q
-1.071(the shell does not print a w)180 148.8 R 1.07
+ter v)180 184.8 R .999(ersions, single quotes)-.15 F
+(are not special within double-quoted w)180 196.8 Q(ord e)-.1 E
+(xpansions)-.15 E F2(compat43)108 213.6 Q F0<83>144 225.6 Q 1.071
+(the shell does not print a w)180 225.6 R 1.07
(arning message if an attempt is made to use a quoted com-)-.1 F .71
-(pound assignment as an ar)180 160.8 R .711
+(pound assignment as an ar)180 237.6 R .711
(gument to declare \(e.g., declare -a foo=\010\(1 2\)\010\). Later v)
--.18 F(ersions)-.15 E -.1(wa)180 172.8 S
-(rn that this usage is deprecated).1 E<83>144 184.8 Q -.1(wo)180 184.8 S
+-.18 F(ersions)-.15 E -.1(wa)180 249.6 S
+(rn that this usage is deprecated).1 E<83>144 261.6 Q -.1(wo)180 261.6 S
.501(rd e).1 F .501(xpansion errors are considered non-f)-.15 F .501
-(atal errors that cause the current command to)-.1 F -.1(fa)180 196.8 S
+(atal errors that cause the current command to)-.1 F -.1(fa)180 273.6 S
.605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G .605
(osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605(vior is to mak)
-.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605
-(atal errors that cause the)-.1 F(shell to e)180 208.8 Q(xit\))-.15 E
-<83>144 220.8 Q .355(when e)180 220.8 R -.15(xe)-.15 G .354
+(atal errors that cause the)-.1 F(shell to e)180 285.6 Q(xit\))-.15 E
+<83>144 297.6 Q .355(when e)180 297.6 R -.15(xe)-.15 G .354
(cuting a shell function, the loop state \(while/until/etc.\)).15 F .354
(is not reset, so)5.354 F F2(br)2.854 E(eak)-.18 E F0(or)2.854 E F2
-(continue)180 232.8 Q F0 .052
+(continue)180 309.6 Q F0 .052
(in that function will break or continue loops in the calling conte)
2.552 F .053(xt. Bash-4.4 and)-.15 F(later reset the loop state to pre)
-180 244.8 Q -.15(ve)-.25 G(nt this).15 E F2(compat44)108 261.6 Q F0<83>
-144 273.6 Q .719(the shell sets up the v)180 273.6 R .719(alues used by)
+180 321.6 Q -.15(ve)-.25 G(nt this).15 E F2(compat44)108 338.4 Q F0<83>
+144 350.4 Q .719(the shell sets up the v)180 350.4 R .719(alues used by)
-.25 F/F3 9/Times-Bold@0 SF -.27(BA)3.219 G(SH_ARGV).27 E F0(and)2.969 E
F3 -.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.218(yc)-.15 G
-.718(an e)-3.218 F(xpand)-.15 E(to the shell')180 285.6 Q 2.5(sp)-.55 G
+.718(an e)-3.218 F(xpand)-.15 E(to the shell')180 362.4 Q 2.5(sp)-.55 G
(ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G
-(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 297.6 Q
-2.634(as)180 297.6 S .134(ubshell inherits loops from its parent conte)
+(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 374.4 Q
+2.634(as)180 374.4 S .134(ubshell inherits loops from its parent conte)
-2.634 F .135(xt, so)-.15 F F2(br)2.635 E(eak)-.18 E F0(or)2.635 E F2
(continue)2.635 E F0 .135(will cause the sub-)2.635 F(shell to e)180
-309.6 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre)
-2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 321.6 Q -.25(va)
-180 321.6 S .619(riable assignments preceding b).25 F .618(uiltins lik)
+386.4 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre)
+2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 398.4 Q -.25(va)
+180 398.4 S .619(riable assignments preceding b).25 F .618(uiltins lik)
-.2 F(e)-.1 E F2(export)3.118 E F0(and)3.118 E F2 -.18(re)3.118 G
(adonly).18 E F0 .618(that set attrib)3.118 F .618(utes con-)-.2 F .119
-(tinue to af)180 333.6 R .119(fect v)-.25 F .119
+(tinue to af)180 410.4 R .119(fect v)-.25 F .119
(ariables with the same name in the calling en)-.25 F .12(vironment e)
-.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62 G .12(he shell is)-2.62
-F(not in posix mode)180 345.6 Q F2(compat50)108 362.4 Q F0<83>144 374.4
-Q 1.209(Bash-5.1 changed the w)180 374.4 R(ay)-.1 E F3($RANDOM)3.709 E
+F(not in posix mode)180 422.4 Q F2(compat50)108 439.2 Q F0<83>144 451.2
+Q 1.209(Bash-5.1 changed the w)180 451.2 R(ay)-.1 E F3($RANDOM)3.709 E
F0 1.209(is generated to introduce slightly more random-)3.459 F 1.018
-(ness. If the shell compatibility le)180 386.4 R -.15(ve)-.25 G 3.518
+(ness. If the shell compatibility le)180 463.2 R -.15(ve)-.25 G 3.518
(li).15 G 3.518(ss)-3.518 G 1.018(et to 50 or lo)-3.518 F(wer)-.25 E
3.518(,i)-.4 G 3.518(tr)-3.518 G -2.15 -.25(ev e)-3.518 H 1.019
-(rts to the method from).25 F .733(bash-5.0 and pre)180 398.4 R .733
+(rts to the method from).25 F .733(bash-5.0 and pre)180 475.2 R .733
(vious v)-.25 F .732
(ersions, so seeding the random number generator by assigning a)-.15 F
--.25(va)180 410.4 S(lue to).25 E F3(RANDOM)2.5 E F0
-(will produce the same sequence as in bash-5.0)2.25 E<83>144 422.4 Q
-.695(If the command hash table is empty)180 422.4 R 3.196(,b)-.65 G .696
+-.25(va)180 487.2 S(lue to).25 E F3(RANDOM)2.5 E F0
+(will produce the same sequence as in bash-5.0)2.25 E<83>144 499.2 Q
+.695(If the command hash table is empty)180 499.2 R 3.196(,b)-.65 G .696
(ash v)-3.196 F .696(ersions prior to bash-5.1 printed an informa-)-.15
-F 1.321(tional message to that ef)180 434.4 R 1.321(fect, e)-.25 F -.15
+F 1.321(tional message to that ef)180 511.2 R 1.321(fect, e)-.25 F -.15
(ve)-.25 G 3.821(nw).15 G 1.321
(hen producing output that can be reused as input.)-3.821 F
-(Bash-5.1 suppresses that message when the)180 446.4 Q F2<ad6c>2.5 E F0
-(option is supplied.)2.5 E F2(compat51)108 463.2 Q F0<83>144 475.2 Q
-(The)180 475.2 Q F2(unset)2.954 E F0 -.2(bu)2.954 G .454
+(Bash-5.1 suppresses that message when the)180 523.2 Q F2<ad6c>2.5 E F0
+(option is supplied.)2.5 E F2(compat51)108 540 Q F0<83>144 552 Q(The)180
+552 Q F2(unset)2.954 E F0 -.2(bu)2.954 G .454
(iltin treats attempts to unset array subscripts).2 F F2(@)2.955 E F0
(and)2.955 E F2(*)2.955 E F0(dif)2.955 E .455(ferently depending)-.25 F
-(on whether the array is inde)180 487.2 Q -.15(xe)-.15 G 2.5(do).15 G
-2.5(ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E
+(on whether the array is inde)180 564 Q -.15(xe)-.15 G 2.5(do).15 G 2.5
+(ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E
(ferently than in pre)-.25 E(vious v)-.25 E(ersions.)-.15 E/F4 10.95
-/Times-Bold@0 SF(RESTRICTED SHELL)72 504 Q F0(If)108 516 Q F2(bash)3.582
-E F0 1.081(is started with the name)3.581 F F2(rbash)3.581 E F0 3.581
-(,o)C 3.581(rt)-3.581 G(he)-3.581 E F2<ad72>3.581 E F0 1.081
+/Times-Bold@0 SF(RESTRICTED SHELL)72 580.8 Q F0(If)108 592.8 Q F2(bash)
+3.582 E F0 1.081(is started with the name)3.581 F F2(rbash)3.581 E F0
+3.581(,o)C 3.581(rt)-3.581 G(he)-3.581 E F2<ad72>3.581 E F0 1.081
(option is supplied at in)3.581 F -.2(vo)-.4 G 1.081
-(cation, the shell becomes re-).2 F 2.976(stricted. A)108 528 R .476
+(cation, the shell becomes re-).2 F 2.976(stricted. A)108 604.8 R .476
(restricted shell is used to set up an en)2.976 F .476
(vironment more controlled than the standard shell.)-.4 F .477(It be-)
-5.477 F(ha)108 540 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2
-(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
-(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 556.8 Q
-(changing directories with)144 556.8 Q F2(cd)2.5 E F0<83>108 573.6 Q
-(setting or unsetting the v)144 573.6 Q(alues of)-.25 E F3(SHELL)2.5 E
+5.477 F(ha)108 616.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E
+F2(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
+(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 633.6 Q
+(changing directories with)144 633.6 Q F2(cd)2.5 E F0<83>108 650.4 Q
+(setting or unsetting the v)144 650.4 Q(alues of)-.25 E F3(SHELL)2.5 E
/F5 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25 G(TH)-.189 E F5(,)A F3
(HISTFILE)2.25 E F5(,)A F3(ENV)2.25 E F5(,)A F0(or)2.25 E F3 -.27(BA)2.5
-G(SH_ENV).27 E F0<83>108 590.4 Q(specifying command names containing)144
-590.4 Q F2(/)2.5 E F0<83>108 607.2 Q
-(specifying a \214lename containing a)144 607.2 Q F2(/)2.5 E F0
-(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E<83>108 624 Q
-(specifying a \214lename containing a slash as an ar)144 624 Q
+G(SH_ENV).27 E F0<83>108 667.2 Q(specifying command names containing)144
+667.2 Q F2(/)2.5 E F0<83>108 684 Q(specifying a \214lename containing a)
+144 684 Q F2(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E
+F0 -.2(bu)5 G(iltin command).2 E<83>108 700.8 Q
+(specifying a \214lename containing a slash as an ar)144 700.8 Q
(gument to the)-.18 E F2(history)2.5 E F0 -.2(bu)2.5 G(iltin command).2
-E<83>108 640.8 Q .45
-(specifying a \214lename containing a slash as an ar)144 640.8 R .449
+E<83>108 717.6 Q .45
+(specifying a \214lename containing a slash as an ar)144 717.6 R .449
(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
-(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 652.8 Q
-<83>108 669.6 Q(importing function de\214nitions from the shell en)144
-669.6 Q(vironment at startup)-.4 E<83>108 686.4 Q(parsing the v)144
-686.4 Q(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
-(vironment at startup)-.4 E<83>108 703.2 Q(redirecting output using the\
- >, >|, <>, >&, &>, and >> redirection operators)144 703.2 Q
-(GNU Bash 5.2)72 768 Q(2022 September 19)135.955 E(85)185.115 E 0 Cg EP
+(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 729.6 Q
+(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(85)188.455 E 0 Cg EP
%%Page: 86 86
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E<83>108 84 Q
-(using the)144 84 Q/F1 10/Times-Bold@0 SF(exec)2.5 E F0 -.2(bu)2.5 G
+(importing function de\214nitions from the shell en)144 84 Q
+(vironment at startup)-.4 E<83>108 100.8 Q(parsing the v)144 100.8 Q
+(alue of)-.25 E/F1 9/Times-Bold@0 SF(SHELLOPTS)2.5 E F0
+(from the shell en)2.25 E(vironment at startup)-.4 E<83>108 117.6 Q(red\
+irecting output using the >, >|, <>, >&, &>, and >> redirection operato\
+rs)144 117.6 Q<83>108 134.4 Q(using the)144 134.4 Q/F2 10/Times-Bold@0
+SF(exec)2.5 E F0 -.2(bu)2.5 G
(iltin command to replace the shell with another command).2 E<83>108
-100.8 Q(adding or deleting b)144 100.8 Q(uiltin commands with the)-.2 E
-F1<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 117.6 Q
-(using the)144 117.6 Q F1(enable)2.5 E F0 -.2(bu)2.5 G
+151.2 Q(adding or deleting b)144 151.2 Q(uiltin commands with the)-.2 E
+F2<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 168 Q(using the)
+144 168 Q F2(enable)2.5 E F0 -.2(bu)2.5 G
(iltin command to enable disabled shell b).2 E(uiltins)-.2 E<83>108
-134.4 Q(specifying the)144 134.4 Q F1<ad70>2.5 E F0(option to the)2.5 E
-F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 151.2 Q
-(turning of)144 151.2 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F1
-(set +r)2.5 E F0(or)2.5 E F1(shopt -u r)2.5 E(estricted_shell)-.18 E F0
-(.)A(These restrictions are enforced after an)108 168 Q 2.5(ys)-.15 G
+184.8 Q(specifying the)144 184.8 Q F2<ad70>2.5 E F0(option to the)2.5 E
+F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 201.6 Q
+(turning of)144 201.6 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F2
+(set +r)2.5 E F0(or)2.5 E F2(shopt -u r)2.5 E(estricted_shell)-.18 E F0
+(.)A(These restrictions are enforced after an)108 218.4 Q 2.5(ys)-.15 G
(tartup \214les are read.)-2.5 E 1.566
-(When a command that is found to be a shell script is e)108 184.8 R -.15
-(xe)-.15 G 1.567(cuted \(see).15 F/F2 9/Times-Bold@0 SF 1.567
-(COMMAND EXECUTION)4.067 F F0(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1
-(rbash)108 196.8 Q F0(turns of)2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H
-(estrictions in the shell spa).15 E(wned to e)-.15 E -.15(xe)-.15 G
-(cute the script.).15 E/F3 10.95/Times-Bold@0 SF(SEE ALSO)72 213.6 Q/F4
-10/Times-Italic@0 SF(Bash Refer)108 225.6 Q(ence Manual)-.37 E F0 2.5
-(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F4
-(The Gnu Readline Libr)108 237.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F4(The Gnu History Libr)108 249.6 Q
-(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
-F4 -.8(Po)108 261.6 S(rtable Oper).8 E
+(When a command that is found to be a shell script is e)108 235.2 R -.15
+(xe)-.15 G 1.567(cuted \(see).15 F F1 1.567(COMMAND EXECUTION)4.067 F F0
+(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 247.2 Q F0(turns of)
+2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15
+E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E/F3 10.95
+/Times-Bold@0 SF(SEE ALSO)72 264 Q/F4 10/Times-Italic@0 SF(Bash Refer)
+108 276 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)
+-.15 E(y)-.15 E F4(The Gnu Readline Libr)108 288 Q(ary)-.15 E F0 2.5(,B)
+C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F4
+(The Gnu History Libr)108 300 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F4 -.8(Po)108 312 S(rtable Oper).8 E
(ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities)
--.8 E F0 2.5(,I)C(EEE --)-2.5 E(http://pubs.opengroup.or)144 273.6 Q
-(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 285.6 Q
+-.8 E F0 2.5(,I)C(EEE --)-2.5 E(http://pubs.opengroup.or)144 324 Q
+(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 336 Q
(.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F4(sh)
-108 297.6 Q F0(\(1\),)A F4(ksh)2.5 E F0(\(1\),)A F4(csh)2.5 E F0(\(1\))A
-F4(emacs)108 309.6 Q F0(\(1\),)A F4(vi)2.5 E F0(\(1\))A F4 -.37(re)108
-321.6 S(adline).37 E F0(\(3\))A F3(FILES)72 338.4 Q F4(/bin/bash)109.666
-350.4 Q F0(The)144 362.4 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E
-F4(/etc/pr)109.666 374.4 Q(o\214le)-.45 E F0
-(The systemwide initialization \214le, e)144 386.4 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F4(~/.bash_pr)109.666 398.4 Q(o\214le)-.45
-E F0(The personal initialization \214le, e)144 410.4 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F4(~/.bashr)109.666 422.4 Q(c)-.37 E F0
-(The indi)144 434.4 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
-(-shell startup \214le).15 E F4(~/.bash_lo)109.666 446.4 Q(gout)-.1 E F0
-(The indi)144 458.4 Q(vidual login shell cleanup \214le, e)-.25 E -.15
+108 348 Q F0(\(1\),)A F4(ksh)2.5 E F0(\(1\),)A F4(csh)2.5 E F0(\(1\))A
+F4(emacs)108 360 Q F0(\(1\),)A F4(vi)2.5 E F0(\(1\))A F4 -.37(re)108 372
+S(adline).37 E F0(\(3\))A F3(FILES)72 388.8 Q F4(/bin/bash)109.666 400.8
+Q F0(The)144 412.8 Q F2(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F4
+(/etc/pr)109.666 424.8 Q(o\214le)-.45 E F0
+(The systemwide initialization \214le, e)144 436.8 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F4(~/.bash_pr)109.666 448.8 Q(o\214le)-.45
+E F0(The personal initialization \214le, e)144 460.8 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F4(~/.bashr)109.666 472.8 Q(c)-.37 E F0
+(The indi)144 484.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
+(-shell startup \214le).15 E F4(~/.bash_lo)109.666 496.8 Q(gout)-.1 E F0
+(The indi)144 508.8 Q(vidual login shell cleanup \214le, e)-.25 E -.15
(xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E F4
-(~/.bash_history)109.666 470.4 Q F0(The def)144 482.4 Q(ault v)-.1 E
-(alue of)-.25 E F1(HISTFILE)2.5 E F0 2.5(,t)C
+(~/.bash_history)109.666 520.8 Q F0(The def)144 532.8 Q(ault v)-.1 E
+(alue of)-.25 E F2(HISTFILE)2.5 E F0 2.5(,t)C
(he \214le in which bash sa)-2.5 E -.15(ve)-.2 G 2.5(st).15 G
-(he command history)-2.5 E F4(~/.inputr)109.666 494.4 Q(c)-.37 E F0
-(Indi)144 506.4 Q(vidual)-.25 E F4 -.37(re)2.5 G(adline).37 E F0
-(initialization \214le)2.5 E F3 -.548(AU)72 523.2 S(THORS).548 E F0
-(Brian F)108 535.2 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 547.2 Q(g)-.18 E(Chet Rame)108 564 Q 1.3 -.65(y, C)-.15
-H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)-.25 G
-(rsity).15 E(chet.rame)108 576 Q(y@case.edu)-.15 E F3 -.11(BU)72 592.8 S
-2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108
-604.8 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568(you should report it.)
-3.068 F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
-(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625
-(that it appears in the latest v)108 616.8 R 5.625(ersion of)-.15 F F1
-(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
+(he command history)-2.5 E F4(~/.inputr)109.666 544.8 Q(c)-.37 E F0
+(Indi)144 556.8 Q(vidual)-.25 E F4 -.37(re)2.5 G(adline).37 E F0
+(initialization \214le)2.5 E F3 -.548(AU)72 573.6 S(THORS).548 E F0
+(Brian F)108 585.6 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
+(bfox@gnu.or)108 597.6 Q(g)-.18 E(Chet Rame)108 614.4 Q 1.3 -.65(y, C)
+-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)
+-.25 G(rsity).15 E(chet.rame)108 626.4 Q(y@case.edu)-.15 E F3 -.11(BU)72
+643.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568
+(If you \214nd a b)108 655.2 R .568(ug in)-.2 F F2(bash,)3.068 E F0 .568
+(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F
+3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .567(ug, and)-.2
+F 5.625(that it appears in the latest v)108 667.2 R 5.625(ersion of)-.15
+F F2(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
-(ilable from).25 F F4(ftp://ftp.gnu.or)108 628.8 Q(g/pub/gnu/bash/)-.37
+(ilable from).25 F F4(ftp://ftp.gnu.or)108 679.2 Q(g/pub/gnu/bash/)-.37
E F0(and)2.5 E F4(http://git.savannah.gnu.or)2.5 E
(g/cgit/bash.git/snapshot/bash-master)-.37 E(.tar)-1.11 E(.gz)-1.11 E F0
-(.)A .411(Once you ha)108 645.6 R .711 -.15(ve d)-.2 H .411
+(.)A .411(Once you ha)108 696 R .711 -.15(ve d)-.2 H .411
(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the)
-.15 F F4(bashb)3.18 E(ug)-.2 E F0 .41(command to submit a b)3.13 F .41
-(ug report.)-.2 F(If)5.41 E .594(you ha)108 657.6 R .894 -.15(ve a \214)
+(ug report.)-.2 F(If)5.41 E .594(you ha)108 708 R .894 -.15(ve a \214)
-.2 H .595(x, you are encouraged to mail that as well!).15 F .595
(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
-(be mailed to)108 669.6 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
-(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1(gnu.bash.b)2.5 E(ug)
--.2 E F0(.)A(ALL b)108 686.4 Q(ug reports should include:)-.2 E(The v)
-108 703.2 Q(ersion number of)-.15 E F1(bash)2.5 E F0(GNU Bash 5.2)72 768
-Q(2022 September 19)135.955 E(86)185.115 E 0 Cg EP
+(be mailed to)108 720 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
+(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2(gnu.bash.b)2.5 E(ug)
+-.2 E F0(.)A(GNU Bash 5.2)72 768 Q(2022 December 2)139.295 E(86)188.455
+E 0 Cg EP
%%Page: 87 87
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(The hardw)108 84 Q
-(are and operating system)-.1 E(The compiler used to compile)108 96 Q
-2.5(Ad)108 108 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E
-2.5(As)108 120 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G
-(rcises the b).15 E(ug)-.2 E/F1 10/Times-Italic@0 SF(bashb)108.27 136.8
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(ALL b)108 84 Q
+(ug reports should include:)-.2 E(The v)108 100.8 Q(ersion number of)
+-.15 E/F1 10/Times-Bold@0 SF(bash)2.5 E F0(The hardw)108 112.8 Q
+(are and operating system)-.1 E(The compiler used to compile)108 124.8 Q
+2.5(Ad)108 136.8 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E
+2.5(As)108 148.8 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G
+(rcises the b).15 E(ug)-.2 E/F2 10/Times-Italic@0 SF(bashb)108.27 165.6
Q(ug)-.2 E F0
(inserts the \214rst three items automatically into the template it pro)
2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108
-153.6 Q(ug reports concerning this manual page should be directed to)-.2
-E F1 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.)
-.25 E/F2 10.95/Times-Bold@0 SF -.11(BU)72 170.4 S(GS).11 E F0(It')108
-182.4 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869
-(There are some subtle dif)108 199.2 R 1.869(ferences between)-.25 F/F3
-10/Times-Bold@0 SF(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869
-(ersions of)-.15 F F3(sh)4.368 E F0 4.368(,m)C 1.868
-(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF(POSIX)108 211.2 Q F0
-(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 228 Q
-(Shell b)108 244.8 Q
+182.4 Q(ug reports concerning this manual page should be directed to)-.2
+E F2 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.)
+.25 E/F3 10.95/Times-Bold@0 SF -.11(BU)72 199.2 S(GS).11 E F0(It')108
+211.2 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869
+(There are some subtle dif)108 228 R 1.869(ferences between)-.25 F F1
+(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
+F1(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9
+/Times-Bold@0 SF(POSIX)108 240 Q F0(speci\214cation.)2.25 E
+(Aliases are confusing in some uses.)108 256.8 Q(Shell b)108 273.6 Q
(uiltin commands and functions are not stoppable/restartable.)-.2 E
1.315(Compound commands and command sequences of the form `a ; b ; c' a\
-re not handled gracefully when)108 261.6 R .39
-(process suspension is attempted.)108 273.6 R .389
+re not handled gracefully when)108 290.4 R .39
+(process suspension is attempted.)108 302.4 R .389
(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
-(mand in the sequence.)108 285.6 R .192(It suf)5.192 F .192(\214ces to \
+(mand in the sequence.)108 314.4 R .192(It suf)5.192 F .192(\214ces to \
place the sequence of commands between parentheses to force it into a)
--.25 F(subshell, which may be stopped as a unit.)108 297.6 Q(Array v)108
-314.4 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
-(There may be only one acti)108 331.2 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2022 September 19)
-135.955 E(87)185.115 E 0 Cg EP
+-.25 F(subshell, which may be stopped as a unit.)108 326.4 Q(Array v)108
+343.2 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
+(There may be only one acti)108 360 Q .3 -.15(ve c)-.25 H
+(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2022 December 2)139.295
+E(87)188.455 E 0 Cg EP
%%Trailer
end
%%EOF
\entry{trap}{54}{\code {trap}}
\entry{umask}{55}{\code {umask}}
\entry{unset}{55}{\code {unset}}
-\entry{alias}{55}{\code {alias}}
+\entry{alias}{56}{\code {alias}}
\entry{bind}{56}{\code {bind}}
\entry{builtin}{57}{\code {builtin}}
\entry{caller}{57}{\code {caller}}
\entry{printf}{62}{\code {printf}}
\entry{read}{63}{\code {read}}
\entry{readarray}{64}{\code {readarray}}
-\entry{source}{64}{\code {source}}
-\entry{type}{64}{\code {type}}
+\entry{source}{65}{\code {source}}
+\entry{type}{65}{\code {type}}
\entry{typeset}{65}{\code {typeset}}
\entry{ulimit}{65}{\code {ulimit}}
-\entry{unalias}{66}{\code {unalias}}
+\entry{unalias}{67}{\code {unalias}}
\entry{set}{67}{\code {set}}
\entry{shopt}{71}{\code {shopt}}
\entry{dirs}{102}{\code {dirs}}
\initial {[}
\entry{\code {[}}{52}
\initial {A}
-\entry{\code {alias}}{55}
+\entry{\code {alias}}{56}
\initial {B}
\entry{\code {bg}}{114}
\entry{\code {bind}}{56}
\entry{\code {set}}{67}
\entry{\code {shift}}{52}
\entry{\code {shopt}}{71}
-\entry{\code {source}}{64}
+\entry{\code {source}}{65}
\entry{\code {suspend}}{116}
\initial {T}
\entry{\code {test}}{52}
\entry{\code {times}}{54}
\entry{\code {trap}}{54}
-\entry{\code {type}}{64}
+\entry{\code {type}}{65}
\entry{\code {typeset}}{65}
\initial {U}
\entry{\code {ulimit}}{65}
\entry{\code {umask}}{55}
-\entry{\code {unalias}}{66}
+\entry{\code {unalias}}{67}
\entry{\code {unset}}{55}
\initial {W}
\entry{\code {wait}}{115}
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.2, 19 September 2022).
+the Bash shell (version 5.2, 2 December 2022).
-This is Edition 5.2, last updated 19 September 2022,
+This is Edition 5.2, last updated 2 December 2022,
of The GNU Bash Reference Manual,
for Bash, Version 5.2.
<span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
-the Bash shell (version 5.2, 19 September 2022).
+the Bash shell (version 5.2, 2 December 2022).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
-<p>This is Edition 5.2, last updated 19 September 2022,
+<p>This is Edition 5.2, last updated 2 December 2022,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.2.
</p>
<p>In each of the cases below, <var>word</var> is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
</p>
-<p>When not performing substring expansion, using the form described
+<p>When not performing substring expansion, using the forms described
below (e.g., ‘<samp>:-</samp>’), Bash tests for a parameter that is unset or null.
Omitting the colon results in a test only for a parameter that is unset.
Put another way, if the colon is included,
</dd>
<dt id='index-trap'><span><code>trap</code><a href='#index-trap' class='copiable-anchor'> ¶</a></span></dt>
<dd><div class="example">
-<pre class="example">trap [-lp] [<var>arg</var>] [<var>sigspec</var> …]
+<pre class="example">trap [-lp] [<var>action</var>] [<var>sigspec</var> …]
</pre></div>
-<p>The commands in <var>arg</var> are to be read and executed when the
-shell receives signal <var>sigspec</var>. If <var>arg</var> is absent (and
+<p>The <var>action</var> is a command that is read and executed when the
+shell receives signal <var>sigspec</var>. If <var>action</var> is absent (and
there is a single <var>sigspec</var>) or
equal to ‘<samp>-</samp>’, each specified signal’s disposition is reset
to the value it had when the shell was started.
-If <var>arg</var> is the null string, then the signal specified by
+If <var>action</var> is the null string, then the signal specified by
each <var>sigspec</var> is ignored by the shell and commands it invokes.
-If <var>arg</var> is not present and <samp>-p</samp> has been supplied,
-the shell displays the trap commands associated with each <var>sigspec</var>.
-If no arguments are supplied, or
-only <samp>-p</samp> is given, <code>trap</code> prints the list of commands
-associated with each signal number in a form that may be reused as
-shell input.
-The <samp>-l</samp> option causes the shell to print a list of signal names
+</p>
+<p>If no arguments are supplied, <code>trap</code> prints the actions
+associated with each trapped signal
+as a set of <code>trap</code> commands that can be reused as shell input to
+restore the current signal dispositions.
+If <var>action</var> is not present and <samp>-p</samp> has been supplied,
+<code>trap</code> displays the trap commands associated with each <var>sigspec</var>,
+or, if no <var>sigspec</var>s are supplied, for all trapped signals,
+as a set of <code>trap</code> commands that can be reused as shell input to
+restore the current signal dispositions.
+</p>
+<p>The <samp>-l</samp> option causes <code>trap</code> to print a list of signal names
and their corresponding numbers.
Each <var>sigspec</var> is either a signal name or a signal number.
Signal names are case insensitive and the <code>SIG</code> prefix is optional.
</p>
<p>If a <var>sigspec</var>
-is <code>0</code> or <code>EXIT</code>, <var>arg</var> is executed when the shell exits.
-If a <var>sigspec</var> is <code>DEBUG</code>, the command <var>arg</var> is executed
+is <code>0</code> or <code>EXIT</code>, <var>action</var> is executed when the shell exits.
+If a <var>sigspec</var> is <code>DEBUG</code>, <var>action</var> is executed
before every simple command, <code>for</code> command, <code>case</code> command,
-<code>select</code> command, every arithmetic <code>for</code> command, and before
-the first command executes in a shell function.
+<code>select</code> command, (( arithmetic command, [[ conditional command,
+arithmetic <code>for</code> command,
+and before the first command executes in a shell function.
Refer to the description of the <code>extdebug</code> option to the
<code>shopt</code> builtin (see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>) for details of its
effect on the <code>DEBUG</code> trap.
-If a <var>sigspec</var> is <code>RETURN</code>, the command <var>arg</var> is executed
+If a <var>sigspec</var> is <code>RETURN</code>, <var>action</var> is executed
each time a shell function or a script executed with the <code>.</code> or
<code>source</code> builtins finishes executing.
</p>
-<p>If a <var>sigspec</var> is <code>ERR</code>, the command <var>arg</var>
+<p>If a <var>sigspec</var> is <code>ERR</code>, <var>action</var>
is executed whenever
a pipeline (which may consist of a single simple
command), a list, or a compound command returns a
These are the same conditions obeyed by the <code>errexit</code> (<samp>-e</samp>)
option.
</p>
-<p>Signals ignored upon entry to the shell cannot be trapped or reset.
+<p>Signals ignored upon entry to a non-interactive shell cannot be trapped or
+reset.
+Interactive shells permit trapping signals ignored on entry.
Trapped signals that are not being ignored are reset to their original
values in a subshell or subshell environment when one is created.
</p>
signal to the original disposition, they should use ‘<samp>-</samp>’ as the
first argument.
-</li><li> <code>trap -p</code> displays signals whose dispositions are set to SIG_DFL and
-those that were ignored when the shell started.
+</li><li> <code>trap -p</code> without arguments displays signals whose dispositions are
+set to SIG_DFL and those that were ignored when the shell started, not
+just trapped signals.
</li><li> The <code>.</code> and <code>source</code> builtins do not search the current directory
for the filename argument if it is not found by searching <code>PATH</code>.
<a href="http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz">http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz</a>.
</p>
<p>Once you have determined that a bug actually exists, use the
-<code>bashbug</code> command to submit a bug report.
-If you have a fix, you are encouraged to mail that as well!
+<code>bashbug</code> command to submit a bug report or use the form at the
+<a href="https://savannah.gnu.org/projects/bash/">Bash project page</a>.
+If you have a fix, you are encouraged to submit that as well!
Suggestions and ‘philosophical’ bug reports may be mailed
-to <a href="mailto:bug-bash@gnu.org">bug-bash@gnu.org</a> or posted to the Usenet
-newsgroup <code>gnu.bash.bug</code>.
+to <a href="mailto:bug-bash@gnu.org">bug-bash@gnu.org</a> or <a href="mailto:help-bash@gnu.org">help-bash@gnu.org</a>.
</p>
<p>All bug reports should include:
</p><ul>
bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 19 September 2022).
+Bash shell (version 5.2, 2 December 2022).
- This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash
+ This is Edition 5.2, last updated 2 December 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2022 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 19 September 2022). The Bash home page is
+Bash shell (version 5.2, 2 December 2022). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash
+ This is Edition 5.2, last updated 2 December 2022, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
In each of the cases below, WORD is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
- When not performing substring expansion, using the form described
+ When not performing substring expansion, using the forms described
below (e.g., ':-'), Bash tests for a parameter that is unset or null.
Omitting the colon results in a test only for a parameter that is unset.
Put another way, if the colon is included, the operator tests for both
children. The return status is zero.
'trap'
- trap [-lp] [ARG] [SIGSPEC ...]
-
- The commands in ARG are to be read and executed when the shell
- receives signal SIGSPEC. If ARG is absent (and there is a single
- SIGSPEC) or equal to '-', each specified signal's disposition is
- reset to the value it had when the shell was started. If ARG is
- the null string, then the signal specified by each SIGSPEC is
- ignored by the shell and commands it invokes. If ARG is not
- present and '-p' has been supplied, the shell displays the trap
- commands associated with each SIGSPEC. If no arguments are
- supplied, or only '-p' is given, 'trap' prints the list of commands
- associated with each signal number in a form that may be reused as
- shell input. The '-l' option causes the shell to print a list of
- signal names and their corresponding numbers. Each SIGSPEC is
- either a signal name or a signal number. Signal names are case
- insensitive and the 'SIG' prefix is optional.
-
- If a SIGSPEC is '0' or 'EXIT', ARG is executed when the shell
- exits. 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. Refer to the description of
- the 'extdebug' option to the 'shopt' builtin (*note 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
- pipeline (which may consist of a single simple command), a list, or
- a compound command returns a non-zero exit status, subject to the
+ trap [-lp] [ACTION] [SIGSPEC ...]
+
+ The ACTION is a command that is read and executed when the shell
+ receives signal SIGSPEC. If ACTION is absent (and there is a
+ single SIGSPEC) or equal to '-', each specified signal's
+ disposition is reset to the value it had when the shell was
+ started. If ACTION is the null string, then the signal specified
+ by each SIGSPEC is ignored by the shell and commands it invokes.
+
+ If no arguments are supplied, 'trap' prints the actions associated
+ with each trapped signal as a set of 'trap' commands that can be
+ reused as shell input to restore the current signal dispositions.
+ If ACTION is not present and '-p' has been supplied, 'trap'
+ displays the trap commands associated with each SIGSPEC, or, if no
+ SIGSPECs are supplied, for all trapped signals, as a set of 'trap'
+ commands that can be reused as shell input to restore the current
+ signal dispositions.
+
+ The '-l' option causes 'trap' to print a list of signal names and
+ their corresponding numbers. Each SIGSPEC is either a signal name
+ or a signal number. Signal names are case insensitive and the
+ 'SIG' prefix is optional.
+
+ If a SIGSPEC is '0' or 'EXIT', ACTION is executed when the shell
+ exits. If a SIGSPEC is 'DEBUG', ACTION is executed before every
+ simple command, 'for' command, 'case' command, 'select' command, ((
+ arithmetic command, [[ conditional command, arithmetic 'for'
+ command, and before the first command executes in a shell function.
+ Refer to the description of the 'extdebug' option to the 'shopt'
+ builtin (*note The Shopt Builtin::) for details of its effect on
+ the 'DEBUG' trap. If a SIGSPEC is 'RETURN', ACTION is executed
+ each time a shell function or a script executed with the '.' or
+ 'source' builtins finishes executing.
+
+ If a SIGSPEC is 'ERR', ACTION is executed whenever a pipeline
+ (which may consist of a single simple command), a list, or a
+ compound command returns 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 an
'until' or 'while' keyword, part of the test following the 'if' or
status is being inverted using '!'. These are the same conditions
obeyed by the 'errexit' ('-e') 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.
+ Signals ignored upon entry to a non-interactive shell cannot be
+ trapped or reset. Interactive shells permit trapping signals
+ ignored on entry. 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 zero unless a SIGSPEC does not specify a valid
signal.
handler for a given signal to the original disposition, they should
use '-' as the first argument.
- 42. 'trap -p' displays signals whose dispositions are set to SIG_DFL
- and those that were ignored when the shell started.
+ 42. 'trap -p' without arguments displays signals whose dispositions
+ are set to SIG_DFL and those that were ignored when the shell
+ started, not just trapped signals.
43. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
<http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz>.
Once you have determined that a bug actually exists, use the
-'bashbug' command to submit a bug report. If you have a fix, you are
-encouraged to mail that as well! Suggestions and 'philosophical' bug
-reports may be mailed to <bug-bash@gnu.org> or posted to the Usenet
-newsgroup 'gnu.bash.bug'.
+'bashbug' command to submit a bug report or use the form at the <a
+href="https://savannah.gnu.org/projects/bash/">Bash project page</a>.
+If you have a fix, you are encouraged to submit that as well!
+Suggestions and 'philosophical' bug reports may be mailed to
+<bug-bash@gnu.org> or <help-bash@gnu.org>.
All bug reports should include:
* The version number of Bash.
* typeset: Bash Builtins. (line 631)
* ulimit: Bash Builtins. (line 637)
* umask: Bourne Shell Builtins.
- (line 415)
+ (line 422)
* unalias: Bash Builtins. (line 743)
* unset: Bourne Shell Builtins.
- (line 433)
+ (line 440)
* wait: Job Control Builtins.
(line 76)
\1f
Tag Table:
-Node: Top\7f899
-Node: Introduction\7f2821
-Node: What is Bash?\7f3037
-Node: What is a shell?\7f4151
-Node: Definitions\7f6689
-Node: Basic Shell Features\7f9640
-Node: Shell Syntax\7f10859
-Node: Shell Operation\7f11885
-Node: Quoting\7f13178
-Node: Escape Character\7f14482
-Node: Single Quotes\7f14967
-Node: Double Quotes\7f15315
-Node: ANSI-C Quoting\7f16593
-Node: Locale Translation\7f17903
-Node: Creating Internationalized Scripts\7f19214
-Node: Comments\7f23331
-Node: Shell Commands\7f23949
-Node: Reserved Words\7f24887
-Node: Simple Commands\7f25643
-Node: Pipelines\7f26297
-Node: Lists\7f29296
-Node: Compound Commands\7f31091
-Node: Looping Constructs\7f32103
-Node: Conditional Constructs\7f34598
-Node: Command Grouping\7f49086
-Node: Coprocesses\7f50564
-Node: GNU Parallel\7f53227
-Node: Shell Functions\7f54144
-Node: Shell Parameters\7f62029
-Node: Positional Parameters\7f66417
-Node: Special Parameters\7f67319
-Node: Shell Expansions\7f70533
-Node: Brace Expansion\7f72660
-Node: Tilde Expansion\7f75394
-Node: Shell Parameter Expansion\7f78015
-Node: Command Substitution\7f96366
-Node: Arithmetic Expansion\7f97721
-Node: Process Substitution\7f98689
-Node: Word Splitting\7f99809
-Node: Filename Expansion\7f101753
-Node: Pattern Matching\7f104502
-Node: Quote Removal\7f109504
-Node: Redirections\7f109799
-Node: Executing Commands\7f119459
-Node: Simple Command Expansion\7f120129
-Node: Command Search and Execution\7f122239
-Node: Command Execution Environment\7f124617
-Node: Environment\7f127652
-Node: Exit Status\7f129315
-Node: Signals\7f131099
-Node: Shell Scripts\7f134548
-Node: Shell Builtin Commands\7f137575
-Node: Bourne Shell Builtins\7f139613
-Node: Bash Builtins\7f161079
-Node: Modifying Shell Behavior\7f191935
-Node: The Set Builtin\7f192280
-Node: The Shopt Builtin\7f202881
-Node: Special Builtins\7f218793
-Node: Shell Variables\7f219772
-Node: Bourne Shell Variables\7f220209
-Node: Bash Variables\7f222313
-Node: Bash Features\7f255128
-Node: Invoking Bash\7f256141
-Node: Bash Startup Files\7f262154
-Node: Interactive Shells\7f267285
-Node: What is an Interactive Shell?\7f267696
-Node: Is this Shell Interactive?\7f268345
-Node: Interactive Shell Behavior\7f269160
-Node: Bash Conditional Expressions\7f272789
-Node: Shell Arithmetic\7f277431
-Node: Aliases\7f280375
-Node: Arrays\7f282988
-Node: The Directory Stack\7f289379
-Node: Directory Stack Builtins\7f290163
-Node: Controlling the Prompt\7f294423
-Node: The Restricted Shell\7f297388
-Node: Bash POSIX Mode\7f299998
-Node: Shell Compatibility Mode\7f311916
-Node: Job Control\7f320483
-Node: Job Control Basics\7f320943
-Node: Job Control Builtins\7f325945
-Node: Job Control Variables\7f331740
-Node: Command Line Editing\7f332896
-Node: Introduction and Notation\7f334567
-Node: Readline Interaction\7f336190
-Node: Readline Bare Essentials\7f337381
-Node: Readline Movement Commands\7f339170
-Node: Readline Killing Commands\7f340130
-Node: Readline Arguments\7f342051
-Node: Searching\7f343095
-Node: Readline Init File\7f345281
-Node: Readline Init File Syntax\7f346542
-Node: Conditional Init Constructs\7f370128
-Node: Sample Init File\7f374324
-Node: Bindable Readline Commands\7f377448
-Node: Commands For Moving\7f378652
-Node: Commands For History\7f380703
-Node: Commands For Text\7f385697
-Node: Commands For Killing\7f389346
-Node: Numeric Arguments\7f392379
-Node: Commands For Completion\7f393518
-Node: Keyboard Macros\7f397709
-Node: Miscellaneous Commands\7f398397
-Node: Readline vi Mode\7f404342
-Node: Programmable Completion\7f405249
-Node: Programmable Completion Builtins\7f413029
-Node: A Programmable Completion Example\7f423781
-Node: Using History Interactively\7f429029
-Node: Bash History Facilities\7f429713
-Node: Bash History Builtins\7f432718
-Node: History Interaction\7f437742
-Node: Event Designators\7f441362
-Node: Word Designators\7f442716
-Node: Modifiers\7f444476
-Node: Installing Bash\7f446284
-Node: Basic Installation\7f447421
-Node: Compilers and Options\7f451143
-Node: Compiling For Multiple Architectures\7f451884
-Node: Installation Names\7f453576
-Node: Specifying the System Type\7f455685
-Node: Sharing Defaults\7f456402
-Node: Operation Controls\7f457075
-Node: Optional Features\7f458033
-Node: Reporting Bugs\7f469252
-Node: Major Differences From The Bourne Shell\7f470527
-Node: GNU Free Documentation License\7f487376
-Node: Indexes\7f512553
-Node: Builtin Index\7f513007
-Node: Reserved Word Index\7f519834
-Node: Variable Index\7f522282
-Node: Function Index\7f539056
-Node: Concept Index\7f552840
+Node: Top\7f895
+Node: Introduction\7f2813
+Node: What is Bash?\7f3029
+Node: What is a shell?\7f4143
+Node: Definitions\7f6681
+Node: Basic Shell Features\7f9632
+Node: Shell Syntax\7f10851
+Node: Shell Operation\7f11877
+Node: Quoting\7f13170
+Node: Escape Character\7f14474
+Node: Single Quotes\7f14959
+Node: Double Quotes\7f15307
+Node: ANSI-C Quoting\7f16585
+Node: Locale Translation\7f17895
+Node: Creating Internationalized Scripts\7f19206
+Node: Comments\7f23323
+Node: Shell Commands\7f23941
+Node: Reserved Words\7f24879
+Node: Simple Commands\7f25635
+Node: Pipelines\7f26289
+Node: Lists\7f29288
+Node: Compound Commands\7f31083
+Node: Looping Constructs\7f32095
+Node: Conditional Constructs\7f34590
+Node: Command Grouping\7f49078
+Node: Coprocesses\7f50556
+Node: GNU Parallel\7f53219
+Node: Shell Functions\7f54136
+Node: Shell Parameters\7f62021
+Node: Positional Parameters\7f66409
+Node: Special Parameters\7f67311
+Node: Shell Expansions\7f70525
+Node: Brace Expansion\7f72652
+Node: Tilde Expansion\7f75386
+Node: Shell Parameter Expansion\7f78007
+Node: Command Substitution\7f96359
+Node: Arithmetic Expansion\7f97714
+Node: Process Substitution\7f98682
+Node: Word Splitting\7f99802
+Node: Filename Expansion\7f101746
+Node: Pattern Matching\7f104495
+Node: Quote Removal\7f109497
+Node: Redirections\7f109792
+Node: Executing Commands\7f119452
+Node: Simple Command Expansion\7f120122
+Node: Command Search and Execution\7f122232
+Node: Command Execution Environment\7f124610
+Node: Environment\7f127645
+Node: Exit Status\7f129308
+Node: Signals\7f131092
+Node: Shell Scripts\7f134541
+Node: Shell Builtin Commands\7f137568
+Node: Bourne Shell Builtins\7f139606
+Node: Bash Builtins\7f161391
+Node: Modifying Shell Behavior\7f192247
+Node: The Set Builtin\7f192592
+Node: The Shopt Builtin\7f203193
+Node: Special Builtins\7f219105
+Node: Shell Variables\7f220084
+Node: Bourne Shell Variables\7f220521
+Node: Bash Variables\7f222625
+Node: Bash Features\7f255440
+Node: Invoking Bash\7f256453
+Node: Bash Startup Files\7f262466
+Node: Interactive Shells\7f267597
+Node: What is an Interactive Shell?\7f268008
+Node: Is this Shell Interactive?\7f268657
+Node: Interactive Shell Behavior\7f269472
+Node: Bash Conditional Expressions\7f273101
+Node: Shell Arithmetic\7f277743
+Node: Aliases\7f280687
+Node: Arrays\7f283300
+Node: The Directory Stack\7f289691
+Node: Directory Stack Builtins\7f290475
+Node: Controlling the Prompt\7f294735
+Node: The Restricted Shell\7f297700
+Node: Bash POSIX Mode\7f300310
+Node: Shell Compatibility Mode\7f312277
+Node: Job Control\7f320844
+Node: Job Control Basics\7f321304
+Node: Job Control Builtins\7f326306
+Node: Job Control Variables\7f332101
+Node: Command Line Editing\7f333257
+Node: Introduction and Notation\7f334928
+Node: Readline Interaction\7f336551
+Node: Readline Bare Essentials\7f337742
+Node: Readline Movement Commands\7f339531
+Node: Readline Killing Commands\7f340491
+Node: Readline Arguments\7f342412
+Node: Searching\7f343456
+Node: Readline Init File\7f345642
+Node: Readline Init File Syntax\7f346903
+Node: Conditional Init Constructs\7f370489
+Node: Sample Init File\7f374685
+Node: Bindable Readline Commands\7f377809
+Node: Commands For Moving\7f379013
+Node: Commands For History\7f381064
+Node: Commands For Text\7f386058
+Node: Commands For Killing\7f389707
+Node: Numeric Arguments\7f392740
+Node: Commands For Completion\7f393879
+Node: Keyboard Macros\7f398070
+Node: Miscellaneous Commands\7f398758
+Node: Readline vi Mode\7f404703
+Node: Programmable Completion\7f405610
+Node: Programmable Completion Builtins\7f413390
+Node: A Programmable Completion Example\7f424142
+Node: Using History Interactively\7f429390
+Node: Bash History Facilities\7f430074
+Node: Bash History Builtins\7f433079
+Node: History Interaction\7f438103
+Node: Event Designators\7f441723
+Node: Word Designators\7f443077
+Node: Modifiers\7f444837
+Node: Installing Bash\7f446645
+Node: Basic Installation\7f447782
+Node: Compilers and Options\7f451504
+Node: Compiling For Multiple Architectures\7f452245
+Node: Installation Names\7f453937
+Node: Specifying the System Type\7f456046
+Node: Sharing Defaults\7f456763
+Node: Operation Controls\7f457436
+Node: Optional Features\7f458394
+Node: Reporting Bugs\7f469613
+Node: Major Differences From The Bourne Shell\7f470957
+Node: GNU Free Documentation License\7f487806
+Node: Indexes\7f512983
+Node: Builtin Index\7f513437
+Node: Reserved Word Index\7f520264
+Node: Variable Index\7f522712
+Node: Function Index\7f539486
+Node: Concept Index\7f553270
\1f
End Tag Table
-This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30) 19 SEP 2022 12:02
+This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30) 2 DEC 2022 17:01
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20220907/doc/bashref.texi
-(/usr/local/src/bash/bash-20220907/doc/bashref.texi
-(/usr/local/src/bash/bash-20220907/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20221202/doc/bashref.texi
+(/usr/local/src/bash/bash-20221202/doc/bashref.texi
+(/usr/local/src/bash/bash-20221202/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
texinfo.tex: doing @include of version.texi
-(/usr/local/src/bash/bash-20220907/doc/version.texi) [1{/opt/local/var/db/texmf
+(/usr/local/src/bash/bash-20221202/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20220907/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20220907/doc/bashref.toc)
-(/usr/local/build/bash/bash-20220907/doc/bashref.toc) Chapter 1
+(/usr/local/build/bash/bash-20221202/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20221202/doc/bashref.toc)
+(/usr/local/build/bash/bash-20221202/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
-(/usr/local/build/bash/bash-20220907/doc/bashref.aux)
+(/usr/local/build/bash/bash-20221202/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
[48] [49] [50] [51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5230--5230
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5238--5238
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
.etc.
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5231--5231
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5239--5239
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
texinfo.tex: doing @include of rluser.texi
-(/usr/local/src/bash/bash-20220907/lib/readline/doc/rluser.texi Chapter 8
+(/usr/local/src/bash/bash-20221202/lib/readline/doc/rluser.texi Chapter 8
[116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127]
Underfull \hbox (badness 7540) in paragraph at lines 868--874
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
texinfo.tex: doing @include of hsuser.texi
-(/usr/local/src/bash/bash-20220907/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20221202/lib/readline/doc/hsuser.texi Chapter 9
[151] [152] [153] [154] [155] [156]) Chapter 10 [157] [158] [159] [160]
[161]
-Underfull \hbox (badness 10000) in paragraph at lines 9386--9395
+Underfull \hbox (badness 10000) in paragraph at lines 9395--9404
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
.etc.
-Underfull \hbox (badness 10000) in paragraph at lines 9386--9395
+Underfull \hbox (badness 10000) in paragraph at lines 9395--9404
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
.@texttt a
.etc.
-[162] [163] [164] [165] Appendix A [166] Appendix B [167] [168] [169] [170]
-[171] [172] Appendix C [173]
+[162] [163] [164] [165] Appendix A [166]
+Overfull \hbox (26.5845pt too wide) in paragraph at lines 9603--9609
+@textrm mit a bug re-port or use the form at the @texttt <@textrm a href=@textt
+t "@textrm https://savannah.gnu.org/projects/bash/@texttt ">@textrm Bash
+
+@hbox(8.2125+2.73749)x433.62, glue set - 1.0
+.@textrm m
+.@textrm i
+.@textrm t
+.@glue 3.65 plus 1.825 minus 1.21666
+.@textrm a
+.etc.
+
+Appendix B [167] [168] [169] [170] [171] [172] Appendix C [173]
texinfo.tex: doing @include of fdl.texi
- (/usr/local/src/bash/bash-20220907/doc/fdl.texi
-[174] [175] [176] [177] [178] [179] [180]) Appendix D [181] [182] [183]
-[184] [185] [186] [187] [188] [189] [190] )
+
+(/usr/local/src/bash/bash-20221202/doc/fdl.texi [174] [175] [176] [177]
+[178] [179] [180]) Appendix D [181] [182] [183] [184] [185] [186] [187]
+[188] [189] [190] )
Here is how much of TeX's memory you used:
4095 strings out of 497086
47569 string characters out of 6206517
- 141570 words of memory out of 5000000
+ 141518 words of memory out of 5000000
4867 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
51 hyphenation exceptions out of 8191
16i,6n,16p,331b,978s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/opt/local/share/texmf-texlive/font
-s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
-1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
-lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
-amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
-nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
-m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
-0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
-/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
-local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
-al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
-are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
-exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
-ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
-ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
-e1/public/cm-super/sfrm1440.pfb>
-Output written on bashref.pdf (196 pages, 795771 bytes).
+{/opt/local/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-
+super-t1.enc}</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmb
+x12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.
+pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb><
+/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb></opt/
+local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/local/
+share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/share/
+texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/texmf-t
+exlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-texliv
+e/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-texlive/f
+onts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/fonts/
+type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts/type1
+/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type1/publ
+ic/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/am
+sfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
+/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1
+440.pfb>
+Output written on bashref.pdf (196 pages, 796156 bytes).
PDF statistics:
2756 PDF objects out of 2984 (max. 8388607)
2513 compressed objects within 26 object streams
%!PS-Adobe-2.0
%%Creator: dvips(k) 2021.1 Copyright 2021 Radical Eye Software
%%Title: bashref.dvi
-%%CreationDate: Mon Sep 19 16:02:49 2022
+%%CreationDate: Fri Dec 2 22:01:18 2022
%%Pages: 196
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2022.09.19:1202
+%DVIPSSource: TeX output 2022.12.02:1701
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.2,)g(for)f
-Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3118 1697 y(Septem)m(b)s(er)f
-(2022)150 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
+Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3145 1697 y(Decem)m(b)s(er)g(2022)
+150 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068
y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(19)f(Septem)m(b)s
-(er)f(2022\).)150 4523 y(This)e(is)h(Edition)f(5.2,)j(last)e(up)s
-(dated)f(19)h(Septem)m(b)s(er)f(2022,)j(of)e Fr(The)f(GNU)i(Bash)e
-(Reference)i(Man)m(ual)p Fu(,)150 4633 y(for)g Ft(Bash)p
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(2)e(Decem)m(b)s
+(er)i(2022\).)150 4523 y(This)h(is)h(Edition)g(5.2,)i(last)e(up)s
+(dated)f(2)h(Decem)m(b)s(er)g(2022,)j(of)d Fr(The)f(GNU)h(Bash)g
+(Reference)h(Man)m(ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p
Fu(,)g(V)-8 b(ersion)31 b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602
4764 y(c)577 4767 y Fq(\015)f Fu(1988{2022)35 b(F)-8
b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
547 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
(parameter)e(expansion,)150 657 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 795 y(When)h(not)h(p)s(erforming)e
-(substring)h(expansion,)h(using)g(the)f(form)h(describ)s(ed)e(b)s(elo)m
-(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 905 y(Bash)d(tests)h(for)e(a)i
+(arithmetic)i(expansion.)275 795 y(When)e(not)h(p)s(erforming)e
+(substring)g(expansion,)i(using)f(the)h(forms)f(describ)s(ed)f(b)s(elo)
+m(w)i(\(e.g.,)h(`)p Ft(:-)p Fu('\),)150 905 y(Bash)h(tests)h(for)e(a)i
(parameter)f(that)h(is)e(unset)h(or)g(n)m(ull.)48 b(Omitting)33
b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 1015
y(for)c(a)i(parameter)f(that)g(is)g(unset.)41 b(Put)31
TeXDict begin 54 59 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(54)630 299 y(4)31
b(argumen)m(ts)1110 408 y(The)f(follo)m(wing)i(conditions)f(are)f
-(applied)h(in)f(the)g(order)g(listed.)1159 544 y(1.)61
+(applied)h(in)f(the)g(order)g(listed.)1159 542 y(1.)61
b(If)39 b(the)i(\014rst)e(argumen)m(t)h(is)g(`)p Ft(!)p
Fu(',)j(the)d(result)f(is)h(the)g(negation)i(of)e(the)1290
-653 y(three-argumen)m(t)k(expression)e(comp)s(osed)g(of)h(the)g
-(remaining)g(argu-)1290 763 y(men)m(ts.)1159 898 y(2.)61
+652 y(three-argumen)m(t)k(expression)e(comp)s(osed)g(of)h(the)g
+(remaining)g(argu-)1290 762 y(men)m(ts.)1159 896 y(2.)61
b(If)31 b(the)g(\014rst)f(argumen)m(t)i(is)f(exactly)i(`)p
Ft(\()p Fu(')e(and)g(the)g(fourth)f(argumen)m(t)i(is)1290
-1008 y(exactly)38 b(`)p Ft(\))p Fu(',)f(the)f(result)g(is)g(the)g(t)m
-(w)m(o-argumen)m(t)i(test)f(of)f(the)g(second)1290 1118
-y(and)30 b(third)f(argumen)m(ts.)1159 1253 y(3.)61 b(Otherwise,)26
+1005 y(exactly)38 b(`)p Ft(\))p Fu(',)f(the)f(result)g(is)g(the)g(t)m
+(w)m(o-argumen)m(t)i(test)f(of)f(the)g(second)1290 1115
+y(and)30 b(third)f(argumen)m(ts.)1159 1249 y(3.)61 b(Otherwise,)26
b(the)f(expression)f(is)h(parsed)f(and)g(ev)-5 b(aluated)26
-b(according)g(to)1290 1363 y(precedence)31 b(using)f(the)g(rules)g
-(listed)h(ab)s(o)m(v)m(e.)630 1524 y(5)g(or)f(more)h(argumen)m(ts)1110
-1633 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
-b(aluated)45 b(according)f(to)f(precedence)1110 1743
+b(according)g(to)1290 1358 y(precedence)31 b(using)f(the)g(rules)g
+(listed)h(ab)s(o)m(v)m(e.)630 1517 y(5)g(or)f(more)h(argumen)m(ts)1110
+1626 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
+b(aluated)45 b(according)f(to)f(precedence)1110 1736
y(using)30 b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
-1904 y(When)40 b(used)f(with)g Ft(test)g Fu(or)h(`)p
+1894 y(When)40 b(used)f(with)g Ft(test)g Fu(or)h(`)p
Ft([)p Fu(',)j(the)d(`)p Ft(<)p Fu(')g(and)f(`)p Ft(>)p
-Fu(')h(op)s(erators)g(sort)g(lexicographically)630 2014
-y(using)30 b(ASCI)s(I)f(ordering.)150 2175 y Ft(times)870
-2310 y(times)630 2446 y Fu(Prin)m(t)37 b(out)h(the)g(user)e(and)h
+Fu(')h(op)s(erators)g(sort)g(lexicographically)630 2004
+y(using)30 b(ASCI)s(I)f(ordering.)150 2162 y Ft(times)870
+2296 y(times)630 2430 y Fu(Prin)m(t)37 b(out)h(the)g(user)e(and)h
(system)g(times)h(used)f(b)m(y)g(the)h(shell)f(and)g(its)h(c)m
-(hildren.)61 b(The)630 2555 y(return)29 b(status)i(is)f(zero.)150
-2716 y Ft(trap)870 2852 y(trap)47 b([-lp])f([)p Fj(arg)p
-Ft(])g([)p Fj(sigspec)g Ft(...)o(])630 2987 y Fu(The)d(commands)f(in)h
-Fr(arg)51 b Fu(are)44 b(to)g(b)s(e)e(read)h(and)g(executed)h(when)e
-(the)h(shell)g(receiv)m(es)630 3097 y(signal)36 b Fr(sigsp)s(ec)p
-Fu(.)57 b(If)35 b Fr(arg)44 b Fu(is)36 b(absen)m(t)g(\(and)f(there)h
-(is)g(a)f(single)i Fr(sigsp)s(ec)6 b Fu(\))35 b(or)h(equal)g(to)h(`)p
-Ft(-)p Fu(',)630 3206 y(eac)m(h)k(sp)s(eci\014ed)e(signal's)h(disp)s
-(osition)g(is)f(reset)i(to)f(the)g(v)-5 b(alue)40 b(it)g(had)f(when)g
-(the)h(shell)630 3316 y(w)m(as)33 b(started.)47 b(If)32
-b Fr(arg)41 b Fu(is)32 b(the)h(n)m(ull)f(string,)i(then)e(the)g(signal)
-i(sp)s(eci\014ed)d(b)m(y)i(eac)m(h)g Fr(sigsp)s(ec)630
-3425 y Fu(is)g(ignored)h(b)m(y)f(the)g(shell)h(and)e(commands)h(it)h
-(in)m(v)m(ok)m(es.)51 b(If)33 b Fr(arg)41 b Fu(is)33
-b(not)h(presen)m(t)f(and)g Ft(-p)630 3535 y Fu(has)g(b)s(een)g
-(supplied,)f(the)i(shell)f(displa)m(ys)h(the)f(trap)g(commands)g(asso)s
-(ciated)i(with)e(eac)m(h)630 3645 y Fr(sigsp)s(ec)p Fu(.)47
-b(If)31 b(no)i(argumen)m(ts)f(are)h(supplied,)e(or)i(only)f
-Ft(-p)g Fu(is)g(giv)m(en,)i Ft(trap)d Fu(prin)m(ts)h(the)g(list)630
-3754 y(of)c(commands)f(asso)s(ciated)i(with)f(eac)m(h)h(signal)f(n)m
-(um)m(b)s(er)e(in)i(a)g(form)f(that)h(ma)m(y)h(b)s(e)e(reused)630
-3864 y(as)f(shell)h(input.)38 b(The)26 b Ft(-l)f Fu(option)i(causes)f
-(the)g(shell)h(to)g(prin)m(t)e(a)i(list)f(of)h(signal)g(names)f(and)630
-3973 y(their)33 b(corresp)s(onding)f(n)m(um)m(b)s(ers.)47
-b(Eac)m(h)34 b Fr(sigsp)s(ec)39 b Fu(is)33 b(either)g(a)h(signal)g
-(name)f(or)g(a)g(signal)630 4083 y(n)m(um)m(b)s(er.)39
-b(Signal)31 b(names)f(are)h(case)h(insensitiv)m(e)f(and)f(the)g
-Ft(SIG)g Fu(pre\014x)f(is)i(optional.)630 4218 y(If)k(a)g
-Fr(sigsp)s(ec)41 b Fu(is)35 b Ft(0)g Fu(or)g Ft(EXIT)p
-Fu(,)g Fr(arg)43 b Fu(is)35 b(executed)h(when)e(the)h(shell)h(exits.)55
-b(If)35 b(a)g Fr(sigsp)s(ec)41 b Fu(is)630 4328 y Ft(DEBUG)p
-Fu(,)32 b(the)g(command)g Fr(arg)40 b Fu(is)33 b(executed)g(b)s(efore)f
-(ev)m(ery)h(simple)f(command,)h Ft(for)e Fu(com-)630
-4437 y(mand,)d Ft(case)g Fu(command,)h Ft(select)e Fu(command,)i(ev)m
-(ery)h(arithmetic)g Ft(for)d Fu(command,)j(and)630 4547
-y(b)s(efore)22 b(the)g(\014rst)f(command)h(executes)i(in)e(a)g(shell)h
-(function.)37 b(Refer)22 b(to)h(the)g(description)f(of)630
-4657 y(the)i Ft(extdebug)d Fu(option)j(to)h(the)f Ft(shopt)e
-Fu(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)630
-4766 y(page)33 b(71\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the)
-g Ft(DEBUG)f Fu(trap.)46 b(If)31 b(a)i Fr(sigsp)s(ec)38
-b Fu(is)32 b Ft(RETURN)p Fu(,)f(the)630 4876 y(command)h
-Fr(arg)41 b Fu(is)33 b(executed)g(eac)m(h)h(time)f(a)g(shell)g
-(function)g(or)f(a)h(script)g(executed)g(with)630 4985
-y(the)e Ft(.)f Fu(or)g Ft(source)f Fu(builtins)g(\014nishes)h
-(executing.)630 5121 y(If)20 b(a)i Fr(sigsp)s(ec)27 b
-Fu(is)21 b Ft(ERR)p Fu(,)h(the)f(command)g Fr(arg)29
-b Fu(is)21 b(executed)h(whenev)m(er)e(a)i(pip)s(eline)e(\(whic)m(h)h
-(ma)m(y)630 5230 y(consist)35 b(of)g(a)f(single)h(simple)g(command\),)h
-(a)e(list,)j(or)d(a)h(comp)s(ound)e(command)h(returns)630
-5340 y(a)41 b(non-zero)g(exit)h(status,)h(sub)5 b(ject)41
-b(to)g(the)g(follo)m(wing)h(conditions.)72 b(The)40 b
-Ft(ERR)f Fu(trap)i(is)p eop end
+(hildren.)61 b(The)630 2539 y(return)29 b(status)i(is)f(zero.)150
+2698 y Ft(trap)870 2832 y(trap)47 b([-lp])f([)p Fj(action)p
+Ft(])g([)p Fj(sigspec)f Ft(...)o(])630 2966 y Fu(The)40
+b Fr(action)i Fu(is)e(a)h(command)f(that)h(is)f(read)h(and)e(executed)j
+(when)d(the)i(shell)f(receiv)m(es)630 3075 y(signal)30
+b Fr(sigsp)s(ec)p Fu(.)40 b(If)29 b Fr(action)h Fu(is)f(absen)m(t)h
+(\(and)f(there)g(is)g(a)g(single)h Fr(sigsp)s(ec)6 b
+Fu(\))29 b(or)g(equal)h(to)g(`)p Ft(-)p Fu(',)630 3185
+y(eac)m(h)e(sp)s(eci\014ed)e(signal's)h(disp)s(osition)f(is)h(reset)g
+(to)g(the)g(v)-5 b(alue)27 b(it)g(had)f(when)f(the)i(shell)g(w)m(as)630
+3294 y(started.)43 b(If)30 b Fr(action)j Fu(is)e(the)g(n)m(ull)f
+(string,)i(then)e(the)i(signal)f(sp)s(eci\014ed)f(b)m(y)h(eac)m(h)h
+Fr(sigsp)s(ec)37 b Fu(is)630 3404 y(ignored)30 b(b)m(y)h(the)f(shell)h
+(and)f(commands)g(it)h(in)m(v)m(ok)m(es.)630 3538 y(If)44
+b(no)h(argumen)m(ts)g(are)g(supplied,)j Ft(trap)c Fu(prin)m(ts)g(the)h
+(actions)h(asso)s(ciated)g(with)f(eac)m(h)630 3647 y(trapp)s(ed)29
+b(signal)j(as)f(a)g(set)g(of)f Ft(trap)g Fu(commands)g(that)h(can)g(b)s
+(e)f(reused)g(as)h(shell)g(input)e(to)630 3757 y(restore)g(the)g
+(curren)m(t)g(signal)g(disp)s(ositions.)40 b(If)28 b
+Fr(action)i Fu(is)f(not)f(presen)m(t)h(and)f Ft(-p)g
+Fu(has)h(b)s(een)630 3867 y(supplied,)39 b Ft(trap)e
+Fu(displa)m(ys)i(the)f(trap)h(commands)f(asso)s(ciated)h(with)f(eac)m
+(h)i Fr(sigsp)s(ec)p Fu(,)h(or,)630 3976 y(if)32 b(no)g
+Fr(sigsp)s(ec)6 b Fu(s)32 b(are)h(supplied,)e(for)h(all)h(trapp)s(ed)e
+(signals,)j(as)e(a)h(set)g(of)f Ft(trap)f Fu(commands)630
+4086 y(that)g(can)g(b)s(e)e(reused)h(as)h(shell)f(input)g(to)h(restore)
+g(the)f(curren)m(t)g(signal)h(disp)s(ositions.)630 4220
+y(The)21 b Ft(-l)f Fu(option)i(causes)g Ft(trap)e Fu(to)i(prin)m(t)f(a)
+g(list)h(of)g(signal)g(names)f(and)g(their)g(corresp)s(onding)630
+4329 y(n)m(um)m(b)s(ers.)37 b(Eac)m(h)24 b Fr(sigsp)s(ec)30
+b Fu(is)23 b(either)i(a)f(signal)g(name)g(or)f(a)h(signal)h(n)m(um)m(b)
+s(er.)37 b(Signal)24 b(names)630 4439 y(are)31 b(case)g(insensitiv)m(e)
+h(and)d(the)i Ft(SIG)e Fu(pre\014x)h(is)g(optional.)630
+4573 y(If)f(a)g Fr(sigsp)s(ec)35 b Fu(is)30 b Ft(0)f
+Fu(or)g Ft(EXIT)p Fu(,)f Fr(action)j Fu(is)e(executed)h(when)f(the)g
+(shell)g(exits.)42 b(If)28 b(a)i Fr(sigsp)s(ec)35 b Fu(is)630
+4682 y Ft(DEBUG)p Fu(,)g Fr(action)g Fu(is)g(executed)h(b)s(efore)e(ev)
+m(ery)h(simple)g(command,)h Ft(for)d Fu(command,)j Ft(case)630
+4792 y Fu(command,)29 b Ft(select)d Fu(command,)j(\(\()g(arithmetic)h
+(command,)e([[)h(conditional)h(command,)630 4902 y(arithmetic)44
+b Ft(for)e Fu(command,)k(and)c(b)s(efore)g(the)h(\014rst)f(command)g
+(executes)i(in)f(a)g(shell)630 5011 y(function.)d(Refer)31
+b(to)g(the)f(description)h(of)f(the)h Ft(extdebug)d Fu(option)j(to)g
+(the)f Ft(shopt)f Fu(builtin)630 5121 y(\(see)35 b(Section)g(4.3.2)g
+([The)f(Shopt)f(Builtin],)j(page)f(71\))g(for)f(details)h(of)f(its)g
+(e\013ect)i(on)e(the)630 5230 y Ft(DEBUG)25 b Fu(trap.)39
+b(If)26 b(a)g Fr(sigsp)s(ec)32 b Fu(is)26 b Ft(RETURN)p
+Fu(,)g Fr(action)i Fu(is)e(executed)h(eac)m(h)g(time)g(a)g(shell)f
+(function)630 5340 y(or)k(a)h(script)f(executed)i(with)e(the)g
+Ft(.)g Fu(or)h Ft(source)d Fu(builtins)i(\014nishes)f(executing.)p
+eop end
%%Page: 55 61
TeXDict begin 55 60 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y(not)37
-b(executed)h(if)f(the)h(failed)f(command)g(is)g(part)g(of)h(the)f
-(command)g(list)h(immediately)630 408 y(follo)m(wing)30
-b(an)e Ft(until)f Fu(or)i Ft(while)e Fu(k)m(eyw)m(ord,)i(part)g(of)f
-(the)h(test)g(follo)m(wing)h(the)f Ft(if)f Fu(or)g Ft(elif)630
-518 y Fu(reserv)m(ed)45 b(w)m(ords,)j(part)c(of)h(a)g(command)g
-(executed)g(in)g(a)g Ft(&&)f Fu(or)h Ft(||)f Fu(list)h(except)h(the)630
-628 y(command)28 b(follo)m(wing)j(the)d(\014nal)h Ft(&&)f
-Fu(or)g Ft(||)p Fu(,)h(an)m(y)g(command)f(in)h(a)g(pip)s(eline)f(but)g
-(the)h(last,)630 737 y(or)d(if)g(the)f(command's)h(return)f(status)h
-(is)g(b)s(eing)f(in)m(v)m(erted)i(using)e Ft(!)p Fu(.)39
-b(These)25 b(are)i(the)f(same)630 847 y(conditions)31
-b(ob)s(ey)m(ed)f(b)m(y)h(the)f Ft(errexit)f Fu(\()p Ft(-e)p
-Fu(\))h(option.)630 974 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i
-(to)g(the)f(shell)h(cannot)g(b)s(e)f(trapp)s(ed)f(or)h(reset.)59
-b(T)-8 b(rapp)s(ed)630 1084 y(signals)28 b(that)f(are)h(not)f(b)s(eing)
-g(ignored)g(are)g(reset)h(to)g(their)f(original)h(v)-5
-b(alues)28 b(in)e(a)i(subshell)630 1194 y(or)i(subshell)g(en)m
-(vironmen)m(t)h(when)e(one)i(is)f(created.)630 1321 y(The)g(return)f
-(status)i(is)f(zero)h(unless)f(a)h Fr(sigsp)s(ec)36 b
-Fu(do)s(es)30 b(not)h(sp)s(ecify)f(a)g(v)-5 b(alid)31
-b(signal.)150 1467 y Ft(umask)870 1595 y(umask)46 b([-p])h([-S])g([)p
-Fj(mode)p Ft(])630 1722 y Fu(Set)30 b(the)f(shell)h(pro)s(cess's)f
-(\014le)h(creation)g(mask)g(to)g Fr(mo)s(de)p Fu(.)40
-b(If)29 b Fr(mo)s(de)34 b Fu(b)s(egins)29 b(with)g(a)h(digit,)630
-1832 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s(ctal)i(n)m(um)m(b)s
-(er;)e(if)g(not,)h(it)g(is)f(in)m(terpreted)g(as)g(a)h(sym)m(b)s(olic)f
-(mo)s(de)630 1942 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f
-(the)g Ft(chmod)e Fu(command.)40 b(If)28 b Fr(mo)s(de)34
-b Fu(is)28 b(omitted,)j(the)630 2051 y(curren)m(t)39
-b(v)-5 b(alue)40 b(of)f(the)g(mask)g(is)h(prin)m(ted.)66
-b(If)39 b(the)g Ft(-S)g Fu(option)g(is)h(supplied)d(without)j(a)630
-2161 y Fr(mo)s(de)d Fu(argumen)m(t,)d(the)e(mask)g(is)h(prin)m(ted)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y(If)25
+b(a)h Fr(sigsp)s(ec)31 b Fu(is)25 b Ft(ERR)p Fu(,)h Fr(action)g
+Fu(is)g(executed)g(whenev)m(er)f(a)h(pip)s(eline)f(\(whic)m(h)g(ma)m(y)
+h(consist)g(of)630 408 y(a)31 b(single)h(simple)f(command\),)h(a)f
+(list,)h(or)f(a)h(comp)s(ound)d(command)i(returns)f(a)h(non-zero)630
+518 y(exit)e(status,)g(sub)5 b(ject)27 b(to)i(the)f(follo)m(wing)h
+(conditions.)40 b(The)28 b Ft(ERR)f Fu(trap)g(is)h(not)g(executed)h(if)
+630 628 y(the)24 b(failed)h(command)e(is)h(part)g(of)g(the)g(command)g
+(list)h(immediately)g(follo)m(wing)h(an)d Ft(until)630
+737 y Fu(or)h Ft(while)f Fu(k)m(eyw)m(ord,)j(part)e(of)g(the)g(test)h
+(follo)m(wing)h(the)e Ft(if)g Fu(or)g Ft(elif)f Fu(reserv)m(ed)h(w)m
+(ords,)h(part)630 847 y(of)37 b(a)g(command)f(executed)i(in)e(a)h
+Ft(&&)f Fu(or)h Ft(||)f Fu(list)h(except)g(the)g(command)g(follo)m
+(wing)h(the)630 956 y(\014nal)f Ft(&&)f Fu(or)h Ft(||)p
+Fu(,)i(an)m(y)e(command)g(in)g(a)g(pip)s(eline)g(but)f(the)i(last,)i
+(or)d(if)g(the)g(command's)630 1066 y(return)31 b(status)i(is)f(b)s
+(eing)f(in)m(v)m(erted)i(using)f Ft(!)p Fu(.)46 b(These)32
+b(are)g(the)h(same)f(conditions)h(ob)s(ey)m(ed)630 1176
+y(b)m(y)d(the)h Ft(errexit)d Fu(\()p Ft(-e)p Fu(\))j(option.)630
+1309 y(Signals)23 b(ignored)h(up)s(on)e(en)m(try)h(to)h(a)g(non-in)m
+(teractiv)m(e)i(shell)d(cannot)h(b)s(e)f(trapp)s(ed)f(or)h(reset.)630
+1418 y(In)m(teractiv)m(e)i(shells)d(p)s(ermit)f(trapping)h(signals)h
+(ignored)f(on)g(en)m(try)-8 b(.)39 b(T)-8 b(rapp)s(ed)21
+b(signals)h(that)630 1528 y(are)30 b(not)g(b)s(eing)f(ignored)h(are)g
+(reset)g(to)g(their)g(original)g(v)-5 b(alues)30 b(in)g(a)g(subshell)e
+(or)i(subshell)630 1638 y(en)m(vironmen)m(t)h(when)e(one)i(is)f
+(created.)630 1771 y(The)g(return)f(status)i(is)f(zero)h(unless)f(a)h
+Fr(sigsp)s(ec)36 b Fu(do)s(es)30 b(not)h(sp)s(ecify)f(a)g(v)-5
+b(alid)31 b(signal.)150 1928 y Ft(umask)870 2061 y(umask)46
+b([-p])h([-S])g([)p Fj(mode)p Ft(])630 2194 y Fu(Set)30
+b(the)f(shell)h(pro)s(cess's)f(\014le)h(creation)g(mask)g(to)g
+Fr(mo)s(de)p Fu(.)40 b(If)29 b Fr(mo)s(de)34 b Fu(b)s(egins)29
+b(with)g(a)h(digit,)630 2304 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s
+(ctal)i(n)m(um)m(b)s(er;)e(if)g(not,)h(it)g(is)f(in)m(terpreted)g(as)g
+(a)h(sym)m(b)s(olic)f(mo)s(de)630 2413 y(mask)i(similar)g(to)g(that)h
+(accepted)g(b)m(y)f(the)g Ft(chmod)e Fu(command.)40 b(If)28
+b Fr(mo)s(de)34 b Fu(is)28 b(omitted,)j(the)630 2523
+y(curren)m(t)39 b(v)-5 b(alue)40 b(of)f(the)g(mask)g(is)h(prin)m(ted.)
+66 b(If)39 b(the)g Ft(-S)g Fu(option)g(is)h(supplied)d(without)j(a)630
+2632 y Fr(mo)s(de)d Fu(argumen)m(t,)d(the)e(mask)g(is)h(prin)m(ted)f
(in)g(a)g(sym)m(b)s(olic)h(format.)47 b(If)32 b(the)g
-Ft(-p)g Fu(option)h(is)630 2270 y(supplied,)f(and)f Fr(mo)s(de)37
+Ft(-p)g Fu(option)h(is)630 2742 y(supplied,)f(and)f Fr(mo)s(de)37
b Fu(is)32 b(omitted,)i(the)f(output)f(is)g(in)g(a)g(form)g(that)h(ma)m
-(y)g(b)s(e)e(reused)h(as)630 2380 y(input.)62 b(The)38
+(y)g(b)s(e)e(reused)h(as)630 2852 y(input.)62 b(The)38
b(return)f(status)h(is)g(zero)g(if)g(the)g(mo)s(de)g(is)g(successfully)
-g(c)m(hanged)g(or)g(if)g(no)630 2489 y Fr(mo)s(de)d Fu(argumen)m(t)c
-(is)f(supplied,)g(and)f(non-zero)i(otherwise.)630 2617
+g(c)m(hanged)g(or)g(if)g(no)630 2961 y Fr(mo)s(de)d Fu(argumen)m(t)c
+(is)f(supplied,)g(and)f(non-zero)i(otherwise.)630 3094
y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)m(terpreted)h(as)f
(an)g(o)s(ctal)i(n)m(um)m(b)s(er,)e(eac)m(h)i(n)m(um)m(b)s(er)d(of)630
-2727 y(the)f(umask)g(is)h(subtracted)f(from)f Ft(7)p
+3204 y(the)f(umask)g(is)h(subtracted)f(from)f Ft(7)p
Fu(.)53 b(Th)m(us,)34 b(a)h(umask)e(of)i Ft(022)e Fu(results)h(in)g(p)s
-(ermissions)630 2836 y(of)d Ft(755)p Fu(.)150 2982 y
-Ft(unset)870 3110 y(unset)46 b([-fnv])g([)p Fj(name)p
-Ft(])630 3237 y Fu(Remo)m(v)m(e)36 b(eac)m(h)f(v)-5 b(ariable)35
+(ermissions)630 3314 y(of)d Ft(755)p Fu(.)150 3470 y
+Ft(unset)870 3604 y(unset)46 b([-fnv])g([)p Fj(name)p
+Ft(])630 3737 y Fu(Remo)m(v)m(e)36 b(eac)m(h)f(v)-5 b(ariable)35
b(or)f(function)f Fr(name)p Fu(.)52 b(If)33 b(the)i Ft(-v)e
-Fu(option)h(is)g(giv)m(en,)j(eac)m(h)e Fr(name)630 3347
+Fu(option)h(is)g(giv)m(en,)j(eac)m(h)e Fr(name)630 3846
y Fu(refers)27 b(to)h(a)g(shell)f(v)-5 b(ariable)28 b(and)f(that)h(v)-5
b(ariable)28 b(is)f(remo)m(v)m(ed.)41 b(If)27 b(the)g
-Ft(-f)g Fu(option)g(is)h(giv)m(en,)630 3457 y(the)37
+Ft(-f)g Fu(option)g(is)h(giv)m(en,)630 3956 y(the)37
b Fr(name)5 b Fu(s)37 b(refer)f(to)i(shell)f(functions,)h(and)e(the)h
(function)g(de\014nition)f(is)h(remo)m(v)m(ed.)61 b(If)630
-3566 y(the)34 b Ft(-n)e Fu(option)i(is)f(supplied,)h(and)e
+4066 y(the)34 b Ft(-n)e Fu(option)i(is)f(supplied,)h(and)e
Fr(name)39 b Fu(is)33 b(a)h(v)-5 b(ariable)34 b(with)f(the)h
-Ft(nameref)d Fu(attribute,)630 3676 y Fr(name)42 b Fu(will)37
+Ft(nameref)d Fu(attribute,)630 4175 y Fr(name)42 b Fu(will)37
b(b)s(e)f(unset)g(rather)g(than)h(the)g(v)-5 b(ariable)37
b(it)g(references.)60 b Ft(-n)36 b Fu(has)g(no)h(e\013ect)h(if)630
-3785 y(the)h Ft(-f)g Fu(option)g(is)h(supplied.)65 b(If)39
+4285 y(the)h Ft(-f)g Fu(option)g(is)h(supplied.)65 b(If)39
b(no)g(options)h(are)f(supplied,)h(eac)m(h)h Fr(name)j
-Fu(refers)39 b(to)h(a)630 3895 y(v)-5 b(ariable;)45 b(if)39
+Fu(refers)39 b(to)h(a)630 4394 y(v)-5 b(ariable;)45 b(if)39
b(there)g(is)g(no)g(v)-5 b(ariable)40 b(b)m(y)f(that)h(name,)h(a)f
-(function)f(with)g(that)g(name,)j(if)630 4004 y(an)m(y)-8
+(function)f(with)g(that)g(name,)j(if)630 4504 y(an)m(y)-8
b(,)34 b(is)e(unset.)46 b(Readonly)33 b(v)-5 b(ariables)33
b(and)f(functions)g(ma)m(y)h(not)f(b)s(e)g(unset.)46
-b(Some)33 b(shell)630 4114 y(v)-5 b(ariables)29 b(lose)h(their)e(sp)s
+b(Some)33 b(shell)630 4614 y(v)-5 b(ariables)29 b(lose)h(their)e(sp)s
(ecial)h(b)s(eha)m(vior)g(if)f(they)h(are)g(unset;)g(suc)m(h)f(b)s(eha)
-m(vior)h(is)g(noted)f(in)630 4224 y(the)35 b(description)h(of)f(the)g
+m(vior)h(is)g(noted)f(in)630 4723 y(the)35 b(description)h(of)f(the)g
(individual)g(v)-5 b(ariables.)56 b(The)34 b(return)g(status)i(is)f
-(zero)h(unless)f(a)630 4333 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m
-(y)g(not)f(b)s(e)g(unset.)150 4560 y Fs(4.2)68 b(Bash)45
-b(Builtin)g(Commands)150 4720 y Fu(This)c(section)h(describ)s(es)f
+(zero)h(unless)f(a)630 4833 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m
+(y)g(not)f(b)s(e)g(unset.)150 5071 y Fs(4.2)68 b(Bash)45
+b(Builtin)g(Commands)150 5230 y Fu(This)c(section)h(describ)s(es)f
(builtin)f(commands)h(whic)m(h)g(are)h(unique)e(to)j(or)e(ha)m(v)m(e)h
-(b)s(een)f(extended)g(in)150 4829 y(Bash.)g(Some)30 b(of)h(these)g
+(b)s(een)f(extended)g(in)150 5340 y(Bash.)g(Some)30 b(of)h(these)g
(commands)f(are)g(sp)s(eci\014ed)g(in)g(the)h Fm(posix)e
-Fu(standard.)150 4975 y Ft(alias)870 5103 y(alias)46
-b([-p])h([)p Fj(name)p Ft([=)p Fj(value)p Ft(])d(...)o(])630
-5230 y Fu(Without)26 b(argumen)m(ts)f(or)g(with)f(the)h
-Ft(-p)g Fu(option,)h Ft(alias)e Fu(prin)m(ts)g(the)h(list)h(of)f
-(aliases)h(on)f(the)630 5340 y(standard)g(output)g(in)g(a)h(form)f
-(that)h(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g(as)g(input.)39
-b(If)25 b(argumen)m(ts)p eop end
+Fu(standard.)p eop end
%%Page: 56 62
TeXDict begin 56 61 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(56)630 299 y(are)28
-b(supplied,)e(an)i(alias)g(is)f(de\014ned)f(for)h(eac)m(h)h
-Fr(name)33 b Fu(whose)27 b Fr(v)-5 b(alue)33 b Fu(is)27
-b(giv)m(en.)41 b(If)26 b(no)h Fr(v)-5 b(alue)630 408
-y Fu(is)37 b(giv)m(en,)j(the)d(name)g(and)g(v)-5 b(alue)37
-b(of)h(the)f(alias)h(is)f(prin)m(ted.)61 b(Aliases)38
-b(are)f(describ)s(ed)f(in)630 518 y(Section)31 b(6.6)h([Aliases],)g
-(page)f(100.)150 676 y Ft(bind)870 810 y(bind)47 b([-m)g
-Fj(keymap)p Ft(])e([-lpsvPSVX])870 920 y(bind)i([-m)g
-Fj(keymap)p Ft(])e([-q)i Fj(function)p Ft(])f([-u)g Fj(function)p
-Ft(])g([-r)h Fj(keyseq)p Ft(])870 1029 y(bind)g([-m)g
-Fj(keymap)p Ft(])e(-f)j Fj(filename)870 1139 y Ft(bind)f([-m)g
-Fj(keymap)p Ft(])e(-x)j Fj(keyseq:shell-command)870 1249
-y Ft(bind)f([-m)g Fj(keymap)p Ft(])e Fj(keyseq:function-name)870
-1358 y Ft(bind)i([-m)g Fj(keymap)p Ft(])e Fj(keyseq:readline-command)
-870 1468 y Ft(bind)i Fj(readline-command-line)630 1602
-y Fu(Displa)m(y)22 b(curren)m(t)f(Readline)h(\(see)f(Chapter)g(8)g
-([Command)f(Line)h(Editing],)j(page)e(117\))g(k)m(ey)630
-1711 y(and)36 b(function)g(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g
-(to)h(a)f(Readline)g(function)f(or)h(macro,)630 1821
+b(Shell)30 b(Builtin)h(Commands)2069 b(56)150 299 y Ft(alias)870
+435 y(alias)46 b([-p])h([)p Fj(name)p Ft([=)p Fj(value)p
+Ft(])d(...)o(])630 571 y Fu(Without)26 b(argumen)m(ts)f(or)g(with)f
+(the)h Ft(-p)g Fu(option,)h Ft(alias)e Fu(prin)m(ts)g(the)h(list)h(of)f
+(aliases)h(on)f(the)630 680 y(standard)g(output)g(in)g(a)h(form)f(that)
+h(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g(as)g(input.)39
+b(If)25 b(argumen)m(ts)630 790 y(are)j(supplied,)e(an)i(alias)g(is)f
+(de\014ned)f(for)h(eac)m(h)h Fr(name)33 b Fu(whose)27
+b Fr(v)-5 b(alue)33 b Fu(is)27 b(giv)m(en.)41 b(If)26
+b(no)h Fr(v)-5 b(alue)630 899 y Fu(is)37 b(giv)m(en,)j(the)d(name)g
+(and)g(v)-5 b(alue)37 b(of)h(the)f(alias)h(is)f(prin)m(ted.)61
+b(Aliases)38 b(are)f(describ)s(ed)f(in)630 1009 y(Section)31
+b(6.6)h([Aliases],)g(page)f(100.)150 1171 y Ft(bind)870
+1307 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lpsvPSVX])870
+1417 y(bind)i([-m)g Fj(keymap)p Ft(])e([-q)i Fj(function)p
+Ft(])f([-u)g Fj(function)p Ft(])g([-r)h Fj(keyseq)p Ft(])870
+1526 y(bind)g([-m)g Fj(keymap)p Ft(])e(-f)j Fj(filename)870
+1636 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e(-x)j Fj(keyseq:shell-command)
+870 1745 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e Fj(keyseq:function-name)
+870 1855 y Ft(bind)i([-m)g Fj(keymap)p Ft(])e Fj
+(keyseq:readline-command)870 1965 y Ft(bind)i Fj(readline-command-line)
+630 2101 y Fu(Displa)m(y)22 b(curren)m(t)f(Readline)h(\(see)f(Chapter)g
+(8)g([Command)f(Line)h(Editing],)j(page)e(117\))g(k)m(ey)630
+2210 y(and)36 b(function)g(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g
+(to)h(a)f(Readline)g(function)f(or)h(macro,)630 2320
y(or)44 b(set)h(a)g(Readline)f(v)-5 b(ariable.)83 b(Eac)m(h)45
b(non-option)g(argumen)m(t)f(is)g(a)h(command)f(as)g(it)630
-1931 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)g(initialization)i
+2429 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)g(initialization)i
(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)630
-2040 y(File],)c(page)d(120\),)j(but)c(eac)m(h)h(binding)f(or)g(command)
-h(m)m(ust)f(b)s(e)g(passed)g(as)h(a)g(separate)630 2150
+2539 y(File],)c(page)d(120\),)j(but)c(eac)m(h)h(binding)f(or)g(command)
+h(m)m(ust)f(b)s(e)g(passed)g(as)h(a)g(separate)630 2648
y(argumen)m(t;)31 b(e.g.,)h(`)p Ft("\\C-x\\C-r":re-read-init-f)o(ile)p
-Fu('.)630 2284 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m
-(wing)h(meanings:)630 2442 y Ft(-m)e Fj(keymap)66 b Fu(Use)54
+Fu('.)630 2784 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m
+(wing)h(meanings:)630 2947 y Ft(-m)e Fj(keymap)66 b Fu(Use)54
b Fr(k)m(eymap)j Fu(as)d(the)g(k)m(eymap)g(to)h(b)s(e)e(a\013ected)i(b)
-m(y)f(the)g(subsequen)m(t)1110 2552 y(bindings.)46 b(Acceptable)34
+m(y)f(the)g(subsequen)m(t)1110 3056 y(bindings.)46 b(Acceptable)34
b Fr(k)m(eymap)i Fu(names)c(are)h Ft(emacs)p Fu(,)f Ft(emacs-standard)p
-Fu(,)1110 2661 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)p
+Fu(,)1110 3166 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)p
Fu(,)f Ft(vi)p Fu(,)j Ft(vi-move)p Fu(,)f Ft(vi-command)p
-Fu(,)f(and)1110 2771 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44
+Fu(,)f(and)1110 3275 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44
b Fu(is)h(equiv)-5 b(alen)m(t)46 b(to)g Ft(vi-command)c
-Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110 2880 y(synon)m(ym\);)30
+Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110 3385 y(synon)m(ym\);)30
b Ft(emacs)f Fu(is)i(equiv)-5 b(alen)m(t)32 b(to)f Ft(emacs-standard)p
-Fu(.)630 3039 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 3197 y Ft(-p)384 b Fu(Displa)m(y)34
+Fu(.)630 3547 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
+(Readline)g(functions.)630 3709 y Ft(-p)384 b Fu(Displa)m(y)34
b(Readline)f(function)g(names)g(and)f(bindings)f(in)i(suc)m(h)f(a)i(w)m
-(a)m(y)f(that)1110 3306 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
-(in)g(a)h(Readline)g(initialization)i(\014le.)630 3465
+(a)m(y)f(that)1110 3819 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
+(in)g(a)h(Readline)g(initialization)i(\014le.)630 3981
y Ft(-P)384 b Fu(List)31 b(curren)m(t)f(Readline)h(function)f(names)g
-(and)g(bindings.)630 3623 y Ft(-v)384 b Fu(Displa)m(y)25
+(and)g(bindings.)630 4143 y Ft(-v)384 b Fu(Displa)m(y)25
b(Readline)f(v)-5 b(ariable)25 b(names)f(and)f(v)-5 b(alues)24
-b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 3733
+b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 4253
y(can)31 b(b)s(e)e(used)h(as)h(input)e(or)h(in)g(a)h(Readline)g
-(initialization)j(\014le.)630 3891 y Ft(-V)384 b Fu(List)31
+(initialization)j(\014le.)630 4415 y Ft(-V)384 b Fu(List)31
b(curren)m(t)f(Readline)h(v)-5 b(ariable)31 b(names)f(and)g(v)-5
-b(alues.)630 4049 y Ft(-s)384 b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g
+b(alues.)630 4577 y Ft(-s)384 b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g
(sequences)f(b)s(ound)f(to)i(macros)g(and)f(the)g(strings)1110
-4159 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
-(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 4268
-y(Readline)d(initialization)i(\014le.)630 4427 y Ft(-S)384
+4687 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
+(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 4796
+y(Readline)d(initialization)i(\014le.)630 4959 y Ft(-S)384
b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s(ound)f(to)i
-(macros)g(and)f(the)g(strings)1110 4536 y(they)31 b(output.)630
-4695 y Ft(-f)f Fj(filename)1110 4804 y Fu(Read)h(k)m(ey)g(bindings)e
-(from)h Fr(\014lename)p Fu(.)630 4963 y Ft(-q)g Fj(function)1110
-5072 y Fu(Query)g(ab)s(out)g(whic)m(h)g(k)m(eys)h(in)m(v)m(ok)m(e)h
-(the)f(named)f Fr(function)p Fu(.)630 5230 y Ft(-u)g
-Fj(function)1110 5340 y Fu(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i
-(the)f(named)g Fr(function)p Fu(.)p eop end
+(macros)g(and)f(the)g(strings)1110 5068 y(they)31 b(output.)630
+5230 y Ft(-f)f Fj(filename)1110 5340 y Fu(Read)h(k)m(ey)g(bindings)e
+(from)h Fr(\014lename)p Fu(.)p eop end
%%Page: 57 63
TeXDict begin 57 62 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Ft(-r)30
-b Fj(keyseq)66 b Fu(Remo)m(v)m(e)32 b(an)m(y)f(curren)m(t)f(binding)f
-(for)h Fr(k)m(eyseq)p Fu(.)630 452 y Ft(-x)g Fj(keyseq:shell-command)
-1110 562 y Fu(Cause)35 b Fr(shell-command)k Fu(to)d(b)s(e)f(executed)h
-(whenev)m(er)f Fr(k)m(eyseq)j Fu(is)d(en)m(tered.)1110
-671 y(When)46 b Fr(shell-command)k Fu(is)c(executed,)51
-b(the)46 b(shell)g(sets)g(the)g Ft(READLINE_)1110 781
-y(LINE)37 b Fu(v)-5 b(ariable)38 b(to)g(the)g(con)m(ten)m(ts)i(of)e
-(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 891
-y Ft(READLINE_POINT)d Fu(and)j Ft(READLINE_MARK)d Fu(v)-5
-b(ariables)39 b(to)f(the)g(curren)m(t)g(lo-)1110 1000
-y(cation)46 b(of)f(the)g(insertion)g(p)s(oin)m(t)f(and)g(the)h(sa)m(v)m
-(ed)h(insertion)f(p)s(oin)m(t)f(\(the)1110 1110 y Fr(mark)6
-b Fu(\),)38 b(resp)s(ectiv)m(ely)-8 b(.)62 b(The)36 b(shell)h(assigns)g
-(an)m(y)g(n)m(umeric)g(argumen)m(t)g(the)1110 1219 y(user)43
-b(supplied)g(to)h(the)g Ft(READLINE_ARGUMENT)39 b Fu(v)-5
-b(ariable.)82 b(If)44 b(there)g(w)m(as)1110 1329 y(no)39
-b(argumen)m(t,)j(that)d(v)-5 b(ariable)40 b(is)f(not)g(set.)68
-b(If)38 b(the)h(executed)h(command)1110 1439 y(c)m(hanges)e(the)e(v)-5
-b(alue)37 b(of)g(an)m(y)g(of)g Ft(READLINE_LINE)p Fu(,)d
-Ft(READLINE_POINT)p Fu(,)h(or)1110 1548 y Ft(READLINE_MARK)p
-Fu(,)i(those)i(new)f(v)-5 b(alues)38 b(will)h(b)s(e)f(re\015ected)h(in)
-f(the)g(editing)1110 1658 y(state.)630 1811 y Ft(-X)384
-b Fu(List)27 b(all)i(k)m(ey)f(sequences)f(b)s(ound)e(to)j(shell)g
-(commands)e(and)h(the)g(asso)s(ciated)1110 1921 y(commands)j(in)g(a)h
-(format)g(that)f(can)h(b)s(e)f(reused)f(as)i(input.)630
-2074 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)-5
-b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f(error)g(o)s(ccurs.)150
-2228 y Ft(builtin)870 2359 y(builtin)46 b([)p Fj(shell-builtin)e
-Ft([)p Fj(args)p Ft(]])630 2491 y Fu(Run)35 b(a)i(shell)f(builtin,)i
-(passing)e(it)h Fr(args)p Fu(,)h(and)e(return)f(its)i(exit)g(status.)59
-b(This)35 b(is)i(useful)630 2600 y(when)29 b(de\014ning)h(a)g(shell)h
-(function)f(with)g(the)g(same)h(name)f(as)h(a)g(shell)f(builtin,)g
-(retaining)630 2710 y(the)k(functionalit)m(y)h(of)f(the)f(builtin)g
-(within)g(the)h(function.)50 b(The)33 b(return)g(status)h(is)f(non-)630
-2819 y(zero)e(if)g Fr(shell-builtin)f Fu(is)g(not)h(a)g(shell)f
-(builtin)g(command.)150 2973 y Ft(caller)870 3104 y(caller)46
-b([)p Fj(expr)p Ft(])630 3236 y Fu(Returns)34 b(the)g(con)m(text)j(of)e
+b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Ft(-q)30
+b Fj(function)1110 408 y Fu(Query)g(ab)s(out)g(whic)m(h)g(k)m(eys)h(in)
+m(v)m(ok)m(e)h(the)f(named)f Fr(function)p Fu(.)630 564
+y Ft(-u)g Fj(function)1110 673 y Fu(Un)m(bind)f(all)i(k)m(eys)g(b)s
+(ound)e(to)i(the)f(named)g Fr(function)p Fu(.)630 829
+y Ft(-r)g Fj(keyseq)66 b Fu(Remo)m(v)m(e)32 b(an)m(y)f(curren)m(t)f
+(binding)f(for)h Fr(k)m(eyseq)p Fu(.)630 984 y Ft(-x)g
+Fj(keyseq:shell-command)1110 1093 y Fu(Cause)35 b Fr(shell-command)k
+Fu(to)d(b)s(e)f(executed)h(whenev)m(er)f Fr(k)m(eyseq)j
+Fu(is)d(en)m(tered.)1110 1203 y(When)46 b Fr(shell-command)k
+Fu(is)c(executed,)51 b(the)46 b(shell)g(sets)g(the)g
+Ft(READLINE_)1110 1313 y(LINE)37 b Fu(v)-5 b(ariable)38
+b(to)g(the)g(con)m(ten)m(ts)i(of)e(the)g(Readline)g(line)g(bu\013er)f
+(and)g(the)1110 1422 y Ft(READLINE_POINT)d Fu(and)j Ft(READLINE_MARK)d
+Fu(v)-5 b(ariables)39 b(to)f(the)g(curren)m(t)g(lo-)1110
+1532 y(cation)46 b(of)f(the)g(insertion)g(p)s(oin)m(t)f(and)g(the)h(sa)
+m(v)m(ed)h(insertion)f(p)s(oin)m(t)f(\(the)1110 1641
+y Fr(mark)6 b Fu(\),)38 b(resp)s(ectiv)m(ely)-8 b(.)62
+b(The)36 b(shell)h(assigns)g(an)m(y)g(n)m(umeric)g(argumen)m(t)g(the)
+1110 1751 y(user)43 b(supplied)g(to)h(the)g Ft(READLINE_ARGUMENT)39
+b Fu(v)-5 b(ariable.)82 b(If)44 b(there)g(w)m(as)1110
+1861 y(no)39 b(argumen)m(t,)j(that)d(v)-5 b(ariable)40
+b(is)f(not)g(set.)68 b(If)38 b(the)h(executed)h(command)1110
+1970 y(c)m(hanges)e(the)e(v)-5 b(alue)37 b(of)g(an)m(y)g(of)g
+Ft(READLINE_LINE)p Fu(,)d Ft(READLINE_POINT)p Fu(,)h(or)1110
+2080 y Ft(READLINE_MARK)p Fu(,)i(those)i(new)f(v)-5 b(alues)38
+b(will)h(b)s(e)f(re\015ected)h(in)f(the)g(editing)1110
+2189 y(state.)630 2345 y Ft(-X)384 b Fu(List)27 b(all)i(k)m(ey)f
+(sequences)f(b)s(ound)e(to)j(shell)g(commands)e(and)h(the)g(asso)s
+(ciated)1110 2454 y(commands)j(in)g(a)h(format)g(that)f(can)h(b)s(e)f
+(reused)f(as)i(input.)630 2609 y(The)26 b(return)f(status)i(is)f(zero)i
+(unless)d(an)i(in)m(v)-5 b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f
+(error)g(o)s(ccurs.)150 2765 y Ft(builtin)870 2897 y(builtin)46
+b([)p Fj(shell-builtin)e Ft([)p Fj(args)p Ft(]])630 3029
+y Fu(Run)35 b(a)i(shell)f(builtin,)i(passing)e(it)h Fr(args)p
+Fu(,)h(and)e(return)f(its)i(exit)g(status.)59 b(This)35
+b(is)i(useful)630 3139 y(when)29 b(de\014ning)h(a)g(shell)h(function)f
+(with)g(the)g(same)h(name)f(as)h(a)g(shell)f(builtin,)g(retaining)630
+3249 y(the)k(functionalit)m(y)h(of)f(the)f(builtin)g(within)g(the)h
+(function.)50 b(The)33 b(return)g(status)h(is)f(non-)630
+3358 y(zero)e(if)g Fr(shell-builtin)f Fu(is)g(not)h(a)g(shell)f
+(builtin)g(command.)150 3513 y Ft(caller)870 3646 y(caller)46
+b([)p Fj(expr)p Ft(])630 3778 y Fu(Returns)34 b(the)g(con)m(text)j(of)e
(an)m(y)g(activ)m(e)i(subroutine)c(call)j(\(a)f(shell)g(function)f(or)h
-(a)g(script)630 3345 y(executed)c(with)f(the)h Ft(.)f
-Fu(or)g Ft(source)f Fu(builtins\).)630 3477 y(Without)45
+(a)g(script)630 3888 y(executed)c(with)f(the)h Ft(.)f
+Fu(or)g Ft(source)f Fu(builtins\).)630 4020 y(Without)45
b Fr(expr)p Fu(,)j Ft(caller)43 b Fu(displa)m(ys)i(the)f(line)h(n)m(um)
-m(b)s(er)f(and)g(source)g(\014lename)h(of)g(the)630 3587
+m(b)s(er)f(and)g(source)g(\014lename)h(of)g(the)630 4130
y(curren)m(t)35 b(subroutine)g(call.)58 b(If)35 b(a)h(non-negativ)m(e)i
(in)m(teger)f(is)f(supplied)e(as)i Fr(expr)p Fu(,)h Ft(caller)630
-3696 y Fu(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+4240 y Fu(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
(name,)44 b(and)c(source)g(\014le)h(corresp)s(onding)e(to)630
-3806 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+4349 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
(stac)m(k.)54 b(This)34 b(extra)h(information)g(ma)m(y)630
-3915 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+4459 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
(k)h(trace.)42 b(The)29 b(curren)m(t)i(frame)f(is)g(frame)h(0.)630
-4047 y(The)d(return)g(v)-5 b(alue)29 b(is)g(0)g(unless)f(the)h(shell)g
+4591 y(The)d(return)g(v)-5 b(alue)29 b(is)g(0)g(unless)f(the)h(shell)g
(is)g(not)g(executing)h(a)f(subroutine)e(call)j(or)f
-Fr(expr)630 4156 y Fu(do)s(es)h(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+Fr(expr)630 4701 y Fu(do)s(es)h(not)h(corresp)s(ond)e(to)i(a)g(v)-5
b(alid)30 b(p)s(osition)h(in)f(the)g(call)i(stac)m(k.)150
-4310 y Ft(command)870 4441 y(command)46 b([-pVv])g Fj(command)g
-Ft([)p Fj(arguments)f Ft(...)o(])630 4573 y Fu(Runs)32
+4856 y Ft(command)870 4988 y(command)46 b([-pVv])g Fj(command)g
+Ft([)p Fj(arguments)f Ft(...)o(])630 5121 y Fu(Runs)32
b Fr(command)k Fu(with)d Fr(argumen)m(ts)k Fu(ignoring)c(an)m(y)g
-(shell)h(function)e(named)h Fr(command)p Fu(.)630 4682
+(shell)h(function)e(named)h Fr(command)p Fu(.)630 5230
y(Only)39 b(shell)i(builtin)e(commands)h(or)g(commands)f(found)g(b)m(y)
-h(searc)m(hing)h(the)f Ft(PATH)f Fu(are)630 4792 y(executed.)59
+h(searc)m(hing)h(the)f Ft(PATH)f Fu(are)630 5340 y(executed.)59
b(If)36 b(there)h(is)f(a)h(shell)f(function)g(named)g
Ft(ls)p Fu(,)h(running)e(`)p Ft(command)29 b(ls)p Fu(')35
-b(within)630 4902 y(the)c(function)f(will)h(execute)g(the)g(external)g
-(command)g Ft(ls)f Fu(instead)g(of)h(calling)h(the)f(func-)630
-5011 y(tion)36 b(recursiv)m(ely)-8 b(.)56 b(The)34 b
-Ft(-p)h Fu(option)g(means)g(to)h(use)f(a)g(default)h(v)-5
-b(alue)35 b(for)g Ft(PATH)f Fu(that)i(is)630 5121 y(guaran)m(teed)f(to)
-f(\014nd)e(all)j(of)f(the)g(standard)f(utilities.)52
-b(The)33 b(return)g(status)h(in)f(this)h(case)630 5230
-y(is)29 b(127)g(if)g Fr(command)j Fu(cannot)d(b)s(e)e(found)h(or)g(an)g
-(error)h(o)s(ccurred,)f(and)g(the)h(exit)g(status)g(of)630
-5340 y Fr(command)34 b Fu(otherwise.)p eop end
+b(within)p eop end
%%Page: 58 64
TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(If)32
-b(either)h(the)f Ft(-V)g Fu(or)g Ft(-v)g Fu(option)h(is)f(supplied,)g
-(a)h(description)f(of)h Fr(command)j Fu(is)c(prin)m(ted.)630
-408 y(The)f Ft(-v)h Fu(option)g(causes)g(a)g(single)h(w)m(ord)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(the)31
+b(function)f(will)h(execute)g(the)g(external)g(command)g
+Ft(ls)f Fu(instead)g(of)h(calling)h(the)f(func-)630 408
+y(tion)36 b(recursiv)m(ely)-8 b(.)56 b(The)34 b Ft(-p)h
+Fu(option)g(means)g(to)h(use)f(a)g(default)h(v)-5 b(alue)35
+b(for)g Ft(PATH)f Fu(that)i(is)630 518 y(guaran)m(teed)f(to)f(\014nd)e
+(all)j(of)f(the)g(standard)f(utilities.)52 b(The)33 b(return)g(status)h
+(in)f(this)h(case)630 628 y(is)29 b(127)g(if)g Fr(command)j
+Fu(cannot)d(b)s(e)e(found)h(or)g(an)g(error)h(o)s(ccurred,)f(and)g(the)
+h(exit)g(status)g(of)630 737 y Fr(command)34 b Fu(otherwise.)630
+870 y(If)e(either)h(the)f Ft(-V)g Fu(or)g Ft(-v)g Fu(option)h(is)f
+(supplied,)g(a)h(description)f(of)h Fr(command)j Fu(is)c(prin)m(ted.)
+630 979 y(The)f Ft(-v)h Fu(option)g(causes)g(a)g(single)h(w)m(ord)f
(indicating)g(the)g(command)g(or)g(\014le)g(name)g(used)630
-518 y(to)40 b(in)m(v)m(ok)m(e)h Fr(command)h Fu(to)e(b)s(e)e(displa)m
+1089 y(to)40 b(in)m(v)m(ok)m(e)h Fr(command)h Fu(to)e(b)s(e)e(displa)m
(y)m(ed;)44 b(the)39 b Ft(-V)f Fu(option)i(pro)s(duces)d(a)j(more)f(v)m
-(erb)s(ose)630 628 y(description.)61 b(In)36 b(this)h(case,)j(the)e
+(erb)s(ose)630 1199 y(description.)61 b(In)36 b(this)h(case,)j(the)e
(return)e(status)h(is)g(zero)h(if)f Fr(command)k Fu(is)c(found,)h(and)
-630 737 y(non-zero)31 b(if)f(not.)150 897 y Ft(declare)870
-1031 y(declare)46 b([-aAfFgiIlnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 1166 y Fu(Declare)29
+630 1308 y(non-zero)31 b(if)f(not.)150 1464 y Ft(declare)870
+1597 y(declare)46 b([-aAfFgiIlnrtux])d([-p])k([)p Fj(name)p
+Ft([=)p Fj(value)p Ft(])d(...)o(])630 1729 y Fu(Declare)29
b(v)-5 b(ariables)28 b(and)e(giv)m(e)j(them)e(attributes.)40
b(If)27 b(no)g Fr(name)5 b Fu(s)27 b(are)h(giv)m(en,)h(then)e(displa)m
-(y)630 1275 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 1410 y(The)k Ft(-p)f Fu(option)i(will)g(displa)m(y)f
+(y)630 1839 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 1972 y(The)k Ft(-p)f Fu(option)i(will)g(displa)m(y)f
(the)h(attributes)g(and)e(v)-5 b(alues)36 b(of)f(eac)m(h)i
-Fr(name)p Fu(.)55 b(When)36 b Ft(-p)630 1519 y Fu(is)i(used)g(with)g
+Fr(name)p Fu(.)55 b(When)36 b Ft(-p)630 2081 y Fu(is)i(used)g(with)g
Fr(name)43 b Fu(argumen)m(ts,)e(additional)e(options,)i(other)d(than)g
-Ft(-f)g Fu(and)g Ft(-F)p Fu(,)i(are)630 1629 y(ignored.)630
-1763 y(When)g Ft(-p)g Fu(is)g(supplied)f(without)i Fr(name)k
+Ft(-f)g Fu(and)g Ft(-F)p Fu(,)i(are)630 2191 y(ignored.)630
+2323 y(When)g Ft(-p)g Fu(is)g(supplied)f(without)i Fr(name)k
Fu(argumen)m(ts,)f Ft(declare)38 b Fu(will)j(displa)m(y)f(the)h(at-)630
-1873 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+2433 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
b(ariables)31 b(ha)m(ving)h(the)f(attributes)g(sp)s(eci\014ed)f(b)m(y)h
-(the)g(addi-)630 1983 y(tional)k(options.)52 b(If)34
+(the)g(addi-)630 2543 y(tional)k(options.)52 b(If)34
b(no)g(other)g(options)g(are)g(supplied)f(with)h Ft(-p)p
-Fu(,)g Ft(declare)e Fu(will)j(displa)m(y)630 2092 y(the)e(attributes)h
+Fu(,)g Ft(declare)e Fu(will)j(displa)m(y)630 2652 y(the)e(attributes)h
(and)e(v)-5 b(alues)33 b(of)g(all)h(shell)f(v)-5 b(ariables.)50
b(The)32 b Ft(-f)g Fu(option)i(will)f(restrict)h(the)630
-2202 y(displa)m(y)d(to)g(shell)f(functions.)630 2336
+2762 y(displa)m(y)d(to)g(shell)f(functions.)630 2894
y(The)41 b Ft(-F)f Fu(option)i(inhibits)e(the)i(displa)m(y)f(of)g
(function)g(de\014nitions;)47 b(only)41 b(the)g(function)630
-2446 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
+3004 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
b(If)30 b(the)g Ft(extdebug)e Fu(shell)i(option)g(is)g(enabled)g(using)
-630 2555 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+630 3114 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
(Builtin],)k(page)e(71\),)i(the)d(source)h(\014le)f(name)h(and)630
-2665 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
+3223 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
Fr(name)36 b Fu(is)30 b(de\014ned)f(are)i(displa)m(y)m(ed)g(as)g(w)m
-(ell.)41 b Ft(-F)30 b Fu(implies)h Ft(-f)p Fu(.)630 2800
+(ell.)41 b Ft(-F)30 b Fu(implies)h Ft(-f)p Fu(.)630 3356
y(The)36 b Ft(-g)g Fu(option)h(forces)g(v)-5 b(ariables)37
b(to)g(b)s(e)f(created)i(or)e(mo)s(di\014ed)g(at)h(the)g(global)h(scop)
-s(e,)630 2909 y(ev)m(en)g(when)e Ft(declare)f Fu(is)j(executed)g(in)f
+s(e,)630 3465 y(ev)m(en)g(when)e Ft(declare)f Fu(is)j(executed)g(in)f
(a)g(shell)h(function.)61 b(It)37 b(is)g(ignored)h(in)f(all)h(other)630
-3019 y(cases.)630 3153 y(The)50 b Ft(-I)h Fu(option)g(causes)h(lo)s
+3575 y(cases.)630 3708 y(The)50 b Ft(-I)h Fu(option)g(causes)h(lo)s
(cal)g(v)-5 b(ariables)51 b(to)h(inherit)f(the)g(attributes)g(\(except)
-i(the)630 3263 y Ft(nameref)43 b Fu(attribute\))j(and)f(v)-5
+i(the)630 3817 y Ft(nameref)43 b Fu(attribute\))j(and)f(v)-5
b(alue)46 b(of)f(an)m(y)h(existing)g(v)-5 b(ariable)46
-b(with)f(the)g(same)h Fr(name)630 3372 y Fu(at)40 b(a)f(surrounding)d
+b(with)f(the)g(same)h Fr(name)630 3927 y Fu(at)40 b(a)f(surrounding)d
(scop)s(e.)66 b(If)39 b(there)g(is)g(no)f(existing)i(v)-5
b(ariable,)42 b(the)d(lo)s(cal)h(v)-5 b(ariable)40 b(is)630
-3482 y(initially)32 b(unset.)630 3616 y(The)27 b(follo)m(wing)h
+4036 y(initially)32 b(unset.)630 4169 y(The)27 b(follo)m(wing)h
(options)g(can)f(b)s(e)g(used)f(to)i(restrict)g(output)e(to)i(v)-5
-b(ariables)28 b(with)f(the)g(sp)s(ec-)630 3726 y(i\014ed)j(attributes)h
+b(ariables)28 b(with)f(the)g(sp)s(ec-)630 4279 y(i\014ed)j(attributes)h
(or)f(to)h(giv)m(e)h(v)-5 b(ariables)31 b(attributes:)630
-3885 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(is)34
+4434 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(is)34
b(an)h(indexed)g(arra)m(y)g(v)-5 b(ariable)36 b(\(see)f(Section)h(6.7)g
-([Arra)m(ys],)1110 3995 y(page)31 b(100\).)630 4154 y
+([Arra)m(ys],)1110 4544 y(page)31 b(100\).)630 4700 y
Ft(-A)384 b Fu(Eac)m(h)24 b Fr(name)k Fu(is)23 b(an)g(asso)s(ciativ)m
(e)j(arra)m(y)e(v)-5 b(ariable)24 b(\(see)g(Section)g(6.7)g([Arra)m
-(ys],)1110 4264 y(page)31 b(100\).)630 4423 y Ft(-f)384
-b Fu(Use)31 b(function)f(names)g(only)-8 b(.)630 4583
+(ys],)1110 4809 y(page)31 b(100\).)630 4965 y Ft(-f)384
+b Fu(Use)31 b(function)f(names)g(only)-8 b(.)630 5121
y Ft(-i)384 b Fu(The)36 b(v)-5 b(ariable)37 b(is)f(to)h(b)s(e)f
(treated)h(as)g(an)f(in)m(teger;)41 b(arithmetic)c(ev)-5
-b(aluation)1110 4692 y(\(see)29 b(Section)f(6.5)h([Shell)f
+b(aluation)1110 5230 y(\(see)29 b(Section)f(6.5)h([Shell)f
(Arithmetic],)i(page)e(98\))h(is)f(p)s(erformed)e(when)h(the)1110
-4802 y(v)-5 b(ariable)31 b(is)g(assigned)f(a)h(v)-5 b(alue.)630
-4961 y Ft(-l)384 b Fu(When)26 b(the)g(v)-5 b(ariable)27
-b(is)f(assigned)g(a)g(v)-5 b(alue,)28 b(all)f(upp)s(er-case)e(c)m
-(haracters)j(are)1110 5071 y(con)m(v)m(erted)k(to)f(lo)m(w)m(er-case.)
-43 b(The)30 b(upp)s(er-case)g(attribute)h(is)g(disabled.)630
-5230 y Ft(-n)384 b Fu(Giv)m(e)28 b(eac)m(h)g Fr(name)k
-Fu(the)27 b Ft(nameref)d Fu(attribute,)29 b(making)e(it)g(a)g(name)f
-(reference)1110 5340 y(to)32 b(another)g(v)-5 b(ariable.)46
-b(That)31 b(other)h(v)-5 b(ariable)33 b(is)f(de\014ned)e(b)m(y)i(the)g
-(v)-5 b(alue)32 b(of)p eop end
+5340 y(v)-5 b(ariable)31 b(is)g(assigned)f(a)h(v)-5 b(alue.)p
+eop end
%%Page: 59 65
TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)1110 299 y
-Fr(name)p Fu(.)54 b(All)35 b(references,)h(assignmen)m(ts,)h(and)d
-(attribute)h(mo)s(di\014cations)g(to)1110 408 y Fr(name)p
-Fu(,)27 b(except)f(for)f(those)h(using)f(or)g(c)m(hanging)h(the)f
-Ft(-n)g Fu(attribute)h(itself,)i(are)1110 518 y(p)s(erformed)22
-b(on)h(the)g(v)-5 b(ariable)25 b(referenced)e(b)m(y)g
-Fr(name)5 b Fu('s)23 b(v)-5 b(alue.)39 b(The)23 b(nameref)1110
-628 y(attribute)31 b(cannot)g(b)s(e)f(applied)g(to)h(arra)m(y)g(v)-5
-b(ariables.)630 785 y Ft(-r)384 b Fu(Mak)m(e)25 b Fr(name)5
-b Fu(s)23 b(readonly)-8 b(.)39 b(These)24 b(names)f(cannot)h(then)f(b)s
-(e)g(assigned)h(v)-5 b(alues)1110 894 y(b)m(y)30 b(subsequen)m(t)g
-(assignmen)m(t)h(statemen)m(ts)h(or)f(unset.)630 1052
-y Ft(-t)384 b Fu(Giv)m(e)33 b(eac)m(h)h Fr(name)j Fu(the)32
-b Ft(trace)f Fu(attribute.)46 b(T)-8 b(raced)32 b(functions)g(inherit)g
-(the)1110 1161 y Ft(DEBUG)26 b Fu(and)h Ft(RETURN)f Fu(traps)h(from)g
-(the)h(calling)h(shell.)40 b(The)27 b(trace)i(attribute)1110
-1271 y(has)h(no)g(sp)s(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630
-1428 y Ft(-u)384 b Fu(When)28 b(the)h(v)-5 b(ariable)29
-b(is)f(assigned)h(a)f(v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m
-(haracters)f(are)1110 1538 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40
-b(The)30 b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630
-1695 y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
+b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Ft(-l)384
+b Fu(When)26 b(the)g(v)-5 b(ariable)27 b(is)f(assigned)g(a)g(v)-5
+b(alue,)28 b(all)f(upp)s(er-case)e(c)m(haracters)j(are)1110
+408 y(con)m(v)m(erted)k(to)f(lo)m(w)m(er-case.)43 b(The)30
+b(upp)s(er-case)g(attribute)h(is)g(disabled.)630 579
+y Ft(-n)384 b Fu(Giv)m(e)28 b(eac)m(h)g Fr(name)k Fu(the)27
+b Ft(nameref)d Fu(attribute,)29 b(making)e(it)g(a)g(name)f(reference)
+1110 689 y(to)32 b(another)g(v)-5 b(ariable.)46 b(That)31
+b(other)h(v)-5 b(ariable)33 b(is)f(de\014ned)e(b)m(y)i(the)g(v)-5
+b(alue)32 b(of)1110 798 y Fr(name)p Fu(.)54 b(All)35
+b(references,)h(assignmen)m(ts,)h(and)d(attribute)h(mo)s(di\014cations)
+g(to)1110 908 y Fr(name)p Fu(,)27 b(except)f(for)f(those)h(using)f(or)g
+(c)m(hanging)h(the)f Ft(-n)g Fu(attribute)h(itself,)i(are)1110
+1017 y(p)s(erformed)22 b(on)h(the)g(v)-5 b(ariable)25
+b(referenced)e(b)m(y)g Fr(name)5 b Fu('s)23 b(v)-5 b(alue.)39
+b(The)23 b(nameref)1110 1127 y(attribute)31 b(cannot)g(b)s(e)f(applied)
+g(to)h(arra)m(y)g(v)-5 b(ariables.)630 1297 y Ft(-r)384
+b Fu(Mak)m(e)25 b Fr(name)5 b Fu(s)23 b(readonly)-8 b(.)39
+b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5
+b(alues)1110 1407 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
+(statemen)m(ts)h(or)f(unset.)630 1577 y Ft(-t)384 b Fu(Giv)m(e)33
+b(eac)m(h)h Fr(name)j Fu(the)32 b Ft(trace)f Fu(attribute.)46
+b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 1687
+y Ft(DEBUG)26 b Fu(and)h Ft(RETURN)f Fu(traps)h(from)g(the)h(calling)h
+(shell.)40 b(The)27 b(trace)i(attribute)1110 1797 y(has)h(no)g(sp)s
+(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 1967 y
+Ft(-u)384 b Fu(When)28 b(the)h(v)-5 b(ariable)29 b(is)f(assigned)h(a)f
+(v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m(haracters)f(are)1110
+2077 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40 b(The)30
+b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630 2247
+y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
-1805 y(ronmen)m(t.)630 1962 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
+2357 y(ronmen)m(t.)630 2527 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
(`)p Ft(-)p Fu(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
-(the)g(exceptions)h(that)630 2071 y(`)p Ft(+a)p Fu(')23
+(the)g(exceptions)h(that)630 2637 y(`)p Ft(+a)p Fu(')23
b(and)f(`)p Ft(+A)p Fu(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m
(y)g(arra)m(y)f(v)-5 b(ariables)24 b(and)e(`)p Ft(+r)p
-Fu(')h(will)g(not)g(remo)m(v)m(e)630 2181 y(the)36 b(readonly)h
+Fu(')h(will)g(not)g(remo)m(v)m(e)630 2746 y(the)36 b(readonly)h
(attribute.)59 b(When)36 b(used)f(in)h(a)h(function,)g
-Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 2291
+Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 2856
y Fu(lo)s(cal,)e(as)d(with)h(the)f Ft(local)f Fu(command,)j(unless)d
(the)i Ft(-g)f Fu(option)h(is)f(used.)49 b(If)33 b(a)h(v)-5
-b(ariable)630 2400 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
+b(ariable)630 2966 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
Fr(v)-5 b(alue)p Fu(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
b(ariable)32 b(is)e(set)h(to)g Fr(v)-5 b(alue)p Fu(.)630
-2534 y(When)41 b(using)g Ft(-a)g Fu(or)h Ft(-A)e Fu(and)h(the)h(comp)s
+3106 y(When)41 b(using)g Ft(-a)g Fu(or)h Ft(-A)e Fu(and)h(the)h(comp)s
(ound)e(assignmen)m(t)i(syn)m(tax)g(to)g(create)h(arra)m(y)630
-2643 y(v)-5 b(ariables,)28 b(additional)f(attributes)g(do)f(not)h(tak)m
+3215 y(v)-5 b(ariables,)28 b(additional)f(attributes)g(do)f(not)h(tak)m
(e)h(e\013ect)g(un)m(til)e(subsequen)m(t)g(assignmen)m(ts.)630
-2777 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
+3355 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f(attempt)630
-2886 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
+3465 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
Ft(-f)f(foo=bar)p Fu(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
-2996 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+3574 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
b(ariable,)47 b(an)42 b(attempt)h(is)f(made)g(to)h(assign)f(a)h(v)-5
-b(alue)42 b(to)h(an)630 3105 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 3684 y(arra)m(y)30 b(v)-5 b(ariable)30
b(without)g(using)e(the)i(comp)s(ound)e(assignmen)m(t)i(syn)m(tax)g
-(\(see)h(Section)f(6.7)630 3215 y([Arra)m(ys],)43 b(page)d(100\),)k
+(\(see)h(Section)f(6.7)630 3794 y([Arra)m(ys],)43 b(page)d(100\),)k
(one)c(of)g(the)g Fr(name)5 b Fu(s)40 b(is)f(not)h(a)g(v)-5
b(alid)40 b(shell)g(v)-5 b(ariable)41 b(name,)h(an)630
-3324 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+3903 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
(for)g(a)h(readonly)f(v)-5 b(ariable,)29 b(an)e(attempt)630
-3434 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+4013 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
(arra)m(y)h(v)-5 b(ariable,)30 b(or)e(an)g(attempt)i(is)e(made)g(to)630
-3544 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
-Ft(-f)p Fu(.)150 3701 y Ft(echo)870 3834 y(echo)47 b([-neE])f([)p
-Fj(arg)g Ft(...])630 3968 y Fu(Output)31 b(the)i Fr(arg)8
+4122 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
+Ft(-f)p Fu(.)150 4293 y Ft(echo)870 4433 y(echo)47 b([-neE])f([)p
+Fj(arg)g Ft(...])630 4573 y Fu(Output)31 b(the)i Fr(arg)8
b Fu(s,)33 b(separated)g(b)m(y)g(spaces,)g(terminated)g(with)f(a)h
-(newline.)47 b(The)32 b(return)630 4077 y(status)f(is)f(0)h(unless)f(a)
+(newline.)47 b(The)32 b(return)630 4682 y(status)f(is)f(0)h(unless)f(a)
h(write)g(error)f(o)s(ccurs.)41 b(If)30 b Ft(-n)g Fu(is)h(sp)s
-(eci\014ed,)f(the)h(trailing)g(newline)g(is)630 4187
+(eci\014ed,)f(the)h(trailing)g(newline)g(is)630 4792
y(suppressed.)38 b(If)29 b(the)h Ft(-e)f Fu(option)h(is)f(giv)m(en,)i
(in)m(terpretation)g(of)e(the)h(follo)m(wing)h(bac)m(kslash-)630
-4296 y(escap)s(ed)43 b(c)m(haracters)h(is)e(enabled.)78
+4902 y(escap)s(ed)43 b(c)m(haracters)h(is)e(enabled.)78
b(The)42 b Ft(-E)g Fu(option)h(disables)g(the)g(in)m(terpretation)h(of)
-630 4406 y(these)27 b(escap)s(e)g(c)m(haracters,)i(ev)m(en)e(on)g
+630 5011 y(these)27 b(escap)s(e)g(c)m(haracters,)i(ev)m(en)e(on)g
(systems)f(where)g(they)h(are)g(in)m(terpreted)g(b)m(y)f(default.)630
-4516 y(The)32 b Ft(xpg_echo)f Fu(shell)i(option)g(ma)m(y)h(b)s(e)e
+5121 y(The)32 b Ft(xpg_echo)f Fu(shell)i(option)g(ma)m(y)h(b)s(e)e
(used)g(to)h(dynamically)h(determine)f(whether)f(or)630
-4625 y(not)h Ft(echo)f Fu(expands)g(these)h(escap)s(e)h(c)m(haracters)g
+5230 y(not)h Ft(echo)f Fu(expands)g(these)h(escap)s(e)h(c)m(haracters)g
(b)m(y)f(default.)48 b Ft(echo)32 b Fu(do)s(es)g(not)i(in)m(terpret)630
-4735 y Ft(--)c Fu(to)h(mean)f(the)h(end)f(of)g(options.)630
-4868 y Ft(echo)f Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
-(sequences:)630 5026 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630
-5183 y Ft(\\b)384 b Fu(bac)m(kspace)630 5340 y Ft(\\c)g
-Fu(suppress)28 b(further)h(output)p eop end
+5340 y Ft(--)c Fu(to)h(mean)f(the)h(end)f(of)g(options.)p
+eop end
%%Page: 60 66
TeXDict begin 60 65 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(60)630 299 y Ft(\\e)630
-408 y(\\E)384 b Fu(escap)s(e)630 556 y Ft(\\f)g Fu(form)30
-b(feed)630 703 y Ft(\\n)384 b Fu(new)30 b(line)630 851
-y Ft(\\r)384 b Fu(carriage)32 b(return)630 998 y Ft(\\t)384
-b Fu(horizon)m(tal)32 b(tab)630 1145 y Ft(\\v)384 b Fu(v)m(ertical)32
-b(tab)630 1293 y Ft(\\\\)384 b Fu(bac)m(kslash)630 1440
-y Ft(\\0)p Fj(nnn)240 b Fu(the)32 b(eigh)m(t-bit)i(c)m(haracter)g
-(whose)e(v)-5 b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5
-b(alue)32 b Fr(nnn)f Fu(\(zero)i(to)1110 1550 y(three)e(o)s(ctal)g
-(digits\))630 1697 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)
-m(haracter)g(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5
-b(alue)39 b Fr(HH)1110 1807 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 1954 y Ft(\\u)p Fj(HHHH)192 b Fu(the)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(60)630 299 y Ft(echo)29
+b Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f(sequences:)630
+466 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 634
+y Ft(\\b)384 b Fu(bac)m(kspace)630 802 y Ft(\\c)g Fu(suppress)28
+b(further)h(output)630 969 y Ft(\\e)630 1079 y(\\E)384
+b Fu(escap)s(e)630 1247 y Ft(\\f)g Fu(form)30 b(feed)630
+1414 y Ft(\\n)384 b Fu(new)30 b(line)630 1582 y Ft(\\r)384
+b Fu(carriage)32 b(return)630 1749 y Ft(\\t)384 b Fu(horizon)m(tal)32
+b(tab)630 1917 y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630
+2085 y Ft(\\\\)384 b Fu(bac)m(kslash)630 2252 y Ft(\\0)p
+Fj(nnn)240 b Fu(the)32 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5
+b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5 b(alue)32 b Fr(nnn)f
+Fu(\(zero)i(to)1110 2362 y(three)e(o)s(ctal)g(digits\))630
+2529 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g
+(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5
+b(alue)39 b Fr(HH)1110 2639 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 2807 y Ft(\\u)p Fj(HHHH)192 b Fu(the)41
b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5
-b(alue)41 b(is)g(the)g(hex-)1110 2064 y(adecimal)32 b(v)-5
+b(alue)41 b(is)g(the)g(hex-)1110 2916 y(adecimal)32 b(v)-5
b(alue)31 b Fr(HHHH)41 b Fu(\(one)31 b(to)g(four)e(hex)h(digits\))630
-2211 y Ft(\\U)p Fj(HHHHHHHH)1110 2321 y Fu(the)41 b(Unico)s(de)g
+3084 y Ft(\\U)p Fj(HHHHHHHH)1110 3193 y Fu(the)41 b(Unico)s(de)g
(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5 b(alue)41
-b(is)g(the)g(hex-)1110 2430 y(adecimal)32 b(v)-5 b(alue)31
+b(is)g(the)g(hex-)1110 3303 y(adecimal)32 b(v)-5 b(alue)31
b Fr(HHHHHHHH)41 b Fu(\(one)31 b(to)g(eigh)m(t)h(hex)e(digits\))150
-2578 y Ft(enable)870 2706 y(enable)46 b([-a])h([-dnps])f([-f)g
-Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 2835
+3471 y Ft(enable)870 3609 y(enable)46 b([-a])h([-dnps])f([-f)g
+Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 3748
y Fu(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630
-2944 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
-(builtin)e(to)i(b)s(e)f(executed)h(without)630 3054 y(sp)s(ecifying)27
+3857 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
+(builtin)e(to)i(b)s(e)f(executed)h(without)630 3967 y(sp)s(ecifying)27
b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)g(shell)g(normally)g
-(searc)m(hes)h(for)f(builtins)630 3163 y(b)s(efore)35
+(searc)m(hes)h(for)f(builtins)630 4076 y(b)s(efore)35
b(disk)g(commands.)55 b(If)35 b Ft(-n)g Fu(is)g(used,)h(the)g
Fr(name)5 b Fu(s)35 b(b)s(ecome)h(disabled.)55 b(Otherwise)630
-3273 y Fr(name)5 b Fu(s)44 b(are)h(enabled.)82 b(F)-8
+4186 y Fr(name)5 b Fu(s)44 b(are)h(enabled.)82 b(F)-8
b(or)45 b(example,)k(to)c(use)f(the)g Ft(test)f Fu(binary)h(found)f
-(via)h Ft($PATH)630 3382 y Fu(instead)31 b(of)f(the)h(shell)f(builtin)g
+(via)h Ft($PATH)630 4296 y Fu(instead)31 b(of)f(the)h(shell)f(builtin)g
(v)m(ersion,)h(t)m(yp)s(e)g(`)p Ft(enable)e(-n)h(test)p
-Fu('.)630 3511 y(If)45 b(the)i Ft(-p)e Fu(option)h(is)g(supplied,)j(or)
+Fu('.)630 4434 y(If)45 b(the)i Ft(-p)e Fu(option)h(is)g(supplied,)j(or)
d(no)g Fr(name)51 b Fu(argumen)m(ts)46 b(app)s(ear,)k(a)c(list)h(of)f
-(shell)630 3621 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38
+(shell)630 4544 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38
b(no)f(other)h(argumen)m(ts,)j(the)d(list)g(consists)g(of)g(all)h
-(enabled)630 3730 y(shell)d(builtins.)57 b(The)35 b Ft(-a)h
+(enabled)630 4653 y(shell)d(builtins.)57 b(The)35 b Ft(-a)h
Fu(option)g(means)g(to)g(list)h(eac)m(h)g(builtin)f(with)f(an)h
-(indication)h(of)630 3840 y(whether)30 b(or)g(not)h(it)g(is)f(enabled.)
-630 3968 y(The)22 b Ft(-f)f Fu(option)h(means)g(to)h(load)g(the)f(new)g
+(indication)h(of)630 4763 y(whether)30 b(or)g(not)h(it)g(is)f(enabled.)
+630 4902 y(The)22 b Ft(-f)f Fu(option)h(means)g(to)h(load)g(the)f(new)g
(builtin)f(command)h Fr(name)27 b Fu(from)22 b(shared)f(ob)5
-b(ject)630 4078 y Fr(\014lename)p Fu(,)31 b(on)f(systems)g(that)h(supp)
+b(ject)630 5011 y Fr(\014lename)p Fu(,)31 b(on)f(systems)g(that)h(supp)
s(ort)e(dynamic)h(loading.)41 b(Bash)31 b(will)f(use)g(the)h(v)-5
-b(alue)31 b(of)630 4187 y(the)39 b Ft(BASH_LOADABLES_PATH)34
+b(alue)31 b(of)630 5121 y(the)39 b Ft(BASH_LOADABLES_PATH)34
b Fu(v)-5 b(ariable)40 b(as)f(a)h(colon-separated)h(list)f(of)f
-(directories)h(in)630 4297 y(whic)m(h)31 b(to)h(searc)m(h)g(for)f
+(directories)h(in)630 5230 y(whic)m(h)31 b(to)h(searc)m(h)g(for)f
Fr(\014lename)p Fu(.)44 b(The)31 b(default)g(is)h(system-dep)s(enden)m
-(t.)43 b(The)31 b Ft(-d)f Fu(option)630 4407 y(will)h(delete)g(a)g
-(builtin)f(loaded)h(with)f Ft(-f)p Fu(.)630 4535 y(If)j(there)i(are)f
-(no)g(options,)h(a)f(list)h(of)f(the)g(shell)g(builtins)g(is)g(displa)m
-(y)m(ed.)52 b(The)33 b Ft(-s)g Fu(option)630 4645 y(restricts)j
-Ft(enable)d Fu(to)j(the)f Fm(posix)f Fu(sp)s(ecial)i(builtins.)54
-b(If)34 b Ft(-s)h Fu(is)g(used)f(with)g Ft(-f)p Fu(,)i(the)f(new)630
-4754 y(builtin)30 b(b)s(ecomes)h(a)f(sp)s(ecial)h(builtin)f(\(see)i
-(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g(77\).)630
-4883 y(If)24 b(no)g(options)h(are)g(supplied)e(and)h(a)h
-Fr(name)k Fu(is)c(not)f(a)h(shell)g(builtin,)g Ft(enable)e
-Fu(will)i(attempt)630 4992 y(to)c(load)g Fr(name)26 b
-Fu(from)20 b(a)g(shared)g(ob)5 b(ject)21 b(named)f Fr(name)p
-Fu(,)j(as)d(if)h(the)f(command)h(w)m(ere)f(`)p Ft(enable)630
-5102 y(-f)30 b Fj(name)f(name)p Fu('.)630 5230 y(The)d(return)f(status)
-h(is)g(zero)h(unless)e(a)i Fr(name)k Fu(is)26 b(not)g(a)h(shell)f
-(builtin)g(or)g(there)g(is)g(an)g(error)630 5340 y(loading)31
-b(a)g(new)f(builtin)g(from)g(a)g(shared)g(ob)5 b(ject.)p
-eop end
+(t.)43 b(The)31 b Ft(-d)f Fu(option)630 5340 y(will)h(delete)g(a)g
+(builtin)f(loaded)h(with)f Ft(-f)p Fu(.)p eop end
%%Page: 61 67
TeXDict begin 61 66 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(61)150 299 y Ft(help)870
-435 y(help)47 b([-dms])f([)p Fj(pattern)p Ft(])630 571
-y Fu(Displa)m(y)40 b(helpful)e(information)h(ab)s(out)g(builtin)f
-(commands.)66 b(If)38 b Fr(pattern)h Fu(is)g(sp)s(eci\014ed,)630
-681 y Ft(help)28 b Fu(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)
-e(matc)m(hing)i Fr(pattern)p Fu(,)g(otherwise)f(a)g(list)h(of)630
-790 y(the)h(builtins)e(is)i(prin)m(ted.)630 926 y(Options,)f(if)h
-(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-1089 y Ft(-d)384 b Fu(Displa)m(y)32 b(a)e(short)g(description)h(of)f
-(eac)m(h)i Fr(pattern)630 1251 y Ft(-m)384 b Fu(Displa)m(y)32
-b(the)e(description)g(of)h(eac)m(h)h Fr(pattern)e Fu(in)g(a)h
-(manpage-lik)m(e)h(format)630 1414 y Ft(-s)384 b Fu(Displa)m(y)32
-b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g
-Fr(pattern)630 1576 y Fu(The)f(return)f(status)i(is)f(zero)h(unless)f
-(no)g(command)h(matc)m(hes)g Fr(pattern)p Fu(.)150 1739
-y Ft(let)870 1875 y(let)47 b Fj(expression)e Ft([)p Fj(expression)g
-Ft(...)o(])630 2011 y Fu(The)c Ft(let)g Fu(builtin)g(allo)m(ws)i
-(arithmetic)f(to)h(b)s(e)d(p)s(erformed)g(on)i(shell)g(v)-5
-b(ariables.)74 b(Eac)m(h)630 2120 y Fr(expression)31
-b Fu(is)g(ev)-5 b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)
-h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 2230
-y(Arithmetic],)51 b(page)46 b(98.)87 b(If)45 b(the)g(last)h
-Fr(expression)g Fu(ev)-5 b(aluates)47 b(to)f(0,)k Ft(let)44
-b Fu(returns)g(1;)630 2340 y(otherwise)31 b(0)g(is)f(returned.)150
-2502 y Ft(local)870 2638 y(local)46 b([)p Fj(option)p
-Ft(])g Fj(name)p Ft([=)p Fj(value)p Ft(])e(...)630 2774
-y Fu(F)-8 b(or)27 b(eac)m(h)g(argumen)m(t,)g(a)f(lo)s(cal)h(v)-5
-b(ariable)27 b(named)e Fr(name)31 b Fu(is)26 b(created,)i(and)d
-(assigned)h Fr(v)-5 b(alue)p Fu(.)630 2884 y(The)37 b
-Fr(option)h Fu(can)f(b)s(e)g(an)m(y)h(of)f(the)h(options)g(accepted)g
-(b)m(y)g Ft(declare)p Fu(.)59 b Ft(local)36 b Fu(can)i(only)630
-2993 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42
-b(mak)m(es)h(the)f(v)-5 b(ariable)43 b Fr(name)48 b Fu(ha)m(v)m(e)43
-b(a)f(visible)h(scop)s(e)630 3103 y(restricted)h(to)f(that)h(function)e
-(and)g(its)i(c)m(hildren.)78 b(If)42 b Fr(name)48 b Fu(is)43
-b(`)p Ft(-)p Fu(',)j(the)d(set)h(of)f(shell)630 3212
-y(options)34 b(is)f(made)g(lo)s(cal)i(to)f(the)f(function)g(in)g(whic)m
-(h)g Ft(local)f Fu(is)h(in)m(v)m(ok)m(ed:)48 b(shell)34
-b(options)630 3322 y(c)m(hanged)e(using)e(the)i Ft(set)e
-Fu(builtin)h(inside)g(the)g(function)g(are)g(restored)h(to)g(their)f
-(original)630 3432 y(v)-5 b(alues)36 b(when)e(the)i(function)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(61)630 299 y(If)33
+b(there)i(are)f(no)g(options,)h(a)f(list)h(of)f(the)g(shell)g(builtins)
+g(is)g(displa)m(y)m(ed.)52 b(The)33 b Ft(-s)g Fu(option)630
+408 y(restricts)j Ft(enable)d Fu(to)j(the)f Fm(posix)f
+Fu(sp)s(ecial)i(builtins.)54 b(If)34 b Ft(-s)h Fu(is)g(used)f(with)g
+Ft(-f)p Fu(,)i(the)f(new)630 518 y(builtin)30 b(b)s(ecomes)h(a)f(sp)s
+(ecial)h(builtin)f(\(see)i(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g
+(page)g(77\).)630 650 y(If)24 b(no)g(options)h(are)g(supplied)e(and)h
+(a)h Fr(name)k Fu(is)c(not)f(a)h(shell)g(builtin,)g Ft(enable)e
+Fu(will)i(attempt)630 759 y(to)c(load)g Fr(name)26 b
+Fu(from)20 b(a)g(shared)g(ob)5 b(ject)21 b(named)f Fr(name)p
+Fu(,)j(as)d(if)h(the)f(command)h(w)m(ere)f(`)p Ft(enable)630
+869 y(-f)30 b Fj(name)f(name)p Fu('.)630 1000 y(The)d(return)f(status)h
+(is)g(zero)h(unless)e(a)i Fr(name)k Fu(is)26 b(not)g(a)h(shell)f
+(builtin)g(or)g(there)g(is)g(an)g(error)630 1110 y(loading)31
+b(a)g(new)f(builtin)g(from)g(a)g(shared)g(ob)5 b(ject.)150
+1263 y Ft(help)870 1395 y(help)47 b([-dms])f([)p Fj(pattern)p
+Ft(])630 1526 y Fu(Displa)m(y)40 b(helpful)e(information)h(ab)s(out)g
+(builtin)f(commands.)66 b(If)38 b Fr(pattern)h Fu(is)g(sp)s(eci\014ed,)
+630 1636 y Ft(help)28 b Fu(giv)m(es)i(detailed)g(help)e(on)h(all)h
+(commands)e(matc)m(hing)i Fr(pattern)p Fu(,)g(otherwise)f(a)g(list)h
+(of)630 1745 y(the)h(builtins)e(is)i(prin)m(ted.)630
+1877 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
+(meanings:)630 2030 y Ft(-d)384 b Fu(Displa)m(y)32 b(a)e(short)g
+(description)h(of)f(eac)m(h)i Fr(pattern)630 2184 y Ft(-m)384
+b Fu(Displa)m(y)32 b(the)e(description)g(of)h(eac)m(h)h
+Fr(pattern)e Fu(in)g(a)h(manpage-lik)m(e)h(format)630
+2337 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(a)h(short)f(usage)h
+(synopsis)e(for)i(eac)m(h)g Fr(pattern)630 2491 y Fu(The)f(return)f
+(status)i(is)f(zero)h(unless)f(no)g(command)h(matc)m(hes)g
+Fr(pattern)p Fu(.)150 2644 y Ft(let)870 2776 y(let)47
+b Fj(expression)e Ft([)p Fj(expression)g Ft(...)o(])630
+2907 y Fu(The)c Ft(let)g Fu(builtin)g(allo)m(ws)i(arithmetic)f(to)h(b)s
+(e)d(p)s(erformed)g(on)i(shell)g(v)-5 b(ariables.)74
+b(Eac)m(h)630 3017 y Fr(expression)31 b Fu(is)g(ev)-5
+b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)h(b)s(elo)m(w)f
+(in)f(Section)i(6.5)g([Shell)630 3126 y(Arithmetic],)51
+b(page)46 b(98.)87 b(If)45 b(the)g(last)h Fr(expression)g
+Fu(ev)-5 b(aluates)47 b(to)f(0,)k Ft(let)44 b Fu(returns)g(1;)630
+3236 y(otherwise)31 b(0)g(is)f(returned.)150 3389 y Ft(local)870
+3521 y(local)46 b([)p Fj(option)p Ft(])g Fj(name)p Ft([=)p
+Fj(value)p Ft(])e(...)630 3652 y Fu(F)-8 b(or)27 b(eac)m(h)g(argumen)m
+(t,)g(a)f(lo)s(cal)h(v)-5 b(ariable)27 b(named)e Fr(name)31
+b Fu(is)26 b(created,)i(and)d(assigned)h Fr(v)-5 b(alue)p
+Fu(.)630 3762 y(The)37 b Fr(option)h Fu(can)f(b)s(e)g(an)m(y)h(of)f
+(the)h(options)g(accepted)g(b)m(y)g Ft(declare)p Fu(.)59
+b Ft(local)36 b Fu(can)i(only)630 3871 y(b)s(e)j(used)h(within)f(a)i
+(function;)48 b(it)42 b(mak)m(es)h(the)f(v)-5 b(ariable)43
+b Fr(name)48 b Fu(ha)m(v)m(e)43 b(a)f(visible)h(scop)s(e)630
+3981 y(restricted)h(to)f(that)h(function)e(and)g(its)i(c)m(hildren.)78
+b(If)42 b Fr(name)48 b Fu(is)43 b(`)p Ft(-)p Fu(',)j(the)d(set)h(of)f
+(shell)630 4091 y(options)34 b(is)f(made)g(lo)s(cal)i(to)f(the)f
+(function)g(in)g(whic)m(h)g Ft(local)f Fu(is)h(in)m(v)m(ok)m(ed:)48
+b(shell)34 b(options)630 4200 y(c)m(hanged)e(using)e(the)i
+Ft(set)e Fu(builtin)h(inside)g(the)g(function)g(are)g(restored)h(to)g
+(their)f(original)630 4310 y(v)-5 b(alues)36 b(when)e(the)i(function)f
(returns.)54 b(The)35 b(restore)h(is)g(e\013ected)h(as)e(if)h(a)g
-(series)f(of)h Ft(set)630 3541 y Fu(commands)j(w)m(ere)g(executed)h(to)
+(series)f(of)h Ft(set)630 4419 y Fu(commands)j(w)m(ere)g(executed)h(to)
f(restore)h(the)f(v)-5 b(alues)39 b(that)h(w)m(ere)f(in)f(place)i(b)s
-(efore)f(the)630 3651 y(function.)j(The)30 b(return)g(status)h(is)g
+(efore)f(the)630 4529 y(function.)j(The)30 b(return)g(status)h(is)g
(zero)h(unless)e Ft(local)g Fu(is)h(used)f(outside)h(a)g(function,)g
-(an)630 3760 y(in)m(v)-5 b(alid)31 b Fr(name)k Fu(is)c(supplied,)e(or)i
+(an)630 4639 y(in)m(v)-5 b(alid)31 b Fr(name)k Fu(is)c(supplied,)e(or)i
Fr(name)k Fu(is)c(a)f(readonly)h(v)-5 b(ariable.)150
-3923 y Ft(logout)870 4059 y(logout)46 b([)p Fj(n)p Ft(])630
-4195 y Fu(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i(status)g(of)f
-Fr(n)g Fu(to)h(the)g(shell's)f(paren)m(t.)150 4357 y
-Ft(mapfile)870 4493 y(mapfile)46 b([-d)h Fj(delim)p Ft(])f([-n)h
+4792 y Ft(logout)870 4924 y(logout)46 b([)p Fj(n)p Ft(])630
+5055 y Fu(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i(status)g(of)f
+Fr(n)g Fu(to)h(the)g(shell's)f(paren)m(t.)150 5208 y
+Ft(mapfile)870 5340 y(mapfile)46 b([-d)h Fj(delim)p Ft(])f([-n)h
Fj(count)p Ft(])f([-O)h Fj(origin)p Ft(])f([-s)g Fj(count)p
-Ft(])1061 4603 y([-t])h([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
+Ft(])p eop end
+%%Page: 62 68
+TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(62)1061 299 y
+Ft([-t])47 b([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p Ft(])630
-4739 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
+429 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p
-Fu(,)i(or)630 4849 y(from)28 b(\014le)h(descriptor)f
-Fr(fd)k Fu(if)c(the)h Ft(-u)f Fu(option)h(is)g(supplied.)39
-b(The)28 b(v)-5 b(ariable)29 b Ft(MAPFILE)e Fu(is)i(the)630
-4958 y(default)i Fr(arra)m(y)p Fu(.)41 b(Options,)30
-b(if)g(supplied,)g(ha)m(v)m(e)h(the)g(follo)m(wing)h(meanings:)630
-5121 y Ft(-d)384 b Fu(The)37 b(\014rst)g(c)m(haracter)i(of)f
-Fr(delim)g Fu(is)f(used)g(to)h(terminate)h(eac)m(h)g(input)d(line,)1110
-5230 y(rather)41 b(than)h(newline.)74 b(If)41 b Fr(delim)h
+Fu(,)i(or)630 539 y(from)28 b(\014le)h(descriptor)f Fr(fd)k
+Fu(if)c(the)h Ft(-u)f Fu(option)h(is)g(supplied.)39 b(The)28
+b(v)-5 b(ariable)29 b Ft(MAPFILE)e Fu(is)i(the)630 648
+y(default)i Fr(arra)m(y)p Fu(.)41 b(Options,)30 b(if)g(supplied,)g(ha)m
+(v)m(e)h(the)g(follo)m(wing)h(meanings:)630 799 y Ft(-d)384
+b Fu(The)37 b(\014rst)g(c)m(haracter)i(of)f Fr(delim)g
+Fu(is)f(used)g(to)h(terminate)h(eac)m(h)g(input)d(line,)1110
+908 y(rather)41 b(than)h(newline.)74 b(If)41 b Fr(delim)h
Fu(is)g(the)f(empt)m(y)h(string,)j Ft(mapfile)40 b Fu(will)1110
-5340 y(terminate)31 b(a)g(line)g(when)e(it)i(reads)f(a)h(NUL)g(c)m
-(haracter.)p eop end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y Ft(-n)384
-b Fu(Cop)m(y)30 b(at)h(most)g Fr(coun)m(t)i Fu(lines.)41
-b(If)30 b Fr(coun)m(t)j Fu(is)d(0,)h(all)h(lines)e(are)h(copied.)630
-446 y Ft(-O)384 b Fu(Begin)31 b(assigning)g(to)g Fr(arra)m(y)39
-b Fu(at)31 b(index)f Fr(origin)p Fu(.)41 b(The)30 b(default)h(index)f
-(is)g(0.)630 594 y Ft(-s)384 b Fu(Discard)31 b(the)f(\014rst)g
-Fr(coun)m(t)j Fu(lines)e(read.)630 741 y Ft(-t)384 b
-Fu(Remo)m(v)m(e)32 b(a)f(trailing)g Fr(delim)g Fu(\(default)g
-(newline\))f(from)g(eac)m(h)i(line)f(read.)630 888 y
-Ft(-u)384 b Fu(Read)31 b(lines)f(from)g(\014le)h(descriptor)f
-Fr(fd)j Fu(instead)e(of)f(the)h(standard)e(input.)630
-1036 y Ft(-C)384 b Fu(Ev)-5 b(aluate)26 b Fr(callbac)m(k)33
-b Fu(eac)m(h)26 b(time)g Fr(quan)m(tum)f Fu(lines)g(are)g(read.)39
-b(The)25 b Ft(-c)f Fu(option)1110 1145 y(sp)s(eci\014es)30
-b Fr(quan)m(tum)p Fu(.)630 1293 y Ft(-c)384 b Fu(Sp)s(ecify)30
-b(the)g(n)m(um)m(b)s(er)f(of)i(lines)f(read)h(b)s(et)m(w)m(een)g(eac)m
-(h)g(call)h(to)f Fr(callbac)m(k)p Fu(.)630 1440 y(If)36
-b Ft(-C)g Fu(is)g(sp)s(eci\014ed)g(without)g Ft(-c)p
-Fu(,)h(the)g(default)f(quan)m(tum)g(is)h(5000.)60 b(When)36
-b Fr(callbac)m(k)44 b Fu(is)630 1550 y(ev)-5 b(aluated,)30
-b(it)e(is)g(supplied)f(the)h(index)f(of)i(the)f(next)g(arra)m(y)g
-(elemen)m(t)h(to)g(b)s(e)e(assigned)i(and)630 1659 y(the)39
-b(line)g(to)h(b)s(e)e(assigned)h(to)h(that)f(elemen)m(t)i(as)e
-(additional)h(argumen)m(ts.)66 b Fr(callbac)m(k)47 b
-Fu(is)630 1769 y(ev)-5 b(aluated)32 b(after)e(the)h(line)g(is)f(read)g
-(but)g(b)s(efore)g(the)h(arra)m(y)g(elemen)m(t)g(is)g(assigned.)630
-1897 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+1018 y(terminate)31 b(a)g(line)g(when)e(it)i(reads)f(a)h(NUL)g(c)m
+(haracter.)630 1169 y Ft(-n)384 b Fu(Cop)m(y)30 b(at)h(most)g
+Fr(coun)m(t)i Fu(lines.)41 b(If)30 b Fr(coun)m(t)j Fu(is)d(0,)h(all)h
+(lines)e(are)h(copied.)630 1319 y Ft(-O)384 b Fu(Begin)31
+b(assigning)g(to)g Fr(arra)m(y)39 b Fu(at)31 b(index)f
+Fr(origin)p Fu(.)41 b(The)30 b(default)h(index)f(is)g(0.)630
+1470 y Ft(-s)384 b Fu(Discard)31 b(the)f(\014rst)g Fr(coun)m(t)j
+Fu(lines)e(read.)630 1621 y Ft(-t)384 b Fu(Remo)m(v)m(e)32
+b(a)f(trailing)g Fr(delim)g Fu(\(default)g(newline\))f(from)g(eac)m(h)i
+(line)f(read.)630 1771 y Ft(-u)384 b Fu(Read)31 b(lines)f(from)g
+(\014le)h(descriptor)f Fr(fd)j Fu(instead)e(of)f(the)h(standard)e
+(input.)630 1922 y Ft(-C)384 b Fu(Ev)-5 b(aluate)26 b
+Fr(callbac)m(k)33 b Fu(eac)m(h)26 b(time)g Fr(quan)m(tum)f
+Fu(lines)g(are)g(read.)39 b(The)25 b Ft(-c)f Fu(option)1110
+2032 y(sp)s(eci\014es)30 b Fr(quan)m(tum)p Fu(.)630 2182
+y Ft(-c)384 b Fu(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f(of)i(lines)f
+(read)h(b)s(et)m(w)m(een)g(eac)m(h)g(call)h(to)f Fr(callbac)m(k)p
+Fu(.)630 2333 y(If)36 b Ft(-C)g Fu(is)g(sp)s(eci\014ed)g(without)g
+Ft(-c)p Fu(,)h(the)g(default)f(quan)m(tum)g(is)h(5000.)60
+b(When)36 b Fr(callbac)m(k)44 b Fu(is)630 2443 y(ev)-5
+b(aluated,)30 b(it)e(is)g(supplied)f(the)h(index)f(of)i(the)f(next)g
+(arra)m(y)g(elemen)m(t)h(to)g(b)s(e)e(assigned)i(and)630
+2552 y(the)39 b(line)g(to)h(b)s(e)e(assigned)h(to)h(that)f(elemen)m(t)i
+(as)e(additional)h(argumen)m(ts.)66 b Fr(callbac)m(k)47
+b Fu(is)630 2662 y(ev)-5 b(aluated)32 b(after)e(the)h(line)g(is)f(read)
+g(but)g(b)s(efore)g(the)h(arra)m(y)g(elemen)m(t)g(is)g(assigned.)630
+2792 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
Ft(mapfile)c Fu(will)j(clear)g Fr(arra)m(y)34 b Fu(b)s(efore)24
-b(assigning)630 2007 y(to)31 b(it.)630 2135 y Ft(mapfile)41
+b(assigning)630 2902 y(to)31 b(it.)630 3032 y Ft(mapfile)41
b Fu(returns)g(successfully)i(unless)e(an)i(in)m(v)-5
b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630
-2245 y(supplied,)29 b Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5
+3141 y(supplied,)29 b Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5
b(alid)31 b(or)g(unassignable,)f(or)h Fr(arra)m(y)38
b Fu(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150
-2392 y Ft(printf)870 2521 y(printf)46 b([-v)h Fj(var)p
-Ft(])g Fj(format)f Ft([)p Fj(arguments)p Ft(])630 2649
+3292 y Ft(printf)870 3422 y(printf)46 b([-v)h Fj(var)p
+Ft(])g Fj(format)f Ft([)p Fj(arguments)p Ft(])630 3552
y Fu(W)-8 b(rite)27 b(the)g(formatted)f Fr(argumen)m(ts)k
Fu(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
-630 2759 y Fr(format)p Fu(.)66 b(The)39 b Ft(-v)f Fu(option)h(causes)g
+630 3662 y Fr(format)p Fu(.)66 b(The)39 b Ft(-v)f Fu(option)h(causes)g
(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h(the)f(v)-5
-b(ariable)39 b Fr(v)-5 b(ar)630 2869 y Fu(rather)30 b(than)g(b)s(eing)g
-(prin)m(ted)g(to)h(the)g(standard)e(output.)630 2997
+b(ariable)39 b Fr(v)-5 b(ar)630 3771 y Fu(rather)30 b(than)g(b)s(eing)g
+(prin)m(ted)g(to)h(the)g(standard)e(output.)630 3902
y(The)36 b Fr(format)i Fu(is)f(a)f(c)m(haracter)i(string)e(whic)m(h)g
(con)m(tains)i(three)e(t)m(yp)s(es)g(of)h(ob)5 b(jects:)53
-b(plain)630 3107 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
+b(plain)630 4011 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
(copied)i(to)g(standard)f(output,)i(c)m(haracter)g(escap)s(e)e(se-)630
-3216 y(quences,)g(whic)m(h)f(are)g(con)m(v)m(erted)h(and)f(copied)g(to)
-g(the)g(standard)f(output,)i(and)f(format)630 3326 y(sp)s
+4121 y(quences,)g(whic)m(h)f(are)g(con)m(v)m(erted)h(and)f(copied)g(to)
+g(the)g(standard)f(output,)i(and)f(format)630 4230 y(sp)s
(eci\014cations,)j(eac)m(h)e(of)g(whic)m(h)f(causes)g(prin)m(ting)g(of)
h(the)f(next)h(successiv)m(e)g Fr(argumen)m(t)p Fu(.)630
-3435 y(In)24 b(addition)h(to)g(the)g(standard)f Ft(printf\(1\))e
+4340 y(In)24 b(addition)h(to)g(the)g(standard)f Ft(printf\(1\))e
Fu(formats,)27 b Ft(printf)c Fu(in)m(terprets)i(the)f(follo)m(wing)630
-3545 y(extensions:)630 3692 y Ft(\045b)384 b Fu(Causes)38
+4450 y(extensions:)630 4600 y Ft(\045b)384 b Fu(Causes)38
b Ft(printf)f Fu(to)j(expand)e(bac)m(kslash)h(escap)s(e)g(sequences)g
-(in)f(the)h(cor-)1110 3802 y(resp)s(onding)31 b Fr(argumen)m(t)j
+(in)f(the)h(cor-)1110 4710 y(resp)s(onding)31 b Fr(argumen)m(t)j
Fu(in)e(the)h(same)f(w)m(a)m(y)h(as)g Ft(echo)c(-e)j
-Fu(\(see)h(Section)g(4.2)1110 3912 y([Bash)e(Builtins],)g(page)g(55\).)
-630 4059 y Ft(\045q)384 b Fu(Causes)32 b Ft(printf)e
+Fu(\(see)h(Section)g(4.2)1110 4819 y([Bash)e(Builtins],)g(page)g(55\).)
+630 4970 y Ft(\045q)384 b Fu(Causes)32 b Ft(printf)e
Fu(to)i(output)g(the)g(corresp)s(onding)f Fr(argumen)m(t)j
-Fu(in)d(a)i(format)1110 4169 y(that)e(can)g(b)s(e)e(reused)h(as)h
-(shell)f(input.)630 4316 y Ft(\045Q)384 b Fu(lik)m(e)34
+Fu(in)d(a)i(format)1110 5080 y(that)e(can)g(b)s(e)e(reused)h(as)h
+(shell)f(input.)630 5230 y Ft(\045Q)384 b Fu(lik)m(e)34
b Ft(\045q)p Fu(,)f(but)f(applies)g(an)m(y)h(supplied)e(precision)i(to)
-h(the)e Fr(argumen)m(t)j Fu(b)s(efore)1110 4425 y(quoting)c(it.)630
-4573 y Ft(\045\()p Fj(datefmt)p Ft(\)T)1110 4682 y Fu(Causes)e
-Ft(printf)e Fu(to)j(output)f(the)g(date-time)i(string)e(resulting)h
-(from)e(using)1110 4792 y Fr(datefm)m(t)45 b Fu(as)d(a)g(format)g
-(string)g(for)g Ft(strftime)p Fu(\(3\).)74 b(The)41 b(corresp)s(onding)
-1110 4902 y Fr(argumen)m(t)h Fu(is)e(an)g(in)m(teger)i(represen)m(ting)
-e(the)g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 5011
-y(the)24 b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f
-(v)-5 b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25
-b(represen)m(ts)1110 5121 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i
-(represen)m(ts)f(the)g(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)
-1110 5230 y(If)38 b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)i(con)m(v)m
-(ersion)f(b)s(eha)m(v)m(es)g(as)g(if)f(-1)h(had)f(b)s(een)1110
-5340 y(giv)m(en.)k(This)29 b(is)i(an)f(exception)i(to)f(the)f(usual)g
-Ft(printf)f Fu(b)s(eha)m(vior.)p eop end
+h(the)e Fr(argumen)m(t)j Fu(b)s(efore)1110 5340 y(quoting)c(it.)p
+eop end
%%Page: 63 69
TeXDict begin 63 68 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y(The)26
-b(\045b,)h(\045q,)h(and)e(\045T)g(directiv)m(es)j(all)e(use)g(the)g
-(\014eld)f(width)g(and)h(precision)g(argumen)m(ts)630
-408 y(from)f(the)g(format)h(sp)s(eci\014cation)g(and)e(write)i(that)f
-(man)m(y)h(b)m(ytes)f(from)g(\(or)h(use)e(that)i(wide)630
-518 y(a)42 b(\014eld)g(for\))g(the)h(expanded)e(argumen)m(t,)k(whic)m
-(h)d(usually)g(con)m(tains)h(more)f(c)m(haracters)630
-628 y(than)30 b(the)h(original.)630 760 y(Argumen)m(ts)d(to)h
-(non-string)e(format)i(sp)s(eci\014ers)e(are)h(treated)h(as)g(C)e
-(language)j(constan)m(ts,)630 870 y(except)22 b(that)g(a)g(leading)g
-(plus)e(or)h(min)m(us)f(sign)i(is)f(allo)m(w)m(ed,)k(and)c(if)g(the)g
-(leading)h(c)m(haracter)h(is)630 979 y(a)i(single)g(or)f(double)h
-(quote,)h(the)f(v)-5 b(alue)25 b(is)f(the)h(ASCI)s(I)e(v)-5
-b(alue)25 b(of)f(the)h(follo)m(wing)h(c)m(haracter.)630
-1112 y(The)31 b Fr(format)i Fu(is)f(reused)e(as)i(necessary)f(to)i
-(consume)e(all)h(of)f(the)h Fr(argumen)m(ts)p Fu(.)44
-b(If)30 b(the)i Fr(for-)630 1222 y(mat)c Fu(requires)e(more)g
-Fr(argumen)m(ts)k Fu(than)25 b(are)i(supplied,)e(the)h(extra)h(format)f
-(sp)s(eci\014cations)630 1331 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
-(v)-5 b(alue)29 b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)
-s(een)g(supplied.)38 b(The)630 1441 y(return)29 b(v)-5
-b(alue)31 b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
-1597 y Ft(read)870 1729 y(read)47 b([-ers])f([-a)h Fj(aname)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y Ft(\045\()p
+Fj(datefmt)p Ft(\)T)1110 408 y Fu(Causes)29 b Ft(printf)e
+Fu(to)j(output)f(the)g(date-time)i(string)e(resulting)h(from)e(using)
+1110 518 y Fr(datefm)m(t)45 b Fu(as)d(a)g(format)g(string)g(for)g
+Ft(strftime)p Fu(\(3\).)74 b(The)41 b(corresp)s(onding)1110
+628 y Fr(argumen)m(t)h Fu(is)e(an)g(in)m(teger)i(represen)m(ting)e(the)
+g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 737 y(the)24
+b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f(v)-5
+b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25 b(represen)m(ts)1110
+847 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i(represen)m(ts)f(the)g
+(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)1110
+956 y(If)38 b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)i(con)m(v)m
+(ersion)f(b)s(eha)m(v)m(es)g(as)g(if)f(-1)h(had)f(b)s(een)1110
+1066 y(giv)m(en.)k(This)29 b(is)i(an)f(exception)i(to)f(the)f(usual)g
+Ft(printf)f Fu(b)s(eha)m(vior.)630 1219 y(The)d(\045b,)h(\045q,)h(and)e
+(\045T)g(directiv)m(es)j(all)e(use)g(the)g(\014eld)f(width)g(and)h
+(precision)g(argumen)m(ts)630 1329 y(from)f(the)g(format)h(sp)s
+(eci\014cation)g(and)e(write)i(that)f(man)m(y)h(b)m(ytes)f(from)g(\(or)
+h(use)e(that)i(wide)630 1439 y(a)42 b(\014eld)g(for\))g(the)h(expanded)
+e(argumen)m(t,)k(whic)m(h)d(usually)g(con)m(tains)h(more)f(c)m
+(haracters)630 1548 y(than)30 b(the)h(original.)630 1680
+y(Argumen)m(ts)d(to)h(non-string)e(format)i(sp)s(eci\014ers)e(are)h
+(treated)h(as)g(C)e(language)j(constan)m(ts,)630 1789
+y(except)22 b(that)g(a)g(leading)g(plus)e(or)h(min)m(us)f(sign)i(is)f
+(allo)m(w)m(ed,)k(and)c(if)g(the)g(leading)h(c)m(haracter)h(is)630
+1899 y(a)i(single)g(or)f(double)h(quote,)h(the)f(v)-5
+b(alue)25 b(is)f(the)h(ASCI)s(I)e(v)-5 b(alue)25 b(of)f(the)h(follo)m
+(wing)h(c)m(haracter.)630 2030 y(The)31 b Fr(format)i
+Fu(is)f(reused)e(as)i(necessary)f(to)i(consume)e(all)h(of)f(the)h
+Fr(argumen)m(ts)p Fu(.)44 b(If)30 b(the)i Fr(for-)630
+2140 y(mat)c Fu(requires)e(more)g Fr(argumen)m(ts)k Fu(than)25
+b(are)i(supplied,)e(the)h(extra)h(format)f(sp)s(eci\014cations)630
+2250 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g(v)-5 b(alue)29
+b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)s(een)g
+(supplied.)38 b(The)630 2359 y(return)29 b(v)-5 b(alue)31
+b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
+2513 y Ft(read)870 2644 y(read)47 b([-ers])f([-a)h Fj(aname)p
Ft(])f([-d)h Fj(delim)p Ft(])f([-i)h Fj(text)p Ft(])f([-n)h
-Fj(nchars)p Ft(])1061 1839 y([-N)g Fj(nchars)p Ft(])f([-p)h
+Fj(nchars)p Ft(])1061 2754 y([-N)g Fj(nchars)p Ft(])f([-p)h
Fj(prompt)p Ft(])e([-t)i Fj(timeout)p Ft(])f([-u)h Fj(fd)p
-Ft(])g([)p Fj(name)f Ft(...)o(])630 1972 y Fu(One)38
+Ft(])g([)p Fj(name)f Ft(...)o(])630 2885 y Fu(One)38
b(line)g(is)g(read)g(from)g(the)g(standard)f(input,)j(or)e(from)f(the)i
-(\014le)f(descriptor)g Fr(fd)j Fu(sup-)630 2081 y(plied)34
+(\014le)f(descriptor)g Fr(fd)j Fu(sup-)630 2995 y(plied)34
b(as)h(an)f(argumen)m(t)h(to)g(the)f Ft(-u)g Fu(option,)i(split)f(in)m
(to)g(w)m(ords)f(as)g(describ)s(ed)g(ab)s(o)m(v)m(e)h(in)630
-2191 y(Section)j(3.5.7)h([W)-8 b(ord)38 b(Splitting],)i(page)e(35,)j
+3104 y(Section)j(3.5.7)h([W)-8 b(ord)38 b(Splitting],)i(page)e(35,)j
(and)36 b(the)i(\014rst)f(w)m(ord)g(is)g(assigned)h(to)g(the)630
-2300 y(\014rst)32 b Fr(name)p Fu(,)h(the)g(second)g(w)m(ord)f(to)h(the)
+3214 y(\014rst)32 b Fr(name)p Fu(,)h(the)g(second)g(w)m(ord)f(to)h(the)
g(second)g Fr(name)p Fu(,)g(and)f(so)h(on.)47 b(If)32
-b(there)h(are)g(more)630 2410 y(w)m(ords)39 b(than)g(names,)j(the)e
+b(there)h(are)g(more)630 3324 y(w)m(ords)39 b(than)g(names,)j(the)e
(remaining)f(w)m(ords)g(and)g(their)h(in)m(terv)m(ening)g(delimiters)h
-(are)630 2519 y(assigned)29 b(to)h(the)g(last)g Fr(name)p
+(are)630 3433 y(assigned)29 b(to)h(the)g(last)g Fr(name)p
Fu(.)40 b(If)29 b(there)g(are)h(few)m(er)f(w)m(ords)g(read)g(from)g
-(the)g(input)g(stream)630 2629 y(than)35 b(names,)i(the)e(remaining)h
+(the)g(input)g(stream)630 3543 y(than)35 b(names,)i(the)e(remaining)h
(names)f(are)h(assigned)f(empt)m(y)h(v)-5 b(alues.)56
-b(The)34 b(c)m(haracters)630 2739 y(in)e(the)h(v)-5 b(alue)33
+b(The)34 b(c)m(haracters)630 3652 y(in)e(the)h(v)-5 b(alue)33
b(of)g(the)g Ft(IFS)f Fu(v)-5 b(ariable)33 b(are)h(used)d(to)j(split)f
-(the)g(line)g(in)m(to)g(w)m(ords)g(using)f(the)630 2848
+(the)g(line)g(in)m(to)g(w)m(ords)g(using)f(the)630 3762
y(same)d(rules)f(the)g(shell)h(uses)f(for)g(expansion)g(\(describ)s(ed)
g(ab)s(o)m(v)m(e)i(in)e(Section)h(3.5.7)h([W)-8 b(ord)630
-2958 y(Splitting],)38 b(page)f(35\).)60 b(The)35 b(bac)m(kslash)i(c)m
+3871 y(Splitting],)38 b(page)f(35\).)60 b(The)35 b(bac)m(kslash)i(c)m
(haracter)h(`)p Ft(\\)p Fu(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m
-(e)h(an)m(y)630 3067 y(sp)s(ecial)31 b(meaning)g(for)f(the)g(next)h(c)m
+(e)h(an)m(y)630 3981 y(sp)s(ecial)31 b(meaning)g(for)f(the)g(next)h(c)m
(haracter)h(read)e(and)g(for)g(line)h(con)m(tin)m(uation.)630
-3200 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 3356 y Ft(-a)e Fj(aname)114 b Fu(The)34
+4113 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
+(meanings:)630 4266 y Ft(-a)e Fj(aname)114 b Fu(The)34
b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m(tial)h(indices)e(of)g(the)g
-(arra)m(y)h(v)-5 b(ariable)1110 3465 y Fr(aname)p Fu(,)29
+(arra)m(y)h(v)-5 b(ariable)1110 4376 y Fr(aname)p Fu(,)29
b(starting)h(at)f(0.)40 b(All)29 b(elemen)m(ts)h(are)e(remo)m(v)m(ed)i
-(from)d Fr(aname)34 b Fu(b)s(efore)1110 3575 y(the)d(assignmen)m(t.)41
+(from)d Fr(aname)34 b Fu(b)s(efore)1110 4485 y(the)d(assignmen)m(t.)41
b(Other)30 b Fr(name)36 b Fu(argumen)m(ts)30 b(are)h(ignored.)630
-3731 y Ft(-d)f Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
+4639 y Ft(-d)f Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
Fr(delim)g Fu(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-3840 y(rather)31 b(than)g(newline.)42 b(If)30 b Fr(delim)h
+4748 y(rather)31 b(than)g(newline.)42 b(If)30 b Fr(delim)h
Fu(is)g(the)h(empt)m(y)f(string,)g Ft(read)f Fu(will)h(termi-)1110
-3950 y(nate)g(a)g(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)
-630 4106 y Ft(-e)384 b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)
-f(Line)h(Editing],)50 b(page)45 b(117\))i(is)1110 4215
+4858 y(nate)g(a)g(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)
+630 5011 y Ft(-e)384 b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)
+f(Line)h(Editing],)50 b(page)45 b(117\))i(is)1110 5121
y(used)37 b(to)i(obtain)g(the)f(line.)65 b(Readline)39
b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
-4325 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
-(editing)d(settings,)j(but)c(uses)1110 4434 y(Readline's)31
-b(default)g(\014lename)f(completion.)630 4590 y Ft(-i)g
-Fj(text)162 b Fu(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)g
-(the)g(line,)j Fr(text)f Fu(is)e(placed)h(in)m(to)g(the)1110
-4700 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630
-4855 y Ft(-n)f Fj(nchars)66 b Ft(read)38 b Fu(returns)f(after)j
-(reading)f Fr(nc)m(hars)j Fu(c)m(haracters)e(rather)f(than)g(w)m
-(aiting)1110 4965 y(for)d(a)h(complete)h(line)f(of)g(input,)g(but)f
-(honors)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 5075
-y Fr(nc)m(hars)d Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
-(delimiter.)630 5230 y Ft(-N)g Fj(nchars)66 b Ft(read)39
-b Fu(returns)f(after)j(reading)e(exactly)j Fr(nc)m(hars)h
-Fu(c)m(haracters)f(rather)d(than)1110 5340 y(w)m(aiting)32
-b(for)f(a)g(complete)i(line)e(of)g(input,)g(unless)f(EOF)h(is)g(encoun)
-m(tered)g(or)p eop end
+5230 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
+(editing)d(settings,)j(but)c(uses)1110 5340 y(Readline's)31
+b(default)g(\014lename)f(completion.)p eop end
%%Page: 64 70
TeXDict begin 64 69 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(64)1110 299 y
-Ft(read)30 b Fu(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f
-(encoun)m(tered)g(in)f(the)g(input)g(are)1110 408 y(not)g(treated)h(sp)
-s(ecially)f(and)f(do)h(not)g(cause)g Ft(read)e Fu(to)j(return)d(un)m
-(til)i Fr(nc)m(hars)1110 518 y Fu(c)m(haracters)26 b(are)f(read.)38
+b(Shell)30 b(Builtin)h(Commands)2069 b(64)630 299 y Ft(-i)30
+b Fj(text)162 b Fu(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)
+g(the)g(line,)j Fr(text)f Fu(is)e(placed)h(in)m(to)g(the)1110
+408 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630
+564 y Ft(-n)f Fj(nchars)66 b Ft(read)38 b Fu(returns)f(after)j(reading)
+f Fr(nc)m(hars)j Fu(c)m(haracters)e(rather)f(than)g(w)m(aiting)1110
+674 y(for)d(a)h(complete)h(line)f(of)g(input,)g(but)f(honors)g(a)h
+(delimiter)g(if)f(few)m(er)h(than)1110 783 y Fr(nc)m(hars)d
+Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g(delimiter.)630
+939 y Ft(-N)g Fj(nchars)66 b Ft(read)39 b Fu(returns)f(after)j(reading)
+e(exactly)j Fr(nc)m(hars)h Fu(c)m(haracters)f(rather)d(than)1110
+1049 y(w)m(aiting)32 b(for)f(a)g(complete)i(line)e(of)g(input,)g
+(unless)f(EOF)h(is)g(encoun)m(tered)g(or)1110 1158 y
+Ft(read)f Fu(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m
+(tered)g(in)f(the)g(input)g(are)1110 1268 y(not)g(treated)h(sp)s
+(ecially)f(and)f(do)h(not)g(cause)g Ft(read)e Fu(to)j(return)d(un)m
+(til)i Fr(nc)m(hars)1110 1377 y Fu(c)m(haracters)26 b(are)f(read.)38
b(The)24 b(result)g(is)h(not)f(split)h(on)f(the)h(c)m(haracters)h(in)e
-Ft(IFS)p Fu(;)1110 628 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
+Ft(IFS)p Fu(;)1110 1487 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
b(ariable)23 b(is)f(assigned)g(exactly)i(the)e(c)m(haracters)i(read)
-1110 737 y(\(with)30 b(the)h(exception)h(of)e(bac)m(kslash;)h(see)g
-(the)g Ft(-r)f Fu(option)h(b)s(elo)m(w\).)630 894 y Ft(-p)f
-Fj(prompt)66 b Fu(Displa)m(y)38 b Fr(prompt)p Fu(,)g(without)e(a)h
-(trailing)h(newline,)h(b)s(efore)d(attempting)i(to)1110
-1004 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m(y)m
-(ed)h(only)f(if)g(input)g(is)g(coming)1110 1114 y(from)30
-b(a)h(terminal.)630 1271 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
+1110 1597 y(\(with)30 b(the)h(exception)h(of)e(bac)m(kslash;)h(see)g
+(the)g Ft(-r)f Fu(option)h(b)s(elo)m(w\).)630 1752 y
+Ft(-p)f Fj(prompt)66 b Fu(Displa)m(y)38 b Fr(prompt)p
+Fu(,)g(without)e(a)h(trailing)h(newline,)h(b)s(efore)d(attempting)i(to)
+1110 1862 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
+(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 1972 y(from)30
+b(a)h(terminal.)630 2127 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
(giv)m(en,)k(bac)m(kslash)d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h
-(c)m(haracter.)1110 1380 y(The)30 b(bac)m(kslash)i(is)f(considered)g
+(c)m(haracter.)1110 2237 y(The)30 b(bac)m(kslash)i(is)f(considered)g
(to)h(b)s(e)e(part)h(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110
-1490 y(bac)m(kslash-newline)26 b(pair)e(ma)m(y)h(not)g(then)g(b)s(e)f
-(used)g(as)h(a)g(line)g(con)m(tin)m(uation.)630 1647
+2346 y(bac)m(kslash-newline)26 b(pair)e(ma)m(y)h(not)g(then)g(b)s(e)f
+(used)g(as)h(a)g(line)g(con)m(tin)m(uation.)630 2502
y Ft(-s)384 b Fu(Silen)m(t)28 b(mo)s(de.)40 b(If)27 b(input)f(is)i
(coming)g(from)f(a)h(terminal,)h(c)m(haracters)g(are)f(not)1110
-1757 y(ec)m(ho)s(ed.)630 1914 y Ft(-t)i Fj(timeout)1110
-2024 y Fu(Cause)23 b Ft(read)f Fu(to)i(time)f(out)h(and)e(return)g
+2612 y(ec)m(ho)s(ed.)630 2768 y Ft(-t)i Fj(timeout)1110
+2877 y Fu(Cause)23 b Ft(read)f Fu(to)i(time)f(out)h(and)e(return)g
(failure)h(if)g(a)h(complete)g(line)g(of)f(input)1110
-2133 y(\(or)h(a)f(sp)s(eci\014ed)g(n)m(um)m(b)s(er)f(of)i(c)m
+2987 y(\(or)h(a)f(sp)s(eci\014ed)g(n)m(um)m(b)s(er)f(of)i(c)m
(haracters\))h(is)e(not)h(read)f(within)g Fr(timeout)j
-Fu(sec-)1110 2243 y(onds.)43 b Fr(timeout)34 b Fu(ma)m(y)e(b)s(e)e(a)i
+Fu(sec-)1110 3096 y(onds.)43 b Fr(timeout)34 b Fu(ma)m(y)e(b)s(e)e(a)i
(decimal)g(n)m(um)m(b)s(er)e(with)h(a)h(fractional)g(p)s(ortion)1110
-2352 y(follo)m(wing)39 b(the)f(decimal)g(p)s(oin)m(t.)63
+3206 y(follo)m(wing)39 b(the)f(decimal)g(p)s(oin)m(t.)63
b(This)37 b(option)h(is)g(only)f(e\013ectiv)m(e)k(if)c
-Ft(read)1110 2462 y Fu(is)c(reading)h(input)e(from)h(a)h(terminal,)h
+Ft(read)1110 3315 y Fu(is)c(reading)h(input)e(from)h(a)h(terminal,)h
(pip)s(e,)e(or)h(other)f(sp)s(ecial)h(\014le;)h(it)f(has)1110
-2572 y(no)f(e\013ect)i(when)d(reading)i(from)f(regular)g(\014les.)50
-b(If)33 b Ft(read)f Fu(times)i(out,)g Ft(read)1110 2681
+3425 y(no)f(e\013ect)i(when)d(reading)i(from)f(regular)g(\014les.)50
+b(If)33 b Ft(read)f Fu(times)i(out,)g Ft(read)1110 3535
y Fu(sa)m(v)m(es)41 b(an)m(y)f(partial)h(input)e(read)g(in)m(to)i(the)f
(sp)s(eci\014ed)f(v)-5 b(ariable)40 b Fr(name)p Fu(.)69
-b(If)1110 2791 y Fr(timeout)31 b Fu(is)c(0,)i Ft(read)d
+b(If)1110 3644 y Fr(timeout)31 b Fu(is)c(0,)i Ft(read)d
Fu(returns)h(immediately)-8 b(,)30 b(without)d(trying)h(to)g(read)g(an)
-m(y)1110 2900 y(data.)49 b(The)33 b(exit)h(status)f(is)g(0)g(if)g
+m(y)1110 3754 y(data.)49 b(The)33 b(exit)h(status)f(is)g(0)g(if)g
(input)f(is)h(a)m(v)-5 b(ailable)36 b(on)c(the)i(sp)s(eci\014ed)e
-(\014le)1110 3010 y(descriptor,)37 b(or)e(the)h(read)f(will)h(return)e
-(EOF,)h(non-zero)h(otherwise.)56 b(The)1110 3120 y(exit)31
+(\014le)1110 3863 y(descriptor,)37 b(or)e(the)h(read)f(will)h(return)e
+(EOF,)h(non-zero)h(otherwise.)56 b(The)1110 3973 y(exit)31
b(status)g(is)f(greater)i(than)e(128)i(if)e(the)h(timeout)g(is)f
-(exceeded.)630 3277 y Ft(-u)g Fj(fd)258 b Fu(Read)31
+(exceeded.)630 4129 y Ft(-u)g Fj(fd)258 b Fu(Read)31
b(input)e(from)h(\014le)g(descriptor)h Fr(fd)p Fu(.)630
-3434 y(If)h(no)g Fr(name)5 b Fu(s)33 b(are)f(supplied,)g(the)h(line)g
+4284 y(If)h(no)g Fr(name)5 b Fu(s)33 b(are)f(supplied,)g(the)h(line)g
(read,)g(without)f(the)h(ending)f(delimiter)h(but)e(oth-)630
-3544 y(erwise)36 b(unmo)s(di\014ed,)e(is)i(assigned)f(to)h(the)g(v)-5
+4394 y(erwise)36 b(unmo)s(di\014ed,)e(is)i(assigned)f(to)h(the)g(v)-5
b(ariable)36 b Ft(REPLY)p Fu(.)55 b(The)34 b(exit)j(status)e(is)h
-(zero,)630 3653 y(unless)i(end-of-\014le)h(is)f(encoun)m(tered,)j
+(zero,)630 4504 y(unless)i(end-of-\014le)h(is)f(encoun)m(tered,)j
Ft(read)d Fu(times)h(out)f(\(in)h(whic)m(h)f(case)h(the)g(status)g(is)
-630 3763 y(greater)31 b(than)f(128\),)i(a)e(v)-5 b(ariable)30
+630 4613 y(greater)31 b(than)f(128\),)i(a)e(v)-5 b(ariable)30
b(assignmen)m(t)h(error)f(\(suc)m(h)f(as)i(assigning)f(to)h(a)f
-(readonly)630 3872 y(v)-5 b(ariable\))30 b(o)s(ccurs,)f(or)f(an)h(in)m
+(readonly)630 4723 y(v)-5 b(ariable\))30 b(o)s(ccurs,)f(or)f(an)h(in)m
(v)-5 b(alid)29 b(\014le)g(descriptor)f(is)h(supplied)e(as)i(the)g
-(argumen)m(t)g(to)g Ft(-u)p Fu(.)150 4030 y Ft(readarray)870
-4139 y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p
+(argumen)m(t)g(to)g Ft(-u)p Fu(.)150 4879 y Ft(readarray)870
+4988 y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p
Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])1061
-4249 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
+5098 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p Ft(])630
-4382 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
+5230 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p
-Fu(,)i(or)630 4492 y(from)30 b(\014le)g(descriptor)h
-Fr(fd)i Fu(if)d(the)h Ft(-u)e Fu(option)i(is)g(supplied.)630
-4625 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 4783
-y Ft(source)870 4916 y(source)46 b Fj(filename)630 5049
-y Fu(A)30 b(synon)m(ym)g(for)g Ft(.)g Fu(\(see)i(Section)f(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(48\).)150 5207
-y Ft(type)870 5340 y(type)47 b([-afptP])e([)p Fj(name)i
-Ft(...)o(])p eop end
+Fu(,)i(or)630 5340 y(from)30 b(\014le)g(descriptor)h
+Fr(fd)i Fu(if)d(the)h Ft(-u)e Fu(option)i(is)g(supplied.)p
+eop end
%%Page: 65 71
TeXDict begin 65 70 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(65)630 299 y(F)-8
-b(or)42 b(eac)m(h)g Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)
-g(b)s(e)g(in)m(terpreted)g(if)g(used)f(as)i(a)f(command)630
-408 y(name.)630 543 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j
-Ft(type)c Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h
-(of)g(`)p Ft(alias)p Fu(',)630 653 y(`)p Ft(function)p
-Fu(',)32 b(`)p Ft(builtin)p Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(65)630 299 y(A)30
+b(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 455 y Ft(source)870
+588 y(source)46 b Fj(filename)630 721 y Fu(A)30 b(synon)m(ym)g(for)g
+Ft(.)g Fu(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g
+(48\).)150 877 y Ft(type)870 1010 y(type)47 b([-afptP])e([)p
+Fj(name)i Ft(...)o(])630 1142 y Fu(F)-8 b(or)42 b(eac)m(h)g
+Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m
+(terpreted)g(if)g(used)f(as)i(a)f(command)630 1252 y(name.)630
+1385 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c
+Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p
+Ft(alias)p Fu(',)630 1494 y(`)p Ft(function)p Fu(',)32
+b(`)p Ft(builtin)p Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p
Ft(keyword)p Fu(',)f(if)h Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e
-(function,)630 762 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
+(function,)630 1604 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
(reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55
-b(If)34 b(the)h Fr(name)40 b Fu(is)35 b(not)630 872 y(found,)29
-b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g Ft(type)f
-Fu(returns)g(a)i(failure)g(status.)630 1007 y(If)25 b(the)g
-Ft(-p)g Fu(option)h(is)f(used,)h Ft(type)e Fu(either)h(returns)g(the)g
-(name)g(of)h(the)f(disk)g(\014le)g(that)h(w)m(ould)630
-1116 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g Ft(-t)g
-Fu(w)m(ould)g(not)h(return)e(`)p Ft(file)p Fu('.)630
-1251 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
+b(If)34 b(the)h Fr(name)40 b Fu(is)35 b(not)630 1714
+y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g
+Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 1846
+y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h Ft(type)e
+Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g(that)h(w)
+m(ould)630 1956 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g
+Ft(-t)g Fu(w)m(ould)g(not)h(return)e(`)p Ft(file)p Fu('.)630
+2089 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
(eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h
-(return)630 1360 y(`)p Ft(file)p Fu('.)630 1495 y(If)f(a)g(command)g
+(return)630 2198 y(`)p Ft(file)p Fu('.)630 2331 y(If)f(a)g(command)g
(is)g(hashed,)f Ft(-p)h Fu(and)f Ft(-P)g Fu(prin)m(t)h(the)g(hashed)f
-(v)-5 b(alue,)31 b(whic)m(h)f(is)g(not)g(neces-)630 1605
+(v)-5 b(alue,)31 b(whic)m(h)f(is)g(not)g(neces-)630 2441
y(sarily)h(the)f(\014le)h(that)g(app)s(ears)e(\014rst)h(in)g
-Ft($PATH)p Fu(.)630 1739 y(If)22 b(the)i Ft(-a)e Fu(option)h(is)g
+Ft($PATH)p Fu(.)630 2574 y(If)22 b(the)i Ft(-a)e Fu(option)h(is)g
(used,)h Ft(type)e Fu(returns)f(all)j(of)f(the)g(places)h(that)f(con)m
-(tain)i(an)d(executable)630 1849 y(named)32 b Fr(\014le)p
+(tain)i(an)d(executable)630 2683 y(named)32 b Fr(\014le)p
Fu(.)49 b(This)32 b(includes)h(aliases)h(and)e(functions,)i(if)f(and)f
-(only)h(if)g(the)g Ft(-p)f Fu(option)i(is)630 1958 y(not)d(also)g
-(used.)630 2093 y(If)f(the)g Ft(-f)g Fu(option)g(is)h(used,)e
+(only)h(if)g(the)g Ft(-p)f Fu(option)i(is)630 2793 y(not)d(also)g
+(used.)630 2926 y(If)f(the)g Ft(-f)g Fu(option)g(is)h(used,)e
Ft(type)g Fu(do)s(es)h(not)h(attempt)g(to)g(\014nd)d(shell)j
-(functions,)f(as)g(with)630 2203 y(the)h Ft(command)d
-Fu(builtin.)630 2337 y(The)j(return)e(status)j(is)f(zero)h(if)f(all)g
+(functions,)f(as)g(with)630 3035 y(the)h Ft(command)d
+Fu(builtin.)630 3168 y(The)j(return)e(status)j(is)f(zero)h(if)f(all)g
(of)h(the)f Fr(name)5 b Fu(s)31 b(are)g(found,)f(non-zero)i(if)f(an)m
-(y)g(are)h(not)630 2447 y(found.)150 2607 y Ft(typeset)870
-2741 y(typeset)46 b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 2876 y Fu(The)31
+(y)g(are)h(not)630 3278 y(found.)150 3434 y Ft(typeset)870
+3567 y(typeset)46 b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p
+Ft([=)p Fj(value)p Ft(])d(...)o(])630 3699 y Fu(The)31
b Ft(typeset)e Fu(command)i(is)g(supplied)f(for)h(compatibilit)m(y)i
-(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 2985
+(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 3809
y(a)g(synon)m(ym)f(for)g(the)g Ft(declare)f Fu(builtin)h(command.)150
-3145 y Ft(ulimit)870 3280 y(ulimit)46 b([-HS])g(-a)870
-3389 y(ulimit)g([-HS])g([-bcdefiklmnpqrstuvxPRT])c([)p
-Fj(limit)p Ft(])630 3524 y(ulimit)25 b Fu(pro)m(vides)h(con)m(trol)i(o)
+3965 y Ft(ulimit)870 4098 y(ulimit)46 b([-HS])g(-a)870
+4208 y(ulimit)g([-HS])g([-bcdefiklmnpqrstuvxPRT])c([)p
+Fj(limit)p Ft(])630 4340 y(ulimit)25 b Fu(pro)m(vides)h(con)m(trol)i(o)
m(v)m(er)g(the)f(resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)
-f(started)h(b)m(y)g(the)630 3634 y(shell,)i(on)f(systems)g(that)h(allo)
+f(started)h(b)m(y)g(the)630 4450 y(shell,)i(on)f(systems)g(that)h(allo)
m(w)h(suc)m(h)e(con)m(trol.)41 b(If)28 b(an)g(option)h(is)f(giv)m(en,)i
-(it)e(is)h(in)m(terpreted)630 3743 y(as)i(follo)m(ws:)630
-3903 y Ft(-S)384 b Fu(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)
-g(asso)s(ciated)h(with)e(a)h(resource.)630 4062 y Ft(-H)384
+(it)e(is)h(in)m(terpreted)630 4560 y(as)i(follo)m(ws:)630
+4716 y Ft(-S)384 b Fu(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)
+g(asso)s(ciated)h(with)e(a)h(resource.)630 4872 y Ft(-H)384
b Fu(Change)30 b(and)g(rep)s(ort)g(the)g(hard)g(limit)h(asso)s(ciated)h
-(with)e(a)h(resource.)630 4222 y Ft(-a)384 b Fu(All)31
+(with)e(a)h(resource.)630 5028 y Ft(-a)384 b Fu(All)31
b(curren)m(t)f(limits)h(are)g(rep)s(orted;)f(no)g(limits)h(are)g(set.)
-630 4382 y Ft(-b)384 b Fu(The)30 b(maxim)m(um)g(so)s(c)m(k)m(et)i
-(bu\013er)e(size.)630 4542 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)
-h(of)g(core)g(\014les)f(created.)630 4701 y Ft(-d)384
+630 5184 y Ft(-b)384 b Fu(The)30 b(maxim)m(um)g(so)s(c)m(k)m(et)i
+(bu\013er)e(size.)630 5340 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)
+h(of)g(core)g(\014les)f(created.)p eop end
+%%Page: 66 72
+TeXDict begin 66 71 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(66)630 299 y Ft(-d)384
b Fu(The)30 b(maxim)m(um)g(size)h(of)g(a)g(pro)s(cess's)f(data)h
-(segmen)m(t.)630 4861 y Ft(-e)384 b Fu(The)30 b(maxim)m(um)g(sc)m
+(segmen)m(t.)630 453 y Ft(-e)384 b Fu(The)30 b(maxim)m(um)g(sc)m
(heduling)h(priorit)m(y)f(\()p Ft(")p Fu(nice)p Ft(")p
-Fu(\).)630 5021 y Ft(-f)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
+Fu(\).)630 608 y Ft(-f)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
(\014les)f(written)h(b)m(y)f(the)g(shell)h(and)f(its)h(c)m(hildren.)630
-5180 y Ft(-i)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s
-(ending)e(signals.)630 5340 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m
-(um)m(b)s(er)f(of)i(kqueues)f(that)h(ma)m(y)g(b)s(e)e(allo)s(cated.)p
-eop end
-%%Page: 66 72
-TeXDict begin 66 71 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(66)630 299 y Ft(-l)384
-b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s(e)f(lo)s(c)m(k)m
-(ed)i(in)m(to)f(memory)-8 b(.)630 467 y Ft(-m)384 b Fu(The)36
-b(maxim)m(um)g(residen)m(t)h(set)g(size)g(\(man)m(y)g(systems)f(do)h
-(not)f(honor)g(this)1110 576 y(limit\).)630 744 y Ft(-n)384
-b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s(er)e(of)i(op)s(en)f(\014le)h
-(descriptors)g(\(most)g(systems)g(do)1110 854 y(not)31
-b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)630
-1022 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
-1190 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
-(ytes)g(in)f Fm(posix)f Fu(message)j(queues.)630 1358
+763 y Ft(-i)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s
+(ending)e(signals.)630 917 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m
+(um)m(b)s(er)f(of)i(kqueues)f(that)h(ma)m(y)g(b)s(e)e(allo)s(cated.)630
+1072 y Ft(-l)384 b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s
+(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 b(.)630 1226
+y Ft(-m)384 b Fu(The)36 b(maxim)m(um)g(residen)m(t)h(set)g(size)g
+(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 1336
+y(limit\).)630 1490 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
+(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do)1110
+1600 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
+630 1754 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
+1909 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
+(ytes)g(in)f Fm(posix)f Fu(message)j(queues.)630 2064
y Ft(-r)384 b Fu(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f
-(priorit)m(y)-8 b(.)630 1526 y Ft(-s)384 b Fu(The)30
-b(maxim)m(um)g(stac)m(k)i(size.)630 1694 y Ft(-t)384
+(priorit)m(y)-8 b(.)630 2218 y Ft(-s)384 b Fu(The)30
+b(maxim)m(um)g(stac)m(k)i(size.)630 2373 y Ft(-t)384
b Fu(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h(in)f(seconds.)
-630 1862 y Ft(-u)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+630 2527 y Ft(-u)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(pro)s(cesses)f(a)m(v)-5 b(ailable)33 b(to)e(a)f(single)i(user.)630
-2030 y Ft(-v)384 b Fu(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h(virtual)f
+2682 y Ft(-v)384 b Fu(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h(virtual)f
(memory)g(a)m(v)-5 b(ailable)44 b(to)e(the)g(shell,)1110
-2140 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
-2308 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
-(\014le)f(lo)s(c)m(ks.)630 2476 y Ft(-P)384 b Fu(The)30
+2791 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
+2946 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(\014le)f(lo)s(c)m(ks.)630 3100 y Ft(-P)384 b Fu(The)30
b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(pseudoterminals.)630
-2643 y Ft(-R)384 b Fu(The)27 b(maxim)m(um)h(time)h(a)f(real-time)i(pro)
+3255 y Ft(-R)384 b Fu(The)27 b(maxim)m(um)h(time)h(a)f(real-time)i(pro)
s(cess)d(can)i(run)d(b)s(efore)i(blo)s(c)m(king,)h(in)1110
-2753 y(microseconds.)630 2921 y Ft(-T)384 b Fu(The)30
-b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 3089
+3365 y(microseconds.)630 3519 y Ft(-T)384 b Fu(The)30
+b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 3674
y(If)36 b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h
Ft(-a)f Fu(option)h(is)f(not)h(used,)h Fr(limit)h Fu(is)e(the)g(new)f
-(v)-5 b(alue)37 b(of)g(the)630 3199 y(sp)s(eci\014ed)c(resource.)51
+(v)-5 b(alue)37 b(of)g(the)630 3783 y(sp)s(eci\014ed)c(resource.)51
b(The)34 b(sp)s(ecial)g Fr(limit)j Fu(v)-5 b(alues)34
b Ft(hard)p Fu(,)g Ft(soft)p Fu(,)g(and)f Ft(unlimited)e
-Fu(stand)630 3308 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
+Fu(stand)630 3893 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
(curren)m(t)f(soft)g(limit,)h(and)f(no)g(limit,)h(resp)s(ectiv)m(ely)-8
-b(.)48 b(A)630 3418 y(hard)24 b(limit)i(cannot)g(b)s(e)e(increased)h(b)
+b(.)48 b(A)630 4002 y(hard)24 b(limit)i(cannot)g(b)s(e)e(increased)h(b)
m(y)g(a)h(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)j(a)d(soft)g
-(limit)h(ma)m(y)630 3527 y(b)s(e)37 b(increased)h(up)e(to)j(the)f(v)-5
+(limit)h(ma)m(y)630 4112 y(b)s(e)37 b(increased)h(up)e(to)j(the)f(v)-5
b(alue)38 b(of)f(the)h(hard)f(limit.)63 b(Otherwise,)39
-b(the)f(curren)m(t)f(v)-5 b(alue)630 3637 y(of)39 b(the)g(soft)h(limit)
+b(the)f(curren)m(t)f(v)-5 b(alue)630 4222 y(of)39 b(the)g(soft)h(limit)
g(for)f(the)g(sp)s(eci\014ed)f(resource)h(is)g(prin)m(ted,)i(unless)e
-(the)g Ft(-H)f Fu(option)i(is)630 3747 y(supplied.)47
+(the)g Ft(-H)f Fu(option)i(is)630 4331 y(supplied.)47
b(When)33 b(more)g(than)g(one)g(resource)g(is)g(sp)s(eci\014ed,)g(the)g
-(limit)h(name)f(and)f(unit,)630 3856 y(if)27 b(appropriate,)h(are)f
+(limit)h(name)f(and)f(unit,)630 4441 y(if)27 b(appropriate,)h(are)f
(prin)m(ted)g(b)s(efore)g(the)g(v)-5 b(alue.)40 b(When)27
-b(setting)h(new)e(limits,)j(if)e(neither)630 3966 y Ft(-H)38
+b(setting)h(new)e(limits,)j(if)e(neither)630 4550 y Ft(-H)38
b Fu(nor)g Ft(-S)g Fu(is)h(supplied,)h(b)s(oth)e(the)h(hard)f(and)g
(soft)h(limits)g(are)g(set.)67 b(If)38 b(no)h(option)g(is)630
-4075 y(giv)m(en,)c(then)f Ft(-f)e Fu(is)i(assumed.)49
+4660 y(giv)m(en,)c(then)f Ft(-f)e Fu(is)i(assumed.)49
b(V)-8 b(alues)35 b(are)e(in)h(1024-b)m(yte)i(incremen)m(ts,)f(except)f
-(for)f Ft(-t)p Fu(,)630 4185 y(whic)m(h)e(is)g(in)g(seconds;)h
+(for)f Ft(-t)p Fu(,)630 4770 y(whic)m(h)e(is)g(in)g(seconds;)h
Ft(-R)p Fu(,)g(whic)m(h)f(is)g(in)g(microseconds;)h Ft(-p)p
-Fu(,)g(whic)m(h)f(is)g(in)g(units)g(of)g(512-)630 4295
+Fu(,)g(whic)m(h)f(is)g(in)g(units)g(of)g(512-)630 4879
y(b)m(yte)k(blo)s(c)m(ks;)j Ft(-P)p Fu(,)e Ft(-T)p Fu(,)f
Ft(-b)p Fu(,)h Ft(-k)p Fu(,)f Ft(-n)g Fu(and)f Ft(-u)p
Fu(,)h(whic)m(h)g(are)g(unscaled)g(v)-5 b(alues;)37 b(and,)f(when)630
-4404 y(in)g Fm(posix)f Fu(Mo)s(de)h(\(see)g(Section)h(6.11)g([Bash)g
+4989 y(in)g Fm(posix)f Fu(Mo)s(de)h(\(see)g(Section)h(6.11)g([Bash)g
(POSIX)d(Mo)s(de],)k(page)f(106\),)i Ft(-c)c Fu(and)g
-Ft(-f)p Fu(,)630 4514 y(whic)m(h)30 b(are)h(in)f(512-b)m(yte)j
-(incremen)m(ts.)630 4653 y(The)h(return)g(status)h(is)f(zero)i(unless)e
+Ft(-f)p Fu(,)630 5098 y(whic)m(h)30 b(are)h(in)f(512-b)m(yte)j
+(incremen)m(ts.)630 5230 y(The)h(return)g(status)h(is)f(zero)i(unless)e
(an)g(in)m(v)-5 b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)
-h(or)630 4762 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
-(limit.)150 4930 y Ft(unalias)870 5069 y(unalias)46 b([-a])g([)p
-Fj(name)h Ft(...)g(])630 5208 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f
-Fr(name)k Fu(from)39 b(the)i(list)f(of)g(aliases.)71
-b(If)40 b Ft(-a)f Fu(is)h(supplied,)h(all)g(aliases)h(are)630
-5317 y(remo)m(v)m(ed.)g(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
-i(6.6)f([Aliases],)h(page)f(100.)p eop end
+h(or)630 5340 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
+(limit.)p eop end
%%Page: 67 73
TeXDict begin 67 72 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(67)150 299 y Fs(4.3)68
-b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 520 y Fk(4.3.1)63
-b(The)41 b(Set)g(Builtin)150 667 y Fu(This)35 b(builtin)h(is)g(so)g
-(complicated)i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59
-b Ft(set)35 b Fu(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
-777 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
-(p)s(ositional)h(parameters,)h(or)e(to)h(displa)m(y)f(the)g(names)h
-(and)150 886 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-1041 y Ft(set)870 1172 y(set)47 b([-abefhkmnptuvxBCEHPT])42
-b([-o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])870 1282 y(set)i([+abefhkmnptuvxBCEHPT])42
+b(Shell)30 b(Builtin)h(Commands)2069 b(67)150 299 y Ft(unalias)870
+428 y(unalias)46 b([-a])g([)p Fj(name)h Ft(...)g(])630
+558 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f Fr(name)k Fu(from)39
+b(the)i(list)f(of)g(aliases.)71 b(If)40 b Ft(-a)f Fu(is)h(supplied,)h
+(all)g(aliases)h(are)630 668 y(remo)m(v)m(ed.)g(Aliases)31
+b(are)g(describ)s(ed)e(in)h(Section)i(6.6)f([Aliases],)h(page)f(100.)
+150 898 y Fs(4.3)68 b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150
+1118 y Fk(4.3.1)63 b(The)41 b(Set)g(Builtin)150 1265
+y Fu(This)35 b(builtin)h(is)g(so)g(complicated)i(that)f(it)f(deserv)m
+(es)h(its)f(o)m(wn)g(section.)59 b Ft(set)35 b Fu(allo)m(ws)j(y)m(ou)e
+(to)h(c)m(hange)150 1374 y(the)c(v)-5 b(alues)34 b(of)f(shell)g
+(options)h(and)e(set)i(the)f(p)s(ositional)h(parameters,)h(or)e(to)h
+(displa)m(y)f(the)g(names)h(and)150 1484 y(v)-5 b(alues)31
+b(of)f(shell)h(v)-5 b(ariables.)150 1633 y Ft(set)870
+1763 y(set)47 b([-abefhkmnptuvxBCEHPT])42 b([-o)47 b
+Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
+Ft(...)o(])870 1873 y(set)i([+abefhkmnptuvxBCEHPT])42
b([+o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])630 1414 y Fu(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
+Ft(...)o(])630 2002 y Fu(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
(are)g(supplied,)g Ft(set)f Fu(displa)m(ys)g(the)h(names)g(and)f(v)-5
-b(alues)23 b(of)g(all)630 1523 y(shell)j(v)-5 b(ariables)27
+b(alues)23 b(of)g(all)630 2112 y(shell)j(v)-5 b(ariables)27
b(and)e(functions,)h(sorted)g(according)h(to)g(the)f(curren)m(t)f(lo)s
-(cale,)k(in)c(a)i(format)630 1633 y(that)i(ma)m(y)h(b)s(e)e(reused)g
+(cale,)k(in)c(a)i(format)630 2221 y(that)i(ma)m(y)h(b)s(e)e(reused)g
(as)h(input)f(for)h(setting)h(or)e(resetting)i(the)f(curren)m(tly-set)h
-(v)-5 b(ariables.)630 1743 y(Read-only)37 b(v)-5 b(ariables)37
+(v)-5 b(ariables.)630 2331 y(Read-only)37 b(v)-5 b(ariables)37
b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fm(posix)g Fu(mo)s(de,)i(only)f
-(shell)f(v)-5 b(ariables)38 b(are)630 1852 y(listed.)630
-1984 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
+(shell)f(v)-5 b(ariables)38 b(are)630 2440 y(listed.)630
+2570 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
(shell)h(attributes.)41 b(Options,)29 b(if)g(sp)s(ec-)630
-2094 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-2248 y Ft(-a)384 b Fu(Eac)m(h)37 b(v)-5 b(ariable)36
+2680 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+2829 y Ft(-a)384 b Fu(Eac)m(h)37 b(v)-5 b(ariable)36
b(or)g(function)g(that)g(is)g(created)h(or)f(mo)s(di\014ed)f(is)h(giv)m
-(en)h(the)1110 2357 y(exp)s(ort)28 b(attribute)h(and)f(mark)m(ed)g(for)
+(en)h(the)1110 2939 y(exp)s(ort)28 b(attribute)h(and)f(mark)m(ed)g(for)
g(exp)s(ort)g(to)h(the)g(en)m(vironmen)m(t)f(of)h(sub-)1110
-2467 y(sequen)m(t)i(commands.)630 2621 y Ft(-b)384 b
+3048 y(sequen)m(t)i(commands.)630 3198 y Ft(-b)384 b
Fu(Cause)44 b(the)h(status)g(of)f(terminated)h(bac)m(kground)g(jobs)f
-(to)h(b)s(e)f(rep)s(orted)1110 2730 y(immediately)-8
+(to)h(b)s(e)f(rep)s(orted)1110 3307 y(immediately)-8
b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)g(the)g(next)g
-(primary)g(prompt.)630 2885 y Ft(-e)384 b Fu(Exit)65
+(primary)g(prompt.)630 3457 y Ft(-e)384 b Fu(Exit)65
b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g(3.2.3)h([Pip)s
-(elines],)1110 2994 y(page)51 b(10\),)58 b(whic)m(h)50
+(elines],)1110 3567 y(page)51 b(10\),)58 b(whic)m(h)50
b(ma)m(y)h(consist)h(of)e(a)i(single)f(simple)g(command)f(\(see)1110
-3104 y(Section)30 b(3.2.2)i([Simple)d(Commands],)g(page)h(9\),)h(a)f
-(list)g(\(see)h(Section)f(3.2.4)1110 3213 y([Lists],)60
+3676 y(Section)30 b(3.2.2)i([Simple)d(Commands],)g(page)h(9\),)h(a)f
+(list)g(\(see)h(Section)f(3.2.4)1110 3786 y([Lists],)60
b(page)55 b(10\),)60 b(or)54 b(a)g(comp)s(ound)e(command)h(\(see)i
-(Section)f(3.2.5)1110 3323 y([Comp)s(ound)60 b(Commands],)70
+(Section)f(3.2.5)1110 3895 y([Comp)s(ound)60 b(Commands],)70
b(page)63 b(11\))g(returns)e(a)i(non-zero)f(status.)1110
-3432 y(The)41 b(shell)g(do)s(es)g(not)g(exit)h(if)f(the)h(command)f
-(that)h(fails)f(is)g(part)g(of)h(the)1110 3542 y(command)g(list)h
+4005 y(The)41 b(shell)g(do)s(es)g(not)g(exit)h(if)f(the)h(command)f
+(that)h(fails)f(is)g(part)g(of)h(the)1110 4115 y(command)g(list)h
(immediately)g(follo)m(wing)g(a)g Ft(while)e Fu(or)h
-Ft(until)e Fu(k)m(eyw)m(ord,)1110 3652 y(part)61 b(of)g(the)g(test)h
+Ft(until)e Fu(k)m(eyw)m(ord,)1110 4224 y(part)61 b(of)g(the)g(test)h
(in)e(an)h Ft(if)f Fu(statemen)m(t,)71 b(part)61 b(of)g(an)m(y)g
-(command)1110 3761 y(executed)50 b(in)e(a)h Ft(&&)f Fu(or)h
+(command)1110 4334 y(executed)50 b(in)e(a)h Ft(&&)f Fu(or)h
Ft(||)f Fu(list)h(except)g(the)g(command)g(follo)m(wing)h(the)1110
-3871 y(\014nal)37 b Ft(&&)g Fu(or)g Ft(||)p Fu(,)h(an)m(y)g(command)f
+4443 y(\014nal)37 b Ft(&&)g Fu(or)g Ft(||)p Fu(,)h(an)m(y)g(command)f
(in)g(a)g(pip)s(eline)g(but)g(the)g(last,)j(or)e(if)f(the)1110
-3980 y(command's)c(return)f(status)h(is)g(b)s(eing)g(in)m(v)m(erted)h
+4553 y(command's)c(return)f(status)h(is)g(b)s(eing)g(in)m(v)m(erted)h
(with)e Ft(!)p Fu(.)48 b(If)33 b(a)g(comp)s(ound)1110
-4090 y(command)g(other)g(than)f(a)i(subshell)d(returns)h(a)h(non-zero)h
-(status)f(b)s(ecause)1110 4200 y(a)k(command)g(failed)g(while)g
+4662 y(command)g(other)g(than)f(a)i(subshell)d(returns)h(a)h(non-zero)h
+(status)f(b)s(ecause)1110 4772 y(a)k(command)g(failed)g(while)g
Ft(-e)f Fu(w)m(as)i(b)s(eing)e(ignored,)j(the)e(shell)g(do)s(es)g(not)
-1110 4309 y(exit.)42 b(A)30 b(trap)g(on)h Ft(ERR)p Fu(,)e(if)i(set,)g
+1110 4882 y(exit.)42 b(A)30 b(trap)g(on)h Ft(ERR)p Fu(,)e(if)i(set,)g
(is)f(executed)i(b)s(efore)e(the)g(shell)h(exits.)1110
-4441 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g
-(and)f(eac)m(h)h(subshell)f(en-)1110 4551 y(vironmen)m(t)j(separately)i
+5011 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g
+(and)f(eac)m(h)h(subshell)f(en-)1110 5121 y(vironmen)m(t)j(separately)i
(\(see)f(Section)g(3.7.3)h([Command)d(Execution)i(En-)1110
-4660 y(vironmen)m(t],)i(page)f(43\),)i(and)d(ma)m(y)h(cause)f
-(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 4770 y(cuting)d(all)g
-(the)g(commands)f(in)g(the)g(subshell.)1110 4902 y(If)41
+5230 y(vironmen)m(t],)i(page)f(43\),)i(and)d(ma)m(y)h(cause)f
+(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 5340 y(cuting)d(all)g
+(the)g(commands)f(in)g(the)g(subshell.)p eop end
+%%Page: 68 74
+TeXDict begin 68 73 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(68)1110 299 y(If)41
b(a)g(comp)s(ound)e(command)i(or)g(shell)g(function)g(executes)h(in)f
-(a)g(con)m(text)1110 5011 y(where)31 b Ft(-e)g Fu(is)g(b)s(eing)g
+(a)g(con)m(text)1110 408 y(where)31 b Ft(-e)g Fu(is)g(b)s(eing)g
(ignored,)h(none)f(of)h(the)f(commands)g(executed)h(within)1110
-5121 y(the)j(comp)s(ound)f(command)h(or)g(function)f(b)s(o)s(dy)g(will)
-h(b)s(e)f(a\013ected)j(b)m(y)e(the)1110 5230 y Ft(-e)25
+518 y(the)j(comp)s(ound)f(command)h(or)g(function)f(b)s(o)s(dy)g(will)h
+(b)s(e)f(a\013ected)j(b)m(y)e(the)1110 628 y Ft(-e)25
b Fu(setting,)j(ev)m(en)e(if)g Ft(-e)f Fu(is)h(set)g(and)f(a)h(command)
-g(returns)e(a)i(failure)g(status.)1110 5340 y(If)32 b(a)i(comp)s(ound)d
+g(returns)e(a)i(failure)g(status.)1110 737 y(If)32 b(a)i(comp)s(ound)d
(command)i(or)g(shell)g(function)f(sets)i Ft(-e)e Fu(while)h(executing)
-p eop end
-%%Page: 68 74
-TeXDict begin 68 73 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(68)1110 299 y(in)40
-b(a)h(con)m(text)i(where)d Ft(-e)g Fu(is)h(ignored,)j(that)d(setting)h
-(will)f(not)g(ha)m(v)m(e)h(an)m(y)1110 408 y(e\013ect)g(un)m(til)e(the)
-h(comp)s(ound)e(command)h(or)g(the)g(command)g(con)m(taining)1110
-518 y(the)31 b(function)f(call)h(completes.)630 682 y
-Ft(-f)384 b Fu(Disable)31 b(\014lename)g(expansion)f(\(globbing\).)630
-847 y Ft(-h)384 b Fu(Lo)s(cate)33 b(and)e(remem)m(b)s(er)h(\(hash\))g
-(commands)f(as)h(they)g(are)g(lo)s(ok)m(ed)h(up)e(for)1110
-956 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
-(default.)630 1121 y Ft(-k)384 b Fu(All)34 b(argumen)m(ts)g(in)f(the)h
-(form)f(of)g(assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110
-1230 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
-(those)i(that)f(precede)g(the)1110 1340 y(command)30
-b(name.)630 1504 y Ft(-m)384 b Fu(Job)28 b(con)m(trol)h(is)f(enabled)g
+1110 847 y(in)40 b(a)h(con)m(text)i(where)d Ft(-e)g Fu(is)h(ignored,)j
+(that)d(setting)h(will)f(not)g(ha)m(v)m(e)h(an)m(y)1110
+956 y(e\013ect)g(un)m(til)e(the)h(comp)s(ound)e(command)h(or)g(the)g
+(command)g(con)m(taining)1110 1066 y(the)31 b(function)f(call)h
+(completes.)630 1217 y Ft(-f)384 b Fu(Disable)31 b(\014lename)g
+(expansion)f(\(globbing\).)630 1367 y Ft(-h)384 b Fu(Lo)s(cate)33
+b(and)e(remem)m(b)s(er)h(\(hash\))g(commands)f(as)h(they)g(are)g(lo)s
+(ok)m(ed)h(up)e(for)1110 1477 y(execution.)42 b(This)29
+b(option)i(is)g(enabled)f(b)m(y)g(default.)630 1628 y
+Ft(-k)384 b Fu(All)34 b(argumen)m(ts)g(in)f(the)h(form)f(of)g
+(assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110
+1737 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
+(those)i(that)f(precede)g(the)1110 1847 y(command)30
+b(name.)630 1998 y Ft(-m)384 b Fu(Job)28 b(con)m(trol)h(is)f(enabled)g
(\(see)h(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(113\).)41
-b(All)1110 1614 y(pro)s(cesses)27 b(run)f(in)i(a)g(separate)g(pro)s
+b(All)1110 2107 y(pro)s(cesses)27 b(run)f(in)i(a)g(separate)g(pro)s
(cess)f(group.)40 b(When)27 b(a)h(bac)m(kground)f(job)1110
-1724 y(completes,)32 b(the)f(shell)f(prin)m(ts)g(a)h(line)f(con)m
-(taining)i(its)f(exit)g(status.)630 1888 y Ft(-n)384
+2217 y(completes,)32 b(the)f(shell)f(prin)m(ts)g(a)h(line)f(con)m
+(taining)i(its)f(exit)g(status.)630 2367 y Ft(-n)384
b Fu(Read)38 b(commands)f(but)f(do)i(not)f(execute)i(them.)62
-b(This)37 b(ma)m(y)h(b)s(e)f(used)f(to)1110 1998 y(c)m(hec)m(k)d(a)e
+b(This)37 b(ma)m(y)h(b)s(e)f(used)f(to)1110 2477 y(c)m(hec)m(k)d(a)e
(script)g(for)g(syn)m(tax)h(errors.)42 b(This)30 b(option)i(is)f
-(ignored)g(b)m(y)g(in)m(terac-)1110 2107 y(tiv)m(e)h(shells.)630
-2271 y Ft(-o)e Fj(option-name)1110 2381 y Fu(Set)h(the)f(option)h
+(ignored)g(b)m(y)g(in)m(terac-)1110 2587 y(tiv)m(e)h(shells.)630
+2737 y Ft(-o)e Fj(option-name)1110 2847 y Fu(Set)h(the)f(option)h
(corresp)s(onding)e(to)i Fr(option-name)5 b Fu(:)1110
-2545 y Ft(allexport)1590 2655 y Fu(Same)30 b(as)h Ft(-a)p
-Fu(.)1110 2819 y Ft(braceexpand)1590 2929 y Fu(Same)f(as)h
-Ft(-B)p Fu(.)1110 3093 y Ft(emacs)240 b Fu(Use)25 b(an)f
+2998 y Ft(allexport)1590 3107 y Fu(Same)30 b(as)h Ft(-a)p
+Fu(.)1110 3258 y Ft(braceexpand)1590 3367 y Fu(Same)f(as)h
+Ft(-B)p Fu(.)1110 3518 y Ft(emacs)240 b Fu(Use)25 b(an)f
Ft(emacs)p Fu(-st)m(yle)h(line)f(editing)h(in)m(terface)h(\(see)g
-(Chapter)e(8)1590 3203 y([Command)33 b(Line)g(Editing],)h(page)h
-(117\).)51 b(This)32 b(also)i(a\013ects)1590 3313 y(the)d(editing)g(in)
-m(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3477
+(Chapter)e(8)1590 3628 y([Command)33 b(Line)g(Editing],)h(page)h
+(117\).)51 b(This)32 b(also)i(a\013ects)1590 3737 y(the)d(editing)g(in)
+m(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3888
y Ft(errexit)144 b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110
-3641 y Ft(errtrace)96 b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110
-3806 y Ft(functrace)1590 3915 y Fu(Same)f(as)h Ft(-T)p
-Fu(.)1110 4080 y Ft(hashall)144 b Fu(Same)30 b(as)h Ft(-h)p
-Fu(.)1110 4244 y Ft(histexpand)1590 4354 y Fu(Same)f(as)h
-Ft(-H)p Fu(.)1110 4518 y Ft(history)144 b Fu(Enable)39
+4039 y Ft(errtrace)96 b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110
+4189 y Ft(functrace)1590 4299 y Fu(Same)f(as)h Ft(-T)p
+Fu(.)1110 4450 y Ft(hashall)144 b Fu(Same)30 b(as)h Ft(-h)p
+Fu(.)1110 4600 y Ft(histexpand)1590 4710 y Fu(Same)f(as)h
+Ft(-H)p Fu(.)1110 4861 y Ft(history)144 b Fu(Enable)39
b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h(Section)h(9.1)
-1590 4628 y([Bash)d(History)g(F)-8 b(acilities],)41 b(page)c(152.)60
-b(This)36 b(option)h(is)f(on)1590 4737 y(b)m(y)30 b(default)h(in)f(in)m
-(teractiv)m(e)j(shells.)1110 4902 y Ft(ignoreeof)1590
-5011 y Fu(An)d(in)m(teractiv)m(e)j(shell)e(will)g(not)f(exit)h(up)s(on)
-e(reading)i(EOF.)1110 5176 y Ft(keyword)144 b Fu(Same)30
-b(as)h Ft(-k)p Fu(.)1110 5340 y Ft(monitor)144 b Fu(Same)30
-b(as)h Ft(-m)p Fu(.)p eop end
+1590 4970 y([Bash)d(History)g(F)-8 b(acilities],)41 b(page)c(152.)60
+b(This)36 b(option)h(is)f(on)1590 5080 y(b)m(y)30 b(default)h(in)f(in)m
+(teractiv)m(e)j(shells.)1110 5230 y Ft(ignoreeof)1590
+5340 y Fu(An)d(in)m(teractiv)m(e)j(shell)e(will)g(not)f(exit)h(up)s(on)
+e(reading)i(EOF.)p eop end
%%Page: 69 75
TeXDict begin 69 74 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(69)1110 299 y
-Ft(noclobber)1590 408 y Fu(Same)30 b(as)h Ft(-C)p Fu(.)1110
-570 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p Fu(.)1110
-731 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p Fu(.)1110
-892 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
-1053 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
-1214 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
-1375 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)1110
-1537 y Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
-1698 y Ft(pipefail)96 b Fu(If)44 b(set,)k(the)d(return)e(v)-5
+Ft(keyword)144 b Fu(Same)30 b(as)h Ft(-k)p Fu(.)1110
+457 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)1110
+615 y Ft(noclobber)1590 725 y Fu(Same)f(as)h Ft(-C)p
+Fu(.)1110 883 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p
+Fu(.)1110 1042 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p
+Fu(.)1110 1200 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
+1358 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
+1517 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
+1675 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)1110
+1833 y Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
+1991 y Ft(pipefail)96 b Fu(If)44 b(set,)k(the)d(return)e(v)-5
b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i(the)f(v)-5 b(alue)45
-b(of)1590 1807 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
-(exit)g(with)f(a)g(non-zero)1590 1917 y(status,)28 b(or)f(zero)g(if)f
+b(of)1590 2101 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
+(exit)g(with)f(a)g(non-zero)1590 2211 y(status,)28 b(or)f(zero)g(if)f
(all)i(commands)e(in)g(the)h(pip)s(eline)f(exit)i(suc-)1590
-2027 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
-(default.)1110 2188 y Ft(posix)240 b Fu(Change)30 b(the)g(b)s(eha)m
+2320 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
+(default.)1110 2478 y Ft(posix)240 b Fu(Change)30 b(the)g(b)s(eha)m
(vior)h(of)f(Bash)g(where)g(the)g(default)h(op)s(era-)1590
-2297 y(tion)25 b(di\013ers)f(from)g(the)h Fm(posix)f
-Fu(standard)f(to)i(matc)m(h)h(the)f(stan-)1590 2407 y(dard)h(\(see)j
+2588 y(tion)25 b(di\013ers)f(from)g(the)h Fm(posix)f
+Fu(standard)f(to)i(matc)m(h)h(the)f(stan-)1590 2698 y(dard)h(\(see)j
(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)f(106\).)1590
-2516 y(This)37 b(is)g(in)m(tended)g(to)h(mak)m(e)g(Bash)g(b)s(eha)m(v)m
-(e)g(as)g(a)f(strict)h(su-)1590 2626 y(p)s(erset)30 b(of)h(that)f
-(standard.)1110 2787 y Ft(privileged)1590 2897 y Fu(Same)g(as)h
-Ft(-p)p Fu(.)1110 3058 y Ft(verbose)144 b Fu(Same)30
-b(as)h Ft(-v)p Fu(.)1110 3219 y Ft(vi)384 b Fu(Use)36
+2807 y(This)37 b(is)g(in)m(tended)g(to)h(mak)m(e)g(Bash)g(b)s(eha)m(v)m
+(e)g(as)g(a)f(strict)h(su-)1590 2917 y(p)s(erset)30 b(of)h(that)f
+(standard.)1110 3075 y Ft(privileged)1590 3185 y Fu(Same)g(as)h
+Ft(-p)p Fu(.)1110 3343 y Ft(verbose)144 b Fu(Same)30
+b(as)h Ft(-v)p Fu(.)1110 3501 y Ft(vi)384 b Fu(Use)36
b(a)g Ft(vi)p Fu(-st)m(yle)g(line)g(editing)g(in)m(terface.)58
-b(This)35 b(also)h(a\013ects)1590 3329 y(the)31 b(editing)g(in)m
-(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3490
+b(This)35 b(also)h(a\013ects)1590 3611 y(the)31 b(editing)g(in)m
+(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3769
y Ft(xtrace)192 b Fu(Same)30 b(as)h Ft(-x)p Fu(.)630
-3651 y Ft(-p)384 b Fu(T)-8 b(urn)33 b(on)h(privileged)h(mo)s(de.)51
+3927 y Ft(-p)384 b Fu(T)-8 b(urn)33 b(on)h(privileged)h(mo)s(de.)51
b(In)34 b(this)g(mo)s(de,)h(the)f Ft($BASH_ENV)e Fu(and)h
-Ft($ENV)1110 3761 y Fu(\014les)23 b(are)h(not)f(pro)s(cessed,)h(shell)g
+Ft($ENV)1110 4037 y Fu(\014les)23 b(are)h(not)f(pro)s(cessed,)h(shell)g
(functions)e(are)i(not)f(inherited)g(from)f(the)i(en-)1110
-3870 y(vironmen)m(t,)h(and)e(the)g Ft(SHELLOPTS)p Fu(,)f
+4147 y(vironmen)m(t,)h(and)e(the)g Ft(SHELLOPTS)p Fu(,)f
Ft(BASHOPTS)p Fu(,)h Ft(CDPATH)e Fu(and)i Ft(GLOBIGNORE)1110
-3980 y Fu(v)-5 b(ariables,)23 b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m
+4256 y Fu(v)-5 b(ariables,)23 b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m
(vironmen)m(t,)i(are)e(ignored.)38 b(If)20 b(the)h(shell)1110
-4089 y(is)37 b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d
+4366 y(is)37 b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d
(\(group\))g(id)g(not)g(equal)h(to)g(the)f(real)1110
-4199 y(user)h(\(group\))h(id,)i(and)d(the)h Ft(-p)f Fu(option)i(is)e
-(not)i(supplied,)f(these)h(actions)1110 4309 y(are)32
+4475 y(user)h(\(group\))h(id,)i(and)d(the)h Ft(-p)f Fu(option)i(is)e
+(not)i(supplied,)f(these)h(actions)1110 4585 y(are)32
b(tak)m(en)i(and)d(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)h(to)f
-(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110 4418 y
+(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110 4695 y
Ft(-p)i Fu(option)h(is)g(supplied)f(at)h(startup,)h(the)f(e\013ectiv)m
-(e)i(user)d(id)g(is)h(not)g(reset.)1110 4528 y(T)-8 b(urning)35
+(e)i(user)d(id)g(is)h(not)g(reset.)1110 4804 y(T)-8 b(urning)35
b(this)i(option)g(o\013)g(causes)g(the)g(e\013ectiv)m(e)i(user)d(and)g
-(group)g(ids)g(to)1110 4637 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
-(and)g(group)g(ids.)630 4798 y Ft(-r)384 b Fu(Enable)32
+(group)g(ids)g(to)1110 4914 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
+(and)g(group)g(ids.)630 5072 y Ft(-r)384 b Fu(Enable)32
b(restricted)h(shell)f(mo)s(de.)45 b(This)31 b(option)i(cannot)g(b)s(e)
-e(unset)h(once)g(it)1110 4908 y(has)e(b)s(een)g(set.)630
-5069 y Ft(-t)384 b Fu(Exit)31 b(after)g(reading)f(and)g(executing)h
-(one)g(command.)630 5230 y Ft(-u)384 b Fu(T)-8 b(reat)25
-b(unset)e(v)-5 b(ariables)25 b(and)e(parameters)h(other)h(than)e(the)h
-(sp)s(ecial)h(param-)1110 5340 y(eters)32 b(`)p Ft(@)p
-Fu(')f(or)h(`)p Ft(*)p Fu(',)g(or)f(arra)m(y)h(v)-5 b(ariables)32
-b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p
-Fu(',)f(as)h(an)p eop end
+e(unset)h(once)g(it)1110 5182 y(has)e(b)s(een)g(set.)630
+5340 y Ft(-t)384 b Fu(Exit)31 b(after)g(reading)f(and)g(executing)h
+(one)g(command.)p eop end
%%Page: 70 76
TeXDict begin 70 75 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(70)1110 299 y(error)24
-b(when)g(p)s(erforming)g(parameter)h(expansion.)39 b(An)24
-b(error)h(message)h(will)1110 408 y(b)s(e)37 b(written)h(to)h(the)f
-(standard)f(error,)i(and)f(a)g(non-in)m(teractiv)m(e)j(shell)d(will)
-1110 518 y(exit.)630 667 y Ft(-v)384 b Fu(Prin)m(t)30
-b(shell)h(input)e(lines)i(as)g(they)f(are)h(read.)630
-817 y Ft(-x)384 b Fu(Prin)m(t)21 b(a)h(trace)h(of)f(simple)f(commands,)
-i Ft(for)e Fu(commands,)i Ft(case)d Fu(commands,)1110
-927 y Ft(select)29 b Fu(commands,)j(and)e(arithmetic)j
-Ft(for)d Fu(commands)h(and)f(their)i(argu-)1110 1036
-y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f(are)
-h(expanded)f(and)f(b)s(efore)1110 1146 y(they)i(are)g(executed.)49
+b(Shell)30 b(Builtin)h(Commands)2069 b(70)630 299 y Ft(-u)384
+b Fu(T)-8 b(reat)25 b(unset)e(v)-5 b(ariables)25 b(and)e(parameters)h
+(other)h(than)e(the)h(sp)s(ecial)h(param-)1110 408 y(eters)32
+b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)g(or)f(arra)m(y)h(v)-5
+b(ariables)32 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p
+Ft(*)p Fu(',)f(as)h(an)1110 518 y(error)24 b(when)g(p)s(erforming)g
+(parameter)h(expansion.)39 b(An)24 b(error)h(message)h(will)1110
+628 y(b)s(e)37 b(written)h(to)h(the)f(standard)f(error,)i(and)f(a)g
+(non-in)m(teractiv)m(e)j(shell)d(will)1110 737 y(exit.)630
+902 y Ft(-v)384 b Fu(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f
+(are)h(read.)630 1066 y Ft(-x)384 b Fu(Prin)m(t)21 b(a)h(trace)h(of)f
+(simple)f(commands,)i Ft(for)e Fu(commands,)i Ft(case)d
+Fu(commands,)1110 1176 y Ft(select)29 b Fu(commands,)j(and)e
+(arithmetic)j Ft(for)d Fu(commands)h(and)f(their)i(argu-)1110
+1285 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f
+(are)h(expanded)f(and)f(b)s(efore)1110 1395 y(they)i(are)g(executed.)49
b(The)32 b(v)-5 b(alue)33 b(of)g(the)g Ft(PS4)f Fu(v)-5
-b(ariable)34 b(is)f(expanded)f(and)1110 1255 y(the)24
+b(ariable)34 b(is)f(expanded)f(and)1110 1504 y(the)24
b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h
-(command)g(and)f(its)i(expanded)1110 1365 y(argumen)m(ts.)630
-1514 y Ft(-B)384 b Fu(The)41 b(shell)g(will)g(p)s(erform)f(brace)h
-(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 1624
+(command)g(and)f(its)i(expanded)1110 1614 y(argumen)m(ts.)630
+1778 y Ft(-B)384 b Fu(The)41 b(shell)g(will)g(p)s(erform)f(brace)h
+(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 1888
y(Expansion],)30 b(page)h(24\).)42 b(This)30 b(option)h(is)f(on)g(b)m
-(y)h(default.)630 1773 y Ft(-C)384 b Fu(Prev)m(en)m(t)25
+(y)h(default.)630 2052 y Ft(-C)384 b Fu(Prev)m(en)m(t)25
b(output)e(redirection)h(using)f(`)p Ft(>)p Fu(',)i(`)p
Ft(>&)p Fu(',)g(and)e(`)p Ft(<>)p Fu(')g(from)h(o)m(v)m(erwriting)1110
-1883 y(existing)31 b(\014les.)630 2032 y Ft(-E)384 b
+2162 y(existing)31 b(\014les.)630 2326 y Ft(-E)384 b
Fu(If)39 b(set,)j(an)m(y)e(trap)f(on)g Ft(ERR)g Fu(is)g(inherited)g(b)m
-(y)g(shell)h(functions,)h(command)1110 2142 y(substitutions,)35
+(y)g(shell)h(functions,)h(command)1110 2436 y(substitutions,)35
b(and)e(commands)g(executed)i(in)f(a)g(subshell)f(en)m(vironmen)m(t.)
-1110 2252 y(The)d Ft(ERR)f Fu(trap)i(is)f(normally)h(not)f(inherited)g
-(in)g(suc)m(h)g(cases.)630 2401 y Ft(-H)384 b Fu(Enable)38
+1110 2545 y(The)d Ft(ERR)f Fu(trap)i(is)f(normally)h(not)f(inherited)g
+(in)g(suc)m(h)g(cases.)630 2710 y Ft(-H)384 b Fu(Enable)38
b(`)p Ft(!)p Fu(')h(st)m(yle)h(history)e(substitution)g(\(see)h
-(Section)h(9.3)f([History)g(In-)1110 2511 y(teraction],)g(page)d
+(Section)h(9.3)f([History)g(In-)1110 2819 y(teraction],)g(page)d
(154\).)57 b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m
-(teractiv)m(e)1110 2620 y(shells.)630 2770 y Ft(-P)384
+(teractiv)m(e)1110 2929 y(shells.)630 3093 y Ft(-P)384
b Fu(If)39 b(set,)j(do)d(not)g(resolv)m(e)i(sym)m(b)s(olic)e(links)g
-(when)f(p)s(erforming)g(commands)1110 2879 y(suc)m(h)29
+(when)f(p)s(erforming)g(commands)1110 3203 y(suc)m(h)29
b(as)h Ft(cd)f Fu(whic)m(h)g(c)m(hange)h(the)g(curren)m(t)f(directory)
--8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 2989 y(tory)j(is)g(used)
+-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 3313 y(tory)j(is)g(used)
f(instead.)52 b(By)34 b(default,)h(Bash)f(follo)m(ws)h(the)f(logical)i
-(c)m(hain)f(of)1110 3098 y(directories)j(when)d(p)s(erforming)h
+(c)m(hain)f(of)1110 3422 y(directories)j(when)d(p)s(erforming)h
(commands)g(whic)m(h)g(c)m(hange)i(the)f(curren)m(t)1110
-3208 y(directory)-8 b(.)1110 3337 y(F)g(or)42 b(example,)i(if)d
+3532 y(directory)-8 b(.)1110 3669 y(F)g(or)42 b(example,)i(if)d
Ft(/usr/sys)e Fu(is)i(a)g(sym)m(b)s(olic)g(link)g(to)h
-Ft(/usr/local/sys)1110 3447 y Fu(then:)1350 3577 y Ft($)47
-b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3686 y(/usr/sys)1350
-3796 y($)g(cd)h(..;)f(pwd)1350 3905 y(/usr)1110 4035
-y Fu(If)30 b Ft(set)f(-P)h Fu(is)h(on,)f(then:)1350 4164
-y Ft($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4274 y(/usr/local/sys)
-1350 4384 y($)g(cd)h(..;)f(pwd)1350 4493 y(/usr/local)630
-4643 y(-T)384 b Fu(If)34 b(set,)j(an)m(y)e(trap)g(on)g
+Ft(/usr/local/sys)1110 3778 y Fu(then:)1350 3915 y Ft($)47
+b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4025 y(/usr/sys)1350
+4134 y($)g(cd)h(..;)f(pwd)1350 4244 y(/usr)1110 4381
+y Fu(If)30 b Ft(set)f(-P)h Fu(is)h(on,)f(then:)1350 4518
+y Ft($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4628 y(/usr/local/sys)
+1350 4737 y($)g(cd)h(..;)f(pwd)1350 4847 y(/usr/local)630
+5011 y(-T)384 b Fu(If)34 b(set,)j(an)m(y)e(trap)g(on)g
Ft(DEBUG)e Fu(and)i Ft(RETURN)e Fu(are)i(inherited)g(b)m(y)f(shell)i
-(func-)1110 4752 y(tions,)k(command)d(substitutions,)h(and)f(commands)g
-(executed)h(in)f(a)h(sub-)1110 4862 y(shell)33 b(en)m(vironmen)m(t.)49
+(func-)1110 5121 y(tions,)k(command)d(substitutions,)h(and)f(commands)g
+(executed)h(in)f(a)h(sub-)1110 5230 y(shell)33 b(en)m(vironmen)m(t.)49
b(The)32 b Ft(DEBUG)g Fu(and)g Ft(RETURN)f Fu(traps)h(are)i(normally)f
-(not)1110 4971 y(inherited)d(in)g(suc)m(h)g(cases.)630
-5121 y Ft(--)384 b Fu(If)44 b(no)g(argumen)m(ts)g(follo)m(w)i(this)e
-(option,)k(then)c(the)h(p)s(ositional)g(parame-)1110
-5230 y(ters)31 b(are)g(unset.)40 b(Otherwise,)31 b(the)f(p)s(ositional)
-i(parameters)f(are)f(set)h(to)h(the)1110 5340 y Fr(argumen)m(ts)p
-Fu(,)f(ev)m(en)g(if)f(some)h(of)g(them)f(b)s(egin)g(with)g(a)h(`)p
-Ft(-)p Fu('.)p eop end
+(not)1110 5340 y(inherited)d(in)g(suc)m(h)g(cases.)p
+eop end
%%Page: 71 77
TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y Ft(-)432
-b Fu(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h(remaining)e
-Fr(argumen)m(ts)49 b Fu(to)d(b)s(e)1110 408 y(assigned)33
-b(to)h(the)g(p)s(ositional)g(parameters.)49 b(The)33
-b Ft(-x)g Fu(and)f Ft(-v)h Fu(options)h(are)1110 518
-y(turned)k(o\013.)68 b(If)38 b(there)i(are)f(no)g(argumen)m(ts,)j(the)e
-(p)s(ositional)g(parameters)1110 628 y(remain)30 b(unc)m(hanged.)630
-775 y(Using)d(`)p Ft(+)p Fu(')h(rather)f(than)g(`)p Ft(-)p
-Fu(')g(causes)h(these)f(options)h(to)g(b)s(e)e(turned)g(o\013.)40
-b(The)27 b(options)h(can)630 884 y(also)36 b(b)s(e)f(used)f(up)s(on)g
-(in)m(v)m(o)s(cation)j(of)e(the)g(shell.)56 b(The)34
-b(curren)m(t)h(set)h(of)f(options)h(ma)m(y)g(b)s(e)630
-994 y(found)29 b(in)h Ft($-)p Fu(.)630 1122 y(The)43
+b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y Ft(--)384
+b Fu(If)44 b(no)g(argumen)m(ts)g(follo)m(w)i(this)e(option,)k(then)c
+(the)h(p)s(ositional)g(parame-)1110 408 y(ters)31 b(are)g(unset.)40
+b(Otherwise,)31 b(the)f(p)s(ositional)i(parameters)f(are)f(set)h(to)h
+(the)1110 518 y Fr(argumen)m(ts)p Fu(,)f(ev)m(en)g(if)f(some)h(of)g
+(them)f(b)s(egin)g(with)g(a)h(`)p Ft(-)p Fu('.)630 694
+y Ft(-)432 b Fu(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h
+(remaining)e Fr(argumen)m(ts)49 b Fu(to)d(b)s(e)1110
+803 y(assigned)33 b(to)h(the)g(p)s(ositional)g(parameters.)49
+b(The)33 b Ft(-x)g Fu(and)f Ft(-v)h Fu(options)h(are)1110
+913 y(turned)k(o\013.)68 b(If)38 b(there)i(are)f(no)g(argumen)m(ts,)j
+(the)e(p)s(ositional)g(parameters)1110 1022 y(remain)30
+b(unc)m(hanged.)630 1198 y(Using)d(`)p Ft(+)p Fu(')h(rather)f(than)g(`)
+p Ft(-)p Fu(')g(causes)h(these)f(options)h(to)g(b)s(e)e(turned)g
+(o\013.)40 b(The)27 b(options)h(can)630 1307 y(also)36
+b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e(the)g(shell.)56
+b(The)34 b(curren)m(t)h(set)h(of)f(options)h(ma)m(y)g(b)s(e)630
+1417 y(found)29 b(in)h Ft($-)p Fu(.)630 1560 y(The)43
b(remaining)h(N)f Fr(argumen)m(ts)48 b Fu(are)c(p)s(ositional)g
-(parameters)g(and)f(are)h(assigned,)j(in)630 1232 y(order,)30
+(parameters)g(and)f(are)h(assigned,)j(in)630 1669 y(order,)30
b(to)h Ft($1)p Fu(,)f Ft($2)p Fu(,)36 b(.)22 b(.)g(.)42
b Ft($N)p Fu(.)e(The)30 b(sp)s(ecial)h(parameter)g Ft(#)f
-Fu(is)g(set)h(to)g(N.)630 1360 y(The)f(return)f(status)i(is)f(alw)m(a)m
+Fu(is)g(set)h(to)g(N.)630 1812 y(The)f(return)f(status)i(is)f(alw)m(a)m
(ys)i(zero)f(unless)f(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f
-(supplied.)150 1548 y Fk(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150
-1695 y Fu(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h
+(supplied.)150 2027 y Fk(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150
+2174 y Fu(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h
(additional)f(shell)f(optional)i(b)s(eha)m(vior.)150
-1842 y Ft(shopt)870 1970 y(shopt)46 b([-pqsu])g([-o])h([)p
-Fj(optname)e Ft(...])630 2099 y Fu(T)-8 b(oggle)37 b(the)e(v)-5
+2358 y Ft(shopt)870 2500 y(shopt)46 b([-pqsu])g([-o])h([)p
+Fj(optname)e Ft(...])630 2643 y Fu(T)-8 b(oggle)37 b(the)e(v)-5
b(alues)35 b(of)g(settings)h(con)m(trolling)g(optional)g(shell)f(b)s
-(eha)m(vior.)55 b(The)34 b(settings)630 2208 y(can)24
+(eha)m(vior.)55 b(The)34 b(settings)630 2752 y(can)24
b(b)s(e)g(either)h(those)f(listed)h(b)s(elo)m(w,)h(or,)f(if)g(the)f
Ft(-o)f Fu(option)i(is)f(used,)h(those)g(a)m(v)-5 b(ailable)26
-b(with)630 2318 y(the)k Ft(-o)f Fu(option)i(to)f(the)g
+b(with)630 2862 y(the)k Ft(-o)f Fu(option)i(to)f(the)g
Ft(set)f Fu(builtin)h(command)f(\(see)i(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)630 2427 y(page)i(67\).)45 b(With)32 b(no)f(options,)h(or)g
+(Builtin],)630 2972 y(page)i(67\).)45 b(With)32 b(no)f(options,)h(or)g
(with)f(the)g Ft(-p)g Fu(option,)h(a)g(list)g(of)f(all)i(settable)g
-(options)630 2537 y(is)g(displa)m(y)m(ed,)i(with)e(an)g(indication)h
+(options)630 3081 y(is)g(displa)m(y)m(ed,)i(with)e(an)g(indication)h
(of)f(whether)g(or)g(not)g(eac)m(h)h(is)g(set;)h(if)e
-Fr(optname)5 b Fu(s)34 b(are)630 2647 y(supplied,)25
+Fr(optname)5 b Fu(s)34 b(are)630 3191 y(supplied,)25
b(the)g(output)g(is)g(restricted)g(to)h(those)g(options.)39
-b(The)24 b Ft(-p)h Fu(option)g(causes)g(output)630 2756
+b(The)24 b Ft(-p)h Fu(option)g(causes)g(output)630 3300
y(to)30 b(b)s(e)f(displa)m(y)m(ed)g(in)g(a)h(form)f(that)g(ma)m(y)h(b)s
(e)f(reused)f(as)i(input.)39 b(Other)29 b(options)g(ha)m(v)m(e)i(the)
-630 2866 y(follo)m(wing)h(meanings:)630 3013 y Ft(-s)384
+630 3410 y(follo)m(wing)h(meanings:)630 3586 y Ft(-s)384
b Fu(Enable)30 b(\(set\))i(eac)m(h)f Fr(optname)p Fu(.)630
-3160 y Ft(-u)384 b Fu(Disable)31 b(\(unset\))g(eac)m(h)h
-Fr(optname)p Fu(.)630 3307 y Ft(-q)384 b Fu(Suppresses)28
+3761 y Ft(-u)384 b Fu(Disable)31 b(\(unset\))g(eac)m(h)h
+Fr(optname)p Fu(.)630 3937 y Ft(-q)384 b Fu(Suppresses)28
b(normal)h(output;)h(the)g(return)e(status)i(indicates)h(whether)e(the)
-1110 3417 y Fr(optname)37 b Fu(is)31 b(set)h(or)f(unset.)43
+1110 4046 y Fr(optname)37 b Fu(is)31 b(set)h(or)f(unset.)43
b(If)31 b(m)m(ultiple)h Fr(optname)37 b Fu(argumen)m(ts)31
-b(are)h(giv)m(en)1110 3527 y(with)d Ft(-q)p Fu(,)f(the)i(return)d
+b(are)h(giv)m(en)1110 4156 y(with)d Ft(-q)p Fu(,)f(the)i(return)d
(status)j(is)f(zero)g(if)g(all)h Fr(optname)5 b Fu(s)29
-b(are)h(enabled;)f(non-)1110 3636 y(zero)i(otherwise.)630
-3784 y Ft(-o)384 b Fu(Restricts)22 b(the)f(v)-5 b(alues)22
+b(are)h(enabled;)f(non-)1110 4265 y(zero)i(otherwise.)630
+4441 y Ft(-o)384 b Fu(Restricts)22 b(the)f(v)-5 b(alues)22
b(of)f Fr(optname)27 b Fu(to)22 b(b)s(e)e(those)i(de\014ned)e(for)h
-(the)g Ft(-o)f Fu(option)1110 3893 y(to)31 b(the)g Ft(set)e
+(the)g Ft(-o)f Fu(option)1110 4551 y(to)31 b(the)g Ft(set)e
Fu(builtin)h(\(see)h(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f
-(67\).)630 4040 y(If)e(either)i Ft(-s)e Fu(or)h Ft(-u)f
+(67\).)630 4726 y(If)e(either)i Ft(-s)e Fu(or)h Ft(-u)f
Fu(is)h(used)f(with)g(no)h Fr(optname)35 b Fu(argumen)m(ts,)c
-Ft(shopt)d Fu(sho)m(ws)h(only)h(those)630 4150 y(options)h(whic)m(h)f
+Ft(shopt)d Fu(sho)m(ws)h(only)h(those)630 4836 y(options)h(whic)m(h)f
(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m(ely)-8 b(.)630
-4278 y(Unless)30 b(otherwise)h(noted,)g(the)g Ft(shopt)d
+4978 y(Unless)30 b(otherwise)h(noted,)g(the)g Ft(shopt)d
Fu(options)j(are)g(disabled)f(\(o\013)7 b(\))32 b(b)m(y)e(default.)630
-4407 y(The)d(return)f(status)i(when)e(listing)j(options)e(is)h(zero)g
+5121 y(The)d(return)f(status)i(when)e(listing)j(options)e(is)h(zero)g
(if)f(all)i Fr(optname)5 b Fu(s)27 b(are)h(enabled,)g(non-)630
-4516 y(zero)40 b(otherwise.)66 b(When)39 b(setting)h(or)f(unsetting)g
-(options,)i(the)e(return)f(status)h(is)g(zero)630 4626
+5230 y(zero)40 b(otherwise.)66 b(When)39 b(setting)h(or)f(unsetting)g
+(options,)i(the)e(return)f(status)h(is)g(zero)630 5340
y(unless)30 b(an)g Fr(optname)36 b Fu(is)30 b(not)h(a)g(v)-5
-b(alid)30 b(shell)h(option.)630 4754 y(The)f(list)h(of)f
-Ft(shopt)f Fu(options)i(is:)630 4902 y Ft(assoc_expand_once)1110
-5011 y Fu(If)h(set,)i(the)e(shell)h(suppresses)e(m)m(ultiple)i(ev)-5
-b(aluation)34 b(of)e(asso)s(ciativ)m(e)j(arra)m(y)1110
-5121 y(subscripts)24 b(during)h(arithmetic)h(expression)g(ev)-5
-b(aluation,)28 b(while)e(executing)1110 5230 y(builtins)c(that)i(can)f
-(p)s(erform)f(v)-5 b(ariable)24 b(assignmen)m(ts,)h(and)e(while)g
-(executing)1110 5340 y(builtins)30 b(that)h(p)s(erform)e(arra)m(y)i
-(dereferencing.)p eop end
+b(alid)30 b(shell)h(option.)p eop end
%%Page: 72 78
TeXDict begin 72 77 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(72)630 299 y Ft(autocd)192
-b Fu(If)27 b(set,)h(a)g(command)f(name)g(that)h(is)f(the)g(name)g(of)h
-(a)f(directory)h(is)f(executed)1110 408 y(as)j(if)f(it)h(w)m(ere)f(the)
-h(argumen)m(t)g(to)g(the)f Ft(cd)g Fu(command.)40 b(This)29
-b(option)g(is)h(only)1110 518 y(used)g(b)m(y)g(in)m(teractiv)m(e)j
-(shells.)630 682 y Ft(cdable_vars)1110 792 y Fu(If)h(this)h(is)g(set,)i
-(an)e(argumen)m(t)g(to)h(the)f Ft(cd)f Fu(builtin)h(command)f(that)i
-(is)f(not)1110 902 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
+b(Shell)30 b(Builtin)h(Commands)2069 b(72)630 299 y(The)30
+b(list)h(of)f Ft(shopt)f Fu(options)i(is:)630 545 y Ft
+(assoc_expand_once)1110 655 y Fu(If)h(set,)i(the)e(shell)h(suppresses)e
+(m)m(ultiple)i(ev)-5 b(aluation)34 b(of)e(asso)s(ciativ)m(e)j(arra)m(y)
+1110 765 y(subscripts)24 b(during)h(arithmetic)h(expression)g(ev)-5
+b(aluation,)28 b(while)e(executing)1110 874 y(builtins)c(that)i(can)f
+(p)s(erform)f(v)-5 b(ariable)24 b(assignmen)m(ts,)h(and)e(while)g
+(executing)1110 984 y(builtins)30 b(that)h(p)s(erform)e(arra)m(y)i
+(dereferencing.)630 1230 y Ft(autocd)192 b Fu(If)27 b(set,)h(a)g
+(command)f(name)g(that)h(is)f(the)g(name)g(of)h(a)f(directory)h(is)f
+(executed)1110 1340 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g
+(the)f Ft(cd)g Fu(command.)40 b(This)29 b(option)g(is)h(only)1110
+1450 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
+1696 y Ft(cdable_vars)1110 1806 y Fu(If)h(this)h(is)g(set,)i(an)e
+(argumen)m(t)g(to)h(the)f Ft(cd)f Fu(builtin)h(command)f(that)i(is)f
+(not)1110 1915 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
(name)f(of)h(a)g(v)-5 b(ariable)31 b(whose)g(v)-5 b(alue)31
-b(is)1110 1011 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-1176 y Ft(cdspell)144 b Fu(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
+b(is)1110 2025 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
+2271 y Ft(cdspell)144 b Fu(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
(sp)s(elling)h(of)f(a)g(directory)h(comp)s(onen)m(t)f(in)g(a)h
-Ft(cd)1110 1285 y Fu(command)i(will)h(b)s(e)f(corrected.)43
+Ft(cd)1110 2381 y Fu(command)i(will)h(b)s(e)f(corrected.)43
b(The)30 b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110
-1395 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
+2491 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
b(and)40 b(a)i(c)m(haracter)h(to)s(o)g(man)m(y)-8 b(.)74
-b(If)42 b(a)1110 1504 y(correction)25 b(is)e(found,)g(the)h(corrected)g
-(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 1614
+b(If)42 b(a)1110 2600 y(correction)25 b(is)e(found,)g(the)h(corrected)g
+(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 2710
y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h(in)m
-(teractiv)m(e)k(shells.)630 1778 y Ft(checkhash)1110
-1888 y Fu(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
-(command)f(found)g(in)g(the)h(hash)f(table)1110 1998
+(teractiv)m(e)k(shells.)630 2956 y Ft(checkhash)1110
+3066 y Fu(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
+(command)f(found)g(in)g(the)h(hash)f(table)1110 3176
y(exists)k(b)s(efore)f(trying)h(to)h(execute)g(it.)48
-b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 2107
+b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 3285
y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
-2271 y Ft(checkjobs)1110 2381 y Fu(If)d(set,)i(Bash)e(lists)h(the)g
+3532 y Ft(checkjobs)1110 3641 y Fu(If)d(set,)i(Bash)e(lists)h(the)g
(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore)
-1110 2491 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72
+1110 3751 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72
b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110
-2600 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
-(exit)g(is)g(attempted)h(without)e(an)1110 2710 y(in)m(terv)m(ening)d
+3861 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
+(exit)g(is)g(attempted)h(without)e(an)1110 3970 y(in)m(terv)m(ening)d
(command)f(\(see)h(Chapter)e(7)h([Job)g(Con)m(trol],)i(page)f(113\).)40
-b(The)1110 2819 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
-(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 2984 y Ft(checkwinsize)1110
-3093 y Fu(If)23 b(set,)j(Bash)e(c)m(hec)m(ks)h(the)f(windo)m(w)f(size)h
-(after)h(eac)m(h)f(external)h(\(non-builtin\))1110 3203
+b(The)1110 4080 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
+(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 4326 y Ft(checkwinsize)1110
+4436 y Fu(If)23 b(set,)j(Bash)e(c)m(hec)m(ks)h(the)f(windo)m(w)f(size)h
+(after)h(eac)m(h)f(external)h(\(non-builtin\))1110 4545
y(command)55 b(and,)60 b(if)55 b(necessary)-8 b(,)62
b(up)s(dates)54 b(the)h(v)-5 b(alues)55 b(of)g Ft(LINES)f
-Fu(and)1110 3313 y Ft(COLUMNS)p Fu(.)39 b(This)29 b(option)i(is)g
-(enabled)f(b)m(y)g(default.)630 3477 y Ft(cmdhist)144
+Fu(and)1110 4655 y Ft(COLUMNS)p Fu(.)39 b(This)29 b(option)i(is)g
+(enabled)f(b)m(y)g(default.)630 4902 y Ft(cmdhist)144
b Fu(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m(v)m(e)g(all)g(lines)f
-(of)g(a)h(m)m(ultiple-line)g(command)1110 3587 y(in)c(the)g(same)g
+(of)g(a)h(m)m(ultiple-line)g(command)1110 5011 y(in)c(the)g(same)g
(history)g(en)m(try)-8 b(.)42 b(This)30 b(allo)m(ws)i(easy)g
-(re-editing)g(of)f(m)m(ulti-line)1110 3696 y(commands.)79
+(re-editing)g(of)f(m)m(ulti-line)1110 5121 y(commands.)79
b(This)43 b(option)g(is)h(enabled)f(b)m(y)g(default,)k(but)c(only)g
-(has)g(an)1110 3806 y(e\013ect)30 b(if)e(command)g(history)g(is)h
+(has)g(an)1110 5230 y(e\013ect)30 b(if)e(command)g(history)g(is)h
(enabled)f(\(see)h(Section)g(9.1)h([Bash)e(History)1110
-3915 y(F)-8 b(acilities],)34 b(page)d(152\).)630 4080
-y Ft(compat31)630 4189 y(compat32)630 4299 y(compat40)630
-4408 y(compat41)630 4518 y(compat42)630 4628 y(compat43)630
-4737 y(compat44)96 b Fu(These)39 b(con)m(trol)i(asp)s(ects)f(of)f(the)h
-(shell's)g(compatibilit)m(y)h(mo)s(de)e(\(see)h(Sec-)1110
-4847 y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
-(110\).)630 5011 y Ft(complete_fullquote)1110 5121 y
-Fu(If)g(set,)g(Bash)h(quotes)f(all)h(shell)f(metac)m(haracters)i(in)e
-(\014lenames)g(and)g(direc-)1110 5230 y(tory)g(names)f(when)g(p)s
-(erforming)f(completion.)43 b(If)30 b(not)h(set,)g(Bash)g(remo)m(v)m
-(es)1110 5340 y(metac)m(haracters)40 b(suc)m(h)d(as)h(the)g(dollar)g
-(sign)g(from)f(the)h(set)g(of)f(c)m(haracters)p eop end
+5340 y(F)-8 b(acilities],)34 b(page)d(152\).)p eop end
%%Page: 73 79
TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(73)1110 299 y(that)36
-b(will)g(b)s(e)f(quoted)g(in)g(completed)i(\014lenames)e(when)f(these)i
-(metac)m(har-)1110 408 y(acters)29 b(app)s(ear)e(in)g(shell)h(v)-5
-b(ariable)28 b(references)g(in)f(w)m(ords)g(to)i(b)s(e)e(completed.)
-1110 518 y(This)k(means)i(that)g(dollar)f(signs)g(in)g(v)-5
-b(ariable)33 b(names)g(that)f(expand)g(to)h(di-)1110
-628 y(rectories)28 b(will)g(not)f(b)s(e)f(quoted;)j(ho)m(w)m(ev)m(er,)g
-(an)m(y)e(dollar)h(signs)f(app)s(earing)f(in)1110 737
+b(Shell)30 b(Builtin)h(Commands)2069 b(73)630 299 y Ft(compat31)630
+408 y(compat32)630 518 y(compat40)630 628 y(compat41)630
+737 y(compat42)630 847 y(compat43)630 956 y(compat44)96
+b Fu(These)39 b(con)m(trol)i(asp)s(ects)f(of)f(the)h(shell's)g
+(compatibilit)m(y)h(mo)s(de)e(\(see)h(Sec-)1110 1066
+y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
+(110\).)630 1219 y Ft(complete_fullquote)1110 1329 y
+Fu(If)g(set,)g(Bash)h(quotes)f(all)h(shell)f(metac)m(haracters)i(in)e
+(\014lenames)g(and)g(direc-)1110 1439 y(tory)g(names)f(when)g(p)s
+(erforming)f(completion.)43 b(If)30 b(not)h(set,)g(Bash)g(remo)m(v)m
+(es)1110 1548 y(metac)m(haracters)40 b(suc)m(h)d(as)h(the)g(dollar)g
+(sign)g(from)f(the)h(set)g(of)f(c)m(haracters)1110 1658
+y(that)f(will)g(b)s(e)f(quoted)g(in)g(completed)i(\014lenames)e(when)f
+(these)i(metac)m(har-)1110 1767 y(acters)29 b(app)s(ear)e(in)g(shell)h
+(v)-5 b(ariable)28 b(references)g(in)f(w)m(ords)g(to)i(b)s(e)e
+(completed.)1110 1877 y(This)k(means)i(that)g(dollar)f(signs)g(in)g(v)
+-5 b(ariable)33 b(names)g(that)f(expand)g(to)h(di-)1110
+1987 y(rectories)28 b(will)g(not)f(b)s(e)f(quoted;)j(ho)m(w)m(ev)m(er,)
+g(an)m(y)e(dollar)h(signs)f(app)s(earing)f(in)1110 2096
y(\014lenames)j(will)h(not)f(b)s(e)g(quoted,)h(either.)41
b(This)28 b(is)i(activ)m(e)h(only)e(when)g(bash)1110
-847 y(is)39 b(using)f(bac)m(kslashes)i(to)g(quote)g(completed)f
-(\014lenames.)67 b(This)38 b(v)-5 b(ariable)1110 956
+2206 y(is)39 b(using)f(bac)m(kslashes)i(to)g(quote)g(completed)f
+(\014lenames.)67 b(This)38 b(v)-5 b(ariable)1110 2315
y(is)41 b(set)g(b)m(y)g(default,)j(whic)m(h)c(is)h(the)g(default)g
-(Bash)g(b)s(eha)m(vior)g(in)g(v)m(ersions)1110 1066 y(through)30
-b(4.2.)630 1244 y Ft(direxpand)1110 1354 y Fu(If)k(set,)i(Bash)f
+(Bash)g(b)s(eha)m(vior)g(in)g(v)m(ersions)1110 2425 y(through)30
+b(4.2.)630 2578 y Ft(direxpand)1110 2688 y Fu(If)k(set,)i(Bash)f
(replaces)g(directory)g(names)g(with)f(the)g(results)h(of)f(w)m(ord)g
-(ex-)1110 1463 y(pansion)k(when)g(p)s(erforming)f(\014lename)i
-(completion.)67 b(This)38 b(c)m(hanges)i(the)1110 1573
+(ex-)1110 2798 y(pansion)k(when)g(p)s(erforming)f(\014lename)i
+(completion.)67 b(This)38 b(c)m(hanges)i(the)1110 2907
y(con)m(ten)m(ts)c(of)e(the)h(Readline)f(editing)h(bu\013er.)52
-b(If)33 b(not)i(set,)h(Bash)e(attempts)1110 1682 y(to)d(preserv)m(e)g
-(what)f(the)g(user)g(t)m(yp)s(ed.)630 1861 y Ft(dirspell)96
+b(If)33 b(not)i(set,)h(Bash)e(attempts)1110 3017 y(to)d(preserv)m(e)g
+(what)f(the)g(user)g(t)m(yp)s(ed.)630 3170 y Ft(dirspell)96
b Fu(If)26 b(set,)i(Bash)f(attempts)g(sp)s(elling)g(correction)g(on)g
-(directory)g(names)f(during)1110 1970 y(w)m(ord)36 b(completion)h(if)f
+(directory)g(names)f(during)1110 3280 y(w)m(ord)36 b(completion)h(if)f
(the)g(directory)g(name)g(initially)h(supplied)e(do)s(es)h(not)1110
-2080 y(exist.)630 2258 y Ft(dotglob)144 b Fu(If)36 b(set,)i(Bash)e
+3389 y(exist.)630 3543 y Ft(dotglob)144 b Fu(If)36 b(set,)i(Bash)e
(includes)g(\014lenames)g(b)s(eginning)f(with)h(a)g(`.')58
-b(in)36 b(the)g(results)1110 2367 y(of)f(\014lename)f(expansion.)53
+b(in)36 b(the)g(results)1110 3652 y(of)f(\014lename)f(expansion.)53
b(The)33 b(\014lenames)i(`)p Ft(.)p Fu(')f(and)g(`)p
-Ft(..)p Fu(')g(m)m(ust)h(alw)m(a)m(ys)h(b)s(e)1110 2477
+Ft(..)p Fu(')g(m)m(ust)h(alw)m(a)m(ys)h(b)s(e)1110 3762
y(matc)m(hed)31 b(explicitly)-8 b(,)33 b(ev)m(en)e(if)f
-Ft(dotglob)f Fu(is)h(set.)630 2655 y Ft(execfail)96 b
+Ft(dotglob)f Fu(is)h(set.)630 3915 y Ft(execfail)96 b
Fu(If)24 b(this)h(is)f(set,)j(a)e(non-in)m(teractiv)m(e)i(shell)e(will)
-f(not)h(exit)h(if)e(it)h(cannot)h(execute)1110 2765 y(the)i(\014le)g
+f(not)h(exit)h(if)e(it)h(cannot)h(execute)1110 4025 y(the)i(\014le)g
(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)h(the)f
-Ft(exec)f Fu(builtin)h(command.)39 b(An)1110 2874 y(in)m(teractiv)m(e)
+Ft(exec)f Fu(builtin)h(command.)39 b(An)1110 4134 y(in)m(teractiv)m(e)
33 b(shell)e(do)s(es)f(not)g(exit)i(if)e Ft(exec)f Fu(fails.)630
-3052 y Ft(expand_aliases)1110 3162 y Fu(If)j(set,)h(aliases)g(are)g
+4288 y Ft(expand_aliases)1110 4398 y Fu(If)j(set,)h(aliases)g(are)g
(expanded)e(as)h(describ)s(ed)f(b)s(elo)m(w)h(under)f(Aliases,)i(Sec-)
-1110 3271 y(tion)i(6.6)h([Aliases],)h(page)e(100.)55
+1110 4507 y(tion)i(6.6)h([Aliases],)h(page)e(100.)55
b(This)33 b(option)i(is)g(enabled)f(b)m(y)h(default)f(for)1110
-3381 y(in)m(teractiv)m(e)f(shells.)630 3559 y Ft(extdebug)96
+4617 y(in)m(teractiv)m(e)f(shells.)630 4770 y Ft(extdebug)96
b Fu(If)35 b(set)i(at)f(shell)g(in)m(v)m(o)s(cation,)k(or)c(in)f(a)h
(shell)h(startup)e(\014le,)i(arrange)g(to)f(ex-)1110
-3669 y(ecute)h(the)f(debugger)g(pro\014le)g(b)s(efore)g(the)g(shell)h
-(starts,)h(iden)m(tical)g(to)f(the)1110 3778 y Ft(--debugger)32
+4880 y(ecute)h(the)f(debugger)g(pro\014le)g(b)s(efore)g(the)g(shell)h
+(starts,)h(iden)m(tical)g(to)f(the)1110 4989 y Ft(--debugger)32
b Fu(option.)56 b(If)35 b(set)h(after)g(in)m(v)m(o)s(cation,)j(b)s(eha)
-m(vior)c(in)m(tended)g(for)1110 3888 y(use)30 b(b)m(y)g(debuggers)g(is)
-h(enabled:)1159 4032 y(1.)61 b(The)37 b Ft(-F)g Fu(option)h(to)g(the)g
+m(vior)c(in)m(tended)g(for)1110 5099 y(use)30 b(b)m(y)g(debuggers)g(is)
+h(enabled:)1159 5230 y(1.)61 b(The)37 b Ft(-F)g Fu(option)h(to)g(the)g
Ft(declare)d Fu(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290
-4141 y(Builtins],)29 b(page)g(55\))g(displa)m(ys)f(the)g(source)h
-(\014le)f(name)g(and)f(line)h(n)m(um-)1290 4251 y(b)s(er)h(corresp)s
-(onding)g(to)i(eac)m(h)g(function)f(name)g(supplied)f(as)i(an)f(argu-)
-1290 4361 y(men)m(t.)1159 4504 y(2.)61 b(If)20 b(the)h(command)g(run)e
-(b)m(y)i(the)f Ft(DEBUG)g Fu(trap)g(returns)g(a)h(non-zero)g(v)-5
-b(alue,)1290 4614 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 4758 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
-(y)i(the)f Ft(DEBUG)f Fu(trap)h(returns)f(a)i(v)-5 b(alue)38
-b(of)f(2,)1290 4867 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h
-(subroutine)e(\(a)i(shell)g(function)f(or)1290 4977 y(a)h(shell)g
-(script)f(executed)h(b)m(y)g(the)f Ft(.)h Fu(or)f Ft(source)f
-Fu(builtins\),)i(the)g(shell)1290 5087 y(sim)m(ulates)d(a)g(call)h(to)f
-Ft(return)p Fu(.)1159 5230 y(4.)61 b Ft(BASH_ARGC)34
-b Fu(and)i Ft(BASH_ARGV)e Fu(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)
-g(their)1290 5340 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(78\).)p eop end
+5340 y(Builtins],)29 b(page)g(55\))g(displa)m(ys)f(the)g(source)h
+(\014le)f(name)g(and)f(line)h(n)m(um-)p eop end
%%Page: 74 80
TeXDict begin 74 79 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(74)1159 299 y(5.)61
-b(F)-8 b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
-b(substitution,)63 b(shell)1290 408 y(functions,)32 b(and)e(subshells)h
-(in)m(v)m(ok)m(ed)i(with)e Ft(\()f Fj(command)e Ft(\))j
-Fu(inherit)h(the)1290 518 y Ft(DEBUG)d Fu(and)h Ft(RETURN)e
-Fu(traps.)1159 662 y(6.)61 b(Error)41 b(tracing)i(is)f(enabled:)63
-b(command)42 b(substitution,)i(shell)f(func-)1290 772
-y(tions,)32 b(and)e(subshells)g(in)m(v)m(ok)m(ed)i(with)e
-Ft(\()g Fj(command)f Ft(\))h Fu(inherit)h(the)g Ft(ERR)1290
-881 y Fu(trap.)630 1060 y Ft(extglob)144 b Fu(If)26 b(set,)i(the)f
-(extended)f(pattern)h(matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m
-(v)m(e)j(\(see)1110 1170 y(Section)j(3.5.8.1)i([P)m(attern)f(Matc)m
-(hing],)g(page)f(36\))h(are)f(enabled.)630 1349 y Ft(extquote)96
-b Fu(If)51 b(set,)58 b Ft($')p Fj(string)p Ft(')49 b
-Fu(and)i Ft($")p Fj(string)p Ft(")e Fu(quoting)k(is)e(p)s(erformed)f
-(within)1110 1458 y Ft(${)p Fj(parameter)p Ft(})31 b
-Fu(expansions)k(enclosed)g(in)g(double)f(quotes.)55 b(This)33
-b(option)1110 1568 y(is)d(enabled)h(b)m(y)f(default.)630
-1747 y Ft(failglob)96 b Fu(If)36 b(set,)j(patterns)d(whic)m(h)g(fail)h
-(to)h(matc)m(h)f(\014lenames)f(during)g(\014lename)g(ex-)1110
-1856 y(pansion)30 b(result)g(in)g(an)g(expansion)h(error.)630
-2035 y Ft(force_fignore)1110 2145 y Fu(If)43 b(set,)k(the)d(su\016xes)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(74)1290 299 y(b)s(er)29
+b(corresp)s(onding)g(to)i(eac)m(h)g(function)f(name)g(supplied)f(as)i
+(an)f(argu-)1290 408 y(men)m(t.)1159 547 y(2.)61 b(If)20
+b(the)h(command)g(run)e(b)m(y)i(the)f Ft(DEBUG)g Fu(trap)g(returns)g(a)
+h(non-zero)g(v)-5 b(alue,)1290 656 y(the)31 b(next)f(command)g(is)h
+(skipp)s(ed)e(and)g(not)i(executed.)1159 795 y(3.)61
+b(If)37 b(the)g(command)g(run)f(b)m(y)i(the)f Ft(DEBUG)f
+Fu(trap)h(returns)f(a)i(v)-5 b(alue)38 b(of)f(2,)1290
+905 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h(subroutine)e(\(a)i
+(shell)g(function)f(or)1290 1014 y(a)h(shell)g(script)f(executed)h(b)m
+(y)g(the)f Ft(.)h Fu(or)f Ft(source)f Fu(builtins\),)i(the)g(shell)1290
+1124 y(sim)m(ulates)d(a)g(call)h(to)f Ft(return)p Fu(.)1159
+1262 y(4.)61 b Ft(BASH_ARGC)34 b Fu(and)i Ft(BASH_ARGV)e
+Fu(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)g(their)1290
+1372 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g(V)-8
+b(ariables],)32 b(page)f(78\).)1159 1510 y(5.)61 b(F)-8
+b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
+b(substitution,)63 b(shell)1290 1620 y(functions,)32
+b(and)e(subshells)h(in)m(v)m(ok)m(ed)i(with)e Ft(\()f
+Fj(command)e Ft(\))j Fu(inherit)h(the)1290 1729 y Ft(DEBUG)d
+Fu(and)h Ft(RETURN)e Fu(traps.)1159 1868 y(6.)61 b(Error)41
+b(tracing)i(is)f(enabled:)63 b(command)42 b(substitution,)i(shell)f
+(func-)1290 1977 y(tions,)32 b(and)e(subshells)g(in)m(v)m(ok)m(ed)i
+(with)e Ft(\()g Fj(command)f Ft(\))h Fu(inherit)h(the)g
+Ft(ERR)1290 2087 y Fu(trap.)630 2254 y Ft(extglob)144
+b Fu(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g
+(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 2364 y(Section)j(3.5.8.1)i
+([P)m(attern)f(Matc)m(hing],)g(page)f(36\))h(are)f(enabled.)630
+2531 y Ft(extquote)96 b Fu(If)51 b(set,)58 b Ft($')p
+Fj(string)p Ft(')49 b Fu(and)i Ft($")p Fj(string)p Ft(")e
+Fu(quoting)k(is)e(p)s(erformed)f(within)1110 2641 y Ft(${)p
+Fj(parameter)p Ft(})31 b Fu(expansions)k(enclosed)g(in)g(double)f
+(quotes.)55 b(This)33 b(option)1110 2750 y(is)d(enabled)h(b)m(y)f
+(default.)630 2917 y Ft(failglob)96 b Fu(If)36 b(set,)j(patterns)d
+(whic)m(h)g(fail)h(to)h(matc)m(h)f(\014lenames)f(during)g(\014lename)g
+(ex-)1110 3027 y(pansion)30 b(result)g(in)g(an)g(expansion)h(error.)630
+3194 y Ft(force_fignore)1110 3304 y Fu(If)43 b(set,)k(the)d(su\016xes)f
(sp)s(eci\014ed)f(b)m(y)i(the)f Ft(FIGNORE)f Fu(shell)h(v)-5
-b(ariable)44 b(cause)1110 2254 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h
+b(ariable)44 b(cause)1110 3414 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h
(when)f(p)s(erforming)f(w)m(ord)h(completion)i(ev)m(en)f(if)g(the)1110
-2364 y(ignored)37 b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g
-(completions.)62 b(See)37 b(Section)h(5.2)1110 2473 y([Bash)24
+3523 y(ignored)37 b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g
+(completions.)62 b(See)37 b(Section)h(5.2)1110 3633 y([Bash)24
b(V)-8 b(ariables],)27 b(page)e(78,)h(for)d(a)h(description)g(of)g
-Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 2583 y(is)30
-b(enabled)h(b)m(y)f(default.)630 2762 y Ft(globasciiranges)1110
-2871 y Fu(If)j(set,)h(range)f(expressions)g(used)f(in)h(pattern)g(matc)
-m(hing)h(brac)m(k)m(et)h(expres-)1110 2981 y(sions)28
+Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 3742 y(is)30
+b(enabled)h(b)m(y)f(default.)630 3910 y Ft(globasciiranges)1110
+4019 y Fu(If)j(set,)h(range)f(expressions)g(used)f(in)h(pattern)g(matc)
+m(hing)h(brac)m(k)m(et)h(expres-)1110 4129 y(sions)28
b(\(see)h(Section)h(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e
-(36\))g(b)s(eha)m(v)m(e)g(as)g(if)1110 3091 y(in)i(the)g(traditional)i
+(36\))g(b)s(eha)m(v)m(e)g(as)g(if)1110 4238 y(in)i(the)g(traditional)i
(C)d(lo)s(cale)j(when)d(p)s(erforming)g(comparisons.)44
-b(That)31 b(is,)1110 3200 y(the)d(curren)m(t)g(lo)s(cale's)i(collating)
+b(That)31 b(is,)1110 4348 y(the)d(curren)m(t)g(lo)s(cale's)i(collating)
h(sequence)d(is)h(not)f(tak)m(en)h(in)m(to)g(accoun)m(t,)i(so)1110
-3310 y(`)p Ft(b)p Fu(')j(will)g(not)g(collate)i(b)s(et)m(w)m(een)e(`)p
+4457 y(`)p Ft(b)p Fu(')j(will)g(not)g(collate)i(b)s(et)m(w)m(een)e(`)p
Ft(A)p Fu(')g(and)f(`)p Ft(B)p Fu(',)h(and)f(upp)s(er-case)g(and)g(lo)m
-(w)m(er-)1110 3419 y(case)e(ASCI)s(I)e(c)m(haracters)j(will)f(collate)i
-(together.)630 3598 y Ft(globskipdots)1110 3708 y Fu(If)38
+(w)m(er-)1110 4567 y(case)e(ASCI)s(I)e(c)m(haracters)j(will)f(collate)i
+(together.)630 4734 y Ft(globskipdots)1110 4844 y Fu(If)38
b(set,)k(\014lename)d(expansion)f(will)h(nev)m(er)g(matc)m(h)h(the)f
-(\014lenames)g(`)p Ft(.)p Fu(')g(and)1110 3817 y(`)p
+(\014lenames)g(`)p Ft(.)p Fu(')g(and)1110 4954 y(`)p
Ft(..)p Fu(',)c(ev)m(en)g(if)g(the)f(pattern)g(b)s(egins)g(with)g(a)h
(`)p Ft(.)p Fu('.)52 b(This)34 b(option)h(is)f(enabled)1110
-3927 y(b)m(y)c(default.)630 4106 y Ft(globstar)96 b Fu(If)38
+5063 y(b)m(y)c(default.)630 5230 y Ft(globstar)96 b Fu(If)38
b(set,)j(the)e(pattern)f(`)p Ft(**)p Fu(')h(used)e(in)i(a)f(\014lename)
-h(expansion)f(con)m(text)j(will)1110 4215 y(matc)m(h)36
+h(expansion)f(con)m(text)j(will)1110 5340 y(matc)m(h)36
b(all)g(\014les)f(and)f(zero)i(or)f(more)g(directories)h(and)e(sub)s
-(directories.)54 b(If)1110 4325 y(the)30 b(pattern)g(is)g(follo)m(w)m
-(ed)i(b)m(y)d(a)i(`)p Ft(/)p Fu(',)f(only)g(directories)h(and)f(sub)s
-(directories)1110 4434 y(matc)m(h.)630 4613 y Ft(gnu_errfmt)1110
-4723 y Fu(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)
-h(the)g(standard)f Fm(gnu)g Fu(error)1110 4832 y(message)c(format.)630
-5011 y Ft(histappend)1110 5121 y Fu(If)c(set,)j(the)e(history)g(list)g
-(is)g(app)s(ended)e(to)j(the)f(\014le)g(named)f(b)m(y)h(the)g(v)-5
-b(alue)29 b(of)1110 5230 y(the)d Ft(HISTFILE)d Fu(v)-5
-b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m
-(erwriting)1110 5340 y(the)31 b(\014le.)p eop end
+(directories.)54 b(If)p eop end
%%Page: 75 81
TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(75)630 299 y Ft(histreedit)1110
-408 y Fu(If)33 b(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
+b(Shell)30 b(Builtin)h(Commands)2069 b(75)1110 299 y(the)30
+b(pattern)g(is)g(follo)m(w)m(ed)i(b)m(y)d(a)i(`)p Ft(/)p
+Fu(',)f(only)g(directories)h(and)f(sub)s(directories)1110
+408 y(matc)m(h.)630 558 y Ft(gnu_errfmt)1110 667 y Fu(If)35
+b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)h(the)g
+(standard)f Fm(gnu)g Fu(error)1110 777 y(message)c(format.)630
+927 y Ft(histappend)1110 1036 y Fu(If)c(set,)j(the)e(history)g(list)g
+(is)g(app)s(ended)e(to)j(the)f(\014le)g(named)f(b)m(y)h(the)g(v)-5
+b(alue)29 b(of)1110 1146 y(the)d Ft(HISTFILE)d Fu(v)-5
+b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m
+(erwriting)1110 1255 y(the)31 b(\014le.)630 1405 y Ft(histreedit)1110
+1514 y Fu(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
(user)g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110
-518 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-682 y Ft(histverify)1110 792 y Fu(If)35 b(set,)i(and)e(Readline)h(is)f
-(b)s(eing)g(used,)h(the)f(results)g(of)g(history)h(substitu-)1110
-902 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
-(parser.)59 b(Instead,)38 b(the)1110 1011 y(resulting)i(line)f(is)h
+1624 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
+1773 y Ft(histverify)1110 1883 y Fu(If)35 b(set,)i(and)e(Readline)h(is)
+f(b)s(eing)g(used,)h(the)f(results)g(of)g(history)h(substitu-)1110
+1993 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
+(parser.)59 b(Instead,)38 b(the)1110 2102 y(resulting)i(line)f(is)h
(loaded)g(in)m(to)g(the)g(Readline)g(editing)g(bu\013er,)h(allo)m(wing)
-1110 1121 y(further)29 b(mo)s(di\014cation.)630 1285
-y Ft(hostcomplete)1110 1395 y Fu(If)38 b(set,)j(and)c(Readline)i(is)f
+1110 2212 y(further)29 b(mo)s(di\014cation.)630 2361
+y Ft(hostcomplete)1110 2471 y Fu(If)38 b(set,)j(and)c(Readline)i(is)f
(b)s(eing)g(used,)h(Bash)g(will)f(attempt)h(to)g(p)s(erform)1110
-1504 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
-(`)p Ft(@)p Fu(')g(is)g(b)s(eing)f(com-)1110 1614 y(pleted)g(\(see)h
+2580 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
+(`)p Ft(@)p Fu(')g(is)g(b)s(eing)f(com-)1110 2690 y(pleted)g(\(see)h
(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(139\).)1110 1724 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 1888 y Ft(huponexit)1110 1998 y Fu(If)i(set,)i(Bash)f(will)h(send)d
+(139\).)1110 2800 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
+630 2949 y Ft(huponexit)1110 3059 y Fu(If)i(set,)i(Bash)f(will)h(send)d
Ft(SIGHUP)h Fu(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
-1110 2107 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(45\).)630 2271 y Ft(inherit_errexit)1110 2381
+1110 3168 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(45\).)630 3318 y Ft(inherit_errexit)1110 3427
y Fu(If)e(set,)h(command)g(substitution)f(inherits)g(the)g(v)-5
-b(alue)30 b(of)g(the)f Ft(errexit)f Fu(op-)1110 2491
+b(alue)30 b(of)g(the)f Ft(errexit)f Fu(op-)1110 3537
y(tion,)33 b(instead)g(of)f(unsetting)g(it)h(in)f(the)g(subshell)f(en)m
-(vironmen)m(t.)46 b(This)32 b(op-)1110 2600 y(tion)f(is)f(enabled)h
-(when)e Fm(posix)h Fu(mo)s(de)g(is)g(enabled.)630 2765
-y Ft(interactive_comments)1110 2874 y Fu(Allo)m(w)d(a)g(w)m(ord)e(b)s
+(vironmen)m(t.)46 b(This)32 b(op-)1110 3646 y(tion)f(is)f(enabled)h
+(when)e Fm(posix)h Fu(mo)s(de)g(is)g(enabled.)630 3796
+y Ft(interactive_comments)1110 3905 y Fu(Allo)m(w)d(a)g(w)m(ord)e(b)s
(eginning)g(with)h(`)p Ft(#)p Fu(')g(to)h(cause)f(that)h(w)m(ord)f(and)
-f(all)i(remain-)1110 2984 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g
+f(all)i(remain-)1110 4015 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g
(to)g(b)s(e)f(ignored)g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110
-3093 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-3258 y Ft(lastpipe)96 b Fu(If)24 b(set,)i(and)e(job)g(con)m(trol)i(is)f
+4125 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+4274 y Ft(lastpipe)96 b Fu(If)24 b(set,)i(and)e(job)g(con)m(trol)i(is)f
(not)f(activ)m(e,)k(the)d(shell)f(runs)f(the)i(last)g(command)1110
-3367 y(of)37 b(a)h(pip)s(eline)e(not)h(executed)h(in)f(the)g(bac)m
-(kground)g(in)g(the)g(curren)m(t)g(shell)1110 3477 y(en)m(vironmen)m
-(t.)630 3641 y Ft(lithist)144 b Fu(If)22 b(enabled,)i(and)d(the)h
+4384 y(of)37 b(a)h(pip)s(eline)e(not)h(executed)h(in)f(the)g(bac)m
+(kground)g(in)g(the)g(curren)m(t)g(shell)1110 4493 y(en)m(vironmen)m
+(t.)630 4643 y Ft(lithist)144 b Fu(If)22 b(enabled,)i(and)d(the)h
Ft(cmdhist)e Fu(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
-3751 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
-(edded)g(newlines)h(rather)g(than)f(using)1110 3861 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)630 4025 y Ft(localvar_inherit)1110
-4134 y Fu(If)j(set,)h(lo)s(cal)g(v)-5 b(ariables)33 b(inherit)f(the)g
+4752 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
+(edded)g(newlines)h(rather)g(than)f(using)1110 4862 y(semicolon)32
+b(separators)f(where)e(p)s(ossible.)630 5011 y Ft(localvar_inherit)1110
+5121 y Fu(If)j(set,)h(lo)s(cal)g(v)-5 b(ariables)33 b(inherit)f(the)g
(v)-5 b(alue)32 b(and)g(attributes)h(of)f(a)g(v)-5 b(ariable)1110
-4244 y(of)36 b(the)g(same)g(name)g(that)h(exists)f(at)h(a)f(previous)g
-(scop)s(e)g(b)s(efore)f(an)m(y)h(new)1110 4354 y(v)-5
+5230 y(of)36 b(the)g(same)g(name)g(that)h(exists)f(at)h(a)f(previous)g
+(scop)s(e)g(b)s(efore)f(an)m(y)h(new)1110 5340 y(v)-5
b(alue)31 b(is)f(assigned.)41 b(The)30 b Ft(nameref)e
-Fu(attribute)k(is)e(not)h(inherited.)630 4518 y Ft(localvar_unset)1110
-4628 y Fu(If)i(set,)i(calling)g Ft(unset)d Fu(on)i(lo)s(cal)g(v)-5
-b(ariables)35 b(in)e(previous)g(function)g(scop)s(es)1110
-4737 y(marks)26 b(them)g(so)g(subsequen)m(t)g(lo)s(okups)f(\014nd)g
-(them)h(unset)f(un)m(til)i(that)g(func-)1110 4847 y(tion)40
-b(returns.)68 b(This)39 b(is)g(iden)m(tical)j(to)e(the)g(b)s(eha)m
-(vior)g(of)g(unsetting)g(lo)s(cal)1110 4956 y(v)-5 b(ariables)31
-b(at)g(the)g(curren)m(t)f(function)g(scop)s(e.)630 5121
-y Ft(login_shell)1110 5230 y Fu(The)35 b(shell)h(sets)g(this)f(option)h
-(if)g(it)g(is)f(started)h(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110
-5340 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(91\).)41
-b(The)28 b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)p
-eop end
+Fu(attribute)k(is)e(not)h(inherited.)p eop end
%%Page: 76 82
TeXDict begin 76 81 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(76)630 299 y Ft(mailwarn)96
-b Fu(If)34 b(set,)i(and)e(a)h(\014le)g(that)g(Bash)f(is)h(c)m(hec)m
-(king)h(for)f(mail)g(has)f(b)s(een)g(accessed)1110 408
-y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m(ed,)k(the)
-c(message)h Ft("The)k(mail)h(in)f Fj(mail-)1110 518 y(file)g
-Ft(has)h(been)f(read")g Fu(is)h(displa)m(y)m(ed.)630
-701 y Ft(no_empty_cmd_completion)1110 810 y Fu(If)g(set,)g(and)g
+b(Shell)30 b(Builtin)h(Commands)2069 b(76)630 299 y Ft(localvar_unset)
+1110 408 y Fu(If)33 b(set,)i(calling)g Ft(unset)d Fu(on)i(lo)s(cal)g(v)
+-5 b(ariables)35 b(in)e(previous)g(function)g(scop)s(es)1110
+518 y(marks)26 b(them)g(so)g(subsequen)m(t)g(lo)s(okups)f(\014nd)g
+(them)h(unset)f(un)m(til)i(that)g(func-)1110 628 y(tion)40
+b(returns.)68 b(This)39 b(is)g(iden)m(tical)j(to)e(the)g(b)s(eha)m
+(vior)g(of)g(unsetting)g(lo)s(cal)1110 737 y(v)-5 b(ariables)31
+b(at)g(the)g(curren)m(t)f(function)g(scop)s(e.)630 902
+y Ft(login_shell)1110 1011 y Fu(The)35 b(shell)h(sets)g(this)f(option)h
+(if)g(it)g(is)f(started)h(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110
+1121 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(91\).)41
+b(The)28 b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)630
+1285 y Ft(mailwarn)96 b Fu(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
+(Bash)f(is)h(c)m(hec)m(king)h(for)f(mail)g(has)f(b)s(een)g(accessed)
+1110 1395 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
+(ed,)k(the)c(message)h Ft("The)k(mail)h(in)f Fj(mail-)1110
+1504 y(file)g Ft(has)h(been)f(read")g Fu(is)h(displa)m(y)m(ed.)630
+1669 y Ft(no_empty_cmd_completion)1110 1778 y Fu(If)g(set,)g(and)g
(Readline)g(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e
-(searc)m(h)1110 920 y(the)25 b Ft(PATH)f Fu(for)h(p)s(ossible)f
+(searc)m(h)1110 1888 y(the)25 b Ft(PATH)f Fu(for)h(p)s(ossible)f
(completions)j(when)d(completion)i(is)f(attempted)h(on)1110
-1029 y(an)k(empt)m(y)h(line.)630 1212 y Ft(nocaseglob)1110
-1322 y Fu(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
-(case-insensitiv)m(e)j(fashion)c(when)1110 1431 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 1614 y Ft(nocasematch)1110
-1724 y Fu(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
-(case-insensitiv)m(e)i(fashion)d(when)1110 1833 y(p)s(erforming)31
+1998 y(an)k(empt)m(y)h(line.)630 2162 y Ft(nocaseglob)1110
+2271 y Fu(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
+(case-insensitiv)m(e)j(fashion)c(when)1110 2381 y(p)s(erforming)29
+b(\014lename)i(expansion.)630 2545 y Ft(nocasematch)1110
+2655 y Fu(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
+(case-insensitiv)m(e)i(fashion)d(when)1110 2765 y(p)s(erforming)31
b(matc)m(hing)i(while)f(executing)i Ft(case)d Fu(or)h
-Ft([[)g Fu(conditional)h(com-)1110 1943 y(mands)25 b(\(see)i(Section)f
+Ft([[)g Fu(conditional)h(com-)1110 2874 y(mands)25 b(\(see)i(Section)f
(3.2.5.2)j([Conditional)e(Constructs],)f(page)h(12,)h(when)1110
-2052 y(p)s(erforming)e(pattern)i(substitution)f(w)m(ord)g(expansions,)h
-(or)f(when)g(\014ltering)1110 2162 y(p)s(ossible)j(completions)h(as)g
-(part)f(of)h(programmable)f(completion.)630 2345 y Ft
-(noexpand_translation)1110 2454 y Fu(If)23 b(set,)j(Bash)d(encloses)i
+2984 y(p)s(erforming)e(pattern)i(substitution)f(w)m(ord)g(expansions,)h
+(or)f(when)g(\014ltering)1110 3093 y(p)s(ossible)j(completions)h(as)g
+(part)f(of)h(programmable)f(completion.)630 3258 y Ft
+(noexpand_translation)1110 3367 y Fu(If)23 b(set,)j(Bash)d(encloses)i
(the)e(translated)h(results)g(of)f($)p Ft(")p Fu(...)p
-Ft(")h Fu(quoting)g(in)f(single)1110 2564 y(quotes)k(instead)g(of)g
+Ft(")h Fu(quoting)g(in)f(single)1110 3477 y(quotes)k(instead)g(of)g
(double)f(quotes.)40 b(If)26 b(the)h(string)f(is)h(not)g(translated,)h
-(this)1110 2673 y(has)i(no)g(e\013ect.)630 2856 y Ft(nullglob)96
+(this)1110 3587 y(has)i(no)g(e\013ect.)630 3751 y Ft(nullglob)96
b Fu(If)23 b(set,)j(Bash)e(allo)m(ws)g(\014lename)g(patterns)g(whic)m
-(h)f(matc)m(h)h(no)g(\014les)f(to)i(expand)1110 2966
+(h)f(matc)m(h)h(no)g(\014les)f(to)i(expand)1110 3861
y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g(themselv)m(es.)630
-3148 y Ft(patsub_replacement)1110 3258 y Fu(If)38 b(set,)k(Bash)d
+4025 y Ft(patsub_replacement)1110 4134 y Fu(If)38 b(set,)k(Bash)d
(expands)e(o)s(ccurrences)i(of)g(`)p Ft(&)p Fu(')g(in)f(the)h
-(replacemen)m(t)h(string)1110 3367 y(of)47 b(pattern)g(substitution)g
+(replacemen)m(t)h(string)1110 4244 y(of)47 b(pattern)g(substitution)g
(to)h(the)f(text)h(matc)m(hed)g(b)m(y)f(the)g(pattern,)52
-b(as)1110 3477 y(describ)s(ed)45 b(ab)s(o)m(v)m(e)i(\(see)f(Section)h
-(3.5.3)g([Shell)f(P)m(arameter)h(Expansion],)1110 3587
+b(as)1110 4354 y(describ)s(ed)45 b(ab)s(o)m(v)m(e)i(\(see)f(Section)h
+(3.5.3)g([Shell)f(P)m(arameter)h(Expansion],)1110 4463
y(page)31 b(26\).)42 b(This)30 b(option)g(is)h(enabled)f(b)m(y)g
-(default.)630 3769 y Ft(progcomp)96 b Fu(If)25 b(set,)i(the)f
+(default.)630 4628 y Ft(progcomp)96 b Fu(If)25 b(set,)i(the)f
(programmable)g(completion)g(facilities)i(\(see)f(Section)f(8.6)h
-([Pro-)1110 3879 y(grammable)45 b(Completion],)k(page)c(143\))h(are)f
-(enabled.)82 b(This)44 b(option)h(is)1110 3988 y(enabled)30
-b(b)m(y)h(default.)630 4171 y Ft(progcomp_alias)1110
-4281 y Fu(If)23 b(set,)j(and)d(programmable)h(completion)h(is)f
-(enabled,)h(Bash)f(treats)h(a)f(com-)1110 4390 y(mand)34
+([Pro-)1110 4737 y(grammable)45 b(Completion],)k(page)c(143\))h(are)f
+(enabled.)82 b(This)44 b(option)h(is)1110 4847 y(enabled)30
+b(b)m(y)h(default.)630 5011 y Ft(progcomp_alias)1110
+5121 y Fu(If)23 b(set,)j(and)d(programmable)h(completion)h(is)f
+(enabled,)h(Bash)f(treats)h(a)f(com-)1110 5230 y(mand)34
b(name)h(that)g(do)s(esn't)f(ha)m(v)m(e)i(an)m(y)g(completions)f(as)g
-(a)g(p)s(ossible)g(alias)1110 4500 y(and)40 b(attempts)i(alias)h
-(expansion.)72 b(If)41 b(it)g(has)g(an)g(alias,)k(Bash)c(attempts)1110
-4609 y(programmable)28 b(completion)h(using)e(the)h(command)f(w)m(ord)h
-(resulting)f(from)1110 4719 y(the)k(expanded)e(alias.)630
-4902 y Ft(promptvars)1110 5011 y Fu(If)50 b(set,)56 b(prompt)49
-b(strings)h(undergo)g(parameter)h(expansion,)k(command)1110
-5121 y(substitution,)35 b(arithmetic)g(expansion,)g(and)e(quote)i(remo)
-m(v)-5 b(al)35 b(after)f(b)s(eing)1110 5230 y(expanded)53
-b(as)h(describ)s(ed)e(b)s(elo)m(w)i(\(see)h(Section)f(6.9)h([Con)m
-(trolling)g(the)1110 5340 y(Prompt],)30 b(page)h(104\).)43
-b(This)29 b(option)i(is)g(enabled)f(b)m(y)g(default.)p
+(a)g(p)s(ossible)g(alias)1110 5340 y(and)40 b(attempts)i(alias)h
+(expansion.)72 b(If)41 b(it)g(has)g(an)g(alias,)k(Bash)c(attempts)p
eop end
%%Page: 77 83
TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(77)630 299 y Ft
-(restricted_shell)1110 408 y Fu(The)40 b(shell)h(sets)g(this)g(option)g
-(if)g(it)h(is)e(started)i(in)e(restricted)i(mo)s(de)e(\(see)1110
-518 y(Section)32 b(6.10)h([The)d(Restricted)j(Shell],)e(page)h(105\).)
-45 b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110 628
-y(b)s(e)g(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f(the)h
-(startup)g(\014les)f(are)i(executed,)1110 737 y(allo)m(wing)k(the)e
-(startup)f(\014les)h(to)g(disco)m(v)m(er)h(whether)f(or)f(not)i(a)f
-(shell)g(is)g(re-)1110 847 y(stricted.)630 1006 y Ft(shift_verbose)1110
-1116 y Fu(If)g(this)g(is)g(set,)j(the)d Ft(shift)f Fu(builtin)h(prin)m
-(ts)f(an)h(error)g(message)i(when)d(the)1110 1225 y(shift)30
+b(Shell)30 b(Builtin)h(Commands)2069 b(77)1110 299 y(programmable)28
+b(completion)h(using)e(the)h(command)f(w)m(ord)h(resulting)f(from)1110
+408 y(the)k(expanded)e(alias.)630 566 y Ft(promptvars)1110
+676 y Fu(If)50 b(set,)56 b(prompt)49 b(strings)h(undergo)g(parameter)h
+(expansion,)k(command)1110 785 y(substitution,)35 b(arithmetic)g
+(expansion,)g(and)e(quote)i(remo)m(v)-5 b(al)35 b(after)f(b)s(eing)1110
+895 y(expanded)53 b(as)h(describ)s(ed)e(b)s(elo)m(w)i(\(see)h(Section)f
+(6.9)h([Con)m(trolling)g(the)1110 1005 y(Prompt],)30
+b(page)h(104\).)43 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
+(default.)630 1162 y Ft(restricted_shell)1110 1272 y
+Fu(The)40 b(shell)h(sets)g(this)g(option)g(if)g(it)h(is)e(started)i(in)
+e(restricted)i(mo)s(de)e(\(see)1110 1382 y(Section)32
+b(6.10)h([The)d(Restricted)j(Shell],)e(page)h(105\).)45
+b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110 1491 y(b)s(e)g(c)m
+(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f(the)h(startup)g
+(\014les)f(are)i(executed,)1110 1601 y(allo)m(wing)k(the)e(startup)f
+(\014les)h(to)g(disco)m(v)m(er)h(whether)f(or)f(not)i(a)f(shell)g(is)g
+(re-)1110 1710 y(stricted.)630 1868 y Ft(shift_verbose)1110
+1978 y Fu(If)g(this)g(is)g(set,)j(the)d Ft(shift)f Fu(builtin)h(prin)m
+(ts)f(an)h(error)g(message)i(when)d(the)1110 2087 y(shift)30
b(coun)m(t)h(exceeds)g(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)i
-(parameters.)630 1385 y Ft(sourcepath)1110 1494 y Fu(If)40
+(parameters.)630 2245 y Ft(sourcepath)1110 2355 y Fu(If)40
b(set,)45 b(the)c Ft(.)f Fu(\()p Ft(source)p Fu(\))g(builtin)g(uses)h
(the)g(v)-5 b(alue)41 b(of)g Ft(PATH)f Fu(to)h(\014nd)f(the)1110
-1604 y(directory)32 b(con)m(taining)g(the)g(\014le)f(supplied)f(as)h
-(an)g(argumen)m(t.)44 b(This)30 b(option)1110 1714 y(is)g(enabled)h(b)m
-(y)f(default.)630 1873 y Ft(varredir_close)1110 1983
+2464 y(directory)32 b(con)m(taining)g(the)g(\014le)f(supplied)f(as)h
+(an)g(argumen)m(t.)44 b(This)30 b(option)1110 2574 y(is)g(enabled)h(b)m
+(y)f(default.)630 2732 y Ft(varredir_close)1110 2841
y Fu(If)i(set,)h(the)f(shell)h(automatically)i(closes)e(\014le)f
-(descriptors)g(assigned)g(using)1110 2092 y(the)40 b
+(descriptors)g(assigned)g(using)1110 2951 y(the)40 b
Ft({varname})c Fu(redirection)k(syn)m(tax)g(\(see)h(Section)f(3.6)g
-([Redirections],)1110 2202 y(page)h(38\))f(instead)h(of)e(lea)m(ving)j
-(them)e(op)s(en)f(when)g(the)h(command)f(com-)1110 2311
-y(pletes.)630 2471 y Ft(xpg_echo)96 b Fu(If)31 b(set,)h(the)g
+([Redirections],)1110 3060 y(page)h(38\))f(instead)h(of)e(lea)m(ving)j
+(them)e(op)s(en)f(when)g(the)h(command)f(com-)1110 3170
+y(pletes.)630 3328 y Ft(xpg_echo)96 b Fu(If)31 b(set,)h(the)g
Ft(echo)e Fu(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f
-(b)m(y)f(de-)1110 2580 y(fault.)150 2821 y Fs(4.4)68
-b(Sp)t(ecial)45 b(Builtins)150 2980 y Fu(F)-8 b(or)35
+(b)m(y)f(de-)1110 3437 y(fault.)150 3677 y Fs(4.4)68
+b(Sp)t(ecial)45 b(Builtins)150 3836 y Fu(F)-8 b(or)35
b(historical)h(reasons,)g(the)e Fm(posix)g Fu(standard)f(has)i
(classi\014ed)f(sev)m(eral)i(builtin)e(commands)g(as)h
-Fl(sp)-5 b(e-)150 3090 y(cial)p Fu(.)47 b(When)33 b(Bash)f(is)h
+Fl(sp)-5 b(e-)150 3946 y(cial)p Fu(.)47 b(When)33 b(Bash)f(is)h
(executing)g(in)f Fm(posix)g Fu(mo)s(de,)h(the)g(sp)s(ecial)g(builtins)
-e(di\013er)i(from)f(other)g(builtin)150 3200 y(commands)e(in)g(three)h
-(resp)s(ects:)199 3334 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i
+e(di\013er)i(from)f(other)g(builtin)150 4055 y(commands)e(in)g(three)h
+(resp)s(ects:)199 4189 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i
(found)e(b)s(efore)h(shell)h(functions)f(during)f(command)h(lo)s(okup.)
-199 3469 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h
+199 4323 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h
(error)g(status,)h(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199
-3603 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f
+4456 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f
(command)g(sta)m(y)i(in)e(e\013ect)i(in)e(the)h(shell)f(en)m(vironmen)m
-(t)330 3713 y(after)i(the)f(command)h(completes.)275
-3872 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fm(posix)f
+(t)330 4566 y(after)i(the)f(command)h(completes.)275
+4724 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fm(posix)f
Fu(mo)s(de,)j(these)f(builtins)f(b)s(eha)m(v)m(e)h(no)f(di\013eren)m
-(tly)h(than)150 3982 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e
+(tly)h(than)150 4833 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e
(commands.)41 b(The)30 b(Bash)g Fm(posix)g Fu(mo)s(de)g(is)g(describ)s
-(ed)f(in)h(Section)h(6.11)150 4091 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
-(106.)275 4226 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h
-(builtins:)390 4360 y Ft(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
-(exit)g(export)f(readonly)f(return)h(set)390 4470 y(shift)g(trap)h
+(ed)f(in)h(Section)h(6.11)150 4943 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
+(106.)275 5076 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h
+(builtins:)390 5210 y Ft(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
+(exit)g(export)f(readonly)f(return)h(set)390 5320 y(shift)g(trap)h
(unset)p eop end
%%Page: 78 84
TeXDict begin 78 83 bop 3659 -116 a Fu(78)150 299 y Fp(5)80
b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
4390 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
(osition,)f(they)g(should)f(use)h(`)p Ft(-)p Fu(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 4524 y(42.)61 b Ft(trap)29 b(-p)35
-b Fu(displa)m(ys)h(signals)h(whose)f(disp)s(ositions)f(are)h(set)h(to)f
-(SIG)p 2687 4524 28 4 v 40 w(DFL)g(and)g(those)g(that)g(w)m(ere)330
-4634 y(ignored)30 b(when)g(the)g(shell)h(started.)154
+f(argumen)m(t.)154 4524 y(42.)61 b Ft(trap)29 b(-p)24
+b Fu(without)g(argumen)m(ts)g(displa)m(ys)g(signals)g(whose)g(disp)s
+(ositions)g(are)g(set)h(to)f(SIG)p 3360 4524 28 4 v 40
+w(DFL)h(and)330 4634 y(those)31 b(that)g(w)m(ere)g(ignored)f(when)g
+(the)g(shell)h(started,)g(not)f(just)g(trapp)s(ed)f(signals.)154
4768 y(43.)61 b(The)21 b Ft(.)h Fu(and)f Ft(source)f
Fu(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f(directory)h
(for)g(the)g(\014lename)f(argumen)m(t)330 4877 y(if)30
b(/)g(/)g(ftp)g(.)g(gnu)g(.)g(org)g(/)g(pub)g(/)g(gnu)g(/)g(bash)g(/)45
b Fu(and)40 b(from)g Ft(http:)8 b(/)g(/)g(git)g(.)150
862 y(savannah.gnu.org/cgit/ba)o(sh.g)o(it/s)o(nap)o(shot)o(/bas)o(h-m)
-o(aste)o(r.ta)o(r.g)o(z)p Fu(.)275 996 y(Once)41 b(y)m(ou)g(ha)m(v)m(e)
-h(determined)f(that)h(a)f(bug)g(actually)h(exists,)j(use)c(the)g
-Ft(bashbug)e Fu(command)i(to)150 1106 y(submit)25 b(a)h(bug)g(rep)s
-(ort.)38 b(If)26 b(y)m(ou)g(ha)m(v)m(e)h(a)f(\014x,)h(y)m(ou)f(are)g
-(encouraged)h(to)f(mail)h(that)f(as)g(w)m(ell!)40 b(Suggestions)150
-1215 y(and)j(`philosophical')i(bug)e(rep)s(orts)f(ma)m(y)j(b)s(e)e
-(mailed)h(to)g Ft(bug-bash@gnu)11 b(.)g(org)39 b Fu(or)k(p)s(osted)g
-(to)i(the)150 1325 y(Usenet)31 b(newsgroup)e Ft(gnu.bash.bug)p
-Fu(.)275 1460 y(All)i(bug)e(rep)s(orts)h(should)f(include:)225
-1594 y Fq(\017)60 b Fu(The)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h
-(Bash.)225 1729 y Fq(\017)60 b Fu(The)30 b(hardw)m(are)g(and)g(op)s
-(erating)g(system.)225 1863 y Fq(\017)60 b Fu(The)30
-b(compiler)h(used)e(to)i(compile)h(Bash.)225 1998 y Fq(\017)60
-b Fu(A)30 b(description)h(of)f(the)h(bug)f(b)s(eha)m(viour.)225
-2132 y Fq(\017)60 b Fu(A)30 b(short)h(script)f(or)g(`recip)s(e')h(whic)
-m(h)f(exercises)i(the)e(bug)g(and)g(ma)m(y)h(b)s(e)f(used)f(to)i(repro)
-s(duce)e(it.)150 2291 y Ft(bashbug)d Fu(inserts)i(the)h(\014rst)f
-(three)g(items)h(automatically)i(in)m(to)f(the)e(template)i(it)f(pro)m
-(vides)f(for)g(\014ling)h(a)150 2401 y(bug)h(rep)s(ort.)275
-2535 y(Please)h(send)f(all)h(rep)s(orts)f(concerning)g(this)h(man)m
-(ual)f(to)h Ft(bug-bash@gnu.org)p Fu(.)p eop end
+o(aste)o(r.ta)o(r.g)o(z)p Fu(.)275 996 y(Once)26 b(y)m(ou)h(ha)m(v)m(e)
+g(determined)f(that)h(a)g(bug)f(actually)i(exists,)g(use)e(the)g
+Ft(bashbug)f Fu(command)h(to)h(sub-)150 1106 y(mit)21
+b(a)f(bug)g(rep)s(ort)g(or)g(use)g(the)g(form)g(at)h(the)g
+Ft(<)p Fu(a)f(href=)p Ft(")p Fu(h)m(ttps://sa)m(v)-5
+b(annah.gn)m(u.org/pro)5 b(jects/bash/)p Ft(">)p Fu(Bash)150
+1215 y(pro)g(ject)27 b(page)p Ft(<)p Fu(/a)p Ft(>)p Fu(.)41
+b(If)26 b(y)m(ou)h(ha)m(v)m(e)h(a)f(\014x,)h(y)m(ou)f(are)g(encouraged)
+g(to)h(submit)e(that)h(as)g(w)m(ell!)40 b(Suggestions)150
+1325 y(and)33 b(`philosophical')i(bug)e(rep)s(orts)g(ma)m(y)h(b)s(e)f
+(mailed)h(to)g Ft(bug-bash@gnu)s(.)s(org)29 b Fu(or)k
+Ft(help-bash@gnu)s(.)150 1435 y(org)p Fu(.)275 1569 y(All)e(bug)e(rep)s
+(orts)h(should)f(include:)225 1704 y Fq(\017)60 b Fu(The)30
+b(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h(Bash.)225 1838
+y Fq(\017)60 b Fu(The)30 b(hardw)m(are)g(and)g(op)s(erating)g(system.)
+225 1973 y Fq(\017)60 b Fu(The)30 b(compiler)h(used)e(to)i(compile)h
+(Bash.)225 2107 y Fq(\017)60 b Fu(A)30 b(description)h(of)f(the)h(bug)f
+(b)s(eha)m(viour.)225 2242 y Fq(\017)60 b Fu(A)30 b(short)h(script)f
+(or)g(`recip)s(e')h(whic)m(h)f(exercises)i(the)e(bug)g(and)g(ma)m(y)h
+(b)s(e)f(used)f(to)i(repro)s(duce)e(it.)150 2401 y Ft(bashbug)d
+Fu(inserts)i(the)h(\014rst)f(three)g(items)h(automatically)i(in)m(to)f
+(the)e(template)i(it)f(pro)m(vides)f(for)g(\014ling)h(a)150
+2511 y(bug)h(rep)s(ort.)275 2645 y(Please)h(send)f(all)h(rep)s(orts)f
+(concerning)g(this)h(man)m(ual)f(to)h Ft(bug-bash@gnu.org)p
+Fu(.)p eop end
%%Page: 168 174
TeXDict begin 168 173 bop 3614 -116 a Fu(168)150 141
y Fp(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13
(:)g(:)g(:)33 b Fb(52)146 1881 y Fs(A)150 1998 y Fe(alias)9
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(55)146 2239 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(56)146 2239 y
Fs(B)150 2356 y Fe(bg)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(71)2025 5148
y Fe(source)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(64)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(65)2025
5235 y Fe(suspend)d Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)p eop end
b Fb(54)150 671 y Fe(type)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(64)150 758 y Fe(typeset)d Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(65)150 758 y Fe(typeset)d Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
b Fb(65)146 1003 y Fs(U)150 1119 y Fe(ulimit)6 b Fc(:)15
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(55)150 1293 y
Fe(unalias)f Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(66)150 1380 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(67)150 1380 y
Fe(unset)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(55)2021
@item trap
@btindex trap
@example
-trap [-lp] [@var{arg}] [@var{sigspec} @dots{}]
+trap [-lp] [@var{action}] [@var{sigspec} @dots{}]
@end example
-The commands in @var{arg} are to be read and executed when the
-shell receives signal @var{sigspec}. If @var{arg} is absent (and
+The @var{action} is a command that is read and executed when the
+shell receives signal @var{sigspec}. If @var{action} is absent (and
there is a single @var{sigspec}) or
equal to @samp{-}, each specified signal's disposition is reset
to the value it had when the shell was started.
-If @var{arg} is the null string, then the signal specified by
+If @var{action} is the null string, then the signal specified by
each @var{sigspec} is ignored by the shell and commands it invokes.
-If @var{arg} is not present and @option{-p} has been supplied,
-the shell displays the trap commands associated with each @var{sigspec}.
-If no arguments are supplied, or
-only @option{-p} is given, @code{trap} prints the list of commands
-associated with each signal number in a form that may be reused as
-shell input.
-The @option{-l} option causes the shell to print a list of signal names
+
+If no arguments are supplied, @code{trap} prints the actions
+associated with each trapped signal
+as a set of @code{trap} commands that can be reused as shell input to
+restore the current signal dispositions.
+If @var{action} is not present and @option{-p} has been supplied,
+@code{trap} displays the trap commands associated with each @var{sigspec},
+or, if no @var{sigspec}s are supplied, for all trapped signals,
+as a set of @code{trap} commands that can be reused as shell input to
+restore the current signal dispositions.
+
+The @option{-l} option causes @code{trap} to print a list of signal names
and their corresponding numbers.
Each @var{sigspec} is either a signal name or a signal number.
Signal names are case insensitive and the @code{SIG} prefix is optional.
If a @var{sigspec}
-is @code{0} or @code{EXIT}, @var{arg} is executed when the shell exits.
-If a @var{sigspec} is @code{DEBUG}, the command @var{arg} is executed
+is @code{0} or @code{EXIT}, @var{action} is executed when the shell exits.
+If a @var{sigspec} is @code{DEBUG}, @var{action} is executed
before every simple command, @code{for} command, @code{case} command,
-@code{select} command, every arithmetic @code{for} command, and before
-the first command executes in a shell function.
+@code{select} command, (( arithmetic command, [[ conditional command,
+arithmetic @code{for} command,
+and before the first command executes in a shell function.
Refer to the description of the @code{extdebug} option to the
@code{shopt} builtin (@pxref{The Shopt Builtin}) for details of its
effect on the @code{DEBUG} trap.
-If a @var{sigspec} is @code{RETURN}, the command @var{arg} is executed
+If a @var{sigspec} is @code{RETURN}, @var{action} is executed
each time a shell function or a script executed with the @code{.} or
@code{source} builtins finishes executing.
-If a @var{sigspec} is @code{ERR}, the command @var{arg}
+If a @var{sigspec} is @code{ERR}, @var{action}
is executed whenever
a pipeline (which may consist of a single simple
command), a list, or a compound command returns a
These are the same conditions obeyed by the @code{errexit} (@option{-e})
option.
-Signals ignored upon entry to the shell cannot be trapped or reset.
+Signals ignored upon entry to a non-interactive shell cannot be trapped or
+reset.
+Interactive shells permit trapping signals ignored on entry.
Trapped signals that are not being ignored are reset to their original
values in a subshell or subshell environment when one is created.
first argument.
@item
-@code{trap -p} displays signals whose dispositions are set to SIG_DFL and
-those that were ignored when the shell started.
+@code{trap -p} without arguments displays signals whose dispositions are
+set to SIG_DFL and those that were ignored when the shell started, not
+just trapped signals.
@item
The @code{.} and @code{source} builtins do not search the current directory
<a href="https://savannah.gnu.org/projects/bash/">Bash project page</a>.
If you have a fix, you are encouraged to submit that as well!
Suggestions and `philosophical' bug reports may be mailed
-to @email{bug-bash@@gnu.org} or @email{help-bash@gnu.org}.
+to @email{bug-bash@@gnu.org} or @email{help-bash@@gnu.org}.
All bug reports should include:
@itemize @bullet
t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
- t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
- The command _\ba_\br_\bg is to be read and executed when the shell re-
- ceives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\br_\bg is absent (and there is a sin-
- gle _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its origi-
- nal disposition (the value it had upon entrance to the shell).
- If _\ba_\br_\bg is the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc
- is ignored by the shell and by the commands it invokes. If _\ba_\br_\bg
- is not present and -\b-p\bp has been supplied, then the trap commands
- associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc are displayed. If no arguments are
- supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the list of com-
- mands associated with each signal. The -\b-l\bl option causes the
- shell to print a list of signal names and their corresponding
- numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined in <_\bs_\bi_\bg_\b-
- _\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names are case insensitive
- and the S\bSI\bIG\bG prefix is optional.
-
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
- from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
- cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
- _\bs_\be_\bl_\be_\bc_\bt command, every arithmetic _\bf_\bo_\br command, and before the
- first command executes in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in
- _\bb_\ba_\bs_\bh_\b(_\b1_\b)). Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to
- the s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a
- shell function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be
- builtins finishes executing.
-
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a
+ t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
+ The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
+ receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and there is a
+ single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the signal specified by
+ each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
+ vokes.
+
+ If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+ ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
+ be reused as shell input to restore the current signal disposi-
+ tions. If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+ displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+ are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
+ that can be reused as shell input to restore the current signal
+ dispositions.
+
+ The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of signal names and
+ their corresponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
+ name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names
+ are case insensitive and the S\bSI\bIG\bG prefix is optional.
+
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
+ from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
+ executed before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
+ _\bs_\be_\bl_\be_\bc_\bt command, (( arithmetic command, [[ conditional command,
+ arithmetic _\bf_\bo_\br command, and before the first command executes in
+ a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh_\b(_\b1_\b)). Refer to the
+ description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for de-
+ tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
+ the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
+ script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
+ ing.
+
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
the following conditions. The E\bER\bRR\bR trap is not executed if the
!\b!. These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
tion.
- Signals ignored upon entry to the shell cannot be trapped or re-
- set. 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 _\bs_\bi_\bg_\bs_\bp_\be_\bc is
- invalid; otherwise t\btr\bra\bap\bp returns true.
+ When the shell is not interactive, signals ignored upon entry to
+ the shell cannot be trapped or reset. Interactive shells permit
+ trapping signals ignored on entry. 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 _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
- With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+ With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
used as a command name. If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
- string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
- _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
- builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
- then nothing is printed, and an exit status of false is re-
- turned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the name
- of the disk file that would be executed if _\bn_\ba_\bm_\be were specified
- as a command name, or nothing if ``type -t name'' would not re-
- turn _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
+ string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+ _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
+ builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
+ then nothing is printed, and an exit status of false is re-
+ turned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the name
+ of the disk file that would be executed if _\bn_\ba_\bm_\be were specified
+ as a command name, or nothing if ``type -t name'' would not re-
+ turn _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
even if ``type -t name'' would not return _\bf_\bi_\bl_\be. If a command is
hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
- ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
- used, t\bty\byp\bpe\be prints all of the places that contain an executable
+ ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
+ used, t\bty\byp\bpe\be prints all of the places that contain an executable
named _\bn_\ba_\bm_\be. This includes aliases and functions, if and only if
the -\b-p\bp option is not also used. The table of hashed commands is
- not consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell
+ not consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell
function lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true
if all of the arguments are found, false if any are not found.
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The -\b-H\bH and -\b-S\bS 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 -\b-H\bH nor -\b-S\bS is speci-
+ 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 -\b-H\bH nor -\b-S\bS is speci-
fied, both the soft and hard limits are set. The value of _\bl_\bi_\bm_\bi_\bt
can be a number in the unit specified for the resource or one of
the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
- current hard limit, the current soft limit, and no limit, re-
- spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+ current hard limit, the current soft limit, and no limit, re-
+ spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
limit of the resource is printed, unless the -\b-H\bH option is given.
- When more than one resource is specified, the limit name and
- unit, if appropriate, are printed before the value. Other op-
+ When more than one resource is specified, the limit name and
+ unit, if appropriate, are printed before the value. Other op-
tions are interpreted as follows:
-\b-a\ba All current limits are reported; no limits are set
-\b-b\bb The maximum socket buffer size
-\b-c\bc The maximum size of core files created
-\b-d\bd The maximum size of a process's data segment
-\b-e\be The maximum scheduling priority ("nice")
- -\b-f\bf The maximum size of files written by the shell and its
+ -\b-f\bf The maximum size of files written by the shell and its
children
-\b-i\bi The maximum number of pending signals
-\b-k\bk The maximum number of kqueues that may be allocated
-\b-l\bl The maximum size that may be locked into memory
- -\b-m\bm The maximum resident set size (many systems do not honor
+ -\b-m\bm The maximum resident set size (many systems do not honor
this limit)
-\b-n\bn The maximum number of open file descriptors (most systems
do not allow this value to be set)
-\b-r\br The maximum real-time scheduling priority
-\b-s\bs The maximum stack size
-\b-t\bt The maximum amount of cpu time in seconds
- -\b-u\bu The maximum number of processes available to a single
+ -\b-u\bu The maximum number of processes available to a single
user
- -\b-v\bv The maximum amount of virtual memory available to the
+ -\b-v\bv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
-\b-x\bx The maximum number of file locks
-\b-P\bP The maximum number of pseudoterminals
- -\b-R\bR The maximum time a real-time process can run before
+ -\b-R\bR The maximum time a real-time process can run before
blocking, in microseconds
-\b-T\bT The maximum number of threads
- If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
- new value of the specified resource. If no option is given,
- then -\b-f\bf is assumed. Values are in 1024-byte increments, except
- for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
- which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
- -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
- -\b-f\bf, which are in 512-byte increments. The return status is 0
- unless an invalid option or argument is supplied, or an error
+ If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
+ new value of the specified resource. If no option is given,
+ then -\b-f\bf is assumed. Values are in 1024-byte increments, except
+ for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+ which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
+ -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
+ -\b-f\bf, which are in 512-byte increments. The return status is 0
+ unless an invalid option or argument is supplied, or an error
occurs while setting a new limit.
u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
The user file-creation mask is set to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be 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
- _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
- printed. The -\b-S\bS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the -\b-p\bp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+ printed. The -\b-S\bS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the -\b-p\bp
option is supplied, and _\bm_\bo_\bd_\be 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 _\bm_\bo_\bd_\be argument was supplied,
+ was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
and false otherwise.
u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
- Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
- supplied, all alias definitions are removed. The return value
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
- For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
+ For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
- and that variable is removed. Read-only variables may not be
- unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
- tion, and the function definition is removed. If the -\b-n\bn option
- is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
- _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
- has no effect if the -\b-f\bf option is supplied. If no options are
- supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
- able by that name, a function with that name, if any, is unset.
- Each unset variable or function is removed from the environment
- passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+ and that variable is removed. Read-only variables may not be
+ unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
+ tion, and the function definition is removed. If the -\b-n\bn option
+ is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
+ _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
+ has no effect if the -\b-f\bf option is supplied. If no options are
+ supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+ able by that name, a function with that name, if any, is unset.
+ Each unset variable or function is removed from the environment
+ passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0, B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS, B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD, B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL, B\bBA\bAS\bSH\bHP\bPI\bID\bD,
- C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
- N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
+ C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
+ N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _\bn_\ba_\bm_\be is read-
only or may not be unset.
w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd _\b._\b._\b.]
Wait for each specified child process and return its termination
- status. Each _\bi_\bd 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 _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
- background jobs and the last-executed process substitution, if
+ status. Each _\bi_\bd 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 _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
+ background jobs and the last-executed process substitution, if
its process id is the same as $\b$!\b!, and the return status is zero.
- If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+ If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
- and returns its exit status. If none of the supplied arguments
+ and returns its exit status. If none of the supplied arguments
is a child of the shell, or if no arguments are supplied and the
- shell has no unwaited-for children, the exit status is 127. If
- the -\b-p\bp option is supplied, the process or job identifier of the
- job for which the exit status is returned is assigned to the
- variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
- will be unset initially, before any assignment. This is useful
- only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
- when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+ shell has no unwaited-for children, the exit status is 127. If
+ the -\b-p\bp option is supplied, the process or job identifier of the
+ job for which the exit status is returned is assigned to the
+ variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
+ will be unset initially, before any assignment. This is useful
+ only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
+ when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
minate before returning its status, instead of returning when it
- changes status. If _\bi_\bd specifies a non-existent process or job,
- the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
- the return status will be greater than 128, as described under
- S\bSI\bIG\bGN\bNA\bAL\bLS\bS in _\bb_\ba_\bs_\bh_\b(_\b1_\b). Otherwise, the return status is the exit
+ changes status. If _\bi_\bd specifies a non-existent process or job,
+ the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
+ the return status will be greater than 128, as described under
+ S\bSI\bIG\bGN\bNA\bAL\bLS\bS in _\bb_\ba_\bs_\bh_\b(_\b1_\b). Otherwise, the return status is the exit
status of the last process or job waited for.
S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
- Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
- fied as a set of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
- c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibil-
- ity level -- each option is mutually exclusive. The compatibility
- level is intended to allow users to select behavior from previous ver-
- sions that is incompatible with newer versions while they migrate
- scripts to use current features and behavior. It's intended to be a
+ Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
+ fied as a set of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
+ c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibil-
+ ity level -- each option is mutually exclusive. The compatibility
+ level is intended to allow users to select behavior from previous ver-
+ sions that is incompatible with newer versions while they migrate
+ scripts to use current features and behavior. It's intended to be a
temporary solution.
- This section does not mention behavior that is standard for a particu-
- lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
- regexp matching operator quotes special regexp characters in the word,
+ This section does not mention behavior that is standard for a particu-
+ lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
+ regexp matching operator quotes special regexp characters in the word,
which is default behavior in bash-3.2 and subsequent versions).
- If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
- compatibility levels up to and including the current compatibility
- level. The idea is that each compatibility level controls behavior
- that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
- present in earlier versions. For instance, the change to use locale-
- based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
+ If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
+ compatibility levels up to and including the current compatibility
+ level. The idea is that each compatibility level controls behavior
+ that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
+ present in earlier versions. For instance, the change to use locale-
+ based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
- ASCII-based comparisons as well. That granularity may not be suffi-
- cient for all uses, and as a result users should employ compatibility
- levels carefully. Read the documentation for a particular feature to
+ ASCII-based comparisons as well. That granularity may not be suffi-
+ cient for all uses, and as a result users should employ compatibility
+ levels carefully. Read the documentation for a particular feature to
find out the current behavior.
- Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
+ Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
- ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+ ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
patibility level.
- Starting with bash-4.4, Bash has begun deprecating older compatibility
- levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+ Starting with bash-4.4, Bash has begun deprecating older compatibility
+ levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
P\bPA\bAT\bT.
- Bash-5.0 is the final version for which there will be an individual
- shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
+ Bash-5.0 is the final version for which there will be an individual
+ shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
bash-5.0 and later versions.
- The following table describes the behavior changes controlled by each
+ The following table describes the behavior changes controlled by each
compatibility level setting. The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
setting the compatibility level to _\bN_\bN using one of the following mecha-
- nisms. For versions prior to bash-5.0, the compatibility level may be
- set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
- later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+ nisms. For versions prior to bash-5.0, the compatibility level may be
+ set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
+ later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
quired for bash-5.1 and later versions.
c\bco\bom\bmp\bpa\bat\bt3\b31\b1
ator (=~) has no special effect
c\bco\bom\bmp\bpa\bat\bt3\b32\b2
- +\bo interrupting a command list such as "a ; b ; c" causes
- the execution of the next command in the list (in
- bash-4.0 and later versions, the shell acts as if it re-
- ceived the interrupt, so interrupting one command in a
+ +\bo interrupting a command list such as "a ; b ; c" causes
+ the execution of the next command in the list (in
+ bash-4.0 and later versions, the shell acts as if it re-
+ ceived the interrupt, so interrupting one command in a
list aborts the execution of the entire list)
c\bco\bom\bmp\bpa\bat\bt4\b40\b0
- +\bo the <\b< and >\b> operators to the [\b[[\b[ command do not consider
+ +\bo the <\b< and >\b> operators to the [\b[[\b[ command do not consider
the current locale when comparing strings; they use ASCII
ordering. Bash versions prior to bash-4.1 use ASCII col-
- lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
+ lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
c\bco\bom\bmp\bpa\bat\bt4\b41\b1
- +\bo in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+ +\bo in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
be recognized as a reserved word (this is POSIX interpre-
tation 267)
+\bo in _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
- single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
- quoted parameter expansion and treats them specially, so
- that characters within the single quotes are considered
+ single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
+ quoted parameter expansion and treats them specially, so
+ that characters within the single quotes are considered
quoted (this is POSIX interpretation 221)
c\bco\bom\bmp\bpa\bat\bt4\b42\b2
+\bo the replacement string in double-quoted pattern substitu-
- tion does not undergo quote removal, as it does in ver-
+ tion does not undergo quote removal, as it does in ver-
sions after bash-4.2
- +\bo in posix mode, single quotes are considered special when
- expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
- expansion and can be used to quote a closing brace or
- other special character (this is part of POSIX interpre-
- tation 221); in later versions, single quotes are not
+ +\bo in posix mode, single quotes are considered special when
+ expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
+ expansion and can be used to quote a closing brace or
+ other special character (this is part of POSIX interpre-
+ tation 221); in later versions, single quotes are not
special within double-quoted word expansions
c\bco\bom\bmp\bpa\bat\bt4\b43\b3
- +\bo the shell does not print a warning message if an attempt
- is made to use a quoted compound assignment as an argu-
- ment to declare (e.g., declare -a foo='(1 2)'). Later
+ +\bo the shell does not print a warning message if an attempt
+ is made to use a quoted compound assignment as an argu-
+ ment to declare (e.g., declare -a foo='(1 2)'). Later
versions warn that this usage is deprecated
- +\bo word expansion errors are considered non-fatal errors
- that cause the current command to fail, even in posix
- mode (the default behavior is to make them fatal errors
+ +\bo word expansion errors are considered non-fatal errors
+ that cause the current command to fail, even in posix
+ mode (the default behavior is to make them fatal errors
that cause the shell to exit)
- +\bo when executing a shell function, the loop state
+ +\bo when executing a shell function, the loop state
(while/until/etc.) is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
that function will break or continue loops in the calling
- context. Bash-4.4 and later reset the loop state to pre-
+ context. Bash-4.4 and later reset the loop state to pre-
vent this
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
- +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
- B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
+ +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+ B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
parameters even if extended debugging mode is not enabled
- +\bo a subshell inherits loops from its parent context, so
- b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
- Bash-5.0 and later reset the loop state to prevent the
+ +\bo a subshell inherits loops from its parent context, so
+ b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
+ Bash-5.0 and later reset the loop state to prevent the
exit
- +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+ +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
+ +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
duce slightly more randomness. If the shell compatibility
- level is set to 50 or lower, it reverts to the method
- from bash-5.0 and previous versions, so seeding the ran-
- dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
+ level is set to 50 or lower, it reverts to the method
+ from bash-5.0 and previous versions, so seeding the ran-
+ dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
produce the same sequence as in bash-5.0
- +\bo If the command hash table is empty, bash versions prior
- to bash-5.1 printed an informational message to that ef-
- fect, even when producing output that can be reused as
- input. Bash-5.1 suppresses that message when the -\b-l\bl op-
+ +\bo If the command hash table is empty, bash versions prior
+ to bash-5.1 printed an informational message to that ef-
+ fect, even when producing output that can be reused as
+ input. Bash-5.1 suppresses that message when the -\b-l\bl op-
tion is supplied.
c\bco\bom\bmp\bpa\bat\bt5\b51\b1
- +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
- scripts @\b@ and *\b* differently depending on whether the ar-
- ray is indexed or associative, and differently than in
+ +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
+ scripts @\b@ and *\b* differently depending on whether the ar-
+ ray is indexed or associative, and differently than in
previous versions.
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
-%%CreationDate: Mon Sep 19 12:02:42 2022
+%%CreationDate: Fri Dec 2 17:01:16 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
E F4(times)108 334.8 Q F0 1.229(Print the accumulated user and system t\
imes for the shell and for processes run from the shell.)144 334.8 R
(The return status is 0.)144 346.8 Q F4(trap)108 363.6 Q F0([)2.5 E F4
-(\255lp)A F0 2.5(][)C([)-2.5 E F1(ar)A(g)-.37 E F0(])A F1(sigspec)2.5 E
-F0(...])2.5 E .682(The command)144 375.6 R F1(ar)3.512 E(g)-.37 E F0
-.682(is to be read and e)3.402 F -.15(xe)-.15 G .682
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.183(ss).15 G
-(ignal\(s\))-3.183 E F1(sigspec)3.523 E F0 5.683(.I).31 G(f)-5.683 E F1
-(ar)3.513 E(g)-.37 E F0(is)3.403 E .609(absent \(and there is a single)
-144 387.6 R F1(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F4<ad>3.108 E
-F0 3.108(,e)C .608
-(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 399.6 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F1(sigspec)
-144.34 411.6 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F1(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F4<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 423.6 R
-F1(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 435.6 R F4<ad70>3.36
-E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F4(trap)3.36 E F0 .86
-(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 447.6 R F4<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 459.6 R F1(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F1(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 471.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F2(SIG)2.5 E F0(pre\214x is optional.)2.25 E .666(If a)144 489.6 R F1
-(sigspec)3.506 E F0(is)3.476 E F2(EXIT)3.166 E F0 .666
-(\(0\) the command)2.916 F F1(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F
--.15(xe)-.15 G .666(cuted on e).15 F .667(xit from the shell.)-.15 F
-.667(If a)5.667 F F1(sigspec)3.507 E F0(is)3.477 E F2(DE-)3.167 E -.09
-(BU)144 501.6 S(G).09 E F3(,)A F0 .484(the command)2.734 F F1(ar)3.314 E
-(g)-.37 E F0 .484(is e)3.204 F -.15(xe)-.15 G .484(cuted before e).15 F
--.15(ve)-.25 G(ry).15 E F1 .483(simple command)2.984 F F0(,)A F1(for)
-2.983 E F0(command,)2.983 E F1(case)2.983 E F0(command,)2.983 E F1
-(select)144 513.6 Q F0 .562(command, e)3.062 F -.15(ve)-.25 G .563
-(ry arithmetic).15 F F1(for)3.063 E F0 .563
-(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .563
-(cutes in a shell).15 F .442(function \(see)144 525.6 R F2 .442
-(SHELL GRAMMAR)2.942 F F0(in)2.692 E F1(bash\(1\))2.942 E F0 2.941
-(\). Refer)B .441(to the description of the)2.941 F F4(extdeb)2.941 E
-(ug)-.2 E F0 .441(option to)2.941 F(the)144 537.6 Q F4(shopt)3.2 E F0
--.2(bu)3.2 G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F
-F4(DEB)3.2 E(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F1(sigspec)3.54 E F0
-(is)3.51 E F2(RETURN)3.2 E F3(,)A F0 .701(the com-)2.951 F(mand)144
-549.6 Q F1(ar)3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
-(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.643(cuted with the).15 F F4(.)3.143 E F0(or)3.143 E F4(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 561.6 Q -.15(xe)
--.15 G(cuting.).15 E .96(If a)144 579.6 R F1(sigspec)3.8 E F0(is)3.77 E
-F2(ERR)3.46 E F3(,)A F0 .96(the command)3.21 F F1(ar)3.791 E(g)-.37 E F0
-.961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G
-3.461(rap).15 G .961(ipeline \(which may consist of a)-3.461 F .185(sin\
-gle simple command\), a list, or a compound command returns a non\255ze\
-ro e)144 591.6 R .184(xit status, subject to)-.15 F .451(the follo)144
-603.6 R .451(wing conditions.)-.25 F(The)5.451 E F2(ERR)2.951 E F0 .451
-(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .452
-(ailed command is part of the com-)-.1 F .388
-(mand list immediately follo)144 615.6 R .388(wing a)-.25 F F4(while)
-2.888 E F0(or)2.888 E F4(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
-(ord, part of the test in an)-.1 F F1(if)2.897 E F0 .387
-(statement, part)4.847 F .777(of a command e)144 627.6 R -.15(xe)-.15 G
+(\255lp)A F0 2.5(][)C([)-2.5 E F1(action)A F0(])A F1(sigspec)2.5 E F0
+(...])2.5 E(The)144 375.6 Q F1(action)3.733 E F0 .903
+(is a command that is read and e)3.643 F -.15(xe)-.15 G .903
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.403(ss).15 G
+(ignal\(s\))-3.403 E F1(sigspec)3.744 E F0 5.904(.I).31 G(f)-5.904 E F1
+(action)144.33 387.6 Q F0 .106(is absent \(and there is a single)2.846 F
+F1(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F4<ad>2.605 E F0 2.605(,e)C
+.105(ach speci\214ed signal is reset to its original dis-)-2.605 F .626
+(position \(the v)144 399.6 R .626
+(alue it had upon entrance to the shell\).)-.25 F(If)5.626 E F1(action)
+3.456 E F0 .626(is the null string the signal speci-)3.366 F
+(\214ed by each)144 411.6 Q F1(sigspec)2.84 E F0
+(is ignored by the shell and by the commands it in)2.81 E -.2(vo)-.4 G
+-.1(ke).2 G(s.).1 E .165(If no ar)144 429.6 R .165
+(guments are supplied,)-.18 F F4(trap)2.665 E F0 .165
+(displays the actions associated with each trapped signal as a set)2.665
+F(of)144 441.6 Q F4(trap)2.569 E F0 .069(commands that can be reused as\
+ shell input to restore the current signal dispositions.)2.569 F(If)5.07
+E F4<ad70>2.57 E F0 .474(is gi)144 453.6 R -.15(ve)-.25 G .474(n, and)
+.15 F F1(action)3.303 E F0 .473(is not present, then)3.213 F F4(trap)
+2.973 E F0 .473(displays the actions associated with each)2.973 F F1
+(sigspec)3.313 E F0(or)3.283 E(,)-.4 E .363
+(if none are supplied, for all trapped signals, as a set of)144 465.6 R
+F4(trap)2.864 E F0 .364(commands that can be reused as shell)2.864 F
+(input to restore the current signal dispositions.)144 477.6 Q(The)144
+495.6 Q F4<ad6c>3.217 E F0 .717(option causes)3.217 F F4(trap)3.217 E F0
+.716(to print a list of signal names and their corresponding numbers.)
+3.216 F(Each)5.716 E F1(sigspec)144.34 507.6 Q F0 .709
+(is either a signal name de\214ned in <)3.518 F F1(signal.h)A F0 .709
+(>, or a signal number)B 5.709(.S)-.55 G .709(ignal names are case)
+-5.709 F(insensiti)144 519.6 Q .3 -.15(ve a)-.25 H(nd the).15 E F2(SIG)
+2.5 E F0(pre\214x is optional.)2.25 E .092(If a)144 537.6 R F1(sigspec)
+2.932 E F0(is)2.902 E F2(EXIT)2.592 E F0 .092(\(0\) the command)2.342 F
+F1(action)2.921 E F0 .091(is e)2.831 F -.15(xe)-.15 G .091(cuted on e)
+.15 F .091(xit from the shell.)-.15 F .091(If a)5.091 F F1(sigspec)2.931
+E F0(is)2.901 E F2(DE-)2.591 E -.09(BU)144 549.6 S(G).09 E F3(,)A F0
+1.244(the command)3.494 F F1(action)4.074 E F0 1.244(is e)3.984 F -.15
+(xe)-.15 G 1.244(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F1 1.245
+(simple command)3.744 F F0(,)A F1(for)3.745 E F0(command,)3.745 E F1
+(case)3.745 E F0(com-)3.745 E(mand,)144 561.6 Q F1(select)2.697 E F0
+.196
+(command, \(\( arithmetic command, [[ conditional command, arithmetic)
+2.697 F F1(for)2.696 E F0(command,)2.696 E 1.105
+(and before the \214rst command e)144 573.6 R -.15(xe)-.15 G 1.105
+(cutes in a shell function \(see).15 F F2 1.105(SHELL GRAMMAR)3.605 F F0
+(in)3.355 E F1(bash\(1\))3.605 E F0(\).)A .556
+(Refer to the description of the)144 585.6 R F4(extdeb)3.056 E(ug)-.2 E
+F0 .556(option to the)3.056 F F4(shopt)3.056 E F0 -.2(bu)3.056 G .556
+(iltin for details of its ef).2 F .556(fect on the)-.25 F F4(DEB)144
+597.6 Q(UG)-.1 E F0 2.514(trap. If)2.514 F(a)2.514 E F1(sigspec)2.854 E
+F0(is)2.824 E F2(RETURN)2.514 E F3(,)A F0 .014(the command)2.264 F F1
+(action)2.845 E F0 .015(is e)2.755 F -.15(xe)-.15 G .015
+(cuted each time a shell function).15 F(or a script e)144 609.6 Q -.15
+(xe)-.15 G(cuted with the).15 E F4(.)2.5 E F0(or)2.5 E F4(sour)2.5 E(ce)
+-.18 E F0 -.2(bu)2.5 G(iltins \214nishes e).2 E -.15(xe)-.15 G(cuting.)
+.15 E .285(If a)144 627.6 R F1(sigspec)3.125 E F0(is)3.095 E F2(ERR)
+2.784 E F3(,)A F0 .284(the command)2.534 F F1(action)3.114 E F0 .284
+(is e)3.024 F -.15(xe)-.15 G .284(cuted whene).15 F -.15(ve)-.25 G 2.784
+(rap).15 G .284(ipeline \(which may consist of a)-2.784 F .185(single s\
+imple command\), a list, or a compound command returns a non\255zero e)
+144 639.6 R .185(xit status, subject to)-.15 F .452(the follo)144 651.6
+R .452(wing conditions.)-.25 F(The)5.452 E F2(ERR)2.952 E F0 .451
+(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .451
+(ailed command is part of the com-)-.1 F .387
+(mand list immediately follo)144 663.6 R .387(wing a)-.25 F F4(while)
+2.887 E F0(or)2.887 E F4(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
+(ord, part of the test in an)-.1 F F1(if)2.898 E F0 .388
+(statement, part)4.848 F .778(of a command e)144 675.6 R -.15(xe)-.15 G
.778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0 .778
(list e)3.278 F .778(xcept the command follo)-.15 F .778
-(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0
-3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 639.6 R
+(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.277 E F0
+3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 687.6 R
1.28(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)
-3.78 F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F
-F4(!)3.78 E F0(.)A(These are the same conditions obe)144 651.6 Q
+F4(!)3.78 E F0(.)A(These are the same conditions obe)144 699.6 Q
(yed by the)-.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4<ad65>A F0 2.5
-(\)o)C(ption.)-2.5 E .132
-(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-669.6 R -.35(Tr)5.133 G .133(apped signals that are not be-).35 F .117
-(ing ignored are reset to their original v)144 681.6 R .117
-(alues in a subshell or subshell en)-.25 F .117
-(vironment when one is cre-)-.4 F 2.5(ated. The)144 693.6 R
-(return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F1(sigspec)2.84 E F0
-(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F4(trap)2.5 E F0
-(returns true.)2.5 E(GNU Bash 5.2)72 768 Q(2021 No)136.385 E -.15(ve)
--.15 G(mber 22).15 E(23)185.545 E 0 Cg EP
+(\)o)C(ption.)-2.5 E .07(When the shell is not interacti)144 717.6 R
+-.15(ve)-.25 G 2.57(,s).15 G .069
+(ignals ignored upon entry to the shell cannot be trapped or reset.)
+-2.57 F(Interacti)144 729.6 Q 2.048 -.15(ve s)-.25 H 1.748
+(hells permit trapping signals ignored on entry).15 F 6.749(.T)-.65 G
+1.749(rapped signals that are not being)-7.099 F(GNU Bash 5.2)72 768 Q
+(2021 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(23)185.545 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(type)108 84 Q F0([)
-2.5 E F1(\255aftpP)A F0(])A/F2 10/Times-Italic@0 SF(name)2.5 E F0([)2.5
-E F2(name)A F0(...])2.5 E -.4(Wi)144 96 S .173
-(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name)
-3.033 E F0 -.1(wo)2.853 G .174
+E(UIL)-.1 E(TINS\(1\))-.92 E .09(ignored are reset to their original v)
+144 84 R .09(alues in a subshell or subshell en)-.25 F .09
+(vironment when one is created.)-.4 F(The return status is f)144 96 Q
+(alse if an)-.1 E(y)-.15 E/F1 10/Times-Italic@0 SF(sigspec)2.84 E F0
+(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E/F2 10/Times-Bold@0 SF
+(trap)2.5 E F0(returns true.)2.5 E F2(type)108 112.8 Q F0([)2.5 E F2
+(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E -.4
+(Wi)144 124.8 S .173(th no options, indicate ho).4 F 2.673(we)-.25 G
+(ach)-2.673 E F1(name)3.033 E F0 -.1(wo)2.853 G .174
(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F1<ad74>144 108 Q F0 .715(option is used,)3.215 F F1(type)3.215 E F0
-.715(prints a string which is one of)3.215 F F2(alias)3.545 E F0(,).27 E
-F2 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)5.185 E F0
-(,).24 E F2 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F2
-(\214le)5.125 E F0(if)3.395 E F2(name)144.36 120 Q F0 .086
+F2<ad74>144 136.8 Q F0 .715(option is used,)3.215 F F2(type)3.215 E F0
+.715(prints a string which is one of)3.215 F F1(alias)3.545 E F0(,).27 E
+F1 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)5.185 E F0
+(,).24 E F1 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F1
+(\214le)5.125 E F0(if)3.395 E F1(name)144.36 148.8 Q F0 .086
(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2
+(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1
(name)2.947 E F0 .087(is not)2.767 F .119
-(found, then nothing is printed, and an e)144 132 R .118
+(found, then nothing is printed, and an e)144 160.8 R .118
(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
-(either returns the name of the disk \214le that w)144 144 R .855
-(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
+F2<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)2.618 E F0 .855
+(either returns the name of the disk \214le that w)144 172.8 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0
.855(were speci\214ed as a com-)3.535 F .529(mand name, or nothing if)
-144 156 R/F3 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028 G
-.528(uld not return).1 F F2(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528 E
-F1<ad50>3.028 E F0 .528(option forces a)3.028 F/F4 9/Times-Bold@0 SF
--.666(PA)3.028 G(TH)-.189 E F0 .006(search for each)144 168 R F2(name)
+144 184.8 R/F3 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028
+G .528(uld not return).1 F F1(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528
+E F2<ad50>3.028 E F0 .528(option forces a)3.028 F/F4 9/Times-Bold@0 SF
+-.666(PA)3.028 G(TH)-.189 E F0 .006(search for each)144 196.8 R F1(name)
2.506 E F0 2.506(,e)C -.15(ve)-2.756 G 2.506(ni).15 G(f)-2.506 E F3 .007
-(type -t name)2.506 F F0 -.1(wo)2.507 G .007(uld not return).1 F F2
+(type -t name)2.506 F F0 -.1(wo)2.507 G .007(uld not return).1 F F1
(\214le)4.417 E F0 5.007(.I).18 G 2.507(fac)-5.007 G .007
-(ommand is hashed,)-2.507 F F1<ad70>2.507 E F0(and)144 180 Q F1<ad50>
+(ommand is hashed,)-2.507 F F2<ad70>2.507 E F0(and)144 208.8 Q F2<ad50>
3.231 E F0 .731(print the hashed v)3.231 F .73
(alue, which is not necessarily the \214le that appears \214rst in)-.25
F F4 -.666(PA)3.23 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .73(If the)
-5.23 F F1<ad61>144 192 Q F0 .823(option is used,)3.323 F F1(type)3.323 E
-F0 .824(prints all of the places that contain an e)3.323 F -.15(xe)-.15
-G .824(cutable named).15 F F2(name)3.684 E F0 5.824(.T).18 G .824
+5.23 F F2<ad61>144 220.8 Q F0 .823(option is used,)3.323 F F2(type)3.323
+E F0 .824(prints all of the places that contain an e)3.323 F -.15(xe)
+-.15 G .824(cutable named).15 F F1(name)3.684 E F0 5.824(.T).18 G .824
(his in-)-5.824 F 1.176
-(cludes aliases and functions, if and only if the)144 204 R F1<ad70>
+(cludes aliases and functions, if and only if the)144 232.8 R F2<ad70>
3.676 E F0 1.176(option is not also used.)3.676 F 1.176
(The table of hashed)6.176 F 1.223(commands is not consulted when using)
-144 216 R F1<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F1<ad66>3.723 E F0
+144 244.8 R F2<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F2<ad66>3.723 E F0
1.223(option suppresses shell function lookup, as)3.723 F .326(with the)
-144 228 R F1(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F1(type)5.326
-E F0 .326(returns true if all of the ar)2.826 F .325
+144 256.8 R F2(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F2(type)
+5.326 E F0 .326(returns true if all of the ar)2.826 F .325
(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325
-(re not)-2.825 F(found.)144 240 Q F1(ulimit)108 256.8 Q F0([)2.5 E F1
-(\255HS)A F0(])A F1<ad61>2.5 E(ulimit)108 268.8 Q F0([)2.5 E F1(\255HS)A
-F0 2.5(][)C F1(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4 E F0([)2.5 E F2
-(limit)A F0(]])A(Pro)144 280.8 Q .243(vides control o)-.15 F -.15(ve)
+(re not)-2.825 F(found.)144 268.8 Q F2(ulimit)108 285.6 Q F0([)2.5 E F2
+(\255HS)A F0(])A F2<ad61>2.5 E(ulimit)108 297.6 Q F0([)2.5 E F2(\255HS)A
+F0 2.5(][)C F2(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4 E F0([)2.5 E F1
+(limit)A F0(]])A(Pro)144 309.6 Q .243(vides control o)-.15 F -.15(ve)
-.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244
(ilable to the shell and to processes started by it, on systems).25 F
-.944(that allo)144 292.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
-(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943
+.944(that allo)144 321.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F2<ad48>3.444 E F0(and)3.444 E F2<ad53>3.444 E F0 .943
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 304.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
+144 333.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.708 F .426(be increased up to the v)144 316.8 R .426
-(alue of the hard limit.)-.25 F .425(If neither)5.426 F F1<ad48>2.925 E
-F0(nor)2.925 E F1<ad53>2.925 E F0 .425
+ft limit may)2.708 F .426(be increased up to the v)144 345.6 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F2<ad48>2.925 E
+F0(nor)2.925 E F2<ad53>2.925 E F0 .425
(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
-328.8 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
+357.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
(can be a number in the unit speci\214ed for the resource or one)3.319 F
-.742(of the special v)144 340.8 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
+.742(of the special v)144 369.6 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .023
-(soft limit, and no limit, respecti)144 352.8 R -.15(ve)-.25 G(ly).15 E
-5.023(.I)-.65 G(f)-5.023 E F2(limit)2.613 E F0 .023
+(soft limit, and no limit, respecti)144 381.6 R -.15(ve)-.25 G(ly).15 E
+5.023(.I)-.65 G(f)-5.023 E F1(limit)2.613 E F0 .023
(is omitted, the current v)3.203 F .023
(alue of the soft limit of the re-)-.25 F .985
-(source is printed, unless the)144 364.8 R F1<ad48>3.485 E F0 .984
+(source is printed, unless the)144 393.6 R F2<ad48>3.485 E F0 .984
(option is gi)3.485 F -.15(ve)-.25 G 3.484(n. When).15 F .984
(more than one resource is speci\214ed, the)3.484 F .7
-(limit name and unit, if appropriate, are printed before the v)144 376.8
+(limit name and unit, if appropriate, are printed before the v)144 405.6
R 3.2(alue. Other)-.25 F .7(options are interpreted as)3.2 F(follo)144
-388.8 Q(ws:)-.25 E F1<ad61>144 400.8 Q F0
-(All current limits are reported; no limits are set)180 400.8 Q F1<ad62>
-144 412.8 Q F0(The maximum sock)180 412.8 Q(et b)-.1 E(uf)-.2 E
-(fer size)-.25 E F1<ad63>144 424.8 Q F0
-(The maximum size of core \214les created)180 424.8 Q F1<ad64>144 436.8
-Q F0(The maximum size of a process')180 436.8 Q 2.5(sd)-.55 G(ata se)
--2.5 E(gment)-.15 E F1<ad65>144 448.8 Q F0
-(The maximum scheduling priority \("nice"\))180 448.8 Q F1<ad66>144
-460.8 Q F0
+417.6 Q(ws:)-.25 E F2<ad61>144 429.6 Q F0
+(All current limits are reported; no limits are set)180 429.6 Q F2<ad62>
+144 441.6 Q F0(The maximum sock)180 441.6 Q(et b)-.1 E(uf)-.2 E
+(fer size)-.25 E F2<ad63>144 453.6 Q F0
+(The maximum size of core \214les created)180 453.6 Q F2<ad64>144 465.6
+Q F0(The maximum size of a process')180 465.6 Q 2.5(sd)-.55 G(ata se)
+-2.5 E(gment)-.15 E F2<ad65>144 477.6 Q F0
+(The maximum scheduling priority \("nice"\))180 477.6 Q F2<ad66>144
+489.6 Q F0
(The maximum size of \214les written by the shell and its children)180
-460.8 Q F1<ad69>144 472.8 Q F0(The maximum number of pending signals)180
-472.8 Q F1<ad6b>144 484.8 Q F0
-(The maximum number of kqueues that may be allocated)180 484.8 Q F1
-<ad6c>144 496.8 Q F0(The maximum size that may be lock)180 496.8 Q
-(ed into memory)-.1 E F1<ad6d>144 508.8 Q F0
-(The maximum resident set size \(man)180 508.8 Q 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F1<ad6e>144 520.8 Q F0 .791(Th\
+489.6 Q F2<ad69>144 501.6 Q F0(The maximum number of pending signals)180
+501.6 Q F2<ad6b>144 513.6 Q F0
+(The maximum number of kqueues that may be allocated)180 513.6 Q F2
+<ad6c>144 525.6 Q F0(The maximum size that may be lock)180 525.6 Q
+(ed into memory)-.1 E F2<ad6d>144 537.6 Q F0
+(The maximum resident set size \(man)180 537.6 Q 2.5(ys)-.15 G
+(ystems do not honor this limit\))-2.5 E F2<ad6e>144 549.6 Q F0 .791(Th\
e maximum number of open \214le descriptors \(most systems do not allo)
-180 520.8 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
-(be set\))180 532.8 Q F1<ad70>144 544.8 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))180 544.8 Q F1
-<ad71>144 556.8 Q F0
-(The maximum number of bytes in POSIX message queues)180 556.8 Q F1
-<ad72>144 568.8 Q F0(The maximum real-time scheduling priority)180 568.8
-Q F1<ad73>144 580.8 Q F0(The maximum stack size)180 580.8 Q F1<ad74>144
-592.8 Q F0(The maximum amount of cpu time in seconds)180 592.8 Q F1
-<ad75>144 604.8 Q F0(The maximum number of processes a)180 604.8 Q -.25
-(va)-.2 G(ilable to a single user).25 E F1<ad76>144 616.8 Q F0 .47
-(The maximum amount of virtual memory a)180 616.8 R -.25(va)-.2 G .47
+180 549.6 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
+(be set\))180 561.6 Q F2<ad70>144 573.6 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))180 573.6 Q F2
+<ad71>144 585.6 Q F0
+(The maximum number of bytes in POSIX message queues)180 585.6 Q F2
+<ad72>144 597.6 Q F0(The maximum real-time scheduling priority)180 597.6
+Q F2<ad73>144 609.6 Q F0(The maximum stack size)180 609.6 Q F2<ad74>144
+621.6 Q F0(The maximum amount of cpu time in seconds)180 621.6 Q F2
+<ad75>144 633.6 Q F0(The maximum number of processes a)180 633.6 Q -.25
+(va)-.2 G(ilable to a single user).25 E F2<ad76>144 645.6 Q F0 .47
+(The maximum amount of virtual memory a)180 645.6 R -.25(va)-.2 G .47
(ilable to the shell and, on some systems, to).25 F(its children)180
-628.8 Q F1<ad78>144 640.8 Q F0(The maximum number of \214le locks)180
-640.8 Q F1<ad50>144 652.8 Q F0(The maximum number of pseudoterminals)180
-652.8 Q F1<ad52>144 664.8 Q F0(The maximum time a real-time process can\
- run before blocking, in microseconds)180 664.8 Q F1<ad54>144 676.8 Q F0
-(The maximum number of threads)180 676.8 Q(If)144 693.6 Q F2(limit)3.058
-E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468(n, and the).15 F F1<ad61>
-2.968 E F0 .468(option is not used,)2.968 F F2(limit)2.968 E F0 .468
+657.6 Q F2<ad78>144 669.6 Q F0(The maximum number of \214le locks)180
+669.6 Q F2<ad50>144 681.6 Q F0(The maximum number of pseudoterminals)180
+681.6 Q F2<ad52>144 693.6 Q F0(The maximum time a real-time process can\
+ run before blocking, in microseconds)180 693.6 Q F2<ad54>144 705.6 Q F0
+(The maximum number of threads)180 705.6 Q(If)144 722.4 Q F1(limit)3.058
+E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468(n, and the).15 F F2<ad61>
+2.968 E F0 .468(option is not used,)2.968 F F1(limit)2.968 E F0 .468
(is the ne)2.968 F 2.968(wv)-.25 G .468
-(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
-(no option is gi)144 705.6 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
-2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
-(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
-<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .67(in seconds;)144
-717.6 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
-F1<ad70>3.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;)
--3.17 F F1<ad50>3.17 E F0(,)A F1<ad54>3.17 E F0(,)A F1<ad62>3.17 E F0(,)
-A F1<ad6b>144 729.6 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
-F1<ad75>3.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236
-(alues; and, when in posix mode,)-.25 F F1<ad63>3.736 E F0(and)3.736 E
-F1<ad66>3.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F(GNU Bash 5.2)72
+(alue of the speci\214ed resource.)-3.218 F(If)5.468 E(GNU Bash 5.2)72
768 Q(2021 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(24)185.545 E 0 Cg
EP
%%Page: 25 25
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E .239(512-byte increments.)144 84 R .238
+E(UIL)-.1 E(TINS\(1\))-.92 E .044(no option is gi)144 84 R -.15(ve)-.25
+G .044(n, then).15 F/F1 10/Times-Bold@0 SF<ad66>2.544 E F0 .045
+(is assumed.)2.545 F -1.11(Va)5.045 G .045
+(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
+<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .67(in seconds;)144 96
+R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F F1
+<ad70>3.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;)-3.17
+F F1<ad50>3.17 E F0(,)A F1<ad54>3.17 E F0(,)A F1<ad62>3.17 E F0(,)A F1
+<ad6b>144 108 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E F1
+<ad75>3.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236
+(alues; and, when in posix mode,)-.25 F F1<ad63>3.736 E F0(and)3.736 E
+F1<ad66>3.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F .239
+(512-byte increments.)144 120 R .238
(The return status is 0 unless an in)5.239 F -.25(va)-.4 G .238
(lid option or ar).25 F .238(gument is supplied, or an)-.18 F
-(error occurs while setting a ne)144 96 Q 2.5(wl)-.25 G(imit.)-2.5 E/F1
-10/Times-Bold@0 SF(umask)108 112.8 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1
-<ad53>-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(mode)-2.5 E F0(])A .18
-(The user \214le-creation mask is set to)144 124.8 R F2(mode)3.06 E F0
+(error occurs while setting a ne)144 132 Q 2.5(wl)-.25 G(imit.)-2.5 E F1
+(umask)108 148.8 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0
+2.5(][)C/F2 10/Times-Italic@0 SF(mode)-2.5 E F0(])A .18
+(The user \214le-creation mask is set to)144 160.8 R F2(mode)3.06 E F0
5.18(.I).18 G(f)-5.18 E F2(mode)3.06 E F0(be)2.86 E .18
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 136.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-148.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+pted by)144 172.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+184.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 160.8 R .547
+(printed in symbolic form; the def)144 196.8 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 172.8 Q F0 .551
+(mode)144.38 208.8 Q F0 .551
(is omitted, the output is in a form that may be reused as input.)3.231
-F .552(The return status is 0 if the)5.552 F(mode w)144 184.8 Q
+F .552(The return status is 0 if the)5.552 F(mode w)144 220.8 Q
(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 201.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 213.6 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
+(unalias)108 237.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 249.6 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E
F1<ad61>3.258 E F0 .757(is supplied, all alias de\214nitions are re-)
-3.258 F(mo)144 225.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+3.258 F(mo)144 261.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 242.4 Q F0<5bad>2.5 E F1
+(is not a de\214ned alias.)2.68 E F1(unset)108 278.4 Q F0<5bad>2.5 E F1
(fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
-2.5 E -.15(Fo)144 254.4 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
+2.5 E -.15(Fo)144 290.4 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303
(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
(If the)6.303 F F1<ad76>3.804 E F0 1.304(option is gi)3.804 F -.15(ve)
--.25 G 1.304(n, each).15 F F2(name)144.36 266.4 Q F0 .465
+-.25 G 1.304(n, each).15 F F2(name)144.36 302.4 Q F0 .465
(refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464
(ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va)
-2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 278.4 R F1
+2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 314.4 R F1
<ad66>2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0
.269(refers to a shell function, and the function de\214nition is remo)
-2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 290.4 R F1<ad6e>2.904 E
+2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 326.4 R F1<ad6e>2.904 E
F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v)
2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0
(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F
-.719(rather than the v)144 302.4 R .719(ariable it references.)-.25 F F1
+.719(rather than the v)144 338.4 R .719(ariable it references.)-.25 F F1
<ad6e>5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1<ad66>
3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .737
-(are supplied, each)144 314.4 R F2(name)3.237 E F0 .737(refers to a v)
+(are supplied, each)144 350.4 R F2(name)3.237 E F0 .737(refers to a v)
3.237 F .737(ariable; if there is no v)-.25 F .736
(ariable by that name, a function with)-.25 F 1.761(that name, if an)144
-326.4 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
+362.4 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
1.761(unset v)4.261 F 1.761(ariable or function is remo)-.25 F -.15(ve)
-.15 G 4.262(df).15 G 1.762(rom the en)-4.262 F(vironment)-.4 E 3.172
-(passed to subsequent commands.)144 338.4 R 3.172(If an)8.172 F 5.672
+(passed to subsequent commands.)144 374.4 R 3.172(If an)8.172 F 5.672
(yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES)
.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A
-F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 350.4 S
+F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 386.4 S
(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3
-.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E
F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
-144 362.4 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
+144 398.4 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67
E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144
-374.4 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
+410.4 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
-.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G
-1.78(re subse-)-4.28 F(quently reset.)144 386.4 Q(The e)5 E
+1.78(re subse-)-4.28 F(quently reset.)144 422.4 Q(The e)5 E
(xit status is true unless a)-.15 E F2(name)2.86 E F0
-(is readonly or may not be unset.)2.68 E F1(wait)108 403.2 Q F0([)2.5 E
+(is readonly or may not be unset.)2.68 E F1(wait)108 439.2 Q F0([)2.5 E
F1(\255fn)A F0 2.5(][)C F1<ad70>-2.5 E F2(varname)2.5 E F0 2.5(][)C F2
-(id ...)-2.5 E F0(])A -.8(Wa)144 415.2 S .659(it for each speci\214ed c\
+(id ...)-2.5 E F0(])A -.8(Wa)144 451.2 S .659(it for each speci\214ed c\
hild process and return its termination status.).8 F(Each)5.659 E F2(id)
3.169 E F0 .658(may be a process)3.928 F .008
-(ID or a job speci\214cation; if a job spec is gi)144 427.2 R -.15(ve)
+(ID or a job speci\214cation; if a job spec is gi)144 463.2 R -.15(ve)
-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55 G .009
(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)-5.009 E
-F2(id)144.01 439.2 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E
+F2(id)144.01 475.2 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E
F1(wait)2.942 E F0 -.1(wa)2.942 G .441
(its for all running background jobs and the last-e).1 F -.15(xe)-.15 G
.441(cuted process substitu-).15 F .597
-(tion, if its process id is the same as)144 451.2 R F1($!)3.098 E F0
+(tion, if its process id is the same as)144 487.2 R F1($!)3.098 E F0
3.098(,a)C .598(nd the return status is zero.)-3.098 F .598(If the)5.598
-F F1<ad6e>3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 463.2
+F F1<ad6e>3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 499.2
Q F0 -.1(wa)3.083 G .583(its for a single job from the list of).1 F F2
(id)3.083 E F0 3.083(so)C 1.383 -.4(r, i)-3.083 H 3.083(fn).4 G(o)-3.083
E F2(id)3.083 E F0 3.083(sa)C .583(re supplied, an)-3.083 F 3.083(yj)
--.15 G .582(ob, to complete and)-3.083 F .403(returns its e)144 475.2 R
+-.15 G .582(ob, to complete and)-3.083 F .403(returns its e)144 511.2 R
.403(xit status.)-.15 F .403(If none of the supplied ar)5.403 F .403
(guments is a child of the shell, or if no ar)-.18 F(guments)-.18 E .573
-(are supplied and the shell has no unw)144 487.2 R .573
+(are supplied and the shell has no unw)144 523.2 R .573
(aited-for children, the e)-.1 F .573(xit status is 127.)-.15 F .572
(If the)5.573 F F1<ad70>3.072 E F0 .572(option is)3.072 F .39
(supplied, the process or job identi\214er of the job for which the e)
-144 499.2 R .39(xit status is returned is assigned to)-.15 F .905(the v)
-144 511.2 R(ariable)-.25 E F2(varname)3.405 E F0 .905
+144 535.2 R .39(xit status is returned is assigned to)-.15 F .905(the v)
+144 547.2 R(ariable)-.25 E F2(varname)3.405 E F0 .905
(named by the option ar)3.405 F 3.405(gument. The)-.18 F -.25(va)3.405 G
.905(riable will be unset initially).25 F 3.405(,b)-.65 G(efore)-3.405 E
-(an)144 523.2 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39
+(an)144 559.2 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39
(is useful only when the)3.89 F F1<ad6e>3.89 E F0 1.39
(option is supplied.)3.89 F 1.39(Supplying the)6.39 F F1<ad66>3.89 E F0
-(option,)3.89 E .575(when job control is enabled, forces)144 535.2 R F1
+(option,)3.89 E .575(when job control is enabled, forces)144 571.2 R F1
(wait)3.075 E F0 .575(to w)3.075 F .575(ait for)-.1 F F2(id)3.075 E F0
.574(to terminate before returning its status, in-)3.075 F .635
-(stead of returning when it changes status.)144 547.2 R(If)5.635 E F2
+(stead of returning when it changes status.)144 583.2 R(If)5.635 E F2
(id)3.145 E F0 .635(speci\214es a non-e)3.905 F .635
-(xistent process or job, the return)-.15 F .802(status is 127.)144 559.2
+(xistent process or job, the return)-.15 F .802(status is 127.)144 595.2
R(If)5.801 E F1(wait)3.301 E F0 .801(is interrupted by a signal, the re\
turn status will be greater than 128, as de-)3.301 F 1.758
-(scribed under)144 571.2 R F1(SIGN)4.258 E(ALS)-.2 E F0(in)4.258 E F2
+(scribed under)144 607.2 R F1(SIGN)4.258 E(ALS)-.2 E F0(in)4.258 E F2
(bash\(1\))4.258 E F0 6.758(.O)C 1.759
(therwise, the return status is the e)-6.758 F 1.759
-(xit status of the last)-.15 F(process or job w)144 583.2 Q(aited for)
--.1 E(.)-.55 E/F5 10.95/Times-Bold@0 SF(SHELL COMP)72 600 Q -1.04(AT)
+(xit status of the last)-.15 F(process or job w)144 619.2 Q(aited for)
+-.1 E(.)-.55 E/F5 10.95/Times-Bold@0 SF(SHELL COMP)72 636 Q -1.04(AT)
-.81 G(IBILITY MODE)1.04 E F0 1.355
-(Bash-4.0 introduced the concept of a)108 612 R F2 1.355
+(Bash-4.0 introduced the concept of a)108 648 R F2 1.355
(shell compatibility le)3.855 F(vel)-.15 E F0 3.855(,s)C 1.354
-(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 624 S
+(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 660 S
.398(iltin \().2 F F1(compat31)2.898 E F0(,)A F1(compat32)2.898 E F0(,)A
F1(compat40)2.898 E F0(,)A F1(compat41)2.898 E F0 2.898(,a)C .399
(nd so on\).)-2.898 F .399(There is only one current compatibility)5.399
-F(le)108 636 Q -.15(ve)-.25 G 3.254(l-).15 G 3.254(-e)-3.254 G .754
+F(le)108 672 Q -.15(ve)-.25 G 3.254(l-).15 G 3.254(-e)-3.254 G .754
(ach option is mutually e)-3.254 F(xclusi)-.15 E -.15(ve)-.25 G 5.754
(.T).15 G .754(he compatibility le)-5.754 F -.15(ve)-.25 G 3.253(li).15
G 3.253(si)-3.253 G .753(ntended to allo)-3.253 F 3.253(wu)-.25 G .753
-(sers to select be-)-3.253 F(ha)108 648 Q 1.083(vior from pre)-.2 F
+(sers to select be-)-3.253 F(ha)108 684 Q 1.083(vior from pre)-.2 F
1.083(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F
1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.584(ym)-.15 G 1.084
-(igrate scripts to use)-3.584 F(current features and beha)108 660 Q
+(igrate scripts to use)-3.584 F(current features and beha)108 696 Q
(vior)-.2 E 2.5(.I)-.55 G(t')-2.5 E 2.5(si)-.55 G
(ntended to be a temporary solution.)-2.5 E 1.457
-(This section does not mention beha)108 676.8 R 1.457
+(This section does not mention beha)108 712.8 R 1.457
(vior that is standard for a particular v)-.2 F 1.456
(ersion \(e.g., setting)-.15 F F1(compat32)3.956 E F0 .886
-(means that quoting the rhs of the re)108 688.8 R(ge)-.15 E .886
+(means that quoting the rhs of the re)108 724.8 R(ge)-.15 E .886
(xp matching operator quotes special re)-.15 F(ge)-.15 E .887
-(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 700.8 Q
-(ault beha)-.1 E(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15
-E .523(If a user enables, say)108 717.6 R(,)-.65 E F1(compat32)3.023 E
-F0 3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha)
--.25 F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .522
-(ls up to and includ-).15 F .259(ing the current compatibility le)108
-729.6 R -.15(ve)-.25 G 2.759(l. The).15 F .259
-(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.76(lc).15 G
-.26(ontrols beha)-2.76 F .26(vior that changed)-.2 F(GNU Bash 5.2)72 768
-Q(2021 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(25)185.545 E 0 Cg EP
+(xp characters in the w)-.15 F(ord,)-.1 E(GNU Bash 5.2)72 768 Q(2021 No)
+136.385 E -.15(ve)-.15 G(mber 22).15 E(25)185.545 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E 1.646(in that v)108 84 R 1.646(ersion of)
--.15 F/F1 10/Times-Bold@0 SF(bash)4.146 E F0 4.146(,b)C 1.646
-(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15(ve b)-.2 H
-1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.645
-(or instance, the)-.15 F .76
-(change to use locale-based comparisons with the)108 96 R F1([[)3.261 E
-F0 .761(command came in bash-4.1, and earlier v)3.261 F .761
-(ersions used)-.15 F 1.905(ASCII-based comparisons, so enabling)108 108
-R F1(compat32)4.405 E F0 1.904
+E(UIL)-.1 E(TINS\(1\))-.92 E(which is def)108 84 Q(ault beha)-.1 E
+(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15 E .523
+(If a user enables, say)108 100.8 R(,)-.65 E/F1 10/Times-Bold@0 SF
+(compat32)3.023 E F0 3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F
+.523(fect the beha)-.25 F .523(vior of other compatibility le)-.2 F -.15
+(ve)-.25 G .522(ls up to and includ-).15 F .259
+(ing the current compatibility le)108 112.8 R -.15(ve)-.25 G 2.759
+(l. The).15 F .259(idea is that each compatibility le)2.759 F -.15(ve)
+-.25 G 2.76(lc).15 G .26(ontrols beha)-2.76 F .26(vior that changed)-.2
+F 1.646(in that v)108 124.8 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0
+4.146(,b)C 1.646(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946
+-.15(ve b)-.2 H 1.646(een present in earlier v).15 F 4.146(ersions. F)
+-.15 F 1.645(or instance, the)-.15 F .76
+(change to use locale-based comparisons with the)108 136.8 R F1([[)3.261
+E F0 .761(command came in bash-4.1, and earlier v)3.261 F .761
+(ersions used)-.15 F 1.905(ASCII-based comparisons, so enabling)108
+148.8 R F1(compat32)4.405 E F0 1.904
(will enable ASCII-based comparisons as well.)4.405 F(That)6.904 E .295
-(granularity may not be suf)108 120 R .296
+(granularity may not be suf)108 160.8 R .296
(\214cient for all uses, and as a result users should emplo)-.25 F 2.796
(yc)-.1 G .296(ompatibility le)-2.796 F -.15(ve)-.25 G .296(ls care-).15
-F(fully)108 132 Q 5(.R)-.65 G(ead the documentation for a particular fe\
-ature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .532
-(Bash-4.3 introduced a ne)108 148.8 R 3.032(ws)-.25 G .531(hell v)-3.032
+F(fully)108 172.8 Q 5(.R)-.65 G(ead the documentation for a particular \
+feature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .532
+(Bash-4.3 introduced a ne)108 189.6 R 3.032(ws)-.25 G .531(hell v)-3.032
F(ariable:)-.25 E/F2 9/Times-Bold@0 SF -.27(BA)3.031 G(SH_COMP).27 E
-.855(AT)-.666 G/F3 9/Times-Roman@0 SF(.).855 E F0 .531(The v)5.031 F
.531(alue assigned to this v)-.25 F .531(ariable \(a decimal)-.25 F -.15
-(ve)108 160.8 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107
+(ve)108 201.6 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107
(.2, or an inte)-2.607 F .107(ger corresponding to the)-.15 F F1(compat)
2.608 E/F4 10/Times-Italic@0 SF(NN)A F0 .108(option, lik)2.608 F 2.608
-(e4)-.1 G .108(2\) determines the com-)-2.608 F(patibility le)108 172.8
+(e4)-.1 G .108(2\) determines the com-)-2.608 F(patibility le)108 213.6
Q -.15(ve)-.25 G(l.).15 E .388(Starting with bash-4.4, Bash has be)108
-189.6 R .388(gun deprecating older compatibility le)-.15 F -.15(ve)-.25
+230.4 R .388(gun deprecating older compatibility le)-.15 F -.15(ve)-.25
G 2.887(ls. Ev).15 F(entually)-.15 E 2.887(,t)-.65 G .387
-(he options will)-2.887 F(be remo)108 201.6 Q -.15(ve)-.15 G 2.5(di).15
+(he options will)-2.887 F(be remo)108 242.4 Q -.15(ve)-.15 G 2.5(di).15
G 2.5(nf)-2.5 G -.2(avo)-2.6 G 2.5(ro).2 G(f)-2.5 E F2 -.27(BA)2.5 G
(SH_COMP).27 E -.855(AT)-.666 G F3(.).855 E F0 1.163
-(Bash-5.0 is the \214nal v)108 218.4 R 1.163
+(Bash-5.0 is the \214nal v)108 259.2 R 1.163
(ersion for which there will be an indi)-.15 F 1.164
(vidual shopt option for the pre)-.25 F 1.164(vious v)-.25 F(ersion.)
--.15 E(Users should use)108 230.4 Q F2 -.27(BA)2.5 G(SH_COMP).27 E -.855
+-.15 E(Users should use)108 271.2 Q F2 -.27(BA)2.5 G(SH_COMP).27 E -.855
(AT)-.666 G F0(on bash-5.0 and later v)3.105 E(ersions.)-.15 E 1.614
-(The follo)108 247.2 R 1.613(wing table describes the beha)-.25 F 1.613
+(The follo)108 288 R 1.613(wing table describes the beha)-.25 F 1.613
(vior changes controlled by each compatibility le)-.2 F -.15(ve)-.25 G
-4.113(ls).15 G 4.113(etting. The)-4.113 F F1(compat)108 259.2 Q F4(NN)A
-F0 1.186(tag is used as shorthand for setting the compatibility le)3.685
-F -.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F4(NN)3.686 E F0 1.186
-(using one of the follo)3.686 F(wing)-.25 E 3.807(mechanisms. F)108
-271.2 R 1.307(or v)-.15 F 1.307
+4.113(ls).15 G 4.113(etting. The)-4.113 F F1(compat)108 300 Q F4(NN)A F0
+1.186(tag is used as shorthand for setting the compatibility le)3.685 F
+-.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F4(NN)3.686 E F0 1.186
+(using one of the follo)3.686 F(wing)-.25 E 3.807(mechanisms. F)108 312
+R 1.307(or v)-.15 F 1.307
(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G
3.806(lm).15 G 1.306(ay be set using the corresponding)-3.806 F F1
-(compat)108 283.2 Q F4(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502
-G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
--.15 F F2 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)
-3.607 G .502(riable is preferred, and it).25 F
-(is required for bash-5.1 and later v)108 295.2 Q(ersions.)-.15 E F1
-(compat31)108 312 Q F0<83>144 324 Q(quoting the rhs of the)180 324 Q F1
-([[)2.5 E F0(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15 G
-2.5(pm).15 G(atching operator \(=~\) has no special ef)-2.5 E(fect)-.25
-E F1(compat32)108 340.8 Q F0<83>144 352.8 Q .35
-(interrupting a command list such as "a ; b ; c" causes the e)180 352.8
+(compat)108 324 Q F4(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502 G
+3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)-.15
+F F2 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)3.607 G
+.502(riable is preferred, and it).25 F
+(is required for bash-5.1 and later v)108 336 Q(ersions.)-.15 E F1
+(compat31)108 352.8 Q F0<83>144 364.8 Q(quoting the rhs of the)180 364.8
+Q F1([[)2.5 E F0(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15
+G 2.5(pm).15 G(atching operator \(=~\) has no special ef)-2.5 E(fect)
+-.25 E F1(compat32)108 381.6 Q F0<83>144 393.6 Q .35
+(interrupting a command list such as "a ; b ; c" causes the e)180 393.6
R -.15(xe)-.15 G .35(cution of the ne).15 F .35(xt command)-.15 F .017
-(in the list \(in bash-4.0 and later v)180 364.8 R .018
+(in the list \(in bash-4.0 and later v)180 405.6 R .018
(ersions, the shell acts as if it recei)-.15 F -.15(ve)-.25 G 2.518(dt)
.15 G .018(he interrupt, so in-)-2.518 F
-(terrupting one command in a list aborts the e)180 376.8 Q -.15(xe)-.15
-G(cution of the entire list\)).15 E F1(compat40)108 393.6 Q F0<83>144
-405.6 Q(the)180 405.6 Q F1(<)2.674 E F0(and)2.674 E F1(>)2.673 E F0 .173
+(terrupting one command in a list aborts the e)180 417.6 Q -.15(xe)-.15
+G(cution of the entire list\)).15 E F1(compat40)108 434.4 Q F0<83>144
+446.4 Q(the)180 446.4 Q F1(<)2.674 E F0(and)2.674 E F1(>)2.673 E F0 .173
(operators to the)2.673 F F1([[)2.673 E F0 .173
(command do not consider the current locale when compar)2.673 F(-)-.2 E
-.067(ing strings; the)180 417.6 R 2.567(yu)-.15 G .067
+.067(ing strings; the)180 458.4 R 2.567(yu)-.15 G .067
(se ASCII ordering.)-2.567 F .068(Bash v)5.068 F .068
-(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 429.6 Q F4
+(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 470.4 Q F4
(str)4.743 E(cmp)-.37 E F0 1.903
(\(3\); bash-4.1 and later use the current locale').19 F 4.402(sc)-.55 G
1.902(ollation sequence and)-4.402 F F4(str)4.742 E(-)-.2 E(coll)180
-441.6 Q F0(\(3\).).51 E F1(compat41)108 458.4 Q F0<83>144 470.4 Q(in)180
-470.4 Q F4(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29
+482.4 Q F0(\(3\).).51 E F1(compat41)108 499.2 Q F0<83>144 511.2 Q(in)180
+511.2 Q F4(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29
(may be follo)3.79 F 1.29
(wed by options and still be recognized as a reserv)-.25 F(ed)-.15 E -.1
-(wo)180 482.4 S(rd \(this is POSIX interpretation 267\)).1 E<83>144
-494.4 Q(in)180 494.4 Q F4(posix)2.709 E F0 .208
+(wo)180 523.2 S(rd \(this is POSIX interpretation 267\)).1 E<83>144
+535.2 Q(in)180 535.2 Q F4(posix)2.709 E F0 .208
(mode, the parser requires that an e)2.709 F -.15(ve)-.25 G 2.708(nn).15
G .208(umber of single quotes occur in the)-2.708 F F4(wor)2.708 E(d)
--.37 E F0 .281(portion of a double-quoted parameter e)180 506.4 R .282
+-.37 E F0 .281(portion of a double-quoted parameter e)180 547.2 R .282
(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot)
-2.782 G .282(hat charac-)-2.782 F(ters within the single quotes are co\
-nsidered quoted \(this is POSIX interpretation 221\))180 518.4 Q F1
-(compat42)108 535.2 Q F0<83>144 547.2 Q 1.056(the replacement string in\
- double-quoted pattern substitution does not under)180 547.2 R 1.055
-(go quote re-)-.18 F(mo)180 559.2 Q -.25(va)-.15 G(l, as it does in v)
-.25 E(ersions after bash-4.2)-.15 E<83>144 571.2 Q .021
-(in posix mode, single quotes are considered special when e)180 571.2 R
+nsidered quoted \(this is POSIX interpretation 221\))180 559.2 Q F1
+(compat42)108 576 Q F0<83>144 588 Q 1.056(the replacement string in dou\
+ble-quoted pattern substitution does not under)180 588 R 1.055
+(go quote re-)-.18 F(mo)180 600 Q -.25(va)-.15 G(l, as it does in v).25
+E(ersions after bash-4.2)-.15 E<83>144 612 Q .021
+(in posix mode, single quotes are considered special when e)180 612 R
.021(xpanding the)-.15 F F4(wor)2.521 E(d)-.37 E F0 .021(portion of a)
-2.521 F .018(double-quoted parameter e)180 583.2 R .017
+2.521 F .018(double-quoted parameter e)180 624 R .017
(xpansion and can be used to quote a closing brace or other spe-)-.15 F
.998(cial character \(this is part of POSIX interpretation 221\); in la\
-ter v)180 595.2 R .999(ersions, single quotes)-.15 F
-(are not special within double-quoted w)180 607.2 Q(ord e)-.1 E
-(xpansions)-.15 E F1(compat43)108 624 Q F0<83>144 636 Q 1.071
-(the shell does not print a w)180 636 R 1.07
+ter v)180 636 R .999(ersions, single quotes)-.15 F
+(are not special within double-quoted w)180 648 Q(ord e)-.1 E(xpansions)
+-.15 E F1(compat43)108 664.8 Q F0<83>144 676.8 Q 1.071
+(the shell does not print a w)180 676.8 R 1.07
(arning message if an attempt is made to use a quoted com-)-.1 F .71
-(pound assignment as an ar)180 648 R .711
+(pound assignment as an ar)180 688.8 R .711
(gument to declare \(e.g., declare -a foo=\010\(1 2\)\010\). Later v)
--.18 F(ersions)-.15 E -.1(wa)180 660 S(rn that this usage is deprecated)
-.1 E<83>144 672 Q -.1(wo)180 672 S .501(rd e).1 F .501
-(xpansion errors are considered non-f)-.15 F .501
-(atal errors that cause the current command to)-.1 F -.1(fa)180 684 S
+-.18 F(ersions)-.15 E -.1(wa)180 700.8 S
+(rn that this usage is deprecated).1 E<83>144 712.8 Q -.1(wo)180 712.8 S
+.501(rd e).1 F .501(xpansion errors are considered non-f)-.15 F .501
+(atal errors that cause the current command to)-.1 F -.1(fa)180 724.8 S
.605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G .605
(osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605(vior is to mak)
-.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605
-(atal errors that cause the)-.1 F(shell to e)180 696 Q(xit\))-.15 E<83>
-144 708 Q .355(when e)180 708 R -.15(xe)-.15 G .354
-(cuting a shell function, the loop state \(while/until/etc.\)).15 F .354
-(is not reset, so)5.354 F F1(br)2.854 E(eak)-.18 E F0(or)2.854 E F1
-(continue)180 720 Q F0 .052
-(in that function will break or continue loops in the calling conte)
-2.552 F .053(xt. Bash-4.4 and)-.15 F(GNU Bash 5.2)72 768 Q(2021 No)
-136.385 E -.15(ve)-.15 G(mber 22).15 E(26)185.545 E 0 Cg EP
+(atal errors that cause the)-.1 F(GNU Bash 5.2)72 768 Q(2021 No)136.385
+E -.15(ve)-.15 G(mber 22).15 E(26)185.545 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E(later reset the loop state to pre)180 84 Q
--.15(ve)-.25 G(nt this).15 E/F1 10/Times-Bold@0 SF(compat44)108 100.8 Q
-F0<83>144 112.8 Q .719(the shell sets up the v)180 112.8 R .719
-(alues used by)-.25 F/F2 9/Times-Bold@0 SF -.27(BA)3.219 G(SH_ARGV).27 E
-F0(and)2.969 E F2 -.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F
-3.218(yc)-.15 G .718(an e)-3.218 F(xpand)-.15 E(to the shell')180 124.8
-Q 2.5(sp)-.55 G(ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15
-G 2.5(fe)-2.5 G(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>
-144 136.8 Q 2.634(as)180 136.8 S .134
-(ubshell inherits loops from its parent conte)-2.634 F .135(xt, so)-.15
-F F1(br)2.635 E(eak)-.18 E F0(or)2.635 E F1(continue)2.635 E F0 .135
-(will cause the sub-)2.635 F(shell to e)180 148.8 Q 2.5(xit. Bash-5.0)
--.15 F(and later reset the loop state to pre)2.5 E -.15(ve)-.25 G
-(nt the e).15 E(xit)-.15 E<83>144 160.8 Q -.25(va)180 160.8 S .619
-(riable assignments preceding b).25 F .618(uiltins lik)-.2 F(e)-.1 E F1
-(export)3.118 E F0(and)3.118 E F1 -.18(re)3.118 G(adonly).18 E F0 .618
-(that set attrib)3.118 F .618(utes con-)-.2 F .119(tinue to af)180 172.8
-R .119(fect v)-.25 F .119(ariables with the same name in the calling en)
--.25 F .12(vironment e)-.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62
-G .12(he shell is)-2.62 F(not in posix mode)180 184.8 Q F1(compat50)108
-201.6 Q F0<83>144 213.6 Q 1.209(Bash-5.1 changed the w)180 213.6 R(ay)
--.1 E F2($RANDOM)3.709 E F0 1.209
-(is generated to introduce slightly more random-)3.459 F 1.018
-(ness. If the shell compatibility le)180 225.6 R -.15(ve)-.25 G 3.518
+E(UIL)-.1 E(TINS\(1\))-.92 E(shell to e)180 84 Q(xit\))-.15 E<83>144 96
+Q .355(when e)180 96 R -.15(xe)-.15 G .354
+(cuting a shell function, the loop state \(while/until/etc.\)).15 F .354
+(is not reset, so)5.354 F/F1 10/Times-Bold@0 SF(br)2.854 E(eak)-.18 E F0
+(or)2.854 E F1(continue)180 108 Q F0 .052
+(in that function will break or continue loops in the calling conte)
+2.552 F .053(xt. Bash-4.4 and)-.15 F(later reset the loop state to pre)
+180 120 Q -.15(ve)-.25 G(nt this).15 E F1(compat44)108 136.8 Q F0<83>144
+148.8 Q .719(the shell sets up the v)180 148.8 R .719(alues used by)-.25
+F/F2 9/Times-Bold@0 SF -.27(BA)3.219 G(SH_ARGV).27 E F0(and)2.969 E F2
+-.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.218(yc)-.15 G
+.718(an e)-3.218 F(xpand)-.15 E(to the shell')180 160.8 Q 2.5(sp)-.55 G
+(ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G
+(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 172.8 Q
+2.634(as)180 172.8 S .134(ubshell inherits loops from its parent conte)
+-2.634 F .135(xt, so)-.15 F F1(br)2.635 E(eak)-.18 E F0(or)2.635 E F1
+(continue)2.635 E F0 .135(will cause the sub-)2.635 F(shell to e)180
+184.8 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre)
+2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 196.8 Q -.25(va)
+180 196.8 S .619(riable assignments preceding b).25 F .618(uiltins lik)
+-.2 F(e)-.1 E F1(export)3.118 E F0(and)3.118 E F1 -.18(re)3.118 G
+(adonly).18 E F0 .618(that set attrib)3.118 F .618(utes con-)-.2 F .119
+(tinue to af)180 208.8 R .119(fect v)-.25 F .119
+(ariables with the same name in the calling en)-.25 F .12(vironment e)
+-.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62 G .12(he shell is)-2.62
+F(not in posix mode)180 220.8 Q F1(compat50)108 237.6 Q F0<83>144 249.6
+Q 1.209(Bash-5.1 changed the w)180 249.6 R(ay)-.1 E F2($RANDOM)3.709 E
+F0 1.209(is generated to introduce slightly more random-)3.459 F 1.018
+(ness. If the shell compatibility le)180 261.6 R -.15(ve)-.25 G 3.518
(li).15 G 3.518(ss)-3.518 G 1.018(et to 50 or lo)-3.518 F(wer)-.25 E
3.518(,i)-.4 G 3.518(tr)-3.518 G -2.15 -.25(ev e)-3.518 H 1.019
-(rts to the method from).25 F .733(bash-5.0 and pre)180 237.6 R .733
+(rts to the method from).25 F .733(bash-5.0 and pre)180 273.6 R .733
(vious v)-.25 F .732
(ersions, so seeding the random number generator by assigning a)-.15 F
--.25(va)180 249.6 S(lue to).25 E F2(RANDOM)2.5 E F0
-(will produce the same sequence as in bash-5.0)2.25 E<83>144 261.6 Q
-.695(If the command hash table is empty)180 261.6 R 3.196(,b)-.65 G .696
+-.25(va)180 285.6 S(lue to).25 E F2(RANDOM)2.5 E F0
+(will produce the same sequence as in bash-5.0)2.25 E<83>144 297.6 Q
+.695(If the command hash table is empty)180 297.6 R 3.196(,b)-.65 G .696
(ash v)-3.196 F .696(ersions prior to bash-5.1 printed an informa-)-.15
-F 1.321(tional message to that ef)180 273.6 R 1.321(fect, e)-.25 F -.15
+F 1.321(tional message to that ef)180 309.6 R 1.321(fect, e)-.25 F -.15
(ve)-.25 G 3.821(nw).15 G 1.321
(hen producing output that can be reused as input.)-3.821 F
-(Bash-5.1 suppresses that message when the)180 285.6 Q F1<ad6c>2.5 E F0
-(option is supplied.)2.5 E F1(compat51)108 302.4 Q F0<83>144 314.4 Q
-(The)180 314.4 Q F1(unset)2.954 E F0 -.2(bu)2.954 G .454
+(Bash-5.1 suppresses that message when the)180 321.6 Q F1<ad6c>2.5 E F0
+(option is supplied.)2.5 E F1(compat51)108 338.4 Q F0<83>144 350.4 Q
+(The)180 350.4 Q F1(unset)2.954 E F0 -.2(bu)2.954 G .454
(iltin treats attempts to unset array subscripts).2 F F1(@)2.955 E F0
(and)2.955 E F1(*)2.955 E F0(dif)2.955 E .455(ferently depending)-.25 F
-(on whether the array is inde)180 326.4 Q -.15(xe)-.15 G 2.5(do).15 G
+(on whether the array is inde)180 362.4 Q -.15(xe)-.15 G 2.5(do).15 G
2.5(ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E
(ferently than in pre)-.25 E(vious v)-.25 E(ersions.)-.15 E/F3 10.95
-/Times-Bold@0 SF(SEE ALSO)72 343.2 Q F0(bash\(1\), sh\(1\))108 355.2 Q
+/Times-Bold@0 SF(SEE ALSO)72 379.2 Q F0(bash\(1\), sh\(1\))108 391.2 Q
(GNU Bash 5.2)72 768 Q(2021 No)136.385 E -.15(ve)-.15 G(mber 22).15 E
(27)185.545 E 0 Cg EP
%%Trailer
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
-%%CreationDate: Mon Sep 19 12:02:42 2022
+%%CreationDate: Fri Dec 2 17:01:16 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 4
Copyright (C) 1988-2022 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Fri Nov 18 11:09:41 EST 2022
+@set LASTCHANGE Fri Dec 2 16:14:27 EST 2022
@set EDITION 5.2
@set VERSION 5.2
-@set UPDATED 18 November 2022
-@set UPDATED-MONTH November 2022
+@set UPDATED 2 December 2022
+@set UPDATED-MONTH December 2022
static WORD_LIST *build_arg_list PARAMS((char *, const char *, const char *, WORD_LIST *, int));
static WORD_LIST *command_line_to_word_list PARAMS((char *, int, int, int *, int *));
+static int compgen_compspec = 0; /* are we generating completions for compgen? */
+
#ifdef DEBUG
static int progcomp_debug = 0;
#endif
STRINGLIST *sl;
SHELL_VAR *f, *v;
WORD_LIST *cmdlist;
- int fval, found;
+ int fval, found, local_compgen;
sh_parser_state_t ps;
sh_parser_state_t * restrict pps;
#if defined (ARRAY_VARS)
ARRAY *a;
#endif
+ local_compgen = compgen_compspec;
found = 0;
if (foundp)
*foundp = found;
add_unwind_protect (restore_parser_state, (char *)pps);
add_unwind_protect (dispose_words, (char *)cmdlist);
add_unwind_protect (unbind_compfunc_variables, (char *)0);
+ if (local_compgen == 0)
+ {
+ add_unwind_protect (rl_set_signals, (char *)NULL);
+ rl_clear_signals ();
+ }
fval = execute_shell_function (f, cmdlist);
discard_unwind_frame ("gen-shell-function-matches");
restore_parser_state (pps);
+ if (local_compgen == 0)
+ {
+ QUIT;
+ rl_set_signals ();
+ }
found = fval != EX_NOTFOUND;
if (fval == EX_RETRYFAIL)
COMPSPEC *tcs;
found = 1;
+ compgen_compspec = this_shell_builtin == compgen_builtin;
#ifdef DEBUG
debug_printf ("gen_compspec_completions (%s, %s, %d, %d)", cmd, word, start, end);
const char *oldcmd, *oldtxt;
STRINGLIST *ret;
+ compgen_compspec = 0;
+
cs = progcomp_search (ocmd);
if (cs == 0 || cs == *lastcs)
#if defined (READLINE)
if (interactive)
- bashline_reset ();
+ {
+ if (RL_ISSTATE (RL_STATE_SIGHANDLER) == 0)
+ rl_cleanup_after_signal ();
+ bashline_reset ();
+ }
+
#endif /* READLINE */
#if defined (PROCESS_SUBSTITUTION)
RL_STATE_TERMPREPPED is possibly redundant. */
if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED))
bashline_set_event_hook ();
+ else if (RL_ISSTATE (RL_STATE_COMPLETING|RL_STATE_DISPATCHING))
+ bashline_set_event_hook ();
#endif
SIGRETURN (0);
quick response. */
else if (RL_ISSTATE (RL_STATE_SIGHANDLER))
bashline_set_event_hook ();
+ else if (RL_ISSTATE (RL_STATE_COMPLETING|RL_STATE_DISPATCHING))
+ bashline_set_event_hook ();
#endif
SIGRETURN (0);
./errors.tests: line 231: /bin/sh + 0: arithmetic syntax error: operand expected (error token is "/bin/sh + 0")
./errors.tests: line 234: trap: NOSIG: invalid signal specification
./errors.tests: line 237: trap: -s: invalid option
-trap: usage: trap [-lp] [[arg] signal_spec ...]
+trap: usage: trap [-lp] [[action] signal_spec ...]
./errors.tests: line 243: return: can only `return' from a function or sourced script
./errors.tests: line 247: break: 0: loop count out of range
./errors.tests: line 251: continue: 0: loop count out of range
#16: pat=*[ba]/*/efg yes/yes
#17: pat=*[!a]/*/efg yes/yes
#18: pat=*[a-c]/*/efg yes/yes
-#19: pat=ab@(/)cd/efg no/no
+#19: pat=ab@(/)cd/efg yes/yes
#20: pat=*@(/)cd/efg no/no
#21: pat=*/cd/efg yes/yes
#
# tests of various aspects of pathname expansion, mostly dealing with bracket
# expressions
+#
+# Derived from tests contributed by Koichi Murase <myoga.murase@gmail.com>
LC_COLLATE=C
WORK_DIR=${TMPDIR}/globtest-$$
mkdir $WORK_DIR || {
- echo "cannot create directory $WORK_DIR" >&2
+ echo "glob-bracket: cannot create directory $WORK_DIR" >&2
exit 1
}
cd $WORK_DIR || {
- echo "cannot cd to directory $WORK_DIR" >&2
+ echo "glob-bracket: cannot cd to directory $WORK_DIR" >&2
exit 1
}
-gcc -O2 -xc -o ./fnmatch - <<-EOF
+eval $(grep -E '^(CC |SHOBJ_).*=' $BUILD_DIR/examples/loadables/Makefile | sed -e 's/[ ]*=[ ]*/="/' -e 's/\$@/strmatch/' -e 's/$/"/' )
+
+if [ "$SHOBJ_STATUS" != "supported" ]; then
+ echo "glob-bracket: shared objects not supported, cannot continue" >&2
+ exit 2
+fi
+
+# we assume gcc as a default here
+: ${CC:=gcc}
+
+cat > fnmatch.c <<-EOF
#include <fnmatch.h>
#include <stdlib.h>
#include <stdio.h>
return 1;
}
EOF
+$CC -O2 -o fnmatch fnmatch.c
+rm -f fnmatch.c
-eval $(grep -E '^(CC |SHOBJ_).*=' $BUILD_DIR/examples/loadables/Makefile | sed -e 's/[ ]*=[ ]*/="/' -e 's/$/"/' )
-
-if [ "$SHOBJ_STATUS" != "supported" ]; then
- echo "glob-bracket: shared objects not supported, cannot continue" >&2
+if [ ! -f fnmatch ] ; then
+ echo "glob-bracket: cannot create fnmatch executable" >&2
exit 2
fi
-cat > ./strmatch.c <<-EOF
+cat > strmatch.c <<-EOF
#define BUILTIN_ENABLED 0x01
struct word_desc { char* word; int flags; };
struct word_list { struct word_list* next; struct word_desc* word; };
check_count=1
if [ -z "$BASH_TSTOUT" ]; then
- yes=$(printf '\033[32myes\033[m') no=$(printf '\033[31mno\033[m')
+ yes=$'\033[32myes\033[m' no=$'\033[31mno\033[m'
else
yes=yes no=no
fi
fi
# Linux fnmatch
- if $WORK_DIR/fnmatch ab/cd/efg "$1"; then
- local fnmatch=$yes
- else
- local fnmatch=$no
+ local fnmatch=${2-}
+ if [[ ! $fnmatch ]]; then
+ if $WORK_DIR/fnmatch ab/cd/efg "$1"; then
+ fnmatch=$yes
+ else
+ fnmatch=$no
+ fi
fi
printf '#%d: pat=%-16s %s/%s\n' "$((check_count++))" "$1" "$strmatch" "$fnmatch"
pcheck '*[!a]/*/efg'
pcheck '*[a-c]/*/efg'
-pcheck 'ab@(/)cd/efg'
-pcheck '*@(/)cd/efg'
+shopt -s extglob
+pcheck 'ab@(/)cd/efg' "$yes"
+pcheck '*@(/)cd/efg' "$no"
pcheck '*/cd/efg'
+shopt -u extglob
cd "$WORK_DIR"
fi
PATH=$PATH:`pwd`
export PATH
-${THIS_SH} ./glob-bracket.tests > ${BASH_TSTOUT} 2>&1
+${THIS_SH} ./glob-bracket.tests > ${BASH_TSTOUT}
diff ${BASH_TSTOUT} glob-bracket.right && rm -f ${BASH_TSTOUT}