B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD
If set to an integer corresponding to a valid file descriptor,
b\bba\bas\bsh\bh will write the trace output generated when "set -x" is en-
- abled to that file descriptor. The file descriptor is closed
- when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or assigned a new value. Unsetting
- B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD or assigning it the empty string causes the trace
- output to be sent to the standard error. Note that setting
- B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD to 2 (the standard error file descriptor) and then
- unsetting it will result in the standard error being closed.
- C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command. This is a colon-separated
+ abled to that file descriptor, instead of the standard error.
+ The file descriptor is closed when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or as-
+ signed a new value. Unsetting B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD or assigning it the
+ empty string causes the trace output to be sent to the standard
+ error. Note that setting B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD to 2 (the standard error
+ file descriptor) and then unsetting it will result in the stan-
+ dard error being closed.
+ C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command. This is a colon-separated
list of directories where the shell looks for directories speci-
- fied as arguments to the c\bcd\bd command. A sample value is
+ fied as arguments to the c\bcd\bd command. A sample value is
".:~:/usr".
C\bCH\bHI\bIL\bLD\bD_\b_M\bMA\bAX\bX
- Set the number of exited child status values for the shell to
- remember. B\bBa\bas\bsh\bh will not allow this value to be decreased below
- a POSIX-mandated minimum, and there is a maximum value (cur-
- rently 8192) that this may not exceed. The minimum value is
+ Set the number of exited child status values for the shell to
+ remember. B\bBa\bas\bsh\bh will not allow this value to be decreased below
+ a POSIX-mandated minimum, and there is a maximum value (cur-
+ rently 8192) that this may not exceed. The minimum value is
system-dependent.
C\bCO\bOL\bLU\bUM\bMN\bNS\bS
- Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
- width when printing selection lists. Automatically set if the
- c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
+ Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
+ width when printing selection lists. Automatically set if the
+ c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
An array variable from which b\bba\bas\bsh\bh reads the possible completions
- generated by a shell function invoked by the programmable com-
- pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below). Each ar-
+ generated by a shell function invoked by the programmable com-
+ pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below). Each ar-
ray element contains one possible completion.
- E\bEM\bMA\bAC\bCS\bS If b\bba\bas\bsh\bh finds this variable in the environment when the shell
- starts with value "t", it assumes that the shell is running in
+ E\bEM\bMA\bAC\bCS\bS If b\bba\bas\bsh\bh finds this variable in the environment when the shell
+ starts with value "t", it assumes that the shell is running in
an Emacs shell buffer and disables line editing.
- E\bEN\bNV\bV Expanded and executed similarly to B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
+ E\bEN\bNV\bV Expanded and executed similarly to B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
above) when an interactive shell is invoked in posix mode.
E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg)
- defining the set of filenames to be ignored by command search
- using P\bPA\bAT\bTH\bH. Files whose full pathnames match one of these pat-
- terns are not considered executable files for the purposes of
+ A colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg)
+ defining the set of filenames to be ignored by command search
+ using P\bPA\bAT\bTH\bH. Files whose full pathnames match one of these pat-
+ terns are not considered executable files for the purposes of
completion and command execution via P\bPA\bAT\bTH\bH lookup. This does not
affect the behavior of the [\b[, t\bte\bes\bst\bt, and [\b[[\b[ commands. Full path-
- names in the command hash table are not subject to E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
- Use this variable to ignore shared library files that have the
- executable bit set, but are not executable files. The pattern
+ names in the command hash table are not subject to E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
+ Use this variable to ignore shared library files that have the
+ executable bit set, but are not executable files. The pattern
matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
F\bFI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of suffixes to ignore when performing
+ A colon-separated list of suffixes to ignore when performing
filename completion (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below). A filename whose suf-
- fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
+ fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
list of matched filenames. A sample value is ".o:~".
F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT
- If set to a numeric value greater than 0, defines a maximum
- function nesting level. Function invocations that exceed this
+ If set to a numeric value greater than 0, defines a maximum
+ function nesting level. Function invocations that exceed this
nesting level will cause the current command to abort.
G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of patterns defining the set of file
- names to be ignored by pathname expansion. If a file name
- matched by a pathname expansion pattern also matches one of the
- patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
+ A colon-separated list of patterns defining the set of file
+ names to be ignored by pathname expansion. If a file name
+ matched by a pathname expansion pattern also matches one of the
+ patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
The pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell op-
tion.
G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT
- Controls how the results of pathname expansion are sorted. The
- value of this variable specifies the sort criteria and sort or-
- der for the results of pathname expansion. If this variable is
- unset or set to the null string, pathname expansion uses the
- historical behavior of sorting by name, in ascending lexico-
+ Controls how the results of pathname expansion are sorted. The
+ value of this variable specifies the sort criteria and sort or-
+ der for the results of pathname expansion. If this variable is
+ unset or set to the null string, pathname expansion uses the
+ historical behavior of sorting by name, in ascending lexico-
graphic order as determined by the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable.
- If set, a valid value begins with an optional _\b+, which is ig-
+ If set, a valid value begins with an optional _\b+, which is ig-
nored, or _\b-, which reverses the sort order from ascending to de-
- scending, followed by a sort specifier. The valid sort speci-
- fiers are _\bn_\ba_\bm_\be, _\bn_\bu_\bm_\be_\br_\bi_\bc, _\bs_\bi_\bz_\be, _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and _\bb_\bl_\bo_\bc_\bk_\bs,
+ scending, followed by a sort specifier. The valid sort speci-
+ fiers are _\bn_\ba_\bm_\be, _\bn_\bu_\bm_\be_\br_\bi_\bc, _\bs_\bi_\bz_\be, _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and _\bb_\bl_\bo_\bc_\bk_\bs,
which sort the files on name, names in numeric rather than lexi-
- cographic order, file size, modification time, access time, in-
- ode change time, and number of blocks, respectively. If any of
- the non-name keys compare as equal (e.g., if two files are the
+ cographic order, file size, modification time, access time, in-
+ ode change time, and number of blocks, respectively. If any of
+ the non-name keys compare as equal (e.g., if two files are the
same size), sorting uses the name as a secondary sort key.
- For example, a value of _\b-_\bm_\bt_\bi_\bm_\be sorts the results in descending
+ For example, a value of _\b-_\bm_\bt_\bi_\bm_\be sorts the results in descending
order by modification time (newest first).
- The _\bn_\bu_\bm_\be_\br_\bi_\bc specifier treats names consisting solely of digits
+ The _\bn_\bu_\bm_\be_\br_\bi_\bc specifier treats names consisting solely of digits
as numbers and sorts them using their numeric value (so "2" will
- sort before "10", for example). When using _\bn_\bu_\bm_\be_\br_\bi_\bc, names con-
- taining non-digits sort after all the all-digit names and are
+ sort before "10", for example). When using _\bn_\bu_\bm_\be_\br_\bi_\bc, names con-
+ taining non-digits sort after all the all-digit names and are
sorted by name using the traditional behavior.
A sort specifier of _\bn_\bo_\bs_\bo_\br_\bt disables sorting completely; b\bba\bas\bsh\bh re-
- turns the results in the order they are read from the file sys-
+ turns the results in the order they are read from the file sys-
tem, ignoring any leading _\b-.
- If the sort specifier is missing, it defaults to _\bn_\ba_\bm_\be, so a
- value of _\b+ is equivalent to the null string, and a value of _\b-
- sorts by name in descending order. Any invalid value restores
+ If the sort specifier is missing, it defaults to _\bn_\ba_\bm_\be, so a
+ value of _\b+ is equivalent to the null string, and a value of _\b-
+ sorts by name in descending order. Any invalid value restores
the historical sorting behavior.
H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL
- A colon-separated list of values controlling how commands are
- saved on the history list. If the list of values includes
- _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be character are not
- saved in the history list. A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
+ A colon-separated list of values controlling how commands are
+ saved on the history list. If the list of values includes
+ _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be character are not
+ saved in the history list. A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
matching the previous history entry not to be saved. A value of
_\bi_\bg_\bn_\bo_\br_\be_\bb_\bo_\bt_\bh is shorthand for _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs. A value
of _\be_\br_\ba_\bs_\be_\bd_\bu_\bp_\bs causes all previous lines matching the current line
- to be removed from the history list before that line is saved.
- Any value not in the above list is ignored. If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
- unset, or does not include a valid value, all lines read by the
+ to be removed from the history list before that line is saved.
+ Any value not in the above list is ignored. If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
+ unset, or does not include a valid value, all lines read by the
shell parser are saved on the history list, subject to the value
- of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The second and subsequent lines of a multi-line
- compound command are not tested, and are added to the history
- regardless of the value of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL if the first line of the
- command was saved. If the first line was not saved, the second
+ of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The second and subsequent lines of a multi-line
+ compound command are not tested, and are added to the history
+ regardless of the value of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL if the first line of the
+ command was saved. If the first line was not saved, the second
and subsequent lines of the command are not saved either.
H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE
The name of the file in which command history is saved (see H\bHI\bIS\bS-\b-
- T\bTO\bOR\bRY\bY below). B\bBa\bas\bsh\bh assigns a default value of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
- If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the shell does not save the com-
+ T\bTO\bOR\bRY\bY below). B\bBa\bas\bsh\bh assigns a default value of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
+ If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the shell does not save the com-
mand history when it exits.
H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
The maximum number of lines contained in the history file. When
- this variable is assigned a value, the history file is trun-
- cated, if necessary, to contain no more than that number of
- lines by removing the oldest entries. The history file is also
+ this variable is assigned a value, the history file is trun-
+ cated, if necessary, to contain no more than that number of
+ lines by removing the oldest entries. The history file is also
truncated to this size after writing it when a shell exits or by
- the h\bhi\bis\bst\bto\bor\bry\by builtin. If the value is 0, the history file is
- truncated to zero size. Non-numeric values and numeric values
- less than zero inhibit truncation. The shell sets the default
+ the h\bhi\bis\bst\bto\bor\bry\by builtin. If the value is 0, the history file is
+ truncated to zero size. Non-numeric values and numeric values
+ less than zero inhibit truncation. The shell sets the default
value to the value of H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE after reading any startup files.
H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of patterns used to decide which command
- lines should be saved on the history list. If a command line
- matches one of the patterns in the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE, it is
- not saved on the history list. Each pattern is anchored at the
- beginning of the line and must match the complete line (b\bba\bas\bsh\bh
- will not implicitly append a "*\b*"). Each pattern is tested
- against the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL are
+ A colon-separated list of patterns used to decide which command
+ lines should be saved on the history list. If a command line
+ matches one of the patterns in the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE, it is
+ not saved on the history list. Each pattern is anchored at the
+ beginning of the line and must match the complete line (b\bba\bas\bsh\bh
+ will not implicitly append a "*\b*"). Each pattern is tested
+ against the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL are
applied. In addition to the normal shell pattern matching char-
acters, "&\b&" matches the previous history line. A backslash will
- escape the "&\b&"; the backslash is removed before attempting a
+ escape the "&\b&"; the backslash is removed before attempting a
match. The second and subsequent lines of a multi-line compound
- command are not tested, and are added to the history regardless
- of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. If the first line was not saved,
+ command are not tested, and are added to the history regardless
+ of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. If the first line was not saved,
the second and subsequent lines of the command are not saved ei-
- ther. The pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb
+ ther. The pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb
shell option.
H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
- The number of commands to remember in the command history (see
- H\bHI\bIS\bST\bTO\bOR\bRY\bY below). If the value is 0, commands are not saved in
+ The number of commands to remember in the command history (see
+ H\bHI\bIS\bST\bTO\bOR\bRY\bY below). If the value is 0, commands are not saved in
the history list. Numeric values less than zero result in every
- command being saved on the history list (there is no limit).
- The shell sets the default value to 500 after reading any
+ command being saved on the history list (there is no limit).
+ The shell sets the default value to 500 after reading any
startup files.
H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
- If this variable is set and not null, its value is used as a
+ If this variable is set and not null, its value is used as a
format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to print the time stamp associated
- with each history entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin. If
- this variable is set, the shell writes time stamps to the his-
- tory file so they may be preserved across shell sessions. This
- uses the history comment character to distinguish timestamps
+ with each history entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin. If
+ this variable is set, the shell writes time stamps to the his-
+ tory file so they may be preserved across shell sessions. This
+ uses the history comment character to distinguish timestamps
from other history lines.
H\bHO\bOM\bME\bE The home directory of the current user; the default argument for
the c\bcd\bd builtin command. The value of this variable is also used
when performing tilde expansion.
H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE
- Contains the name of a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
+ Contains the name of a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
that should be read when the shell needs to complete a hostname.
- The list of possible hostname completions may be changed while
- the shell is running; the next time hostname completion is at-
- tempted after the value is changed, b\bba\bas\bsh\bh adds the contents of
- the new file to the existing list. If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
- no value, or does not name a readable file, b\bba\bas\bsh\bh attempts to
- read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname comple-
+ The list of possible hostname completions may be changed while
+ the shell is running; the next time hostname completion is at-
+ tempted after the value is changed, b\bba\bas\bsh\bh adds the contents of
+ the new file to the existing list. If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
+ no value, or does not name a readable file, b\bba\bas\bsh\bh attempts to
+ read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname comple-
tions. When H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is unset, the hostname list is cleared.
I\bIF\bFS\bS The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bF_\bi_\be_\bl_\bd _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br that is used for word splitting af-
- ter expansion and to split lines into words with the r\bre\bea\bad\bd
- builtin command. Word splitting is described above under E\bEX\bXP\bPA\bAN\bN-\b-
+ ter expansion and to split lines into words with the r\bre\bea\bad\bd
+ builtin command. Word splitting is described below under E\bEX\bXP\bPA\bAN\bN-\b-
S\bSI\bIO\bON\bN. The default value is "<space><tab><newline>".
I\bIG\bGN\bNO\bOR\bRE\bEE\bEO\bOF\bF
Controls the action of an interactive shell on receipt of an E\bEO\bOF\bF
character as the sole input. If set, the value is the number of
- consecutive E\bEO\bOF\bF characters which must be typed as the first
- characters on an input line before b\bba\bas\bsh\bh exits. If the variable
- is set but does not have a numeric value, or the value is null,
- the default value is 10. If it is unset, E\bEO\bOF\bF signifies the end
+ consecutive E\bEO\bOF\bF characters which must be typed as the first
+ characters on an input line before b\bba\bas\bsh\bh exits. If the variable
+ is set but does not have a numeric value, or the value is null,
+ the default value is 10. If it is unset, E\bEO\bOF\bF signifies the end
of input to the shell.
I\bIN\bNP\bPU\bUT\bTR\bRC\bC
- The filename for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding the de-
+ The filename for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding the de-
fault of _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).
I\bIN\bNS\bSI\bID\bDE\bE_\b_E\bEM\bMA\bAC\bCS\bS
- If this variable appears in the environment when the shell
- starts, b\bba\bas\bsh\bh assumes that it is running inside an Emacs shell
- buffer and may disable line editing, depending on the value of
+ If this variable appears in the environment when the shell
+ starts, b\bba\bas\bsh\bh assumes that it is running inside an Emacs shell
+ buffer and may disable line editing, depending on the value of
T\bTE\bER\bRM\bM.
- L\bLA\bAN\bNG\bG Used to determine the locale category for any category not
+ L\bLA\bAN\bNG\bG Used to determine the locale category for any category not
specifically selected with a variable starting with L\bLC\bC_\b_.
- L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
+ L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
variable specifying a locale category.
L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
- This variable determines the collation order used when sorting
- the results of pathname expansion, and determines the behavior
- of range expressions, equivalence classes, and collating se-
+ This variable determines the collation order used when sorting
+ the results of pathname expansion, and determines the behavior
+ of range expressions, equivalence classes, and collating se-
quences within pathname expansion and pattern matching.
L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE
- This variable determines the interpretation of characters and
- the behavior of character classes within pathname expansion and
+ This variable determines the interpretation of characters and
+ the behavior of character classes within pathname expansion and
pattern matching.
L\bLC\bC_\b_M\bME\bES\bSS\bSA\bAG\bGE\bES\bS
- This variable determines the locale used to translate double-
+ This variable determines the locale used to translate double-
quoted strings preceded by a $\b$.
L\bLC\bC_\b_N\bNU\bUM\bME\bER\bRI\bIC\bC
- This variable determines the locale category used for number
+ This variable determines the locale category used for number
formatting.
L\bLC\bC_\b_T\bTI\bIM\bME\bE
- This variable determines the locale category used for data and
+ This variable determines the locale category used for data and
time formatting.
- L\bLI\bIN\bNE\bES\bS Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the column
- length for printing selection lists. Automatically set if the
- c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
+ L\bLI\bIN\bNE\bES\bS Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the column
+ length for printing selection lists. Automatically set if the
+ c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
M\bMA\bAI\bIL\bL If the value is set to a file or directory name and the M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
- variable is not set, b\bba\bas\bsh\bh informs the user of the arrival of
+ variable is not set, b\bba\bas\bsh\bh informs the user of the arrival of
mail in the specified file or Maildir-format directory.
M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
- Specifies how often (in seconds) b\bba\bas\bsh\bh checks for mail. The de-
- fault is 60 seconds. When it is time to check for mail, the
- shell does so before displaying the primary prompt. If this
- variable is unset, or set to a value that is not a number
+ Specifies how often (in seconds) b\bba\bas\bsh\bh checks for mail. The de-
+ fault is 60 seconds. When it is time to check for mail, the
+ shell does so before displaying the primary prompt. If this
+ variable is unset, or set to a value that is not a number
greater than or equal to zero, the shell disables mail checking.
M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
A colon-separated list of filenames to be checked for mail. The
message to be printed when mail arrives in a particular file may
- be specified by separating the filename from the message with a
- "?". When used in the text of the message, $\b$_\b_ expands to the
+ be specified by separating the filename from the message with a
+ "?". When used in the text of the message, $\b$_\b_ expands to the
name of the current mailfile. Example:
M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
- B\bBa\bas\bsh\bh can be configured to supply a default value for this vari-
- able (there is no value by default), but the location of the
+ B\bBa\bas\bsh\bh can be configured to supply a default value for this vari-
+ able (there is no value by default), but the location of the
user mail files that it uses is system dependent (e.g.,
/var/mail/$\b$U\bUS\bSE\bER\bR).
O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
- the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- O\bOP\bPT\bTE\bER\bRR\bR is initialized to 1 each time the shell is invoked or a
+ the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+ O\bOP\bPT\bTE\bER\bRR\bR is initialized to 1 each time the shell is invoked or a
shell script is executed.
- P\bPA\bAT\bTH\bH The search path for commands. It is a colon-separated list of
- directories in which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
- E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN below). A zero-length (null) directory name in the
+ P\bPA\bAT\bTH\bH The search path for commands. It is a colon-separated list of
+ directories in which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
+ E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN below). A zero-length (null) directory name in the
value of P\bPA\bAT\bTH\bH indicates the current directory. A null directory
- name may appear as two adjacent colons, or as an initial or
- trailing colon. The default path is system-dependent, and is
+ name may appear as two adjacent colons, or as an initial or
+ trailing colon. The default path is system-dependent, and is
set by the administrator who installs b\bba\bas\bsh\bh. A common value is
"/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin".
P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
- If this variable is in the environment when b\bba\bas\bsh\bh starts, the
- shell enters posix mode before reading the startup files, as if
- the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied. If it is set
- while the shell is running, b\bba\bas\bsh\bh enables posix mode, as if the
+ If this variable is in the environment when b\bba\bas\bsh\bh starts, the
+ shell enters posix mode before reading the startup files, as if
+ the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied. If it is set
+ while the shell is running, b\bba\bas\bsh\bh enables posix mode, as if the
command "set -o posix" had been executed. When the shell enters
posix mode, it sets this variable if it was not already set.
P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
- If this variable is set, and is an array, the value of each set
- element is executed as a command prior to issuing each primary
- prompt. If this is set but not an array variable, its value is
+ If this variable is set, and is an array, the value of each set
+ element is executed as a command prior to issuing each primary
+ prompt. If this is set but not an array variable, its value is
used as a command to execute instead.
P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
- If set to a number greater than zero, the value is used as the
+ If set to a number greater than zero, the value is used as the
number of trailing directory components to retain when expanding
- the \\b\w\bw and \\b\W\bW prompt string escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
+ the \\b\w\bw and \\b\W\bW prompt string escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
Characters removed are replaced with an ellipsis.
- P\bPS\bS0\b0 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
- and displayed by interactive shells after reading a command and
+ P\bPS\bS0\b0 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+ and displayed by interactive shells after reading a command and
before the command is executed.
- P\bPS\bS1\b1 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
- and used as the primary prompt string. The default value is
+ P\bPS\bS1\b1 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+ and used as the primary prompt string. The default value is
"\s-\v\$ ".
- P\bPS\bS2\b2 The value of this parameter is expanded as with P\bPS\bS1\b1 and used as
+ P\bPS\bS2\b2 The value of this parameter is expanded as with P\bPS\bS1\b1 and used as
the secondary prompt string. The default is "> ".
P\bPS\bS3\b3 The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
- P\bPS\bS4\b4 The value of this parameter is expanded as with P\bPS\bS1\b1 and the
+ P\bPS\bS4\b4 The value of this parameter is expanded as with P\bPS\bS1\b1 and the
value is printed before each command b\bba\bas\bsh\bh displays during an ex-
ecution trace. The first character of the expanded value of P\bPS\bS4\b4
is replicated multiple times, as necessary, to indicate multiple
levels of indirection. The default is "+ ".
- S\bSH\bHE\bEL\bLL\bL This variable expands to the full pathname to the shell. If it
- is not set when the shell starts, b\bba\bas\bsh\bh assigns to it the full
+ S\bSH\bHE\bEL\bLL\bL This variable expands to the full pathname to the shell. If it
+ is not set when the shell starts, b\bba\bas\bsh\bh assigns to it the full
pathname of the current user's login shell.
T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
- The value of this parameter is used as a format string specify-
- ing how the timing information for pipelines prefixed with the
- t\bti\bim\bme\be reserved word should be displayed. The %\b% character intro-
- duces an escape sequence that is expanded to a time value or
- other information. The escape sequences and their meanings are
+ The value of this parameter is used as a format string specify-
+ ing how the timing information for pipelines prefixed with the
+ t\bti\bim\bme\be reserved word should be displayed. The %\b% character intro-
+ duces an escape sequence that is expanded to a time value or
+ other information. The escape sequences and their meanings are
as follows; the brackets denote optional portions.
%\b%%\b% A literal %\b%.
%\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR The elapsed time in seconds.
%\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS The number of CPU seconds spent in system mode.
%\b%P\bP The CPU percentage, computed as (%U + %S) / %R.
- The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
+ The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
of fractional digits after a decimal point. A value of 0 causes
- no decimal point or fraction to be output. t\bti\bim\bme\be will print at
- most six digits after the decimal point; values of _\bp greater
- than 6 are changed to 6. If _\bp is not specified, t\bti\bim\bme\be prints
+ no decimal point or fraction to be output. t\bti\bim\bme\be will print at
+ most six digits after the decimal point; values of _\bp greater
+ than 6 are changed to 6. If _\bp is not specified, t\bti\bim\bme\be prints
three digits after the decimal point.
- The optional l\bl specifies a longer format, including minutes, of
- the form _\bM_\bMm_\bS_\bS._\bF_\bFs. The value of _\bp determines whether or not
+ The optional l\bl specifies a longer format, including minutes, of
+ the form _\bM_\bMm_\bS_\bS._\bF_\bFs. The value of _\bp determines whether or not
the fraction is included.
- If this variable is not set, b\bba\bas\bsh\bh acts as if it had the value
- $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'. If the value is null,
- b\bba\bas\bsh\bh does not display any timing information. A trailing new-
+ If this variable is not set, b\bba\bas\bsh\bh acts as if it had the value
+ $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'. If the value is null,
+ b\bba\bas\bsh\bh does not display any timing information. A trailing new-
line is added when the format string is displayed.
- T\bTM\bMO\bOU\bUT\bT If set to a value greater than zero, the r\bre\bea\bad\bd builtin uses the
- value as its default timeout. The s\bse\bel\ble\bec\bct\bt command terminates if
- input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is coming
- from a terminal. In an interactive shell, the value is inter-
- preted as the number of seconds to wait for a line of input af-
- ter issuing the primary prompt. B\bBa\bas\bsh\bh terminates after waiting
- for that number of seconds if a complete line of input does not
+ T\bTM\bMO\bOU\bUT\bT If set to a value greater than zero, the r\bre\bea\bad\bd builtin uses the
+ value as its default timeout. The s\bse\bel\ble\bec\bct\bt command terminates if
+ input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is coming
+ from a terminal. In an interactive shell, the value is inter-
+ preted as the number of seconds to wait for a line of input af-
+ ter issuing the primary prompt. B\bBa\bas\bsh\bh terminates after waiting
+ for that number of seconds if a complete line of input does not
arrive.
- T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
+ T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
b\bba\bas\bsh\bh creates temporary files for the shell's use.
a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
This variable controls how the shell interacts with the user and
- job control. If this variable is set, simple commands consist-
- ing of only a single word, without redirections, are treated as
- candidates for resumption of an existing stopped job. There is
- no ambiguity allowed; if there is more than one job beginning
- with or containing the word, this selects the most recently ac-
- cessed job. The _\bn_\ba_\bm_\be of a stopped job, in this context, is the
- command line used to start it, as displayed by j\bjo\bob\bbs\bs. If set to
- the value _\be_\bx_\ba_\bc_\bt, the word must match the name of a stopped job
- exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the word needs to match a sub-
- string of the name of a stopped job. The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value pro-
+ job control. If this variable is set, simple commands consist-
+ ing of only a single word, without redirections, are treated as
+ candidates for resumption of an existing stopped job. There is
+ no ambiguity allowed; if there is more than one job beginning
+ with or containing the word, this selects the most recently ac-
+ cessed job. The _\bn_\ba_\bm_\be of a stopped job, in this context, is the
+ command line used to start it, as displayed by j\bjo\bob\bbs\bs. If set to
+ the value _\be_\bx_\ba_\bc_\bt, the word must match the name of a stopped job
+ exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the word needs to match a sub-
+ string of the name of a stopped job. The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value pro-
vides functionality analogous to the %\b%?\b? job identifier (see J\bJO\bOB\bB
- C\bCO\bON\bNT\bTR\bRO\bOL\bL below). If set to any other value (e.g., _\bp_\br_\be_\bf_\bi_\bx), the
- word must be a prefix of a stopped job's name; this provides
+ C\bCO\bON\bNT\bTR\bRO\bOL\bL below). If set to any other value (e.g., _\bp_\br_\be_\bf_\bi_\bx), the
+ word must be a prefix of a stopped job's name; this provides
functionality analogous to the %\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
- The two or three characters which control history expansion and
+ The two or three characters which control history expansion and
tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below). The first character
is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which begins a
- history expansion, normally "!\b!". The second character is the
- _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, normally "^\b^". When it appears as
- the first character on the line, history substitution repeats
- the previous command, replacing one string with another. The
- optional third character is the character which indicates that
- the remainder of the line is a comment when found as the first
- character of a word, normally "#\b#". The history comment charac-
+ history expansion, normally "!\b!". The second character is the
+ _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, normally "^\b^". When it appears as
+ the first character on the line, history substitution repeats
+ the previous command, replacing one string with another. The
+ optional third character is the character which indicates that
+ the remainder of the line is a comment when found as the first
+ character of a word, normally "#\b#". The history comment charac-
ter disables history substitution for the remaining words on the
- line. It does not necessarily cause the shell parser to treat
+ line. It does not necessarily cause the shell parser to treat
the rest of the line as a comment.
A\bAr\brr\bra\bay\bys\bs
- B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array variables.
- Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
- explicitly declare an array. There is no maximum limit on the size of
- an array, nor any requirement that members be indexed or assigned con-
- tiguously. Indexed arrays are referenced using integers (including
+ B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array variables.
+ Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
+ explicitly declare an array. There is no maximum limit on the size of
+ an array, nor any requirement that members be indexed or assigned con-
+ tiguously. Indexed arrays are referenced using integers (including
arithmetic expressions) and are zero-based; associative arrays are ref-
erenced using arbitrary strings. Unless otherwise noted, indexed array
indices must be non-negative integers.
- An indexed array is created automatically if any variable is assigned
+ An indexed array is created automatically if any variable is assigned
to using the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be. The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as
an arithmetic expression that must evaluate to a number greater than or
- equal to zero. To explicitly declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba
+ equal to zero. To explicitly declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba
_\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is
also accepted; the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is ignored.
r\bre\bea\bad\bdo\bon\bnl\bly\by builtins. Each attribute applies to all members of an array.
Arrays are assigned using compound assignments of the form _\bn_\ba_\bm_\be=(\b(value_\b1
- ... value_\bn)\b), where each _\bv_\ba_\bl_\bu_\be may be of the form [_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.
- Indexed array assignments do not require anything but _\bs_\bt_\br_\bi_\bn_\bg. Each
- _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell expansions described be-
+ ... value_\bn)\b), where each _\bv_\ba_\bl_\bu_\be may be of the form [_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.
+ Indexed array assignments do not require anything but _\bs_\bt_\br_\bi_\bn_\bg. Each
+ _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell expansions described be-
low under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN, but _\bv_\ba_\bl_\bu_\bes that are valid variable assignments in-
- cluding the brackets and subscript do not undergo brace expansion and
+ cluding the brackets and subscript do not undergo brace expansion and
word splitting, as with individual variable assignments.
- When assigning to indexed arrays, if the optional brackets and sub-
- script are supplied, that index is assigned to; otherwise the index of
- the element assigned is the last index assigned to by the statement
+ When assigning to indexed arrays, if the optional brackets and sub-
+ script are supplied, that index is assigned to; otherwise the index of
+ the element assigned is the last index assigned to by the statement
plus one. Indexing starts at zero.
When assigning to an associative array, the words in a compound assign-
- ment may be either assignment statements, for which the subscript is
- required, or a list of words that is interpreted as a sequence of al-
- ternating keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b). These
- are treated identically to _\bn_\ba_\bm_\be=(\b( [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1 [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b2 ...)\b).
- The first word in the list determines how the remaining words are in-
- terpreted; all assignments in a list must be of the same type. When
- using key/value pairs, the keys may not be missing or empty; a final
+ ment may be either assignment statements, for which the subscript is
+ required, or a list of words that is interpreted as a sequence of al-
+ ternating keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b). These
+ are treated identically to _\bn_\ba_\bm_\be=(\b( [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1 [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b2 ...)\b).
+ The first word in the list determines how the remaining words are in-
+ terpreted; all assignments in a list must be of the same type. When
+ using key/value pairs, the keys may not be missing or empty; a final
missing value is treated like the empty string.
- This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin. Individual array
- elements may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax in-
+ This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin. Individual array
+ elements may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax in-
troduced above.
- When assigning to an indexed array, if _\bn_\ba_\bm_\be is subscripted by a nega-
+ When assigning to an indexed array, if _\bn_\ba_\bm_\be is subscripted by a nega-
tive number, that number is interpreted as relative to one greater than
- the maximum index of _\bn_\ba_\bm_\be, so negative indices count back from the end
+ the maximum index of _\bn_\ba_\bm_\be, so negative indices count back from the end
of the array, and an index of -1 references the last element.
- The += operator will append to an array variable when assigning using
+ The += operator will append to an array variable when assigning using
the compound assignment syntax; see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS above.
- An array element is referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. The braces
- are required to avoid conflicts with pathname expansion. If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
+ An array element is referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. The braces
+ are required to avoid conflicts with pathname expansion. If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
is @\b@ or *\b*, the word expands to all members of _\bn_\ba_\bm_\be, unless noted in the
- description of a builtin or word expansion. These subscripts differ
- only when the word appears within double quotes. If the word is dou-
- ble-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the value of each
- array member separated by the first character of the I\bIF\bFS\bS special vari-
- able, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a separate word.
+ description of a builtin or word expansion. These subscripts differ
+ only when the word appears within double quotes. If the word is dou-
+ ble-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the value of each
+ array member separated by the first character of the I\bIF\bFS\bS special vari-
+ able, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a separate word.
When there are no array members, ${_\bn_\ba_\bm_\be[@]} expands to nothing. If the
- double-quoted expansion occurs within a word, the expansion of the
- first parameter is joined with the beginning part of the expansion of
- the original word, and the expansion of the last parameter is joined
- with the last part of the expansion of the original word. This is
- analogous to the expansion of the special parameters *\b* and @\b@ (see S\bSp\bpe\be-\b-
+ double-quoted expansion occurs within a word, the expansion of the
+ first parameter is joined with the beginning part of the expansion of
+ the original word, and the expansion of the last parameter is joined
+ with the last part of the expansion of the original word. This is
+ analogous to the expansion of the special parameters *\b* and @\b@ (see S\bSp\bpe\be-\b-
c\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs above).
- ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. If
+ ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. If
_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of elements in the ar-
ray.
If the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt used to reference an element of an indexed array eval-
- uates to a number less than zero, it is interpreted as relative to one
- greater than the maximum index of the array, so negative indices count
- back from the end of the array, and an index of -1 references the last
+ uates to a number less than zero, it is interpreted as relative to one
+ greater than the maximum index of the array, so negative indices count
+ back from the end of the array, and an index of -1 references the last
element.
Referencing an array variable without a subscript is equivalent to ref-
- erencing the array with a subscript of 0. Any reference to a variable
+ erencing the array with a subscript of 0. Any reference to a variable
using a valid subscript is valid, and b\bba\bas\bsh\bh will create an array if nec-
essary.
- An array variable is considered set if a subscript has been assigned a
+ An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
- It is possible to obtain the keys (indices) of an array as well as the
- values. ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned in
+ It is possible to obtain the keys (indices) of an array as well as the
+ values. ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned in
array variable _\bn_\ba_\bm_\be. The treatment when in double quotes is similar to
the expansion of the special parameters _\b@ and _\b* within double quotes.
The u\bun\bns\bse\bet\bt builtin is used to destroy arrays. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] un-
- sets the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt, for both indexed and asso-
- ciative arrays. Negative subscripts to indexed arrays are interpreted
- as described above. Unsetting the last element of an array variable
- does not unset the variable. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an array, re-
- moves the entire array. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] behaves differently de-
- pending on whether _\bn_\ba_\bm_\be is an indexed or associative array when _\bs_\bu_\bb_\b-
+ sets the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt, for both indexed and asso-
+ ciative arrays. Negative subscripts to indexed arrays are interpreted
+ as described above. Unsetting the last element of an array variable
+ does not unset the variable. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an array, re-
+ moves the entire array. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] behaves differently de-
+ pending on whether _\bn_\ba_\bm_\be is an indexed or associative array when _\bs_\bu_\bb_\b-
_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@. If _\bn_\ba_\bm_\be is an associative array, this unsets the el-
- ement with subscript *\b* or @\b@. If _\bn_\ba_\bm_\be is an indexed array, unset re-
+ ement with subscript *\b* or @\b@. If _\bn_\ba_\bm_\be is an indexed array, unset re-
moves all of the elements but does not remove the array itself.
- When using a variable name with a subscript as an argument to a com-
- mand, such as with u\bun\bns\bse\bet\bt, without using the word expansion syntax de-
- scribed above, (e.g., unset a[4]), the argument is subject to pathname
- expansion. Quote the argument if pathname expansion is not desired
+ When using a variable name with a subscript as an argument to a com-
+ mand, such as with u\bun\bns\bse\bet\bt, without using the word expansion syntax de-
+ scribed above, (e.g., unset a[4]), the argument is subject to pathname
+ expansion. Quote the argument if pathname expansion is not desired
(e.g., unset 'a[4]').
- The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
- specify an indexed array and a -\b-A\bA option to specify an associative ar-
- ray. If both options are supplied, -\b-A\bA takes precedence. The r\bre\bea\bad\bd
- builtin accepts a -\b-a\ba option to assign a list of words read from the
+ The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
+ specify an indexed array and a -\b-A\bA option to specify an associative ar-
+ ray. If both options are supplied, -\b-A\bA takes precedence. The r\bre\bea\bad\bd
+ builtin accepts a -\b-a\ba option to assign a list of words read from the
standard input to an array. The s\bse\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtins display array
- values in a way that allows them to be reused as assignments. Other
- builtins accept array name arguments as well (e.g., m\bma\bap\bpf\bfi\bil\ble\be); see the
- descriptions of individual builtins below for details. The shell pro-
+ values in a way that allows them to be reused as assignments. Other
+ builtins accept array name arguments as well (e.g., m\bma\bap\bpf\bfi\bil\ble\be); see the
+ descriptions of individual builtins below for details. The shell pro-
vides a number of builtin array variables.
E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, and _\bq_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl.
The order of expansions is: brace expansion; tilde expansion, parameter
- and variable expansion, arithmetic expansion, and command substitution
- (done in a left-to-right fashion); word splitting; pathname expansion;
+ and variable expansion, arithmetic expansion, and command substitution
+ (done in a left-to-right fashion); word splitting; pathname expansion;
and quote removal.
On systems that can support it, there is an additional expansion avail-
- able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn. This is performed at the same time as
- tilde, parameter, variable, and arithmetic expansion and command sub-
+ able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn. This is performed at the same time as
+ tilde, parameter, variable, and arithmetic expansion and command sub-
stitution.
- _\bQ_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl is always performed last. It removes quote characters
- present in the original word, not ones resulting from one of the other
+ _\bQ_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl is always performed last. It removes quote characters
+ present in the original word, not ones resulting from one of the other
expansions, unless they have been quoted themselves.
- Only brace expansion, word splitting, and pathname expansion can in-
- crease the number of words of the expansion; other expansions expand a
- single word to a single word. The only exceptions to this are the ex-
+ Only brace expansion, word splitting, and pathname expansion can in-
+ crease the number of words of the expansion; other expansions expand a
+ single word to a single word. The only exceptions to this are the ex-
pansions of "\b"$\b$@\b@"\b" and "\b"$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}"\b", and, in most cases, $\b$*\b* and
$\b${\b{_\bn_\ba_\bm_\be[\b[*\b*]\b]}\b} as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- _\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism to generate arbitrary strings sharing a
+ _\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism to generate arbitrary strings sharing a
common prefix and suffix, either of which can be empty. This mechanism
- is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the filenames generated need not
- exist. Patterns to be brace expanded are formed from an optional _\bp_\br_\be_\b-
- _\ba_\bm_\bb_\bl_\be, followed by either a series of comma-separated strings or a se-
- quence expression between a pair of braces, followed by an optional
- _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt. The preamble is prefixed to each string contained within
- the braces, and the postscript is then appended to each resulting
+ is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the filenames generated need not
+ exist. Patterns to be brace expanded are formed from an optional _\bp_\br_\be_\b-
+ _\ba_\bm_\bb_\bl_\be, followed by either a series of comma-separated strings or a se-
+ quence expression between a pair of braces, followed by an optional
+ _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt. The preamble is prefixed to each string contained within
+ the braces, and the postscript is then appended to each resulting
string, expanding left to right.
- Brace expansions may be nested. The results of each expanded string
+ Brace expansions may be nested. The results of each expanded string
are not sorted; brace expansion preserves left to right order. For ex-
ample, a{\b{d,c,b}\b}e expands into "ade ace abe".
- A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
- either integers or single letters, and _\bi_\bn_\bc_\br, an optional increment, is
+ A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
+ either integers or single letters, and _\bi_\bn_\bc_\br, an optional increment, is
an integer. When integers are supplied, the expression expands to each
- number between _\bx and _\by, inclusive. If the supplied integers are pre-
- fixed with _\b0, each term will have the same width, zero-padding if nec-
- essary. When either _\bx or _\by begins with a zero, the shell attempts to
- force all generated terms to contain the same number of digits, zero-
+ number between _\bx and _\by, inclusive. If the supplied integers are pre-
+ fixed with _\b0, each term will have the same width, zero-padding if nec-
+ essary. When either _\bx or _\by begins with a zero, the shell attempts to
+ force all generated terms to contain the same number of digits, zero-
padding where necessary. When letters are supplied, the expression ex-
- pands to each character lexicographically between _\bx and _\by, inclusive,
+ pands to each character lexicographically between _\bx and _\by, inclusive,
using the default C locale. Note that both _\bx and _\by must be of the same
- type (integer or letter). When the increment is supplied, it is used
- as the difference between each term. The default increment is 1 or -1
+ type (integer or letter). When the increment is supplied, it is used
+ as the difference between each term. The default increment is 1 or -1
as appropriate.
Brace expansion is performed before any other expansions, and any char-
- acters special to other expansions are preserved in the result. It is
- strictly textual. B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
+ acters special to other expansions are preserved in the result. It is
+ strictly textual. B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
the context of the expansion or the text between the braces.
- A correctly-formed brace expansion must contain unquoted opening and
+ A correctly-formed brace expansion must contain unquoted opening and
closing braces, and at least one unquoted comma or a valid sequence ex-
pression. Any incorrectly formed brace expansion is left unchanged.
A {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
- part of a brace expression. To avoid conflicts with parameter expan-
+ part of a brace expression. To avoid conflicts with parameter expan-
sion, the string $\b${\b{ is not considered eligible for brace expansion, and
inhibits brace expansion until the closing }\b}.
or
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
- Brace expansion introduces a slight incompatibility with historical
- versions of s\bsh\bh. s\bsh\bh does not treat opening or closing braces specially
- when they appear as part of a word, and preserves them in the output.
- B\bBa\bas\bsh\bh removes braces from words as a consequence of brace expansion.
- For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
- the output. B\bBa\bas\bsh\bh outputs that word as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after brace expan-
- sion. Start b\bba\bas\bsh\bh with the +\b+B\bB option or disable brace expansion with
+ Brace expansion introduces a slight incompatibility with historical
+ versions of s\bsh\bh. s\bsh\bh does not treat opening or closing braces specially
+ when they appear as part of a word, and preserves them in the output.
+ B\bBa\bas\bsh\bh removes braces from words as a consequence of brace expansion.
+ For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
+ the output. B\bBa\bas\bsh\bh outputs that word as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after brace expan-
+ sion. Start b\bba\bas\bsh\bh with the +\b+B\bB option or disable brace expansion with
the +\b+B\bB option to the s\bse\bet\bt command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) for
strict s\bsh\bh compatibility.
T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- If a word begins with an unquoted tilde character ("~\b~"), all of the
- characters preceding the first unquoted slash (or all characters, if
- there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx. If none of
- the characters in the tilde-prefix are quoted, the characters in the
- tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
- If this login name is the null string, the tilde is replaced with the
+ If a word begins with an unquoted tilde character ("~\b~"), all of the
+ characters preceding the first unquoted slash (or all characters, if
+ there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx. If none of
+ the characters in the tilde-prefix are quoted, the characters in the
+ tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
+ If this login name is the null string, the tilde is replaced with the
value of the shell parameter H\bHO\bOM\bME\bE. If H\bHO\bOM\bME\bE is unset, the tilde expands
- to the home directory of the user executing the shell instead. Other-
- wise, the tilde-prefix is replaced with the home directory associated
+ to the home directory of the user executing the shell instead. Other-
+ wise, the tilde-prefix is replaced with the home directory associated
with the specified login name.
- If the tilde-prefix is a "~+", the value of the shell variable P\bPW\bWD\bD re-
+ If the tilde-prefix is a "~+", the value of the shell variable P\bPW\bWD\bD re-
places the tilde-prefix. If the tilde-prefix is a "~-", the shell sub-
- stitutes the value of the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set. If the
- characters following the tilde in the tilde-prefix consist of a number
- _\bN, optionally prefixed by a "+" or a "-", the tilde-prefix is replaced
+ stitutes the value of the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set. If the
+ characters following the tilde in the tilde-prefix consist of a number
+ _\bN, optionally prefixed by a "+" or a "-", the tilde-prefix is replaced
with the corresponding element from the directory stack, as it would be
displayed by the d\bdi\bir\brs\bs builtin invoked with the characters following the
- tilde in the tilde-prefix as an argument. If the characters following
+ tilde in the tilde-prefix as an argument. If the characters following
the tilde in the tilde-prefix consist of a number without a leading "+"
or "-", tilde expansion assumes "+".
- The results of tilde expansion are treated as if they were quoted, so
- the replacement is not subject to word splitting and pathname expan-
+ The results of tilde expansion are treated as if they were quoted, so
+ the replacement is not subject to word splitting and pathname expan-
sion.
- If the login name is invalid, or the tilde expansion fails, the tilde-
+ If the login name is invalid, or the tilde expansion fails, the tilde-
prefix is unchanged.
- B\bBa\bas\bsh\bh checks each variable assignment for unquoted tilde-prefixes imme-
- diately following a :\b: or the first =\b=, and performs tilde expansion in
- these cases. Consequently, one may use filenames with tildes in as-
- signments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the ex-
+ B\bBa\bas\bsh\bh checks each variable assignment for unquoted tilde-prefixes imme-
+ diately following a :\b: or the first =\b=, and performs tilde expansion in
+ these cases. Consequently, one may use filenames with tildes in as-
+ signments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the ex-
panded value.
- B\bBa\bas\bsh\bh also performs tilde expansion on words satisfying the conditions
+ B\bBa\bas\bsh\bh also performs tilde expansion on words satisfying the conditions
of variable assignments (as described above under P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) when they
- appear as arguments to simple commands. B\bBa\bas\bsh\bh does not do this, except
+ appear as arguments to simple commands. B\bBa\bas\bsh\bh does not do this, except
for the _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn commands listed above, when in posix mode.
P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
The "$\b$" character introduces parameter expansion, command substitution,
- or arithmetic expansion. The parameter name or symbol to be expanded
- may be enclosed in braces, which are optional but serve to protect the
- variable to be expanded from characters immediately following it which
+ or arithmetic expansion. The parameter name or symbol to be expanded
+ may be enclosed in braces, which are optional but serve to protect the
+ variable to be expanded from characters immediately following it which
could be interpreted as part of the name.
- When braces are used, the matching ending brace is the first "}\b}" not
+ When braces are used, the matching ending brace is the first "}\b}" not
escaped by a backslash or within a quoted string, and not within an em-
- bedded arithmetic expansion, command substitution, or parameter expan-
+ bedded arithmetic expansion, command substitution, or parameter expan-
sion.
The basic form of parameter expansion is
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
which substitutes the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The braces are required when
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional parameter with more than one digit, or when
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not to be interpreted as
- part of its name. The _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a shell parameter as described
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional parameter with more than one digit, or when
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not to be interpreted as
+ part of its name. The _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a shell parameter as described
above P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) or an array reference (A\bAr\brr\bra\bay\bys\bs).
- If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), and
+ If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), and
_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not a _\bn_\ba_\bm_\be_\br_\be_\bf, it introduces a level of indirection. B\bBa\bas\bsh\bh
uses the value formed by expanding the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the new _\bp_\ba_\b-
- _\br_\ba_\bm_\be_\bt_\be_\br; this new parameter is then expanded and that value is used in
- the rest of the expansion, rather than the expansion of the original
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. This is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn. The value is subject
- to tilde expansion, parameter expansion, command substitution, and
- arithmetic expansion. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a nameref, this expands to the
+ _\br_\ba_\bm_\be_\bt_\be_\br; this new parameter is then expanded and that value is used in
+ the rest of the expansion, rather than the expansion of the original
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. This is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn. The value is subject
+ to tilde expansion, parameter expansion, command substitution, and
+ arithmetic expansion. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a nameref, this expands to the
name of the parameter referenced by _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br instead of performing the
complete indirect expansion, for compatibility. The exceptions to this
are the expansions of ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below. The
- exclamation point must immediately follow the left brace in order to
+ exclamation point must immediately follow the left brace in order to
introduce indirection.
In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
ter expansion, command substitution, and arithmetic expansion.
When not performing substring expansion, using the forms documented be-
- low (e.g., :\b:-\b-), b\bba\bas\bsh\bh tests for a parameter that is unset or null.
+ low (e.g., :\b:-\b-), b\bba\bas\bsh\bh tests for a parameter that is unset or null.
Omitting the colon tests only for a parameter that is unset.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
- U\bUs\bse\be D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
- sion of _\bw_\bo_\br_\bd is substituted. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ U\bUs\bse\be D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
+ sion of _\bw_\bo_\br_\bd is substituted. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
is substituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
- A\bAs\bss\bsi\big\bgn\bn D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the ex-
- pansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, and the expansion is
+ A\bAs\bss\bsi\big\bgn\bn D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the ex-
+ pansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, and the expansion is
the final value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. Positional parameters and special
parameters may not be assigned in this way.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
- D\bDi\bis\bsp\bpl\bla\bay\by E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
+ D\bDi\bis\bsp\bpl\bla\bay\by E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
the shell writes the expansion of _\bw_\bo_\br_\bd (or a message to that ef-
fect if _\bw_\bo_\br_\bd is not present) to the standard error and, if it is
- not interactive, exits with a non-zero status. An interactive
+ not interactive, exits with a non-zero status. An interactive
shell does not exit, but does not execute the command associated
- with the expansion. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is sub-
+ with the expansion. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is sub-
stituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
- U\bUs\bse\be A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
- substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
+ U\bUs\bse\be A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
+ substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not used.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
- S\bSu\bub\bbs\bst\btr\bri\bin\bng\bg E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn. Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of the
- value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by _\bo_\bf_\bf_\b-
- _\bs_\be_\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by @\b@
- or *\b*, or an associative array name, the results differ as de-
- scribed below. If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to the substring
+ S\bSu\bub\bbs\bst\btr\bri\bin\bng\bg E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn. Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of the
+ value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by _\bo_\bf_\bf_\b-
+ _\bs_\be_\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by @\b@
+ or *\b*, or an associative array name, the results differ as de-
+ scribed below. If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to the substring
of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by
_\bo_\bf_\bf_\bs_\be_\bt and extending to the end of the value. _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt
are arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN below).
- If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than zero, the value is
+ If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than zero, the value is
used as an offset in characters from the end of the value of _\bp_\ba_\b-
- _\br_\ba_\bm_\be_\bt_\be_\br. If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it is
+ _\br_\ba_\bm_\be_\bt_\be_\br. If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it is
interpreted as an offset in characters from the end of the value
- of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the expan-
- sion is the characters between _\bo_\bf_\bf_\bs_\be_\bt and that result. Note
- that a negative offset must be separated from the colon by at
+ of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the expan-
+ sion is the characters between _\bo_\bf_\bf_\bs_\be_\bt and that result. Note
+ that a negative offset must be separated from the colon by at
least one space to avoid being confused with the :\b:-\b- expansion.
- If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional parame-
- ters beginning at _\bo_\bf_\bf_\bs_\be_\bt. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
- to one greater than the greatest positional parameter, so an
+ If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional parame-
+ ters beginning at _\bo_\bf_\bf_\bs_\be_\bt. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
+ to one greater than the greatest positional parameter, so an
offset of -1 evaluates to the last positional parameter (or 0 if
- there are no positional parameters). It is an expansion error
+ there are no positional parameters). It is an expansion error
if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed array name subscripted by @ or *, the
result is the _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning with ${_\bp_\ba_\br_\ba_\b-
- _\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one
+ _\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one
greater than the maximum index of the specified array. It is an
expansion error if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
Substring expansion applied to an associative array produces un-
defined results.
- Substring indexing is zero-based unless the positional parame-
- ters are used, in which case the indexing starts at 1 by de-
- fault. If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are used,
+ Substring indexing is zero-based unless the positional parame-
+ ters are used, in which case the indexing starts at 1 by de-
+ fault. If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are used,
$\b$0\b0 is prefixed to the list.
${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
- N\bNa\bam\bme\bes\bs m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx. Expands to the names of variables whose
+ N\bNa\bam\bme\bes\bs m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx. Expands to the names of variables whose
names begin with _\bp_\br_\be_\bf_\bi_\bx, separated by the first character of the
- I\bIF\bFS\bS special variable. When _\b@ is used and the expansion appears
- within double quotes, each variable name expands to a separate
+ I\bIF\bFS\bS special variable. When _\b@ is used and the expansion appears
+ within double quotes, each variable name expands to a separate
word.
${!\b!_\bn_\ba_\bm_\be[_\b@]}
${!\b!_\bn_\ba_\bm_\be[_\b*]}
- L\bLi\bis\bst\bt o\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs. If _\bn_\ba_\bm_\be is an array variable, expands to
- the list of array indices (keys) assigned in _\bn_\ba_\bm_\be. If _\bn_\ba_\bm_\be is
- not an array, expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
- When _\b@ is used and the expansion appears within double quotes,
+ L\bLi\bis\bst\bt o\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs. If _\bn_\ba_\bm_\be is an array variable, expands to
+ the list of array indices (keys) assigned in _\bn_\ba_\bm_\be. If _\bn_\ba_\bm_\be is
+ not an array, expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
+ When _\b@ is used and the expansion appears within double quotes,
each key expands to a separate word.
${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
- P\bPa\bar\bra\bam\bme\bet\bte\ber\br l\ble\ben\bng\bgt\bth\bh. Substitutes the length in characters of the
- expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value
- substituted is the number of positional parameters. If _\bp_\ba_\br_\ba_\bm_\be_\b-
- _\bt_\be_\br is an array name subscripted by *\b* or @\b@, the value substi-
- tuted is the number of elements in the array. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
- an indexed array name subscripted by a negative number, that
- number is interpreted as relative to one greater than the maxi-
- mum index of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, so negative indices count back from the
- end of the array, and an index of -1 references the last ele-
+ P\bPa\bar\bra\bam\bme\bet\bte\ber\br l\ble\ben\bng\bgt\bth\bh. Substitutes the length in characters of the
+ expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value
+ substituted is the number of positional parameters. If _\bp_\ba_\br_\ba_\bm_\be_\b-
+ _\bt_\be_\br is an array name subscripted by *\b* or @\b@, the value substi-
+ tuted is the number of elements in the array. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
+ an indexed array name subscripted by a negative number, that
+ number is interpreted as relative to one greater than the maxi-
+ mum index of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, so negative indices count back from the
+ end of the array, and an index of -1 references the last ele-
ment.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn. The _\bw_\bo_\br_\bd is expanded to produce
a pattern just as in pathname expansion, and matched against the
expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches the beginning of
- the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is the
- expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern
- (the "#" case) or the longest matching pattern (the "##" case)
- deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal operation
- is applied to each positional parameter in turn, and the expan-
- sion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable
- subscripted with @\b@ or *\b*, the pattern removal operation is ap-
- plied to each member of the array in turn, and the expansion is
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches the beginning of
+ the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is the
+ expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern
+ (the "#" case) or the longest matching pattern (the "##" case)
+ deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal operation
+ is applied to each positional parameter in turn, and the expan-
+ sion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable
+ subscripted with @\b@ or *\b*, the pattern removal operation is ap-
+ plied to each member of the array in turn, and the expansion is
the resultant list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn. The _\bw_\bo_\br_\bd is expanded to produce
a pattern just as in pathname expansion, and matched against the
expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches a trailing portion
- of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the ex-
- pansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
- matching pattern (the "%" case) or the longest matching pattern
- (the "%%" case) deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern
- removal operation is applied to each positional parameter in
- turn, and the expansion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
- an array variable subscripted with @\b@ or *\b*, the pattern removal
- operation is applied to each member of the array in turn, and
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches a trailing portion
+ of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the ex-
+ pansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
+ matching pattern (the "%" case) or the longest matching pattern
+ (the "%%" case) deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern
+ removal operation is applied to each positional parameter in
+ turn, and the expansion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
+ an array variable subscripted with @\b@ or *\b*, the pattern removal
+ operation is applied to each member of the array in turn, and
the expansion is the resultant list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/#\b#_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/%\b%_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
- tern just as in pathname expansion and matched against the ex-
- panded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. The longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn in the ex-
- panded value is replaced with _\bs_\bt_\br_\bi_\bn_\bg. _\bs_\bt_\br_\bi_\bn_\bg undergoes tilde
- expansion, parameter and variable expansion, arithmetic expan-
+ tern just as in pathname expansion and matched against the ex-
+ panded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. The longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn in the ex-
+ panded value is replaced with _\bs_\bt_\br_\bi_\bn_\bg. _\bs_\bt_\br_\bi_\bn_\bg undergoes tilde
+ expansion, parameter and variable expansion, arithmetic expan-
sion, command and process substitution, and quote removal.
- In the first form above, only the first match is replaced. If
+ In the first form above, only the first match is replaced. If
there are two slashes separating _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br and _\bp_\ba_\bt_\bt_\be_\br_\bn (the sec-
- ond form above), all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are replaced with
- _\bs_\bt_\br_\bi_\bn_\bg. If _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by #\b# (the third form above), it
- must match at the beginning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
- If _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by %\b% (the fourth form above), it must
+ ond form above), all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are replaced with
+ _\bs_\bt_\br_\bi_\bn_\bg. If _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by #\b# (the third form above), it
+ must match at the beginning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
+ If _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by %\b% (the fourth form above), it must
match at the end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
- If the expansion of _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are
+ If the expansion of _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are
deleted and the /\b/ following _\bp_\ba_\bt_\bt_\be_\br_\bn may be omitted.
- If the p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled using s\bsh\bho\bop\bpt\bt,
- any unquoted instances of &\b& in _\bs_\bt_\br_\bi_\bn_\bg are replaced with the
+ If the p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled using s\bsh\bho\bop\bpt\bt,
+ any unquoted instances of &\b& in _\bs_\bt_\br_\bi_\bn_\bg are replaced with the
matching portion of _\bp_\ba_\bt_\bt_\be_\br_\bn.
Quoting any part of _\bs_\bt_\br_\bi_\bn_\bg inhibits replacement in the expansion
- of the quoted portion, including replacement strings stored in
- shell variables. Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg; the back-
- slash is removed in order to permit a literal &\b& in the replace-
- ment string. Backslash can also be used to escape a backslash;
- \\b\\\b\ results in a literal backslash in the replacement. Users
- should take care if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted to avoid unwanted
- interactions between the backslash and double-quoting, since
- backslash has special meaning within double quotes. Pattern
- substitution performs the check for unquoted &\b& after expanding
+ of the quoted portion, including replacement strings stored in
+ shell variables. Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg; the back-
+ slash is removed in order to permit a literal &\b& in the replace-
+ ment string. Backslash can also be used to escape a backslash;
+ \\b\\\b\ results in a literal backslash in the replacement. Users
+ should take care if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted to avoid unwanted
+ interactions between the backslash and double-quoting, since
+ backslash has special meaning within double quotes. Pattern
+ substitution performs the check for unquoted &\b& after expanding
_\bs_\bt_\br_\bi_\bn_\bg; shell programmers should quote any occurrences of &\b& they
want to be taken literally in the replacement and ensure any in-
stances of &\b& they want to be replaced are unquoted.
- Like the pattern removal operators, double quotes surrounding
+ Like the pattern removal operators, double quotes surrounding
the replacement string quote the expanded characters, while dou-
- ble quotes enclosing the entire parameter substitution do not,
- since the expansion is performed in a context that doesn't take
+ ble quotes enclosing the entire parameter substitution do not,
+ since the expansion is performed in a context that doesn't take
any enclosing double quotes into account.
- If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match is per-
+ If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match is per-
formed without regard to the case of alphabetic characters.
If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the substitution operation is applied to
- each positional parameter in turn, and the expansion is the re-
- sultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
- with @\b@ or *\b*, the substitution operation is applied to each mem-
- ber of the array in turn, and the expansion is the resultant
+ each positional parameter in turn, and the expansion is the re-
+ sultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
+ with @\b@ or *\b*, the substitution operation is applied to each mem-
+ ber of the array in turn, and the expansion is the resultant
list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
- C\bCa\bas\bse\be m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn. This expansion modifies the case of alpha-
- betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
+ C\bCa\bas\bse\be m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn. This expansion modifies the case of alpha-
+ betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
duce a pattern just as in pathname expansion. Each character in
- the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn, and,
- if it matches the pattern, its case is converted. The pattern
+ the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn, and,
+ if it matches the pattern, its case is converted. The pattern
should not attempt to match more than one character.
- The ^\b^ operator converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to
+ The ^\b^ operator converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to
uppercase; the ,\b, operator converts matching uppercase letters to
- lowercase. The ^\b^^\b^ and ,\b,,\b, expansions convert each matched char-
- acter in the expanded value; the ^\b^ and ,\b, expansions match and
+ lowercase. The ^\b^^\b^ and ,\b,,\b, expansions convert each matched char-
+ acter in the expanded value; the ^\b^ and ,\b, expansions match and
convert only the first character in the expanded value. If _\bp_\ba_\bt_\b-
- _\bt_\be_\br_\bn is omitted, it is treated like a ?\b?, which matches every
+ _\bt_\be_\br_\bn is omitted, it is treated like a ?\b?, which matches every
character.
- If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the case modification operation is ap-
+ If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the case modification operation is ap-
plied to each positional parameter in turn, and the expansion is
- the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable sub-
+ the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable sub-
scripted with @\b@ or *\b*, the case modification operation is applied
- to each member of the array in turn, and the expansion is the
+ to each member of the array in turn, and the expansion is the
resultant list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br@\b@_\bo_\bp_\be_\br_\ba_\bt_\bo_\br}
P\bPa\bar\bra\bam\bme\bet\bte\ber\br t\btr\bra\ban\bns\bsf\bfo\bor\brm\bma\bat\bti\bio\bon\bn. The expansion is either a transforma-
- tion of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or information about _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- itself, depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is a
+ tion of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or information about _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ itself, depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is a
single letter:
- U\bU The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with lowercase alphabetic characters converted to upper-
+ U\bU The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with lowercase alphabetic characters converted to upper-
case.
- u\bu The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ u\bu The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
with the first character converted to uppercase, if it is
alphabetic.
- L\bL The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with uppercase alphabetic characters converted to lower-
+ L\bL The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with uppercase alphabetic characters converted to lower-
case.
- Q\bQ The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ Q\bQ The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
quoted in a format that can be reused as input.
- E\bE The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with backslash escape sequences expanded as with the
+ E\bE The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with backslash escape sequences expanded as with the
$\b$'\b'...'\b' quoting mechanism.
P\bP The expansion is a string that is the result of expanding
the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as if it were a prompt string (see
P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
- A\bA The expansion is a string in the form of an assignment
- statement or d\bde\bec\bcl\bla\bar\bre\be command that, if evaluated, will
+ A\bA The expansion is a string in the form of an assignment
+ statement or d\bde\bec\bcl\bla\bar\bre\be command that, if evaluated, will
recreate _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with its attributes and value.
- K\bK Produces a possibly-quoted version of the value of _\bp_\ba_\br_\ba_\b-
- _\bm_\be_\bt_\be_\br, except that it prints the values of indexed and
- associative arrays as a sequence of quoted key-value
+ K\bK Produces a possibly-quoted version of the value of _\bp_\ba_\br_\ba_\b-
+ _\bm_\be_\bt_\be_\br, except that it prints the values of indexed and
+ associative arrays as a sequence of quoted key-value
pairs (see A\bAr\brr\bra\bay\bys\bs above). The keys and values are quoted
in a format that can be reused as input.
- a\ba The expansion is a string consisting of flag values rep-
+ a\ba The expansion is a string consisting of flag values rep-
resenting _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br's attributes.
- k\bk Like the K transformation, but expands the keys and val-
- ues of indexed and associative arrays to separate words
+ k\bk Like the K transformation, but expands the keys and val-
+ ues of indexed and associative arrays to separate words
after word splitting.
- If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the operation is applied to each posi-
- tional parameter in turn, and the expansion is the resultant
- list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
+ If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the operation is applied to each posi-
+ tional parameter in turn, and the expansion is the resultant
+ list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
*\b*, the operation is applied to each member of the array in turn,
and the expansion is the resultant list.
- The result of the expansion is subject to word splitting and
+ The result of the expansion is subject to word splitting and
pathname expansion as described below.
C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd in a subshell environ-
ment and replacing the command substitution with the standard output of
the command, with any trailing newlines deleted. Embedded newlines are
- not deleted, but they may be removed during word splitting. The com-
- mand substitution $\b$(\b(c\bca\bat\bt _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but
+ not deleted, but they may be removed during word splitting. The com-
+ mand substitution $\b$(\b(c\bca\bat\bt _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but
faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
- With the old-style backquote form of substitution, backslash retains
- its literal meaning except when followed by $\b$, `\b`, or \\b\. The first
- backquote not preceded by a backslash terminates the command substitu-
- tion. When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
+ With the old-style backquote form of substitution, backslash retains
+ its literal meaning except when followed by $\b$, `\b`, or \\b\. The first
+ backquote not preceded by a backslash terminates the command substitu-
+ tion. When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
parentheses make up the command; none are treated specially.
There is an alternate form of command substitution:
$\b${\b{_\bc _\bc_\bo_\bm_\bm_\ba_\bn_\bd;\b;}\b}
- which executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the current execution environment and cap-
+ which executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the current execution environment and cap-
tures its output, again with trailing newlines removed.
The character _\bc following the open brace must be a space, tab, newline,
- or |\b|, and the close brace must be in a position where a reserved word
- may appear (i.e., preceded by a command terminator such as semicolon).
+ or |\b|, and the close brace must be in a position where a reserved word
+ may appear (i.e., preceded by a command terminator such as semicolon).
B\bBa\bas\bsh\bh allows the close brace to be joined to the remaining characters in
- the word without being followed by a shell metacharacter as a reserved
+ the word without being followed by a shell metacharacter as a reserved
word would usually require.
Any side effects of _\bc_\bo_\bm_\bm_\ba_\bn_\bd take effect immediately in the current exe-
- cution environment and persist in the current environment after the
+ cution environment and persist in the current environment after the
command completes (e.g., the e\bex\bxi\bit\bt builtin will exit the shell).
- This type of command substitution superficially resembles executing an
- unnamed shell function: local variables are created as when a shell
- function is executing, and the r\bre\bet\btu\bur\brn\bn builtin forces _\bc_\bo_\bm_\bm_\ba_\bn_\bd to com-
- plete; however, the rest of the execution environment, including the
+ This type of command substitution superficially resembles executing an
+ unnamed shell function: local variables are created as when a shell
+ function is executing, and the r\bre\bet\btu\bur\brn\bn builtin forces _\bc_\bo_\bm_\bm_\ba_\bn_\bd to com-
+ plete; however, the rest of the execution environment, including the
positional parameters, is shared with the caller.
- If the first character following the open brace is a |\b|, the construct
- expands to the value of the R\bRE\bEP\bPL\bLY\bY shell variable after _\bc_\bo_\bm_\bm_\ba_\bn_\bd exe-
- cutes, without removing any trailing newlines, and the standard output
- of _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell. B\bBa\bas\bsh\bh creates R\bRE\bE-\b-
+ If the first character following the open brace is a |\b|, the construct
+ expands to the value of the R\bRE\bEP\bPL\bLY\bY shell variable after _\bc_\bo_\bm_\bm_\ba_\bn_\bd exe-
+ cutes, without removing any trailing newlines, and the standard output
+ of _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell. B\bBa\bas\bsh\bh creates R\bRE\bE-\b-
P\bPL\bLY\bY as an initially-unset local variable when _\bc_\bo_\bm_\bm_\ba_\bn_\bd executes, and re-
- stores R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution after
+ stores R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution after
_\bc_\bo_\bm_\bm_\ba_\bn_\bd completes, as with any local variable.
Command substitutions may be nested. To nest when using the backquoted
$\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
- The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within dou-
- ble quotes, but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated
- specially and are removed. All tokens in the expression undergo para-
- meter and variable expansion, command substitution, and quote removal.
- The result is treated as the arithmetic expression to be evaluated.
+ The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within dou-
+ ble quotes, but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated
+ specially and are removed. All tokens in the expression undergo para-
+ meter and variable expansion, command substitution, and quote removal.
+ The result is treated as the arithmetic expression to be evaluated.
Arithmetic expansions may be nested.
- The evaluation is performed according to the rules listed below under
+ The evaluation is performed according to the rules listed below under
A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN. If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
- to standard error indicating failure, does not perform the substitu-
+ to standard error indicating failure, does not perform the substitu-
tion, and does not execute the command associated with the expansion.
P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
- _\bP_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be referred
- to using a filename. It takes the form of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b). The
- process _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears as
+ _\bP_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be referred
+ to using a filename. It takes the form of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b). The
+ process _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears as
a filename. This filename is passed as an argument to the current com-
mand as the result of the expansion.
If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will provide input for
- _\bl_\bi_\bs_\bt. If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, reading the file will obtain the
- output of _\bl_\bi_\bs_\bt. No space may appear between the <\b< or >\b> and the left
+ _\bl_\bi_\bs_\bt. If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, reading the file will obtain the
+ output of _\bl_\bi_\bs_\bt. No space may appear between the <\b< or >\b> and the left
parenthesis, otherwise the construct would be interpreted as a redirec-
tion.
- Process substitution is supported on systems that support named pipes
+ Process substitution is supported on systems that support named pipes
(_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.
- When available, process substitution is performed simultaneously with
- parameter and variable expansion, command substitution, and arithmetic
+ When available, process substitution is performed simultaneously with
+ parameter and variable expansion, command substitution, and arithmetic
expansion.
W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
- The shell scans the results of parameter expansion, command substitu-
- tion, and arithmetic expansion that did not occur within double quotes
+ The shell scans the results of parameter expansion, command substitu-
+ tion, and arithmetic expansion that did not occur within double quotes
for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg. Words that were not expanded are not split.
- The shell treats each character of I\bIF\bFS\bS as a delimiter, and splits the
- results of the other expansions into words using these characters as
+ The shell treats each character of I\bIF\bFS\bS as a delimiter, and splits the
+ results of the other expansions into words using these characters as
field terminators.
An _\bI_\bF_\bS _\bw_\bh_\bi_\bt_\be_\bs_\bp_\ba_\bc_\be character is whitespace as defined above (see D\bDe\bef\bfi\bin\bni\bi-\b-
- t\bti\bio\bon\bns\bs) that appears in the value of I\bIF\bFS\bS. Space, tab, and newline are
- always considered IFS whitespace, even if they don't appear in the lo-
+ t\bti\bio\bon\bns\bs) that appears in the value of I\bIF\bFS\bS. Space, tab, and newline are
+ always considered IFS whitespace, even if they don't appear in the lo-
cale's s\bsp\bpa\bac\bce\be category.
- If I\bIF\bFS\bS is unset, field splitting acts as if its value were
- <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, and treats these characters as IFS whitespace.
- If the value of I\bIF\bFS\bS is null, no word splitting occurs, but implicit
+ If I\bIF\bFS\bS is unset, field splitting acts as if its value were
+ <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, and treats these characters as IFS whitespace.
+ If the value of I\bIF\bFS\bS is null, no word splitting occurs, but implicit
null arguments (see below) are still removed.
- Word splitting begins by removing sequences of IFS whitespace charac-
- ters from the beginning and end of the results of the previous expan-
+ Word splitting begins by removing sequences of IFS whitespace charac-
+ ters from the beginning and end of the results of the previous expan-
sions, then splits the remaining words.
- If the value of I\bIF\bFS\bS consists solely of IFS whitespace, any sequence of
- IFS whitespace characters delimits a field, so a field consists of
+ If the value of I\bIF\bFS\bS consists solely of IFS whitespace, any sequence of
+ IFS whitespace characters delimits a field, so a field consists of
characters that are not unquoted IFS whitespace, and null fields result
only from quoting.
- If I\bIF\bFS\bS contains a non-whitespace character, then any character in the
- value of I\bIF\bFS\bS that is not IFS whitespace, along with any adjacent IFS
+ If I\bIF\bFS\bS contains a non-whitespace character, then any character in the
+ value of I\bIF\bFS\bS that is not IFS whitespace, along with any adjacent IFS
whitespace characters, delimits a field. This means that adjacent non-
- IFS-whitespace delimiters produce a null field. A sequence of IFS
+ IFS-whitespace delimiters produce a null field. A sequence of IFS
whitespace characters also delimits a field.
- Explicit null arguments ("\b""\b" or '\b''\b') are retained and passed to commands
+ Explicit null arguments ("\b""\b" or '\b''\b') are retained and passed to commands
as empty strings. Unquoted implicit null arguments, resulting from the
- expansion of parameters that have no values, are removed. Expanding a
- parameter with no value within double quotes produces a null field,
+ expansion of parameters that have no values, are removed. Expanding a
+ parameter with no value within double quotes produces a null field,
which is retained and passed to a command as an empty string.
- When a quoted null argument appears as part of a word whose expansion
- is non-null, word splitting removes the null argument portion, leaving
- the non-null expansion. That is, the word "-d''" becomes "-d" after
+ When a quoted null argument appears as part of a word whose expansion
+ is non-null, word splitting removes the null argument portion, leaving
+ the non-null expansion. That is, the word "-d''" becomes "-d" after
word splitting and null argument removal.
P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- After word splitting, unless the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
- each word for the characters *\b*, ?\b?, and [\b[. If one of these characters
+ After word splitting, unless the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
+ each word for the characters *\b*, ?\b?, and [\b[. If one of these characters
appears, and is not quoted, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and
replaced with a sorted list of filenames matching the pattern (see P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below) subject to the value of the G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT shell vari-
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below) subject to the value of the G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT shell vari-
able.
- If no matching filenames are found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is
- not enabled, the word is left unchanged. If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is
- set, and no matches are found, the word is removed. If the f\bfa\bai\bil\blg\bgl\blo\bob\bb
- shell option is set, and no matches are found, b\bba\bas\bsh\bh prints an error
- message and does not execute the command. If the shell option n\bno\boc\bca\bas\bse\be-\b-
- g\bgl\blo\bob\bb is enabled, the match is performed without regard to the case of
+ If no matching filenames are found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is
+ not enabled, the word is left unchanged. If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is
+ set, and no matches are found, the word is removed. If the f\bfa\bai\bil\blg\bgl\blo\bob\bb
+ shell option is set, and no matches are found, b\bba\bas\bsh\bh prints an error
+ message and does not execute the command. If the shell option n\bno\boc\bca\bas\bse\be-\b-
+ g\bgl\blo\bob\bb is enabled, the match is performed without regard to the case of
alphabetic characters.
When a pattern is used for pathname expansion, the character "." at the
- start of a name or immediately following a slash must be matched ex-
- plicitly, unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is set. In order to match
- the filenames _\b. and _\b._\b., the pattern must begin with "." (for example,
+ start of a name or immediately following a slash must be matched ex-
+ plicitly, unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is set. In order to match
+ the filenames _\b. and _\b._\b., the pattern must begin with "." (for example,
".?"), even if d\bdo\bot\btg\bgl\blo\bob\bb is set. If the g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs shell option is en-
- abled, the filenames _\b. and _\b._\b. never match, even if the pattern begins
- with a ".". When not matching pathnames, the "." character is not
+ abled, the filenames _\b. and _\b._\b. never match, even if the pattern begins
+ with a ".". When not matching pathnames, the "." character is not
treated specially.
- When matching a pathname, the slash character must always be matched
+ When matching a pathname, the slash character must always be matched
explicitly by a slash in the pattern, but in other matching contexts it
- can be matched by a special pattern character as described below under
+ can be matched by a special pattern character as described below under
P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg.
- See the description 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 for a
- description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb, g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs, f\bfa\bai\bil\blg\bgl\blo\bob\bb, and
+ See the description 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 for a
+ description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb, g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs, f\bfa\bai\bil\blg\bgl\blo\bob\bb, and
d\bdo\bot\btg\bgl\blo\bob\bb shell options.
- The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set of file
- names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn. If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
- name that also matches one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
- from the list of matches. If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the match-
- ing against the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without regard to
+ The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set of file
+ names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn. If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
+ name that also matches one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
+ from the list of matches. If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the match-
+ ing against the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without regard to
case. The filenames _\b. and _\b._\b. are always ignored when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set
- and not null. However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a non-null value has the
+ and not null. However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a non-null value has the
effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell option, so all other filenames be-
- ginning with a "." will match. To get the old behavior of ignoring
- filenames beginning with a ".", make ".*" one of the patterns in G\bGL\bLO\bO-\b-
+ ginning with a "." will match. To get the old behavior of ignoring
+ filenames beginning with a ".", make ".*" one of the patterns in G\bGL\bLO\bO-\b-
B\bBI\bIG\bGN\bNO\bOR\bRE\bE. The d\bdo\bot\btg\bgl\blo\bob\bb option is disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset. The
G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell op-
tion.
P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
Any character that appears in a pattern, other than the special pattern
- characters described below, matches itself. The NUL character may not
- occur in a pattern. A backslash escapes the following character; the
- escaping backslash is discarded when matching. The special pattern
+ characters described below, matches itself. The NUL character may not
+ occur in a pattern. A backslash escapes the following character; the
+ escaping backslash is discarded when matching. The special pattern
characters must be quoted if they are to be matched literally.
The special pattern characters have the following meanings:
- *\b* Matches any string, including the null string. When the
- g\bgl\blo\bob\bbs\bst\bta\bar\br shell option is enabled, and *\b* is used in a
- pathname expansion context, two adjacent *\b*s used as a
- single pattern will match all files and zero or more di-
- rectories and subdirectories. If followed by a /\b/, two
- adjacent *\b*s will match only directories and subdirecto-
+ *\b* Matches any string, including the null string. When the
+ g\bgl\blo\bob\bbs\bst\bta\bar\br shell option is enabled, and *\b* is used in a
+ pathname expansion context, two adjacent *\b*s used as a
+ single pattern will match all files and zero or more di-
+ rectories and subdirectories. If followed by a /\b/, two
+ adjacent *\b*s will match only directories and subdirecto-
ries.
?\b? Matches any single character.
- [\b[...]\b] Matches any one of the enclosed characters. A pair of
- characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
- _\bs_\bi_\bo_\bn; any character that falls between those two charac-
+ [\b[...]\b] Matches any one of the enclosed characters. A pair of
+ characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
+ _\bs_\bi_\bo_\bn; any character that falls between those two charac-
ters, inclusive, using the current locale's collating se-
- quence and character set, matches. If the first charac-
+ quence and character set, matches. If the first charac-
ter following the [\b[ is a !\b! or a ^\b^ then any character not
- within the range matches. A -\b- may be matched by includ-
- ing it as the first or last character in the set. A ]\b]
- may be matched by including it as the first character in
+ within the range matches. A -\b- may be matched by includ-
+ ing it as the first or last character in the set. A ]\b]
+ may be matched by including it as the first character in
the set.
The sorting order of characters in range expressions, and
- the characters included in the range, are determined by
- the current locale and the values of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or
- L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if set. To obtain the tradi-
- tional interpretation of range expressions, where [\b[a\ba-\b-d\bd]\b]
- is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
- or L\bLC\bC_\b_A\bAL\bLL\bL shell variables to C\bC, or enable the g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
+ the characters included in the range, are determined by
+ the current locale and the values of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or
+ L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if set. To obtain the tradi-
+ tional interpretation of range expressions, where [\b[a\ba-\b-d\bd]\b]
+ is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
+ or L\bLC\bC_\b_A\bAL\bLL\bL shell variables to C\bC, or enable the g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
i\bir\bra\ban\bng\bge\bes\bs shell option.
- Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
+ Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
the syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of the following
classes defined in the POSIX standard:
- a\bal\bln\bnu\bum\bm a\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
+ a\bal\bln\bnu\bum\bm a\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
p\bpu\bun\bnc\bct\bt s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
A character class matches any character belonging to that
and the character _.
Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified us-
- ing the syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
- the same collation weight (as defined by the current lo-
+ ing the syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
+ the same collation weight (as defined by the current lo-
cale) as the character _\bc.
Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collat-
ing symbol _\bs_\by_\bm_\bb_\bo_\bl.
- If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, the
- shell recognizes several extended pattern matching operators. In the
+ If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, the
+ shell recognizes several extended pattern matching operators. In the
following description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns
- separated by a |\b|. Composite patterns may be formed using one or more
+ separated by a |\b|. Composite patterns may be formed using one or more
of the following sub-patterns:
?\b?(\b(_\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt)\b)
Matches anything except one of the given patterns.
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-
+ 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-
terns, including shell functions and command substitutions.
When matching filenames, the d\bdo\bot\btg\bgl\blo\bob\bb shell option determines the set of
- filenames that are tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the set of file-
- names includes all files beginning with ".", but _\b. and _\b._\b. must be
- matched by a pattern or sub-pattern that begins with a dot; when it is
+ filenames that are tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the set of file-
+ names includes all files beginning with ".", but _\b. and _\b._\b. must be
+ matched by a pattern or sub-pattern that begins with a dot; when it is
disabled, the set does not include any filenames beginning with "." un-
less the pattern or sub-pattern begins with a ".". If the g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
- shell option is enabled, the filenames _\b. and _\b._\b. never appear in the
+ shell option is enabled, the filenames _\b. and _\b._\b. never appear in the
set. As above, "." only has a special meaning when matching filenames.
Complicated extended pattern matching against long strings is slow, es-
pecially when the patterns contain alternations and the strings contain
- multiple matches. Using separate matches against shorter strings, or
+ multiple matches. Using separate matches against shorter strings, or
using arrays of strings instead of a single long string, may be faster.
Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
After the preceding expansions, all unquoted occurrences of the charac-
- ters \\b\, '\b', and "\b" that did not result from one of the above expansions
+ ters \\b\, '\b', and "\b" that did not result from one of the above expansions
are removed.
R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
- Before a command is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
- using a special notation interpreted by the shell. _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn allows
- commands' file handles to be duplicated, opened, closed, made to refer
+ Before a command is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+ using a special notation interpreted by the shell. _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn allows
+ commands' file handles to be duplicated, opened, closed, made to refer
to different files, and can change the files the command reads from and
- writes to. When used with the e\bex\bxe\bec\bc builtin, redirections modify file
- handles in the current shell execution environment. The following
- redirection operators may precede or appear anywhere within a _\bs_\bi_\bm_\bp_\bl_\be
+ writes to. When used with the e\bex\bxe\bec\bc builtin, redirections modify file
+ handles in the current shell execution environment. The following
+ redirection operators may precede or appear anywhere within a _\bs_\bi_\bm_\bp_\bl_\be
_\bc_\bo_\bm_\bm_\ba_\bn_\bd or may follow a _\bc_\bo_\bm_\bm_\ba_\bn_\bd. Redirections are processed in the or-
der they appear, from left to right.
- Each redirection that may be preceded by a file descriptor number may
+ Each redirection that may be preceded by a file descriptor number may
instead be preceded by a word of the form {_\bv_\ba_\br_\bn_\ba_\bm_\be}. In this case, for
each redirection operator except >&- and <&-, the shell will allocate a
- file descriptor greater than or equal to 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.
+ file descriptor greater than or equal to 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.
If {_\bv_\ba_\br_\bn_\ba_\bm_\be} precedes >&- or <&-, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines the file
- descriptor to close. If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the redirection per-
- sists beyond the scope of the command, which allows the shell program-
+ descriptor to close. If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the redirection per-
+ sists beyond the scope of the command, which allows the shell program-
mer to manage the file descriptor's lifetime manually without using the
e\bex\bxe\bec\bc builtin. The v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be shell option manages this behavior.
- In the following descriptions, if the file descriptor number is omit-
- ted, and the first character of the redirection operator is <\b<, the
- redirection refers to the standard input (file descriptor 0). If the
- first character of the redirection operator is >\b>, the redirection
+ In the following descriptions, if the file descriptor number is omit-
+ ted, and the first character of the redirection operator is <\b<, the
+ redirection refers to the standard input (file descriptor 0). If the
+ first character of the redirection operator is >\b>, the redirection
refers to the standard output (file descriptor 1).
- The _\bw_\bo_\br_\bd following the redirection operator in the following descrip-
- tions, unless otherwise noted, is subjected to brace expansion, tilde
- expansion, parameter and variable expansion, command substitution,
- arithmetic expansion, quote removal, pathname expansion, and word
+ The _\bw_\bo_\br_\bd following the redirection operator in the following descrip-
+ tions, unless otherwise noted, is subjected to brace expansion, tilde
+ expansion, parameter and variable expansion, command substitution,
+ arithmetic expansion, quote removal, pathname expansion, and word
splitting. If it expands to more than one word, b\bba\bas\bsh\bh reports an error.
The order of redirections is significant. For example, the command
ls >\b> dirlist 2>\b>&\b&1
- directs both standard output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
+ directs both standard output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
while the command
ls 2>\b>&\b&1 >\b> dirlist
- directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
- error was directed to the standard output before the standard output
+ directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
+ error was directed to the standard output before the standard output
was redirected to _\bd_\bi_\br_\bl_\bi_\bs_\bt.
B\bBa\bas\bsh\bh handles several filenames specially when they are used in redirec-
tions, as described in the following table. If the operating system on
which b\bba\bas\bsh\bh is running provides these special files, b\bba\bas\bsh\bh will use them;
- otherwise it will emulate them internally with the behavior described
+ otherwise it will emulate them internally with the behavior described
below.
/\b/d\bde\bev\bv/\b/f\bfd\bd/\b/_\bf_\bd
File descriptor 2 is duplicated.
/\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
- is an integer port number or service name, b\bba\bas\bsh\bh attempts
+ is an integer port number or service name, b\bba\bas\bsh\bh attempts
to open the corresponding TCP socket.
/\b/d\bde\bev\bv/\b/u\bud\bdp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
- is an integer port number or service name, b\bba\bas\bsh\bh attempts
+ is an integer port number or service name, b\bba\bas\bsh\bh attempts
to open the corresponding UDP socket.
A failure to open or create a file causes the redirection to fail.
- Redirections using file descriptors greater than 9 should be used with
- care, as they may conflict with file descriptors the shell uses inter-
+ Redirections using file descriptors greater than 9 should be used with
+ care, as they may conflict with file descriptors the shell uses inter-
nally.
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg I\bIn\bnp\bpu\but\bt
- Redirecting input opens the file whose name results from the expansion
- of _\bw_\bo_\br_\bd for reading on file descriptor _\bn, or the standard input (file
+ Redirecting input opens the file whose name results from the expansion
+ of _\bw_\bo_\br_\bd for reading on file descriptor _\bn, or the standard input (file
descriptor 0) if _\bn is not specified.
The general format for redirecting input is:
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg O\bOu\but\btp\bpu\but\bt
Redirecting output opens the file whose name results from the expansion
- of _\bw_\bo_\br_\bd for writing on file descriptor _\bn, or the standard output (file
- descriptor 1) if _\bn is not specified. If the file does not exist it is
+ of _\bw_\bo_\br_\bd for writing on file descriptor _\bn, or the standard output (file
+ descriptor 1) if _\bn is not specified. If the file does not exist it is
created; if it does exist it is truncated to zero size.
The general format for redirecting output is:
[_\bn]>\b>_\bw_\bo_\br_\bd
- If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
- builtin has been enabled, the redirection will fail if the file whose
- name results from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
+ If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
+ builtin has been enabled, the redirection will fail if the file whose
+ name results from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
If the redirection operator is >\b>|\b|, or the redirection operator is >\b> and
- the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, b\bba\bas\bsh\bh
+ the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, b\bba\bas\bsh\bh
attempts the redirection even if the file named by _\bw_\bo_\br_\bd exists.
A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg R\bRe\bed\bdi\bir\bre\bec\bct\bte\bed\bd O\bOu\but\btp\bpu\but\bt
- Redirecting output in this fashion opens the file whose name results
- from the expansion of _\bw_\bo_\br_\bd for appending on file descriptor _\bn, or the
+ Redirecting output in this fashion opens the file whose name results
+ from the expansion of _\bw_\bo_\br_\bd for appending on file descriptor _\bn, or the
standard output (file descriptor 1) if _\bn is not specified. If the file
does not exist it is created.
[_\bn]>\b>>\b>_\bw_\bo_\br_\bd
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
- This construct redirects both the standard output (file descriptor 1)
- and the standard error output (file descriptor 2) to the file whose
+ This construct redirects both the standard output (file descriptor 1)
+ and the standard error output (file descriptor 2) to the file whose
name is the expansion of _\bw_\bo_\br_\bd.
- There are two formats for redirecting standard output and standard er-
+ There are two formats for redirecting standard output and standard er-
ror:
&\b&>\b>_\bw_\bo_\br_\bd
>\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
- When using the second form, _\bw_\bo_\br_\bd may not expand to a number or -\b-. If
- it does, other redirection operators apply (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\be-\b-
+ When using the second form, _\bw_\bo_\br_\bd may not expand to a number or -\b-. If
+ it does, other redirection operators apply (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\be-\b-
s\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below) for compatibility reasons.
A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
(see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below).
H\bHe\ber\bre\be D\bDo\boc\bcu\bum\bme\ben\bnt\bts\bs
- This type of redirection instructs the shell to read input from the
+ This type of redirection instructs the shell to read input from the
current source until it reads a line containing only _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br (with no
- trailing blanks). All of the lines read up to that point then become
- the standard input (or file descriptor _\bn if _\bn is specified) for a com-
+ trailing blanks). All of the lines read up to that point then become
+ the standard input (or file descriptor _\bn if _\bn is specified) for a com-
mand.
The format of here-documents is:
_\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
_\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
- The shell does not perform parameter and variable expansion, command
- substitution, arithmetic expansion, or pathname expansion is performed
+ The shell does not perform parameter and variable expansion, command
+ substitution, arithmetic expansion, or pathname expansion is performed
on _\bw_\bo_\br_\bd.
If any part of _\bw_\bo_\br_\bd is quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote re-
moval on _\bw_\bo_\br_\bd, and the lines in the here-document are not expanded. If
- _\bw_\bo_\br_\bd is unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, and the here-document
- text is treated similarly to a double-quoted string: all lines of the
- here-document are subjected to parameter expansion, command substitu-
- tion, and arithmetic expansion, the character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is
+ _\bw_\bo_\br_\bd is unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, and the here-document
+ text is treated similarly to a double-quoted string: all lines of the
+ here-document are subjected to parameter expansion, command substitu-
+ tion, and arithmetic expansion, the character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is
treated literally, and \\b\ must be used to quote the characters \\b\, $\b$, and
`\b`; however, double quote characters have no special meaning.
- If the redirection operator is <\b<<\b<-\b-, then the shell strips all leading
- tab characters from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.
- This allows here-documents within shell scripts to be indented in a
+ If the redirection operator is <\b<<\b<-\b-, then the shell strips all leading
+ tab characters from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.
+ This allows here-documents within shell scripts to be indented in a
natural fashion.
If the delimiter is not quoted, the \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> sequence is treated as a
- line continuation: the two lines are joined and the backslash-newline
- is removed. This happens while reading the here-document, before the
+ line continuation: the two lines are joined and the backslash-newline
+ is removed. This happens while reading the here-document, before the
check for the ending delimiter, so joined lines can form the end delim-
iter.
[_\bn]<\b<<\b<<\b<_\bw_\bo_\br_\bd
- The _\bw_\bo_\br_\bd undergoes tilde expansion, parameter and variable expansion,
- command substitution, arithmetic expansion, and quote removal. Path-
- name expansion and word splitting are not performed. The result is
+ The _\bw_\bo_\br_\bd undergoes tilde expansion, parameter and variable expansion,
+ command substitution, arithmetic expansion, and quote removal. Path-
+ name expansion and word splitting are not performed. The result is
supplied as a single string, with a newline appended, to the command on
its standard input (or file descriptor _\bn if _\bn is specified).
[_\bn]<\b<&\b&_\bw_\bo_\br_\bd
is used to duplicate input file descriptors. If _\bw_\bo_\br_\bd expands to one or
- more digits, file descriptor _\bn is made to be a copy of that file de-
+ more digits, file descriptor _\bn is made to be a copy of that file de-
scriptor. It is a redirection error if the digits in _\bw_\bo_\br_\bd do not spec-
ify a file descriptor open for input. If _\bw_\bo_\br_\bd evaluates to -\b-, file de-
- scriptor _\bn is closed. If _\bn is not specified, this uses the standard
+ scriptor _\bn is closed. If _\bn is not specified, this uses the standard
input (file descriptor 0).
The operator
[_\bn]>\b>&\b&_\bw_\bo_\br_\bd
- is used similarly to duplicate output file descriptors. If _\bn is not
- specified, this uses the standard output (file descriptor 1). It is a
- redirection error if the digits in _\bw_\bo_\br_\bd do not specify a file descrip-
- tor open for output. If _\bw_\bo_\br_\bd evaluates to -\b-, file descriptor _\bn is
- closed. As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does not expand
- to one or more digits or -\b-, this redirects the standard output and
+ is used similarly to duplicate output file descriptors. If _\bn is not
+ specified, this uses the standard output (file descriptor 1). It is a
+ redirection error if the digits in _\bw_\bo_\br_\bd do not specify a file descrip-
+ tor open for output. If _\bw_\bo_\br_\bd evaluates to -\b-, file descriptor _\bn is
+ closed. As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does not expand
+ to one or more digits or -\b-, this redirects the standard output and
standard error as described previously.
M\bMo\bov\bvi\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs
[_\bn]<\b<&\b&_\bd_\bi_\bg_\bi_\bt-\b-
- moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+ moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
input (file descriptor 0) if _\bn is not specified. _\bd_\bi_\bg_\bi_\bt is closed after
being duplicated to _\bn.
[_\bn]>\b>&\b&_\bd_\bi_\bg_\bi_\bt-\b-
- moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+ moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
output (file descriptor 1) if _\bn is not specified.
O\bOp\bpe\ben\bni\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs f\bfo\bor\br R\bRe\bea\bad\bdi\bin\bng\bg a\ban\bnd\bd W\bWr\bri\bit\bti\bin\bng\bg
ified. If the file does not exist, it is created.
A\bAL\bLI\bIA\bAS\bSE\bES\bS
- _\bA_\bl_\bi_\ba_\bs_\be_\bs allow a string to be substituted for a word that is in a posi-
- tion in the input where it can be the first word of a simple command.
- Aliases have names and corresponding values that are set and unset us-
- ing the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
+ _\bA_\bl_\bi_\ba_\bs_\be_\bs allow a string to be substituted for a word that is in a posi-
+ tion in the input where it can be the first word of a simple command.
+ Aliases have names and corresponding values that are set and unset us-
+ ing the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
below).
- If the shell reads an unquoted word in the right position, it checks
- the word to see if it matches an alias name. If it matches, the shell
- replaces the word with the alias value, and reads that value as if it
+ If the shell reads an unquoted word in the right position, it checks
+ the word to see if it matches an alias name. If it matches, the shell
+ replaces the word with the alias value, and reads that value as if it
had been read instead of the word. The shell doesn't look at any char-
acters following the word before attempting alias substitution.
- The characters /\b/, $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or
- quoting characters listed above may not appear in an alias name. The
- replacement text may contain any valid shell input, including shell
- metacharacters. The first word of the replacement text is tested for
+ The characters /\b/, $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or
+ quoting characters listed above may not appear in an alias name. The
+ replacement text may contain any valid shell input, including shell
+ metacharacters. The first word of the replacement text is tested for
aliases, but a word that is identical to an alias being expanded is not
expanded a second time. This means that one may alias l\bls\bs to l\bls\bs -\b-F\bF, for
- instance, and b\bba\bas\bsh\bh does not try to recursively expand the replacement
+ instance, and b\bba\bas\bsh\bh does not try to recursively expand the replacement
text.
- If the last character of the alias value is a _\bb_\bl_\ba_\bn_\bk, the shell checks
+ If the last character of the alias value is a _\bb_\bl_\ba_\bn_\bk, the shell checks
the next command word following the alias for alias expansion.
Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
the u\bun\bna\bal\bli\bia\bas\bs command.
- There is no mechanism for using arguments in the replacement text. If
- arguments are needed, use a shell function (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below) in-
+ There is no mechanism for using arguments in the replacement text. If
+ arguments are needed, use a shell function (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below) in-
stead.
- Aliases are not expanded when the shell is not interactive, unless the
- e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
+ Aliases are not expanded when the shell is not interactive, unless the
+ e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- The rules concerning the definition and use of aliases are somewhat
- confusing. B\bBa\bas\bsh\bh always reads at least one complete line of input, and
- all lines that make up a compound command, before executing any of the
- commands on that line or the compound command. Aliases are expanded
- when a command is read, not when it is executed. Therefore, an alias
- definition appearing on the same line as another command does not take
+ The rules concerning the definition and use of aliases are somewhat
+ confusing. B\bBa\bas\bsh\bh always reads at least one complete line of input, and
+ all lines that make up a compound command, before executing any of the
+ commands on that line or the compound command. Aliases are expanded
+ when a command is read, not when it is executed. Therefore, an alias
+ definition appearing on the same line as another command does not take
effect until the shell reads the next line of input, and an alias defi-
- nition in a compound command does not take effect until the shell
- parses and executes the entire compound command. The commands follow-
- ing the alias definition on that line, or in the rest of a compound
- command, are not affected by the new alias. This behavior is also an
- issue when functions are executed. Aliases are expanded when a func-
- tion definition is read, not when the function is executed, because a
+ nition in a compound command does not take effect until the shell
+ parses and executes the entire compound command. The commands follow-
+ ing the alias definition on that line, or in the rest of a compound
+ command, are not affected by the new alias. This behavior is also an
+ issue when functions are executed. Aliases are expanded when a func-
+ tion definition is read, not when the function is executed, because a
function definition is itself a command. As a consequence, aliases de-
fined in a function are not available until after that function is exe-
- cuted. To be safe, always put alias definitions on a separate line,
+ cuted. To be safe, always put alias definitions on a separate line,
and do not use a\bal\bli\bia\bas\bs in compound commands.
For almost every purpose, shell functions are preferable to aliases.
F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
- A shell function, defined as described above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
- stores a series of commands for later execution. When the name of a
+ A shell function, defined as described above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+ stores a series of commands for later execution. When the name of a
shell function is used as a simple command name, the shell executes the
list of commands associated with that function name. Functions are ex-
- ecuted in the context of the calling shell; there is no new process
- created to interpret them (contrast this with the execution of a shell
+ ecuted in the context of the calling shell; there is no new process
+ created to interpret them (contrast this with the execution of a shell
script).
- When a function is executed, the arguments to the function become the
+ When a function is executed, the arguments to the function become the
positional parameters during its execution. The special parameter #\b# is
- updated to reflect the new positional parameters. Special parameter 0\b0
+ updated to reflect the new positional parameters. Special parameter 0\b0
is unchanged. The first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the
name of the function while the function is executing.
- All other aspects of the shell execution environment are identical be-
- tween a function and its caller with these exceptions: the D\bDE\bEB\bBU\bUG\bG and
- R\bRE\bET\bTU\bUR\bRN\bN traps (see the description of the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
- B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
- given the t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
- below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
- builtin (in which case all functions inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
- traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
+ All other aspects of the shell execution environment are identical be-
+ tween a function and its caller with these exceptions: the D\bDE\bEB\bBU\bUG\bG and
+ R\bRE\bET\bTU\bUR\bRN\bN traps (see the description of the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
+ B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
+ given the t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
+ below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
+ builtin (in which case all functions inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+ traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
option has been enabled.
- Variables local to the function are declared with the l\blo\boc\bca\bal\bl builtin
- command (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs). Ordinarily, variables and their values are
- shared between the function and its caller. If a variable is declared
- l\blo\boc\bca\bal\bl, the variable's visible scope is restricted to that function and
+ Variables local to the function are declared with the l\blo\boc\bca\bal\bl builtin
+ command (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs). Ordinarily, variables and their values are
+ shared between the function and its caller. If a variable is declared
+ l\blo\boc\bca\bal\bl, the variable's visible scope is restricted to that function and
its children (including the functions it calls).
In the following description, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bs_\bc_\bo_\bp_\be is a currently- execut-
ing function. Previous scopes consist of that function's caller and so
- on, back to the "global" scope, where the shell is not executing any
- shell function. A local variable at the current scope is a variable
- declared using the l\blo\boc\bca\bal\bl or d\bde\bec\bcl\bla\bar\bre\be builtins in the function that is
+ on, back to the "global" scope, where the shell is not executing any
+ shell function. A local variable at the current scope is a variable
+ declared using the l\blo\boc\bca\bal\bl or d\bde\bec\bcl\bla\bar\bre\be builtins in the function that is
currently executing.
- Local variables "shadow" variables with the same name declared at pre-
- vious scopes. For instance, a local variable declared in a function
+ Local variables "shadow" variables with the same name declared at pre-
+ vious scopes. For instance, a local variable declared in a function
hides variables with the same name declared at previous scopes, includ-
- ing global variables: references and assignments refer to the local
- variable, leaving the variables at previous scopes unmodified. When
+ ing global variables: references and assignments refer to the local
+ variable, leaving the variables at previous scopes unmodified. When
the function returns, the global variable is once again visible.
- The shell uses _\bd_\by_\bn_\ba_\bm_\bi_\bc _\bs_\bc_\bo_\bp_\bi_\bn_\bg to control a variable's visibility
- within functions. With dynamic scoping, visible variables and their
- values are a result of the sequence of function calls that caused exe-
- cution to reach the current function. The value of a variable that a
- function sees depends on its value within its caller, if any, whether
- that caller is the global scope or another shell function. This is
+ The shell uses _\bd_\by_\bn_\ba_\bm_\bi_\bc _\bs_\bc_\bo_\bp_\bi_\bn_\bg to control a variable's visibility
+ within functions. With dynamic scoping, visible variables and their
+ values are a result of the sequence of function calls that caused exe-
+ cution to reach the current function. The value of a variable that a
+ function sees depends on its value within its caller, if any, whether
+ that caller is the global scope or another shell function. This is
also the value that a local variable declaration shadows, and the value
that is restored when the function returns.
- For example, if a variable _\bv_\ba_\br is declared as local in function _\bf_\bu_\bn_\bc_\b1,
- and _\bf_\bu_\bn_\bc_\b1 calls another function _\bf_\bu_\bn_\bc_\b2, references to _\bv_\ba_\br made from
+ For example, if a variable _\bv_\ba_\br is declared as local in function _\bf_\bu_\bn_\bc_\b1,
+ and _\bf_\bu_\bn_\bc_\b1 calls another function _\bf_\bu_\bn_\bc_\b2, references to _\bv_\ba_\br made from
within _\bf_\bu_\bn_\bc_\b2 will resolve to the local variable _\bv_\ba_\br from _\bf_\bu_\bn_\bc_\b1, shadow-
ing any global variable named _\bv_\ba_\br.
The u\bun\bns\bse\bet\bt builtin also acts using the same dynamic scope: if a variable
is local to the current scope, u\bun\bns\bse\bet\bt will unset it; otherwise the unset
- will refer to the variable found in any calling scope as described
- above. If a variable at the current local scope is unset, it will re-
- main so (appearing as unset) until it is reset in that scope or until
- the function returns. Once the function returns, any instance of the
+ will refer to the variable found in any calling scope as described
+ above. If a variable at the current local scope is unset, it will re-
+ main so (appearing as unset) until it is reset in that scope or until
+ the function returns. Once the function returns, any instance of the
variable at a previous scope will become visible. If the unset acts on
- a variable at a previous scope, any instance of a variable with that
- name that had been shadowed will become visible (see below how the l\blo\bo-\b-
+ a variable at a previous scope, any instance of a variable with that
+ name that had been shadowed will become visible (see below how the l\blo\bo-\b-
c\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt shell option changes this behavior).
- The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set to a numeric value greater than 0, de-
- fines a maximum function nesting level. Function invocations that ex-
+ The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set to a numeric value greater than 0, de-
+ fines a maximum function nesting level. Function invocations that ex-
ceed the limit cause the entire command to abort.
- If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
- completes and execution resumes with the next command after the func-
+ If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
+ completes and execution resumes with the next command after the func-
tion call. If r\bre\bet\btu\bur\brn\bn is supplied a numeric argument, that is the func-
- tion's return status; otherwise the function's return status is the
- exit status of the last command executed before the r\bre\bet\btu\bur\brn\bn. Any com-
- mand associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
+ tion's return status; otherwise the function's return status is the
+ exit status of the last command executed before the r\bre\bet\btu\bur\brn\bn. Any com-
+ mand associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
sumes. When a function completes, the values of the positional parame-
- ters and the special parameter #\b# are restored to the values they had
+ ters and the special parameter #\b# are restored to the values they had
prior to the function's execution.
- The -\b-f\bf option to the d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands will list
- function names and definitions. The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt
- will list the function names only (and optionally the source file and
- line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled). Functions may
+ The -\b-f\bf option to the d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands will list
+ function names and definitions. The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt
+ will list the function names only (and optionally the source file and
+ line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled). Functions may
be exported so that child shell processes (those created when executing
- a separate shell invocation) automatically have them defined with the
- -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin. The -\b-f\bf option to the u\bun\bns\bse\bet\bt builtin
+ a separate shell invocation) automatically have them defined with the
+ -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin. The -\b-f\bf option to the u\bun\bns\bse\bet\bt builtin
will delete a function definition.
Functions may be recursive. The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable may be used to limit
- the depth of the function call stack and restrict the number of func-
- tion invocations. By default, b\bba\bas\bsh\bh imposes no limit on the number of
+ the depth of the function call stack and restrict the number of func-
+ tion invocations. By default, b\bba\bas\bsh\bh imposes no limit on the number of
recursive calls.
A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
- The shell allows arithmetic expressions to be evaluated, under certain
- circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands, the (\b((\b( com-
- pound command, the arithmetic f\bfo\bor\br command, the [\b[[\b[ conditional command,
+ The shell allows arithmetic expressions to be evaluated, under certain
+ circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands, the (\b((\b( com-
+ pound command, the arithmetic f\bfo\bor\br command, the [\b[[\b[ conditional command,
and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).
- Evaluation is done in the largest fixed-width integers available, with
- no check for overflow, though division by 0 is trapped and flagged as
- an error. The operators and their precedence, associativity, and val-
+ Evaluation is done in the largest fixed-width integers available, with
+ no check for overflow, though division by 0 is trapped and flagged as
+ an error. The operators and their precedence, associativity, and val-
ues are the same as in the C language. The following list of operators
- is grouped into levels of equal-precedence operators. The levels are
+ is grouped into levels of equal-precedence operators. The levels are
listed in order of decreasing precedence.
_\bi_\bd+\b++\b+ _\bi_\bd-\b--\b-
_\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
comma
- Shell variables are allowed as operands; parameter expansion is per-
+ Shell variables are allowed as operands; parameter expansion is per-
formed before the expression is evaluated. Within an expression, shell
- variables may also be referenced by name without using the parameter
+ variables may also be referenced by name without using the parameter
expansion syntax. This means you can use "x", where _\bx is a shell vari-
able name, in an arithmetic expression, and the shell will evaluate its
- value as an expression and use the result. A shell variable that is
+ value as an expression and use the result. A shell variable that is
null or unset evaluates to 0 when referenced by name in an expression.
- The value of a variable is evaluated as an arithmetic expression when
- it is referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
+ The value of a variable is evaluated as an arithmetic expression when
+ it is referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value. A null value evaluates
- to 0. A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute turned on
+ to 0. A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute turned on
to be used in an expression.
Integer constants follow the C language definition, without suffixes or
character constants. Constants with a leading 0 are interpreted as oc-
- tal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, num-
- bers take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal num-
- ber between 2 and 64 representing the arithmetic base, and _\bn is a num-
- ber in that base. If _\bb_\ba_\bs_\be_\b# is omitted, then base 10 is used. When
+ tal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, num-
+ bers take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal num-
+ ber between 2 and 64 representing the arithmetic base, and _\bn is a num-
+ ber in that base. If _\bb_\ba_\bs_\be_\b# is omitted, then base 10 is used. When
specifying _\bn, if a non-digit is required, the digits greater than 9 are
- represented by the lowercase letters, the uppercase letters, @, and _,
- in that order. If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and up-
- percase letters may be used interchangeably to represent numbers be-
+ represented by the lowercase letters, the uppercase letters, @, and _,
+ in that order. If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and up-
+ percase letters may be used interchangeably to represent numbers be-
tween 10 and 35.
Operators are evaluated in precedence order. Sub-expressions in paren-
theses are evaluated first and may override the precedence rules above.
C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
- Conditional expressions are used by the [\b[[\b[ compound command and the
- t\bte\bes\bst\bt and [\b[ builtin commands to test file attributes and perform string
- and arithmetic comparisons. The t\bte\bes\bst\bt and [\b[ commands determine their
- behavior based on the number of arguments; see the descriptions of
+ Conditional expressions are used by the [\b[[\b[ compound command and the
+ t\bte\bes\bst\bt and [\b[ builtin commands to test file attributes and perform string
+ and arithmetic comparisons. The t\bte\bes\bst\bt and [\b[ commands determine their
+ behavior based on the number of arguments; see the descriptions of
those commands for any other command-specific actions.
Expressions are formed from the unary or binary primaries listed below.
- Unary expressions are often used to examine the status of a file or
- shell variable. Binary operators are used for string, numeric, and
+ Unary expressions are often used to examine the status of a file or
+ shell variable. Binary operators are used for string, numeric, and
file attribute comparisons.
- B\bBa\bas\bsh\bh handles several filenames specially when they are used in expres-
+ B\bBa\bas\bsh\bh handles several filenames specially when they are used in expres-
sions. If the operating system on which b\bba\bas\bsh\bh is running provides these
- special files, bash will use them; otherwise it will emulate them in-
- ternally with this behavior: If any _\bf_\bi_\bl_\be argument to one of the pri-
- maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then b\bba\bas\bsh\bh checks file descriptor _\bn.
- If the _\bf_\bi_\bl_\be argument to one of the primaries is one of _\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
- _\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, b\bba\bas\bsh\bh checks file descriptor 0, 1, or 2, re-
+ special files, bash will use them; otherwise it will emulate them in-
+ ternally with this behavior: If any _\bf_\bi_\bl_\be argument to one of the pri-
+ maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then b\bba\bas\bsh\bh checks file descriptor _\bn.
+ If the _\bf_\bi_\bl_\be argument to one of the primaries is one of _\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+ _\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, b\bba\bas\bsh\bh checks file descriptor 0, 1, or 2, re-
spectively.
Unless otherwise specified, primaries that operate on files follow sym-
bolic links and operate on the target of the link, rather than the link
itself.
- When used with [\b[[\b[, or when the shell is in posix mode, the <\b< and >\b> op-
- erators sort lexicographically using the current locale. When the
- shell is not in posix mode, the t\bte\bes\bst\bt command sorts using ASCII order-
+ When used with [\b[[\b[, or when the shell is in posix mode, the <\b< and >\b> op-
+ erators sort lexicographically using the current locale. When the
+ shell is not in posix mode, the t\bte\bes\bst\bt command sorts using ASCII order-
ing.
-\b-a\ba _\bf_\bi_\bl_\be
-\b-L\bL _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is a symbolic link.
-\b-N\bN _\bf_\bi_\bl_\be
- True if _\bf_\bi_\bl_\be exists and has been modified since it was last ac-
+ True if _\bf_\bi_\bl_\be exists and has been modified since it was last ac-
cessed.
-\b-O\bO _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
-\b-S\bS _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is a socket.
-\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
- True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled. See the list of
- options under the description of the -\b-o\bo option to the s\bse\bet\bt
+ True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled. See the list of
+ options under the description of the -\b-o\bo option to the s\bse\bet\bt
builtin below.
-\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
- True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
- value). If _\bv_\ba_\br_\bn_\ba_\bm_\be is an indexed array variable name sub-
- scripted by _\b@ or _\b*, this returns true if the array has any set
+ True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
+ value). If _\bv_\ba_\br_\bn_\ba_\bm_\be is an indexed array variable name sub-
+ scripted by _\b@ or _\b*, this returns true if the array has any set
elements. If _\bv_\ba_\br_\bn_\ba_\bm_\be is an associative array variable name sub-
- scripted by _\b@ or _\b*, this returns true if an element with that
+ scripted by _\b@ or _\b*, this returns true if an element with that
key is set.
-\b-R\bR _\bv_\ba_\br_\bn_\ba_\bm_\be
- True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a name refer-
+ True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a name refer-
ence.
-\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
_\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b==\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
_\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
- True if the strings are equal. =\b= should be used with the t\bte\bes\bst\bt
- command for POSIX conformance. When used with the [\b[[\b[ command,
+ True if the strings are equal. =\b= should be used with the t\bte\bes\bst\bt
+ command for POSIX conformance. When used with the [\b[[\b[ command,
this performs pattern matching as described above (C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bm-\b-
m\bma\ban\bnd\bds\bs).
_\bs_\bt_\br_\bi_\bn_\bg_\b1 !\b!=\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically.
_\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+ True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
bers.
_\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 is newer (according to modification date) than
+ True if _\bf_\bi_\bl_\be_\b1 is newer (according to modification date) than
_\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
_\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+ True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
does not.
_\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
- O\bOP\bP is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be. These arithmetic
- binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
- less than, less than or equal to, greater than, or greater than
- or equal to _\ba_\br_\bg_\b2, respectively. _\ba_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
- or negative integers. When used with the [\b[[\b[ command, _\ba_\br_\bg_\b1 and
- _\ba_\br_\bg_\b2 are evaluated as arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
+ O\bOP\bP is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be. These arithmetic
+ binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
+ less than, less than or equal to, greater than, or greater than
+ or equal to _\ba_\br_\bg_\b2, respectively. _\ba_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
+ or negative integers. When used with the [\b[[\b[ command, _\ba_\br_\bg_\b1 and
+ _\ba_\br_\bg_\b2 are evaluated as arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).
S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
When the shell executes a simple command, it performs the following ex-
- pansions, assignments, and redirections, from left to right, in the
+ pansions, assignments, and redirections, from left to right, in the
following order.
- 1. The words that the parser has marked as variable assignments
- (those preceding the command name) and redirections are saved
+ 1. The words that the parser has marked as variable assignments
+ (those preceding the command name) and redirections are saved
for later processing.
- 2. The words that are not variable assignments or redirections are
- expanded. If any words remain after expansion, the first word
- is taken to be the name of the command and the remaining words
+ 2. The words that are not variable assignments or redirections are
+ expanded. If any words remain after expansion, the first word
+ is taken to be the name of the command and the remaining words
are the arguments.
3. Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
4. The text after the =\b= in each variable assignment undergoes tilde
expansion, parameter expansion, command substitution, arithmetic
- expansion, and quote removal before being assigned to the vari-
+ expansion, and quote removal before being assigned to the vari-
able.
If no command name results, the variable assignments affect the current
- shell environment. In the case of such a command (one that consists
- only of assignment statements and redirections), assignment statements
- are performed before redirections. Otherwise, the variables are added
- to the environment of the executed command and do not affect the cur-
+ shell environment. In the case of such a command (one that consists
+ only of assignment statements and redirections), assignment statements
+ are performed before redirections. Otherwise, the variables are added
+ to the environment of the executed command and do not affect the cur-
rent shell environment. If any of the assignments attempts to assign a
- value to a readonly variable, an error occurs, and the command exits
+ value to a readonly variable, an error occurs, and the command exits
with a non-zero status.
- If no command name results, redirections are performed, but do not af-
- fect the current shell environment. A redirection error causes the
+ If no command name results, redirections are performed, but do not af-
+ fect the current shell environment. A redirection error causes the
command to exit with a non-zero status.
- If there is a command name left after expansion, execution proceeds as
- described below. Otherwise, the command exits. If one of the expan-
- sions contained a command substitution, the exit status of the command
- is the exit status of the last command substitution performed. If
+ If there is a command name left after expansion, execution proceeds as
+ described below. Otherwise, the command exits. If one of the expan-
+ sions contained a command substitution, the exit status of the command
+ is the exit status of the last command substitution performed. If
there were no command substitutions, the command exits with a zero sta-
tus.
C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
- After a command has been split into words, if it results in a simple
- command and an optional list of arguments, the shell performs the fol-
+ After a command has been split into words, if it results in a simple
+ command and an optional list of arguments, the shell performs the fol-
lowing actions.
- If the command name contains no slashes, the shell attempts to locate
- it. If there exists a shell function by that name, that function is
- invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS. If the name does not match a
- function, the shell searches for it in the list of shell builtins. If
+ If the command name contains no slashes, the shell attempts to locate
+ it. If there exists a shell function by that name, that function is
+ invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS. If the name does not match a
+ function, the shell searches for it in the list of shell builtins. If
a match is found, that builtin is invoked.
- If the name is neither a shell function nor a builtin, and contains no
- slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for a directory con-
+ If the name is neither a shell function nor a builtin, and contains no
+ slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for a directory con-
taining an executable file by that name. B\bBa\bas\bsh\bh uses a hash table to re-
- member the full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
- B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Bash performs a full search of the directo-
- ries in P\bPA\bAT\bTH\bH only if the command is not found in the hash table. If
- the search is unsuccessful, the shell searches for a defined shell
- function named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be. If that function exists, it
- is invoked in a separate execution environment with the original com-
- mand and the original command's arguments as its arguments, and the
- function's exit status becomes the exit status of that subshell. If
+ member the full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
+ B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Bash performs a full search of the directo-
+ ries in P\bPA\bAT\bTH\bH only if the command is not found in the hash table. If
+ the search is unsuccessful, the shell searches for a defined shell
+ function named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be. If that function exists, it
+ is invoked in a separate execution environment with the original com-
+ mand and the original command's arguments as its arguments, and the
+ function's exit status becomes the exit status of that subshell. If
that function is not defined, the shell prints an error message and re-
turns an exit status of 127.
- If the search is successful, or if the command name contains one or
+ If the search is successful, or if the command name contains one or
more slashes, the shell executes the named program in a separate execu-
tion environment. Argument 0 is set to the name given, and the remain-
ing arguments to the command are set to the arguments given, if any.
- If this execution fails because the file is not in executable format,
- and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
+ If this execution fails because the file is not in executable format,
+ and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
file containing shell commands, and the shell creates a new instance of
- itself to execute it. Bash tries to determine whether the file is a
- text file or a binary, and will not execute files it determines to be
+ itself to execute it. Bash tries to determine whether the file is a
+ text file or a binary, and will not execute files it determines to be
binaries. This subshell reinitializes itself, so that the effect is as
- if a new shell had been invoked to handle the script, with the excep-
- tion that the locations of commands remembered by the parent (see h\bha\bas\bsh\bh
+ if a new shell had been invoked to handle the script, with the excep-
+ tion that the locations of commands remembered by the parent (see h\bha\bas\bsh\bh
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 are retained by the child.
- If the program is a file beginning with #\b#!\b!, the remainder of the first
- line specifies an interpreter for the program. The shell executes the
+ If the program is a file beginning with #\b#!\b!, the remainder of the first
+ line specifies an interpreter for the program. The shell executes the
specified interpreter on operating systems that do not handle this exe-
cutable format themselves. The arguments to the interpreter consist of
- a single optional argument following the interpreter name on the first
- line of the program, followed by the name of the program, followed by
+ a single optional argument following the interpreter name on the first
+ line of the program, followed by the name of the program, followed by
the command arguments, if any.
C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
- The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
+ The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
ing:
- +\bo Open files inherited by the shell at invocation, as modified by
+ +\bo Open files inherited by the shell at invocation, as modified by
redirections supplied to the e\bex\bxe\bec\bc builtin.
- +\bo The current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
+ +\bo The current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
inherited by the shell at invocation.
- +\bo The file creation mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
+ +\bo The file creation mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
the shell's parent.
+\bo Current traps set by t\btr\bra\bap\bp.
+\bo Shell parameters that are set by variable assignment or with s\bse\bet\bt
or inherited from the shell's parent in the environment.
- +\bo Shell functions defined during execution or inherited from the
+ +\bo Shell functions defined during execution or inherited from the
shell's parent in the environment.
- +\bo Options enabled at invocation (either by default or with com-
+ +\bo Options enabled at invocation (either by default or with com-
mand-line arguments) or by s\bse\bet\bt.
+\bo Options enabled by s\bsh\bho\bop\bpt\bt.
+\bo Shell aliases defined with a\bal\bli\bia\bas\bs.
- +\bo Various process IDs, including those of background jobs, the
+ +\bo Various process IDs, including those of background jobs, the
value of $\b$$\b$, and the value of P\bPP\bPI\bID\bD.
- When a simple command other than a builtin or shell function is to be
- executed, it is invoked in a separate execution environment that con-
- sists of the following. Unless otherwise noted, the values are inher-
+ When a simple command other than a builtin or shell function is to be
+ executed, it is invoked in a separate execution environment that con-
+ sists of the following. Unless otherwise noted, the values are inher-
ited from the shell.
- +\bo The shell's open files, plus any modifications and additions
+ +\bo The shell's open files, plus any modifications and additions
specified by redirections to the command.
+\bo The current working directory.
+\bo The file creation mode mask.
- +\bo Shell variables and functions marked for export, along with
+ +\bo Shell variables and functions marked for export, along with
variables exported for the command, passed in the environment.
+\bo Traps caught by the shell are reset to the values inherited from
the shell's parent, and traps ignored by the shell are ignored.
- A command invoked in this separate environment cannot affect the
+ A command invoked in this separate environment cannot affect the
shell's execution environment.
A _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl is a copy of the shell process.
- Command substitution, commands grouped with parentheses, and asynchro-
+ Command substitution, commands grouped with parentheses, and asynchro-
nous commands are invoked in a subshell environment that is a duplicate
of the shell environment, except that traps caught by the shell are re-
- set to the values that the shell inherited from its parent at invoca-
- tion. Builtin commands that are invoked as part of a pipeline, except
- possibly in the last element depending on the value of the l\bla\bas\bst\btp\bpi\bip\bpe\be
- shell option, are also executed in a subshell environment. Changes
- made to the subshell environment cannot affect the shell's execution
+ set to the values that the shell inherited from its parent at invoca-
+ tion. Builtin commands that are invoked as part of a pipeline, except
+ possibly in the last element depending on the value of the l\bla\bas\bst\btp\bpi\bip\bpe\be
+ shell option, are also executed in a subshell environment. Changes
+ made to the subshell environment cannot affect the shell's execution
environment.
- When the shell is in posix mode, subshells spawned to execute command
- substitutions inherit the value of the -\b-e\be option from their parent
- shell. When not in posix mode, b\bba\bas\bsh\bh clears the -\b-e\be option in such sub-
- shells. See the description of the i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt shell option below
+ When the shell is in posix mode, subshells spawned to execute command
+ substitutions inherit the value of the -\b-e\be option from their parent
+ shell. When not in posix mode, b\bba\bas\bsh\bh clears the -\b-e\be option in such sub-
+ shells. See the description of the i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt shell option below
for how to control this behavior when not in posix mode.
- If a command is followed by a &\b& and job control is not active, the de-
+ If a command is followed by a &\b& and job control is not active, the de-
fault standard input for the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl. Oth-
- erwise, the invoked command inherits the file descriptors of the call-
+ erwise, the invoked command inherits the file descriptors of the call-
ing shell as modified by redirections.
E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
- When a program is invoked it is given an array of strings called the
+ When a program is invoked it is given an array of strings called the
_\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt. This is a list of _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be pairs, of the form
_\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
- The shell provides several ways to manipulate the environment. On in-
- vocation, the shell scans its own environment and creates a parameter
- for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child
+ The shell provides several ways to manipulate the environment. On in-
+ vocation, the shell scans its own environment and creates a parameter
+ for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child
processes. Executed commands inherit the environment. The e\bex\bxp\bpo\bor\brt\bt, d\bde\be-\b-
- c\bcl\bla\bar\bre\be -\b-x\bx, and u\bun\bns\bse\bet\bt commands modify the environment by adding and
- deleting parameters and functions. If the value of a parameter in the
- environment is modified, the new value automatically becomes part of
- the environment, replacing the old. The environment inherited by any
- executed command consists of the shell's initial environment, whose
- values may be modified in the shell, less any pairs removed by the u\bun\bn-\b-
- s\bse\bet\bt or e\bex\bxp\bpo\bor\brt\bt -\b-n\bn commands, plus any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\be-\b-
+ c\bcl\bla\bar\bre\be -\b-x\bx, and u\bun\bns\bse\bet\bt commands modify the environment by adding and
+ deleting parameters and functions. If the value of a parameter in the
+ environment is modified, the new value automatically becomes part of
+ the environment, replacing the old. The environment inherited by any
+ executed command consists of the shell's initial environment, whose
+ values may be modified in the shell, less any pairs removed by the u\bun\bn-\b-
+ s\bse\bet\bt or e\bex\bxp\bpo\bor\brt\bt -\b-n\bn commands, plus any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\be-\b-
c\bcl\bla\bar\bre\be -\b-x\bx commands.
- If any parameter assignments, as described above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS, appear
+ If any parameter assignments, as described above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS, appear
before a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, the variable assignments are part of that com-
mand's environment for as long as it executes. These assignment state-
- ments affect only the environment seen by that command. If these as-
- signments precede a call to a shell function, the variables are local
+ ments affect only the environment seen by that command. If these as-
+ signments precede a call to a shell function, the variables are local
to the function and exported to that function's children.
- If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
- parameter assignments are placed in the environment for a command, not
+ If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
+ parameter assignments are placed in the environment for a command, not
just those that precede the command name.
- When b\bba\bas\bsh\bh invokes an external command, the variable _\b_ is set to the
+ When b\bba\bas\bsh\bh invokes an external command, the variable _\b_ is set to the
full pathname of the command and passed to that command in its environ-
ment.
E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
- The exit status of an executed command is the value returned by the
+ The exit status of an executed command is the value returned by the
_\bw_\ba_\bi_\bt_\bp_\bi_\bd system call or equivalent function. Exit statuses fall between
- 0 and 255, though, as explained below, the shell may use values above
+ 0 and 255, though, as explained below, the shell may use values above
125 specially. Exit statuses from shell builtins and compound commands
are also limited to this range. Under certain circumstances, the shell
will use special values to indicate specific failure modes.
For the shell's purposes, a command which exits with a zero exit status
- has succeeded. So while an exit status of zero indicates success, a
+ has succeeded. So while an exit status of zero indicates success, a
non-zero exit status indicates failure.
- When a command terminates on a fatal signal _\bN, b\bba\bas\bsh\bh uses the value of
+ When a command terminates on a fatal signal _\bN, b\bba\bas\bsh\bh uses the value of
128+_\bN as the exit status.
- If a command is not found, the child process created to execute it re-
- turns a status of 127. If a command is found but is not executable,
+ If a command is not found, the child process created to execute it re-
+ turns a status of 127. If a command is found but is not executable,
the return status is 126.
If a command fails because of an error during expansion or redirection,
the exit status is greater than zero.
- Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
- non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute. All builtins
- return an exit status of 2 to indicate incorrect usage, generally in-
+ Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
+ non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute. All builtins
+ return an exit status of 2 to indicate incorrect usage, generally in-
valid options or missing arguments.
The exit status of the last command is available in the special parame-
ter $?.
- B\bBa\bas\bsh\bh itself returns the exit status of the last command executed, un-
- less a syntax error occurs, in which case it exits with a non-zero
+ B\bBa\bas\bsh\bh itself returns the exit status of the last command executed, un-
+ less a syntax error occurs, in which case it exits with a non-zero
value. See also the e\bex\bxi\bit\bt builtin command below.
S\bSI\bIG\bGN\bNA\bAL\bLS\bS
- When b\bba\bas\bsh\bh is interactive, in the absence of any traps, it ignores
- S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and
+ When b\bba\bas\bsh\bh is interactive, in the absence of any traps, it ignores
+ S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and
catches and handles S\bSI\bIG\bGI\bIN\bNT\bT (so that the w\bwa\bai\bit\bt builtin is interruptible).
- When b\bba\bas\bsh\bh receives S\bSI\bIG\bGI\bIN\bNT\bT, it breaks out of any executing loops. In
+ When b\bba\bas\bsh\bh receives S\bSI\bIG\bGI\bIN\bNT\bT, it breaks out of any executing loops. In
all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT. If job control is in effect, b\bba\bas\bsh\bh ig-
nores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
Non-builtin commands b\bba\bas\bsh\bh executes have signal handlers set to the val-
ues inherited by the shell from its parent, unless t\btr\bra\bap\bp sets them to be
- ignored, in which case the child process will ignore them as well.
- When job control is not in effect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT
+ ignored, in which case the child process will ignore them as well.
+ When job control is not in effect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT
and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to these inherited handlers. Commands run as a
- result of command substitution ignore the keyboard-generated job con-
+ result of command substitution ignore the keyboard-generated job con-
trol signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
- The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP. Before exiting,
- an interactive shell resends the S\bSI\bIG\bGH\bHU\bUP\bP to all jobs, running or
- stopped. The shell sends S\bSI\bIG\bGC\bCO\bON\bNT\bT to stopped jobs to ensure that they
- receive the S\bSI\bIG\bGH\bHU\bUP\bP (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below for more information about
- running and stopped jobs). To prevent the shell from sending the sig-
- nal to a particular job, remove it from the jobs table with the d\bdi\bis\bso\bow\bwn\bn
- builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or mark it not to receive
+ The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP. Before exiting,
+ an interactive shell resends the S\bSI\bIG\bGH\bHU\bUP\bP to all jobs, running or
+ stopped. The shell sends S\bSI\bIG\bGC\bCO\bON\bNT\bT to stopped jobs to ensure that they
+ receive the S\bSI\bIG\bGH\bHU\bUP\bP (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below for more information about
+ running and stopped jobs). To prevent the shell from sending the sig-
+ nal to a particular job, remove it from the jobs table with the d\bdi\bis\bso\bow\bwn\bn
+ builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or mark it not to receive
S\bSI\bIG\bGH\bHU\bUP\bP using d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
- If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set using s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
+ If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set using s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
- If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
- which a trap has been set, it will not execute the trap until the com-
+ If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
+ which a trap has been set, it will not execute the trap until the com-
mand completes. If b\bba\bas\bsh\bh is waiting for an asynchronous command via the
- w\bwa\bai\bit\bt builtin, and it receives a signal for which a trap has been set,
- the w\bwa\bai\bit\bt builtin will return immediately with an exit status greater
+ w\bwa\bai\bit\bt builtin, and it receives a signal for which a trap has been set,
+ the w\bwa\bai\bit\bt builtin will return immediately with an exit status greater
than 128, immediately after which the shell executes the trap.
- When job control is not enabled, and b\bba\bas\bsh\bh is waiting for a foreground
+ When job control is not enabled, and b\bba\bas\bsh\bh is waiting for a foreground
command to complete, the shell receives keyboard-generated signals such
- as S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to send
+ as S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to send
to that command. This happens because the shell and the command are in
- the same process group as the terminal, and ^\b^C\bC sends S\bSI\bIG\bGI\bIN\bNT\bT to all
- processes in that process group. Since b\bba\bas\bsh\bh does not enable job con-
- trol by default when the shell is not interactive, this scenario is
+ the same process group as the terminal, and ^\b^C\bC sends S\bSI\bIG\bGI\bIN\bNT\bT to all
+ processes in that process group. Since b\bba\bas\bsh\bh does not enable job con-
+ trol by default when the shell is not interactive, this scenario is
most common in non-interactive shells.
- When job control is enabled, and b\bba\bas\bsh\bh is waiting for a foreground com-
- mand to complete, the shell does not receive keyboard-generated sig-
- nals, because it is not in the same process group as the terminal.
+ When job control is enabled, and b\bba\bas\bsh\bh is waiting for a foreground com-
+ mand to complete, the shell does not receive keyboard-generated sig-
+ nals, because it is not in the same process group as the terminal.
This scenario is most common in interactive shells, where b\bba\bas\bsh\bh attempts
- to enable job control by default. See J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below for more in-
+ to enable job control by default. See J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below for more in-
formation about process groups.
When job control is not enabled, and b\bba\bas\bsh\bh receives S\bSI\bIG\bGI\bIN\bNT\bT while waiting
1. If the command terminates due to the S\bSI\bIG\bGI\bIN\bNT\bT, b\bba\bas\bsh\bh concludes that
the user meant to send the S\bSI\bIG\bGI\bIN\bNT\bT to the shell as well, and acts
on the S\bSI\bIG\bGI\bIN\bNT\bT (e.g., by running a S\bSI\bIG\bGI\bIN\bNT\bT trap, exiting a non-in-
- teractive shell, or returning to the top level to read a new
+ teractive shell, or returning to the top level to read a new
command).
- 2. If the command does not terminate due to S\bSI\bIG\bGI\bIN\bNT\bT, the program
- handled the S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a fatal sig-
- nal. In that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a fatal sig-
- nal, either, instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used as part
- of the program's normal operation (e.g., emacs uses it to abort
+ 2. If the command does not terminate due to S\bSI\bIG\bGI\bIN\bNT\bT, the program
+ handled the S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a fatal sig-
+ nal. In that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a fatal sig-
+ nal, either, instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used as part
+ of the program's normal operation (e.g., emacs uses it to abort
editing commands) or deliberately discarded. However, b\bba\bas\bsh\bh will
- run any trap set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with any other trapped
- signal it receives while it is waiting for the foreground com-
+ run any trap set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with any other trapped
+ signal it receives while it is waiting for the foreground com-
mand to complete, for compatibility.
- When job control is enabled, b\bba\bas\bsh\bh does not receive keyboard-generated
- signals such as S\bSI\bIG\bGI\bIN\bNT\bT while it is waiting for a foreground command.
- An interactive shell does not pay attention to the S\bSI\bIG\bGI\bIN\bNT\bT, even if the
- foreground command terminates as a result, other than noting its exit
- status. If the shell is not interactive, and the foreground command
- terminates due to the S\bSI\bIG\bGI\bIN\bNT\bT, b\bba\bas\bsh\bh pretends it received the S\bSI\bIG\bGI\bIN\bNT\bT it-
+ When job control is enabled, b\bba\bas\bsh\bh does not receive keyboard-generated
+ signals such as S\bSI\bIG\bGI\bIN\bNT\bT while it is waiting for a foreground command.
+ An interactive shell does not pay attention to the S\bSI\bIG\bGI\bIN\bNT\bT, even if the
+ foreground command terminates as a result, other than noting its exit
+ status. If the shell is not interactive, and the foreground command
+ terminates due to the S\bSI\bIG\bGI\bIN\bNT\bT, b\bba\bas\bsh\bh pretends it received the S\bSI\bIG\bGI\bIN\bNT\bT it-
self (scenario 1 above), for compatibility.
J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
_\bJ_\bo_\bb _\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the ex-
- ecution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
- point. A user typically employs this facility via an interactive in-
+ ecution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
+ point. A user typically employs this facility via an interactive in-
terface supplied jointly by the operating system kernel's terminal dri-
ver and b\bba\bas\bsh\bh.
- The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
- currently executing jobs, which the j\bjo\bob\bbs\bs command will display. Each
- job has a _\bj_\bo_\bb _\bn_\bu_\bm_\bb_\be_\br, which j\bjo\bob\bbs\bs displays between brackets. Job num-
- bers start at 1. When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\b-
+ The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
+ currently executing jobs, which the j\bjo\bob\bbs\bs command will display. Each
+ job has a _\bj_\bo_\bb _\bn_\bu_\bm_\bb_\be_\br, which j\bjo\bob\bbs\bs displays between brackets. Job num-
+ bers start at 1. When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\b-
_\bg_\br_\bo_\bu_\bn_\bd), it prints a line that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
- the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
+ the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
uses the _\bj_\bo_\bb abstraction as the basis for job control.
- To facilitate the implementation of the user interface to job control,
+ To facilitate the implementation of the user interface to job control,
each process has a _\bp_\br_\bo_\bc_\be_\bs_\bs _\bg_\br_\bo_\bu_\bp _\bI_\bD, and the operating system maintains
the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs _\bg_\br_\bo_\bu_\bp _\bI_\bD. Processes that have
- the same process group ID are said to be part of the same _\bp_\br_\bo_\bc_\be_\bs_\bs
- _\bg_\br_\bo_\bu_\bp. Members of the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd process group (processes whose
+ the same process group ID are said to be part of the same _\bp_\br_\bo_\bc_\be_\bs_\bs
+ _\bg_\br_\bo_\bu_\bp. Members of the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd process group (processes whose
process group ID is equal to the current terminal process group ID) re-
- ceive keyboard-generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. Processes in the
- foreground process group are said to be _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd processes. _\bB_\ba_\bc_\bk_\b-
+ ceive keyboard-generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. Processes in the
+ foreground process group are said to be _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd processes. _\bB_\ba_\bc_\bk_\b-
_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID differs from the ter-
minal's; such processes are immune to keyboard-generated signals. Only
foreground processes are allowed to read from or, if the user so speci-
- fies with "stty tostop", write to the terminal. Background processes
- which attempt to read from (write to when "tostop" is in effect) the
- terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the kernel's terminal
+ fies with "stty tostop", write to the terminal. Background processes
+ which attempt to read from (write to when "tostop" is in effect) the
+ terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the kernel's terminal
driver, which, unless caught, suspends the process.
- If the operating system on which b\bba\bas\bsh\bh is running supports job control,
+ If the operating system on which b\bba\bas\bsh\bh is running supports job control,
b\bba\bas\bsh\bh contains facilities to use it. Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
ically ^\b^Z\bZ, Control-Z) while a process is running stops that process and
- returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typi-
- cally ^\b^Y\bY, Control-Y) causes the process stop when it attempts to read
- input from the terminal, and returns control to b\bba\bas\bsh\bh. The user then
- manipulates the state of this job, using the b\bbg\bg command to continue it
- in the background, the f\bfg\bg command to continue it in the foreground, or
- the k\bki\bil\bll\bl command to kill it. The suspend character takes effect imme-
- diately, and has the additional side effect of discarding any pending
+ returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typi-
+ cally ^\b^Y\bY, Control-Y) causes the process stop when it attempts to read
+ input from the terminal, and returns control to b\bba\bas\bsh\bh. The user then
+ manipulates the state of this job, using the b\bbg\bg command to continue it
+ in the background, the f\bfg\bg command to continue it in the foreground, or
+ the k\bki\bil\bll\bl command to kill it. The suspend character takes effect imme-
+ diately, and has the additional side effect of discarding any pending
output and typeahead. To force a background process to stop, or stop a
- process that's not associated with the current terminal session, send
+ process that's not associated with the current terminal session, send
it the S\bSI\bIG\bGS\bST\bTO\bOP\bP signal using k\bki\bil\bll\bl.
There are a number of ways to refer to a job in the shell. The %\b% char-
acter introduces a job specification (jobspec).
- Job number _\bn may be referred to as %\b%n\bn. A job may also be referred to
- using a prefix of the name used to start it, or using a substring that
- appears in its command line. For example, %\b%c\bce\be refers to a job whose
- command name begins with c\bce\be. Using %\b%?\b?c\bce\be, on the other hand, refers to
+ Job number _\bn may be referred to as %\b%n\bn. A job may also be referred to
+ using a prefix of the name used to start it, or using a substring that
+ appears in its command line. For example, %\b%c\bce\be refers to a job whose
+ command name begins with c\bce\be. Using %\b%?\b?c\bce\be, on the other hand, refers to
any job containing the string c\bce\be in its command line. If the prefix or
substring matches more than one job, b\bba\bas\bsh\bh reports an error.
- The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb.
- A single % (with no accompanying job specification) also refers to the
- current job. %\b%-\b- refers to the _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb. When a job starts in the
+ The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb.
+ A single % (with no accompanying job specification) also refers to the
+ current job. %\b%-\b- refers to the _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb. When a job starts in the
background, a job stops while in the foreground, or a job is resumed in
- the background, it becomes the current job. The job that was the cur-
- rent job becomes the previous job. When the current job terminates,
- the previous job becomes the current job. If there is only a single
- job, %\b%+\b+ and %\b%-\b- can both be used to refer to that job. In output per-
+ the background, it becomes the current job. The job that was the cur-
+ rent job becomes the previous job. When the current job terminates,
+ the previous job becomes the current job. If there is only a single
+ job, %\b%+\b+ and %\b%-\b- can both be used to refer to that job. In output per-
taining to jobs (e.g., the output of the j\bjo\bob\bbs\bs command), the current job
is always marked with a +\b+, and the previous job with a -\b-.
- Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
- a synonym for "fg %1", bringing job 1 from the background into the
+ Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
+ a synonym for "fg %1", bringing job 1 from the background into the
foreground. Similarly, "%1 &" resumes job 1 in the background, equiva-
lent to "bg %1".
- The shell learns immediately whenever a job changes state. Normally,
- b\bba\bas\bsh\bh waits until it is about to print a prompt before notifying the
- user about changes in a job's status so as to not interrupt any other
- output, though it will notify of changes in a job's status after a
- foreground command in a list completes, before executing the next com-
- mand in the list. If the -\b-b\bb option to the s\bse\bet\bt builtin command is en-
+ The shell learns immediately whenever a job changes state. Normally,
+ b\bba\bas\bsh\bh waits until it is about to print a prompt before notifying the
+ user about changes in a job's status so as to not interrupt any other
+ output, though it will notify of changes in a job's status after a
+ foreground command in a list completes, before executing the next com-
+ mand in the list. If the -\b-b\bb option to the s\bse\bet\bt builtin command is en-
abled, b\bba\bas\bsh\bh reports status changes immediately. B\bBa\bas\bsh\bh executes any trap
on S\bSI\bIG\bGC\bCH\bHL\bLD\bD for each child that terminates.
When a job terminates and b\bba\bas\bsh\bh notifies the user about it, b\bba\bas\bsh\bh removes
- the job from the table. It will not appear in j\bjo\bob\bbs\bs output, but w\bwa\bai\bit\bt
- will report its exit status, as long as it's supplied the process ID
- associated with the job as an argument. When the table is empty, job
+ the job from the table. It will not appear in j\bjo\bob\bbs\bs output, but w\bwa\bai\bit\bt
+ will report its exit status, as long as it's supplied the process ID
+ associated with the job as an argument. When the table is empty, job
numbers start over at 1.
- If a user attempts to exit b\bba\bas\bsh\bh while jobs are stopped (or, if the
- c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+ If a user attempts to exit b\bba\bas\bsh\bh while jobs are stopped (or, if the
+ c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
- is enabled, lists the jobs and their statuses. The j\bjo\bob\bbs\bs command may
+ is enabled, lists the jobs and their statuses. The j\bjo\bob\bbs\bs command may
then be used to inspect their status. If the user immediately attempts
- to exit again, without an intervening command, b\bba\bas\bsh\bh does not print an-
+ to exit again, without an intervening command, b\bba\bas\bsh\bh does not print an-
other warning, and terminates any stopped jobs.
- When the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
- and job control is enabled, w\bwa\bai\bit\bt will return when the job changes
+ When the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
+ and job control is enabled, w\bwa\bai\bit\bt will return when the job changes
state. The -\b-f\bf option causes w\bwa\bai\bit\bt to wait until the job or process ter-
minates before returning.
P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
- it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
+ it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
needs more input to complete a command.
- B\bBa\bas\bsh\bh examines the value of the array variable P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD just be-
- fore printing each primary prompt. If any elements in P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
- are set and non-null, Bash executes each value, in numeric order, just
- as if it had been typed on the command line. B\bBa\bas\bsh\bh displays P\bPS\bS0\b0 after
+ B\bBa\bas\bsh\bh examines the value of the array variable P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD just be-
+ fore printing each primary prompt. If any elements in P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
+ are set and non-null, Bash executes each value, in numeric order, just
+ as if it had been typed on the command line. B\bBa\bas\bsh\bh displays P\bPS\bS0\b0 after
it reads a command but before executing it.
- B\bBa\bas\bsh\bh displays P\bPS\bS4\b4 as described above before tracing each command when
+ B\bBa\bas\bsh\bh displays P\bPS\bS4\b4 as described above before tracing each command when
the -\b-x\bx option is enabled.
B\bBa\bas\bsh\bh allows the prompt strings P\bPS\bS0\b0, P\bPS\bS1\b1, P\bPS\bS2\b2, and P\bPS\bS4\b4, to be customized
- by inserting a number of backslash-escaped special characters that are
+ by inserting a number of backslash-escaped special characters that are
decoded as follows:
\\b\a\ba An ASCII bell character (07).
- \\b\d\bd The date in "Weekday Month Date" format (e.g., "Tue May
+ \\b\d\bd The date in "Weekday Month Date" format (e.g., "Tue May
26").
\\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
The _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is in-
serted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results in
- a locale-specific time representation. The braces are
+ a locale-specific time representation. The braces are
required.
\\b\e\be An ASCII escape character (033).
\\b\h\bh The hostname up to the first ".".
\\b\H\bH The hostname.
\\b\j\bj The number of jobs currently managed by the shell.
- \\b\l\bl The basename of the shell's terminal device name (e.g.,
+ \\b\l\bl The basename of the shell's terminal device name (e.g.,
"ttys0").
\\b\n\bn A newline.
\\b\r\br A carriage return.
- \\b\s\bs The name of the shell: the basename of $\b$0\b0 (the portion
+ \\b\s\bs The name of the shell: the basename of $\b$0\b0 (the portion
following the final slash).
\\b\t\bt The current time in 24-hour HH:MM:SS format.
\\b\T\bT The current time in 12-hour HH:MM:SS format.
\\b\u\bu The username of the current user.
\\b\v\bv The b\bba\bas\bsh\bh version (e.g., 2.00).
\\b\V\bV The b\bba\bas\bsh\bh release, version + patch level (e.g., 2.00.0)
- \\b\w\bw The value of the P\bPW\bWD\bD shell variable ($\b$P\bPW\bWD\bD), with $\b$H\bHO\bOM\bME\bE
- abbreviated with a tilde (uses the value of the
+ \\b\w\bw The value of the P\bPW\bWD\bD shell variable ($\b$P\bPW\bWD\bD), with $\b$H\bHO\bOM\bME\bE
+ abbreviated with a tilde (uses the value of the
P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM variable).
- \\b\W\bW The basename of $\b$P\bPW\bWD\bD, with $\b$H\bHO\bOM\bME\bE abbreviated with a
+ \\b\W\bW The basename of $\b$P\bPW\bWD\bD, with $\b$H\bHO\bOM\bME\bE abbreviated with a
tilde.
\\b\!\b! The history number of this command.
\\b\#\b# The command number of this command.
\\b\$\b$ If the effective UID is 0, a #\b#, otherwise a $\b$.
\\b\_\bn_\bn_\bn The character corresponding to the octal number _\bn_\bn_\bn.
\\b\\\b\ A backslash.
- \\b\[\b[ Begin a sequence of non-printing characters, which could
- be used to embed a terminal control sequence into the
+ \\b\[\b[ Begin a sequence of non-printing characters, which could
+ be used to embed a terminal control sequence into the
prompt.
\\b\]\b] End a sequence of non-printing characters.
- The command number and the history number are usually different: the
- history number of a command is its position in the history list, which
- may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY be-
- low), while the command number is the position in the sequence of com-
- mands executed during the current shell session. After the string is
- decoded, it is expanded via parameter expansion, command substitution,
- arithmetic expansion, and quote removal, subject to the value of the
+ The command number and the history number are usually different: the
+ history number of a command is its position in the history list, which
+ may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY be-
+ low), while the command number is the position in the sequence of com-
+ mands executed during the current shell session. After the string is
+ decoded, it is expanded via parameter expansion, command substitution,
+ arithmetic expansion, and quote removal, subject to the value of the
p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the s\bsh\bho\bop\bpt\bt command under
- S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). This can have unwanted side effects if
- escaped portions of the string appear within command substitution or
+ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). This can have unwanted side effects if
+ escaped portions of the string appear within command substitution or
contain characters special to word expansion.
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
- This is the library that handles reading input when using an interac-
- tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is supplied at shell invoca-
- tion. Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd
+ This is the library that handles reading input when using an interac-
+ tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is supplied at shell invoca-
+ tion. Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd
builtin. By default, the line editing commands are similar to those of
emacs; a vi-style line editing interface is also available. Line edit-
- ing can be enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to
- the s\bse\bet\bt builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line
- editing after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options
+ ing can be enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to
+ the s\bse\bet\bt builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line
+ editing after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options
to the s\bse\bet\bt builtin.
R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
- This section uses Emacs-style editing concepts and uses its notation
- for keystrokes. Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means
- Control-N. Similarly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means
+ This section uses Emacs-style editing concepts and uses its notation
+ for keystrokes. Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means
+ Control-N. Similarly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means
Meta-X. The Meta key is often labeled "Alt" or "Option".
- On keyboards without a _\bM_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press and re-
- lease the Escape key, then press and release the _\bx key, in sequence.
- This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx. The combination M-C-_\bx means ESC-Con-
- trol-_\bx: press and release the Escape key, then press and hold the Con-
+ On keyboards without a _\bM_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press and re-
+ lease the Escape key, then press and release the _\bx key, in sequence.
+ This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx. The combination M-C-_\bx means ESC-Con-
+ trol-_\bx: press and release the Escape key, then press and hold the Con-
trol key while pressing the _\bx key, then release both.
- On some keyboards, the Meta key modifier produces characters with the
- eighth bit (0200) set. You can use the e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by variable to
- control whether or not it does this, if the keyboard allows it. On
- many others, the terminal or terminal emulator converts the metafied
- key to a key sequence beginning with ESC as described in the preceding
+ On some keyboards, the Meta key modifier produces characters with the
+ eighth bit (0200) set. You can use the e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by variable to
+ control whether or not it does this, if the keyboard allows it. On
+ many others, the terminal or terminal emulator converts the metafied
+ key to a key sequence beginning with ESC as described in the preceding
paragraph.
- If your _\bM_\be_\bt_\ba key produces a key sequence with the ESC meta prefix, you
- can make M-_\bk_\be_\by key bindings you specify (see R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs be-
+ If your _\bM_\be_\bt_\ba key produces a key sequence with the ESC meta prefix, you
+ can make M-_\bk_\be_\by key bindings you specify (see R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs be-
low) do the same thing by setting the f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx variable.
R\bRe\bea\bad\bdl\bli\bin\bne\be commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
- a repeat count. Sometimes, however, it is the sign of the argument
- that is significant. Passing a negative argument to a command that
- acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) makes that command act
- in a backward direction. Commands whose behavior with arguments devi-
+ a repeat count. Sometimes, however, it is the sign of the argument
+ that is significant. Passing a negative argument to a command that
+ acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) makes that command act
+ in a backward direction. Commands whose behavior with arguments devi-
ates from this are noted below.
- The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers to a saved
+ The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers to a saved
cursor position. The text between the point and mark is referred to as
the _\br_\be_\bg_\bi_\bo_\bn. R\bRe\bea\bad\bdl\bli\bin\bne\be has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the re-
- gion is active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay highlights the region using the
+ gion is active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay highlights the region using the
value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br variable. The e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
- g\bgi\bio\bon\bn variable turns this on and off. Several commands set the region
+ g\bgi\bio\bon\bn variable turns this on and off. Several commands set the region
to active; those are noted below.
- When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
+ When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg). The killed text is saved in a
- _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg. Consecutive kills accumulate the deleted text into one
+ _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg. Consecutive kills accumulate the deleted text into one
unit, which can be yanked all at once. Commands which do not kill text
separate the chunks of text on the kill ring.
R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
- R\bRe\bea\bad\bdl\bli\bin\bne\be is customized by putting commands in an initialization file
- (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
- the I\bIN\bNP\bPU\bUT\bTR\bRC\bC shell variable. If that variable is unset, the default is
- _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc. If that file does not exist or cannot be read, r\bre\bea\bad\bdl\bli\bin\bne\be
+ R\bRe\bea\bad\bdl\bli\bin\bne\be is customized by putting commands in an initialization file
+ (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
+ the I\bIN\bNP\bPU\bUT\bTR\bRC\bC shell variable. If that variable is unset, the default is
+ _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc. If that file does not exist or cannot be read, r\bre\bea\bad\bdl\bli\bin\bne\be
looks for _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the r\bre\bea\bad\bdl\bli\bin\bne\be library
- starts up, r\bre\bea\bad\bdl\bli\bin\bne\be reads the initialization file and sets the key
+ starts up, r\bre\bea\bad\bdl\bli\bin\bne\be reads the initialization file and sets the key
bindings and variables found there, before reading any user input.
- There are only a few basic constructs allowed in the inputrc file.
+ There are only a few basic constructs allowed in the inputrc file.
Blank lines are ignored. Lines beginning with a #\b# are comments. Lines
beginning with a $\b$ indicate conditional constructs. Other lines denote
key bindings and variable settings.
The default key-bindings in this section may be changed using key bind-
- ing commands in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Programs that use the r\bre\bea\bad\bdl\bli\bin\bne\be li-
+ ing commands in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Programs that use the r\bre\bea\bad\bdl\bli\bin\bne\be li-
brary, including b\bba\bas\bsh\bh, may add their own commands and bindings.
For example, placing
or
C-Meta-u: universal-argument
- into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the r\bre\bea\bad\bdl\bli\bin\bne\be command _\bu_\bn_\bi_\bv_\be_\br_\b-
+ into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the r\bre\bea\bad\bdl\bli\bin\bne\be command _\bu_\bn_\bi_\bv_\be_\br_\b-
_\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
- Key bindings may contain the following symbolic character names: _\bD_\bE_\bL,
- _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT(a_\bd_\be_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bv_\bebackspace),
+ Key bindings may contain the following symbolic character names: _\bD_\bE_\bL,
+ _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT(a_\bd_\be_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bv_\bebackspace),
_\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
- In addition to command names, r\bre\bea\bad\bdl\bli\bin\bne\be allows keys to be bound to a
+ In addition to command names, r\bre\bea\bad\bdl\bli\bin\bne\be allows keys to be bound to a
string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo). The differ-
- ence between a macro and a command is that a macro is enclosed in sin-
+ ence between a macro and a command is that a macro is enclosed in sin-
gle or double quotes.
R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
- The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
- All that is required is the name of the command or the text of a macro
- and a key sequence to which it should be bound. The key sequence may
- be specified in one of two ways: as a symbolic key name, possibly with
- _\bM_\be_\bt_\ba_\b- or _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence composed of one or
- more characters enclosed in double quotes. The key sequence and name
- are separated by a colon. There can be no whitespace between the name
+ The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
+ All that is required is the name of the command or the text of a macro
+ and a key sequence to which it should be bound. The key sequence may
+ be specified in one of two ways: as a symbolic key name, possibly with
+ _\bM_\be_\bt_\ba_\b- or _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence composed of one or
+ more characters enclosed in double quotes. The key sequence and name
+ are separated by a colon. There can be no whitespace between the name
and the colon.
When using the form k\bke\bey\byn\bna\bam\bme\be:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, _\bk_\be_\by_\bn_\ba_\bm_\be is the name
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
- _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
- run the macro expressed on the right hand side (that is, to insert the
+ In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+ _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
+ run the macro expressed on the right hand side (that is, to insert the
text "> output" into the line).
- In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
- from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
- be specified by placing the sequence within double quotes. Some GNU
- Emacs style key escapes can be used, as in the following example, but
+ In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
+ from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+ be specified by placing the sequence within double quotes. Some GNU
+ Emacs style key escapes can be used, as in the following example, but
none of the symbolic character names are recognized.
"\C-u": universal-argument
"\e[11~": "Function Key 1"
In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
- _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
+ _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
bound to insert the text "Function Key 1".
- The full set of GNU Emacs style escape sequences available when speci-
+ The full set of GNU Emacs style escape sequences available when speci-
fying key sequences is
\\b\C\bC-\b- A control prefix.
- \\b\M\bM-\b- Adding the meta prefix or converting the following char-
- acter to a meta character, as described below under
+ \\b\M\bM-\b- Adding the meta prefix or converting the following char-
+ acter to a meta character, as described below under
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx.
\\b\e\be An escape character.
\\b\\\b\ Backslash.
\\b\"\b" Literal ", a double quote.
\\b\'\b' Literal ', a single quote.
- In addition to the GNU Emacs style escape sequences, a second set of
+ In addition to the GNU Emacs style escape sequences, a second set of
backslash escapes is available:
\\b\a\ba alert (bell)
\\b\b\bb backspace
\\b\r\br carriage return
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
- \\b\_\bn_\bn_\bn The eight-bit character whose value is the octal value
+ \\b\_\bn_\bn_\bn The eight-bit character whose value is the octal value
_\bn_\bn_\bn (one to three digits).
- \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits).
When entering the text of a macro, single or double quotes must be used
to indicate a macro definition. Unquoted text is assumed to be a func-
- tion name. Tthe backslash escapes described above are expanded in the
- macro body. Backslash will quote any other character in the macro
+ tion name. Tthe backslash escapes described above are expanded in the
+ macro body. Backslash will quote any other character in the macro
text, including " and '.
- B\bBa\bas\bsh\bh will display or modify the current r\bre\bea\bad\bdl\bli\bin\bne\be key bindings with the
+ B\bBa\bas\bsh\bh will display or modify the current r\bre\bea\bad\bdl\bli\bin\bne\be key bindings with the
b\bbi\bin\bnd\bd builtin command. The -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt builtin
- (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will change the editing mode during
+ (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will change the editing mode during
interactive use.
R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
or using the b\bbi\bin\bnd\bd builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- Except where noted, r\bre\bea\bad\bdl\bli\bin\bne\be variables can take the values O\bOn\bn or O\bOf\bff\bf
- (without regard to case). Unrecognized variable names are ignored.
+ Except where noted, r\bre\bea\bad\bdl\bli\bin\bne\be variables can take the values O\bOn\bn or O\bOf\bff\bf
+ (without regard to case). Unrecognized variable names are ignored.
When r\bre\bea\bad\bdl\bli\bin\bne\be reads a variable value, empty or null values, "on" (case-
- insensitive), and "1" are equivalent to O\bOn\bn. All other values are
+ insensitive), and "1" are equivalent to O\bOn\bn. All other values are
equivalent to O\bOf\bff\bf.
- The b\bbi\bin\bnd\bd -\b-V\bV command lists the current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and val-
+ The b\bbi\bin\bnd\bd -\b-V\bV command lists the current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and val-
ues (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
The variables and their default values are:
a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br
- A string variable that controls the text color and background
- when displaying the text in the active region (see the descrip-
- tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below). This string must not take
+ A string variable that controls the text color and background
+ when displaying the text in the active region (see the descrip-
+ tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below). This string must not take
up any physical character positions on the display, so it should
- consist only of terminal escape sequences. It is output to the
- terminal before displaying the text in the active region. This
- variable is reset to the default value whenever the terminal
- type changes. The default value is the string that puts the
- terminal in standout mode, as obtained from the terminal's ter-
+ consist only of terminal escape sequences. It is output to the
+ terminal before displaying the text in the active region. This
+ variable is reset to the default value whenever the terminal
+ type changes. The default value is the string that puts the
+ terminal in standout mode, as obtained from the terminal's ter-
minfo description. A sample value might be "\e[01;33m".
a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-e\ben\bnd\bd-\b-c\bco\bol\blo\bor\br
- A string variable that "undoes" the effects of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
- g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br and restores "normal" terminal display appear-
- ance after displaying text in the active region. This string
- must not take up any physical character positions on the dis-
- play, so it should consist only of terminal escape sequences.
- It is output to the terminal after displaying the text in the
- active region. This variable is reset to the default value
- whenever the terminal type changes. The default value is the
- string that restores the terminal from standout mode, as ob-
+ A string variable that "undoes" the effects of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+ g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br and restores "normal" terminal display appear-
+ ance after displaying text in the active region. This string
+ must not take up any physical character positions on the dis-
+ play, so it should consist only of terminal escape sequences.
+ It is output to the terminal after displaying the text in the
+ active region. This variable is reset to the default value
+ whenever the terminal type changes. The default value is the
+ string that restores the terminal from standout mode, as ob-
tained from the terminal's terminfo description. A sample value
might be "\e[0m".
b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
- Controls what happens when r\bre\bea\bad\bdl\bli\bin\bne\be wants to ring the terminal
+ Controls what happens when r\bre\bea\bad\bdl\bli\bin\bne\be wants to ring the terminal
bell. If set to n\bno\bon\bne\be, r\bre\bea\bad\bdl\bli\bin\bne\be never rings the bell. If set to
- v\bvi\bis\bsi\bib\bbl\ble\be, r\bre\bea\bad\bdl\bli\bin\bne\be uses a visible bell if one is available. If
+ v\bvi\bis\bsi\bib\bbl\ble\be, r\bre\bea\bad\bdl\bli\bin\bne\be uses a visible bell if one is available. If
set to a\bau\bud\bdi\bib\bbl\ble\be, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to ring the terminal's bell.
b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to bind the control characters
- that are treated specially by the kernel's terminal driver to
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to bind the control characters
+ that are treated specially by the kernel's terminal driver to
their r\bre\bea\bad\bdl\bli\bin\bne\be equivalents. These override the default r\bre\bea\bad\bdl\bli\bin\bne\be
bindings described here. Type "stty -a" at a b\bba\bas\bsh\bh prompt to see
- your current terminal settings, including the special control
+ your current terminal settings, including the special control
characters (usually c\bcc\bch\bha\bar\brs\bs).
b\bbl\bli\bin\bnk\bk-\b-m\bma\bat\btc\bch\bhi\bin\bng\bg-\b-p\bpa\bar\bre\ben\bn (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to briefly move the cursor to an
opening parenthesis when a closing parenthesis is inserted.
c\bco\bol\blo\bor\bre\bed\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, when listing completions, r\bre\bea\bad\bdl\bli\bin\bne\be displays the
+ If set to O\bOn\bn, when listing completions, r\bre\bea\bad\bdl\bli\bin\bne\be displays the
common prefix of the set of possible completions using a differ-
- ent color. The color definitions are taken from the value of
+ ent color. The color definitions are taken from the value of
the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment variable. If there is a color defini-
tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix ".readline-colored-com-
- pletion-prefix", r\bre\bea\bad\bdl\bli\bin\bne\be uses this color for the common prefix
+ pletion-prefix", r\bre\bea\bad\bdl\bli\bin\bne\be uses this color for the common prefix
instead of its default.
c\bco\bol\blo\bor\bre\bed\bd-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays possible completions using dif-
- ferent colors to indicate their file type. The color defini-
- tions are taken from the value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays possible completions using dif-
+ ferent colors to indicate their file type. The color defini-
+ tions are taken from the value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
variable.
c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b("#\b#")\b)
- The string that the r\bre\bea\bad\bdl\bli\bin\bne\be i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt command inserts.
- This command is bound to M\bM-\b-#\b# in emacs mode and to #\b# in vi com-
+ The string that the r\bre\bea\bad\bdl\bli\bin\bne\be i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt command inserts.
+ This command is bound to M\bM-\b-#\b# in emacs mode and to #\b# in vi com-
mand mode.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh (\b(-\b-1\b1)\b)
- The number of screen columns used to display possible matches
- when performing completion. The value is ignored if it is less
- than 0 or greater than the terminal screen width. A value of 0
- will cause matches to be displayed one per line. The default
+ The number of screen columns used to display possible matches
+ when performing completion. The value is ignored if it is less
+ than 0 or greater than the terminal screen width. A value of 0
+ will cause matches to be displayed one per line. The default
value is -1.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs filename matching and completion
in a case-insensitive fashion.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-m\bma\bap\bp-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, r\bre\bea\bad\bdl\bli\bin\bne\be
- treats hyphens (_\b-) and underscores (_\b_) as equivalent when per-
+ If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, r\bre\bea\bad\bdl\bli\bin\bne\be
+ treats hyphens (_\b-) and underscores (_\b_) as equivalent when per-
forming case-insensitive filename matching and completion.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
- The maximum length in characters of the common prefix of a list
- of possible completions that is displayed without modification.
- When set to a value greater than zero, r\bre\bea\bad\bdl\bli\bin\bne\be replaces common
+ The maximum length in characters of the common prefix of a list
+ of possible completions that is displayed without modification.
+ When set to a value greater than zero, r\bre\bea\bad\bdl\bli\bin\bne\be replaces common
prefixes longer than this value with an ellipsis when displaying
possible completions.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
- This determines when the user is queried about viewing the num-
- ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
- t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
- or equal to zero. If the number of possible completions is
- greater than or equal to the value of this variable, r\bre\bea\bad\bdl\bli\bin\bne\be
- will ask whether or not the user wishes to view them; otherwise
- r\bre\bea\bad\bdl\bli\bin\bne\be simply lists them on the terminal. A zero value means
+ This determines when the user is queried about viewing the num-
+ ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+ t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
+ or equal to zero. If the number of possible completions is
+ greater than or equal to the value of this variable, r\bre\bea\bad\bdl\bli\bin\bne\be
+ will ask whether or not the user wishes to view them; otherwise
+ r\bre\bea\bad\bdl\bli\bin\bne\be simply lists them on the terminal. A zero value means
r\bre\bea\bad\bdl\bli\bin\bne\be should never ask; negative values are treated as zero.
c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will convert characters it reads that
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will convert characters it reads that
have the eighth bit set to an ASCII key sequence by clearing the
eighth bit and prefixing it with an escape character (converting
- the character to have the meta prefix). The default is _\bO_\bn, but
- r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bf_\bf if the locale contains characters
+ the character to have the meta prefix). The default is _\bO_\bn, but
+ r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bf_\bf if the locale contains characters
whose encodings may include bytes with the eighth bit set. This
- variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may
- change if the locale changes. This variable also affects key
+ variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may
+ change if the locale changes. This variable also affects key
bindings; see the description of f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx below.
d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will inhibit word completion. Completion
- characters will be inserted into the line as if they had been
+ characters will be inserted into the line as if they had been
mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, on operating systems that indicate they support
+ When set to O\bOn\bn, on operating systems that indicate they support
it, r\bre\bea\bad\bdl\bli\bin\bne\be echoes a character corresponding to a signal gener-
ated from the keyboard.
e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
- Controls whether r\bre\bea\bad\bdl\bli\bin\bne\be uses a set of key bindings similar to
+ Controls whether r\bre\bea\bad\bdl\bli\bin\bne\be uses a set of key bindings similar to
_\bE_\bm_\ba_\bc_\bs or _\bv_\bi. e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or v\bvi\bi.
e\bem\bma\bac\bcs\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b(@\b@)\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
when emacs editing mode is active. The value is expanded like a
- key binding, so the standard set of meta- and control- prefixes
- and backslash escape sequences is available. The \1 and \2 es-
- capes begin and end sequences of non-printing characters, which
- can be used to embed a terminal control sequence into the mode
+ key binding, so the standard set of meta- and control- prefixes
+ and backslash escape sequences is available. The \1 and \2 es-
+ capes begin and end sequences of non-printing characters, which
+ can be used to embed a terminal control sequence into the mode
string.
e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn (\b(O\bOn\bn)\b)
- When this variable is set to _\bO_\bn, r\bre\bea\bad\bdl\bli\bin\bne\be allows certain com-
+ When this variable is set to _\bO_\bn, r\bre\bea\bad\bdl\bli\bin\bne\be allows certain com-
mands to designate the region as _\ba_\bc_\bt_\bi_\bv_\be. When the region is ac-
tive, r\bre\bea\bad\bdl\bli\bin\bne\be highlights the text in the region using the value
- of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br, which defaults to the string
- that enables the terminal's standout mode. The active region
+ of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br, which defaults to the string
+ that enables the terminal's standout mode. The active region
shows the text inserted by bracketed-paste and any matching text
found by incremental and non-incremental history searches.
e\ben\bna\bab\bbl\ble\be-\b-b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be configures the terminal to insert each
- paste into the editing buffer as a single string of characters,
- instead of treating each character as if it had been read from
- the keyboard. This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
- r\bre\bea\bad\bdl\bli\bin\bne\be from executing any editing commands bound to key se-
+ When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be configures the terminal to insert each
+ paste into the editing buffer as a single string of characters,
+ instead of treating each character as if it had been read from
+ the keyboard. This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
+ r\bre\bea\bad\bdl\bli\bin\bne\be from executing any editing commands bound to key se-
quences appearing in the pasted text.
e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable the application key-
pad when it is called. Some systems need this to enable the ar-
row keys.
e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable any meta modifier
+ When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable any meta modifier
key the terminal claims to support. On many terminals, the Meta
- key is used to send eight-bit characters; this variable checks
- for the terminal capability that indicates the terminal can en-
- able and disable a mode that sets the eighth bit of a character
- (0200) if the Meta key is held down when the character is typed
+ key is used to send eight-bit characters; this variable checks
+ for the terminal capability that indicates the terminal can en-
+ able and disable a mode that sets the eighth bit of a character
+ (0200) if the Meta key is held down when the character is typed
(a meta character).
e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs tilde expansion when it attempts
word completion.
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be modifies its behavior when binding key
- sequences containing \M- or Meta- (see K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs above) by
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be modifies its behavior when binding key
+ sequences containing \M- or Meta- (see K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs above) by
converting a key sequence of the form \M-_\bC or Meta-_\bC to the two-
- character sequence E\bES\bSC\bC _\bC (adding the meta prefix). If
+ character sequence E\bES\bSC\bC _\bC (adding the meta prefix). If
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx is set to O\bOf\bff\bf (the default), r\bre\bea\bad\bdl\bli\bin\bne\be uses the
- value of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to per-
- form this conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs
- the conversion described above; if it is O\bOf\bff\bf, r\bre\bea\bad\bdl\bli\bin\bne\be converts
+ value of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to per-
+ form this conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs
+ the conversion described above; if it is O\bOf\bff\bf, r\bre\bea\bad\bdl\bli\bin\bne\be converts
_\bC to a meta character by setting the eighth bit (0200).
h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, the history code attempts to place point at the
- same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+ If set to O\bOn\bn, the history code attempts to place point at the
+ same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(u\bun\bns\bse\bet\bt)\b)
- Set the maximum number of history entries saved in the history
- list. If set to zero, any existing history entries are deleted
+ Set the maximum number of history entries saved in the history
+ list. If set to zero, any existing history entries are deleted
and no new entries are saved. If set to a value less than zero,
- the number of history entries is not limited. By default, b\bba\bas\bsh\bh
- sets the the maximum number of history entries to the value of
- the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE shell variable. Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-nu-
- meric value will set the maximum number of history entries to
+ the number of history entries is not limited. By default, b\bba\bas\bsh\bh
+ sets the the maximum number of history entries to the value of
+ the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE shell variable. Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-nu-
+ meric value will set the maximum number of history entries to
500.
h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
Setting this variable to O\bOn\bn makes r\bre\bea\bad\bdl\bli\bin\bne\be use a single line for
- display, scrolling the input horizontally on a single screen
- line when it becomes longer than the screen width rather than
- wrapping to a new line. This setting is automatically enabled
+ display, scrolling the input horizontally on a single screen
+ line when it becomes longer than the screen width rather than
+ wrapping to a new line. This setting is automatically enabled
for terminals of height 1.
i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will enable eight-bit input (that is, it
- will not clear the eighth bit in the characters it reads), re-
- gardless of what the terminal claims it can support. The de-
- fault is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale con-
- tains characters whose encodings may include bytes with the
- eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
- cale category, and its value may change if the locale changes.
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will enable eight-bit input (that is, it
+ will not clear the eighth bit in the characters it reads), re-
+ gardless of what the terminal claims it can support. The de-
+ fault is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale con-
+ tains characters whose encodings may include bytes with the
+ eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
+ cale category, and its value may change if the locale changes.
The name m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba.
i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b("C\bC-\b-[\b[C\bC-\b-J\bJ")\b)
- The string of characters that should terminate an incremental
- search without subsequently executing the character as a com-
- mand. If this variable has not been given a value, the charac-
+ The string of characters that should terminate an incremental
+ search without subsequently executing the character as a com-
+ mand. If this variable has not been given a value, the charac-
ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
- Set the current r\bre\bea\bad\bdl\bli\bin\bne\be keymap. The set of valid keymap names
- is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
- equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
+ Set the current r\bre\bea\bad\bdl\bli\bin\bne\be keymap. The set of valid keymap names
+ is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+ equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
k\bke\bey\bys\bse\beq\bq-\b-t\bti\bim\bme\beo\bou\but\bt (\b(5\b50\b00\b0)\b)
- Specifies the duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a character when
- reading an ambiguous key sequence (one that can form a complete
+ Specifies the duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a character when
+ reading an ambiguous key sequence (one that can form a complete
key sequence using the input read so far, or can take additional
- input to complete a longer key sequence). If r\bre\bea\bad\bdl\bli\bin\bne\be does not
- receive any input within the timeout, it will use the shorter
- but complete key sequence. The value is specified in millisec-
- onds, so a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one sec-
- ond for additional input. If this variable is set to a value
- less than or equal to zero, or to a non-numeric value, r\bre\bea\bad\bdl\bli\bin\bne\be
- will wait until another key is pressed to decide which key se-
+ input to complete a longer key sequence). If r\bre\bea\bad\bdl\bli\bin\bne\be does not
+ receive any input within the timeout, it will use the shorter
+ but complete key sequence. The value is specified in millisec-
+ onds, so a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one sec-
+ ond for additional input. If this variable is set to a value
+ less than or equal to zero, or to a non-numeric value, r\bre\bea\bad\bdl\bli\bin\bne\be
+ will wait until another key is pressed to decide which key se-
quence to complete.
m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
If set to O\bOn\bn, completed directory names have a slash appended.
m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays history lines that have been
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays history lines that have been
modified with a preceding asterisk (*\b*).
m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, completed names which are symbolic links to direc-
- tories have a slash appended, subject to the value of m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
+ tories have a slash appended, subject to the value of m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
r\bre\bec\bct\bto\bor\bri\bie\bes\bs.
m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
- This variable, when set to O\bOn\bn, forces r\bre\bea\bad\bdl\bli\bin\bne\be to match files
- whose names begin with a "." (hidden files) when performing
- filename completion. If set to O\bOf\bff\bf, the user must include the
+ This variable, when set to O\bOn\bn, forces r\bre\bea\bad\bdl\bli\bin\bne\be to match files
+ whose names begin with a "." (hidden files) when performing
+ filename completion. If set to O\bOf\bff\bf, the user must include the
leading "." in the filename to be completed.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, menu completion displays the common prefix of the
+ If set to O\bOn\bn, menu completion displays the common prefix of the
list of possible completions (which may be empty) before cycling
through the list.
o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display characters with the eighth
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display characters with the eighth
bit set directly rather than as a meta-prefixed escape sequence.
The default is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale
- contains characters whose encodings may include bytes with the
- eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
+ contains characters whose encodings may include bytes with the
+ eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
cale category, and its value may change if the locale changes.
p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be uses an internal _\bm_\bo_\br_\be-like pager to dis-
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be uses an internal _\bm_\bo_\br_\be-like pager to dis-
play a screenful of possible completions at a time.
p\bpr\bre\bef\bfe\ber\br-\b-v\bvi\bis\bsi\bib\bbl\ble\be-\b-b\bbe\bel\bll\bl
See b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be.
p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display completions with matches
- sorted horizontally in alphabetical order, rather than down the
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display completions with matches
+ sorted horizontally in alphabetical order, rather than down the
screen.
r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes to history lines
- before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be. By default, his-
- tory lines may be modified and retain individual undo lists
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes to history lines
+ before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be. By default, his-
+ tory lines may be modified and retain individual undo lists
across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
s\bse\bea\bar\brc\bch\bh-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and non-incremental
+ If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and non-incremental
history list searches in a case-insensitive fashion.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions.
+ This alters the default behavior of the completion functions.
If set to O\bOn\bn, words which have more than one possible completion
- cause the matches to be listed immediately instead of ringing
+ cause the matches to be listed immediately instead of ringing
the bell.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions in
+ This alters the default behavior of the completion functions in
a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs. If set to O\bOn\bn, words
- which have more than one possible completion without any possi-
- ble partial completion (the possible completions don't share a
- common prefix) cause the matches to be listed immediately in-
+ which have more than one possible completion without any possi-
+ ble partial completion (the possible completions don't share a
+ common prefix) cause the matches to be listed immediately in-
stead of ringing the bell.
s\bsh\bho\bow\bw-\b-m\bmo\bod\bde\be-\b-i\bin\bn-\b-p\bpr\bro\bom\bmp\bpt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, add a string to the beginning of the prompt indi-
- cating the editing mode: emacs, vi command, or vi insertion.
+ If set to O\bOn\bn, add a string to the beginning of the prompt indi-
+ cating the editing mode: emacs, vi command, or vi insertion.
The mode strings are user-settable (e.g., _\be_\bm_\ba_\bc_\bs_\b-_\bm_\bo_\bd_\be_\b-_\bs_\bt_\br_\bi_\bn_\bg).
s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, this alters the default completion behavior when
- inserting a single match into the line. It's only active when
- performing completion in the middle of a word. If enabled,
- r\bre\bea\bad\bdl\bli\bin\bne\be does not insert characters from the completion that
- match characters after point in the word being completed, so
+ If set to O\bOn\bn, this alters the default completion behavior when
+ inserting a single match into the line. It's only active when
+ performing completion in the middle of a word. If enabled,
+ r\bre\bea\bad\bdl\bli\bin\bne\be does not insert characters from the completion that
+ match characters after point in the word being completed, so
portions of the word following the cursor are not duplicated.
v\bvi\bi-\b-c\bcm\bmd\bd-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(c\bcm\bmd\bd)\b))\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
- when vi editing mode is active and in command mode. The value
+ when vi editing mode is active and in command mode. The value
is expanded like a key binding, so the standard set of meta- and
- control- prefixes and backslash escape sequences is available.
- The \1 and \2 escapes begin and end sequences of non-printing
- characters, which can be used to embed a terminal control se-
+ control- prefixes and backslash escape sequences is available.
+ The \1 and \2 escapes begin and end sequences of non-printing
+ characters, which can be used to embed a terminal control se-
quence into the mode string.
v\bvi\bi-\b-i\bin\bns\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(i\bin\bns\bs)\b))\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
when vi editing mode is active and in insertion mode. The value
is expanded like a key binding, so the standard set of meta- and
- control- prefixes and backslash escape sequences is available.
- The \1 and \2 escapes begin and end sequences of non-printing
- characters, which can be used to embed a terminal control se-
+ control- prefixes and backslash escape sequences is available.
+ The \1 and \2 escapes begin and end sequences of non-printing
+ characters, which can be used to embed a terminal control se-
quence into the mode string.
v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, a character denoting a file's type as reported by
- _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
+ If set to O\bOn\bn, a character denoting a file's type as reported by
+ _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
pletions.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
- R\bRe\bea\bad\bdl\bli\bin\bne\be implements a facility similar in spirit to the conditional
- compilation features of the C preprocessor which allows key bindings
- and variable settings to be performed as the result of tests. There
+ R\bRe\bea\bad\bdl\bli\bin\bne\be implements a facility similar in spirit to the conditional
+ compilation features of the C preprocessor which allows key bindings
+ and variable settings to be performed as the result of tests. There
are four parser directives available.
- $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
- ing mode, the terminal being used, or the application using
- r\bre\bea\bad\bdl\bli\bin\bne\be. The text of the test, after any comparison operator,
+ $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
+ ing mode, the terminal being used, or the application using
+ r\bre\bea\bad\bdl\bli\bin\bne\be. The text of the test, after any comparison operator,
extends to the end of the line; unless otherwise noted, no char-
acters are required to isolate it.
- m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
- whether r\bre\bea\bad\bdl\bli\bin\bne\be is in emacs or vi mode. This may be
- used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for in-
- stance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
- _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if r\bre\bea\bad\bdl\bli\bin\bne\be is starting out in
+ m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
+ whether r\bre\bea\bad\bdl\bli\bin\bne\be is in emacs or vi mode. This may be
+ used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for in-
+ stance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
+ _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if r\bre\bea\bad\bdl\bli\bin\bne\be is starting out in
emacs mode.
- t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
+ t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
key bindings, perhaps to bind the key sequences output by
the terminal's function keys. The word on the right side
of the =\b= is tested against both the full name of the ter-
- minal and the portion of the terminal name before the
- first -\b-. This allows _\bx_\bt_\be_\br_\bm to match both _\bx_\bt_\be_\br_\bm and
+ minal and the portion of the terminal name before the
+ first -\b-. This allows _\bx_\bt_\be_\br_\bm to match both _\bx_\bt_\be_\br_\bm and
_\bx_\bt_\be_\br_\bm_\b-_\b2_\b5_\b6_\bc_\bo_\bl_\bo_\br, for instance.
v\bve\ber\brs\bsi\bio\bon\bn
- The v\bve\ber\brs\bsi\bio\bon\bn test may be used to perform comparisons
- against specific r\bre\bea\bad\bdl\bli\bin\bne\be versions. The v\bve\ber\brs\bsi\bio\bon\bn expands
- to the current r\bre\bea\bad\bdl\bli\bin\bne\be version. The set of comparison
- operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
- The version number supplied on the right side of the op-
- erator consists of a major version number, an optional
+ The v\bve\ber\brs\bsi\bio\bon\bn test may be used to perform comparisons
+ against specific r\bre\bea\bad\bdl\bli\bin\bne\be versions. The v\bve\ber\brs\bsi\bio\bon\bn expands
+ to the current r\bre\bea\bad\bdl\bli\bin\bne\be version. The set of comparison
+ operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
+ The version number supplied on the right side of the op-
+ erator consists of a major version number, an optional
decimal point, and an optional minor version (e.g., 7\b7.\b.1\b1).
- If the minor version is omitted, it defaults to 0\b0. The
- operator may be separated from the string v\bve\ber\brs\bsi\bio\bon\bn and
+ If the minor version is omitted, it defaults to 0\b0. The
+ operator may be separated from the string v\bve\ber\brs\bsi\bio\bon\bn and
from the version number argument by whitespace.
_\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn
The _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn construct is used to include application-
- specific settings. Each program using the r\bre\bea\bad\bdl\bli\bin\bne\be li-
- brary sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
+ specific settings. Each program using the r\bre\bea\bad\bdl\bli\bin\bne\be li-
+ brary sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
file can test for a particular value. This could be used
- to bind key sequences to functions useful for a specific
- program. For instance, the following command adds a key
- sequence that quotes the current or previous word in
+ to bind key sequences to functions useful for a specific
+ program. For instance, the following command adds a key
+ sequence that quotes the current or previous word in
b\bba\bas\bsh\bh:
$\b$i\bif\bf Bash
_\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
The _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be construct provides simple equality tests for
- r\bre\bea\bad\bdl\bli\bin\bne\be variables and values. The permitted comparison
- operators are _\b=, _\b=_\b=, and _\b!_\b=. The variable name must be
+ r\bre\bea\bad\bdl\bli\bin\bne\be variables and values. The permitted comparison
+ operators are _\b=, _\b=_\b=, and _\b!_\b=. The variable name must be
separated from the comparison operator by whitespace; the
- operator may be separated from the value on the right
- hand side by whitespace. String and boolean variables
- may be tested. Boolean variables must be tested against
+ operator may be separated from the value on the right
+ hand side by whitespace. String and boolean variables
+ may be tested. Boolean variables must be tested against
the values _\bo_\bn and _\bo_\bf_\bf.
$\b$e\bel\bls\bse\be Commands in this branch of the $\b$i\bif\bf directive are executed if the
command.
$\b$i\bin\bnc\bcl\blu\bud\bde\be
- This directive takes a single filename as an argument and reads
+ This directive takes a single filename as an argument and reads
commands and key bindings from that file. For example, the fol-
lowing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
$\b$i\bin\bnc\bcl\blu\bud\bde\be _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
S\bSe\bea\bar\brc\bch\bhi\bin\bng\bg
- R\bRe\bea\bad\bdl\bli\bin\bne\be provides commands for searching through the command history
+ R\bRe\bea\bad\bdl\bli\bin\bne\be provides commands for searching through the command history
(see H\bHI\bIS\bST\bTO\bOR\bRY\bY below) for lines containing a specified string. There are
two search modes: _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
- Incremental searches begin before the user has finished typing the
- search string. As each character of the search string is typed, r\bre\bea\bad\bd-\b-
+ Incremental searches begin before the user has finished typing the
+ search string. As each character of the search string is typed, r\bre\bea\bad\bd-\b-
l\bli\bin\bne\be displays the next entry from the history matching the string typed
- so far. An incremental search requires only as many characters as
- needed to find the desired history entry. When using emacs editing
- mode, type C\bC-\b-r\br to search backward in the history for a particular
- string. Typing C\bC-\b-s\bs searches forward through the history. The charac-
- ters present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used
- to terminate an incremental search. If that variable has not been as-
- signed a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search. _\bC_\b-_\bg
- will abort an incremental search and restore the original line. When
- the search is terminated, the history entry containing the search
+ so far. An incremental search requires only as many characters as
+ needed to find the desired history entry. When using emacs editing
+ mode, type C\bC-\b-r\br to search backward in the history for a particular
+ string. Typing C\bC-\b-s\bs searches forward through the history. The charac-
+ ters present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used
+ to terminate an incremental search. If that variable has not been as-
+ signed a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search. _\bC_\b-_\bg
+ will abort an incremental search and restore the original line. When
+ the search is terminated, the history entry containing the search
string becomes the current line.
- To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\bs as
- appropriate. This will search backward or forward in the history for
- the next entry matching the search string typed so far. Any other key
+ To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\bs as
+ appropriate. This will search backward or forward in the history for
+ the next entry matching the search string typed so far. Any other key
sequence bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command will terminate the search and exe-
- cute that command. For instance, a newline will terminate the search
- and accept the line, thereby executing the command from the history
+ cute that command. For instance, a newline will terminate the search
+ and accept the line, thereby executing the command from the history
list. A movement command will terminate the search, make the last line
found the current line, and begin editing.
R\bRe\bea\bad\bdl\bli\bin\bne\be remembers the last incremental search string. If two C\bC-\b-r\brs are
- typed without any intervening characters defining a new search string,
+ typed without any intervening characters defining a new search string,
r\bre\bea\bad\bdl\bli\bin\bne\be uses any remembered search string.
- Non-incremental searches read the entire search string before starting
+ Non-incremental searches read the entire search string before starting
to search for matching history entries. The search string may be typed
by the user or be part of the contents of the current line.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bom\bmm\bma\ban\bnd\bd N\bNa\bam\bme\bes\bs
- The following is a list of the names of the commands and the default
+ The following is a list of the names of the commands and the default
key sequences to which they are bound. Command names without an accom-
panying key sequence are unbound by default.
In the following descriptions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor posi-
- tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
- mand. The text between the point and mark is referred to as the _\br_\be_\b-
+ tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
+ mand. The text between the point and mark is referred to as the _\br_\be_\b-
_\bg_\bi_\bo_\bn. R\bRe\bea\bad\bdl\bli\bin\bne\be has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the region is
- active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay uses the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
- g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br v\bva\bar\bri\bia\bab\bbl\ble\be t\bto\bo d\bde\ben\bno\bot\bte\be t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn.\b. S\bSe\bev\bve\ber\bra\bal\bl c\bco\bom\bmm\bma\ban\bnd\bds\bs s\bse\bet\bt
+ active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay uses the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+ g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br v\bva\bar\bri\bia\bab\bbl\ble\be t\bto\bo d\bde\ben\bno\bot\bte\be t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn.\b. S\bSe\bev\bve\ber\bra\bal\bl c\bco\bom\bmm\bma\ban\bnd\bds\bs s\bse\bet\bt
t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn t\bto\bo a\bac\bct\bti\biv\bve\be;\b; t\bth\bho\bos\bse\be a\bar\bre\be n\bno\bot\bte\bed\bd b\bbe\bel\blo\bow\bw.\b.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-a\ba)\b)
- Move to the start of the current line. This may also be bound
+ Move to the start of the current line. This may also be bound
to the Home key on some keyboards.
e\ben\bnd\bd-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-e\be)\b)
- Move to the end of the line. This may also be bound to the End
+ Move to the end of the line. This may also be bound to the End
key on some keyboards.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-f\bf)\b)
Move forward a character.
Move forward to the end of the next word. Words are composed of
alphanumeric characters (letters and digits).
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are composed of alphanumeric characters (letters and digits).
s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move forward to the end of the next word. Words are delimited
+ Move forward to the end of the next word. Words are delimited
by non-quoted shell metacharacters.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are delimited by non-quoted shell metacharacters.
p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
- Attempt to move point to the same physical screen column on the
- previous physical screen line. This will not have the desired
- effect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than
- one physical line or if point is not greater than the length of
+ Attempt to move point to the same physical screen column on the
+ previous physical screen line. This will not have the desired
+ effect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than
+ one physical line or if point is not greater than the length of
the prompt plus the screen width.
n\bne\bex\bxt\bt-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
- Attempt to move point to the same physical screen column on the
- next physical screen line. This will not have the desired ef-
+ Attempt to move point to the same physical screen column on the
+ next physical screen line. This will not have the desired ef-
fect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than one
- physical line or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be line is
+ physical line or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be line is
not greater than the length of the prompt plus the screen width.
c\bcl\ble\bea\bar\br-\b-d\bdi\bis\bsp\bpl\bla\bay\by (\b(M\bM-\b-C\bC-\b-l\bl)\b)
- Clear the screen and, if possible, the terminal's scrollback
- buffer, then redraw the current line, leaving the current line
+ Clear the screen and, if possible, the terminal's scrollback
+ buffer, then redraw the current line, leaving the current line
at the top of the screen.
c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
Clear the screen, then redraw the current line, leaving the cur-
- rent line at the top of the screen. With an argument, refresh
+ rent line at the top of the screen. With an argument, refresh
the current line without clearing the screen.
r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
Refresh the current line.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
Accept the line regardless of where the cursor is. If this line
- is non-empty, add it to the history list according to the state
- of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables. If the line is a
- modified history line, restore the history line to its original
+ is non-empty, add it to the history list according to the state
+ of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables. If the line is a
+ modified history line, restore the history line to its original
state.
p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
Fetch the previous command from the history list, moving back in
the list.
n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
- Fetch the next command from the history list, moving forward in
+ Fetch the next command from the history list, moving forward in
the list.
b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
Move to the first line in the history.
e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
- Move to the end of the input history, i.e., the line currently
+ Move to the end of the input history, i.e., the line currently
being entered.
o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
- Accept the current line for execution as if a newline had been
- entered, and fetch the next line relative to the current line
- from the history for editing. A numeric argument, if supplied,
+ Accept the current line for execution as if a newline had been
+ entered, and fetch the next line relative to the current line
+ from the history for editing. A numeric argument, if supplied,
specifies the history entry to use instead of the current line.
f\bfe\bet\btc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by
- With a numeric argument, fetch that entry from the history list
+ With a numeric argument, fetch that entry from the history list
and make it the current line. Without an argument, move back to
the first entry in the history list.
r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
- Search backward starting at the current line and moving "up"
- through the history as necessary. This is an incremental
- search. This command sets the region to the matched text and
- activates the region.
- f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
- Search forward starting at the current line and moving "down"
+ Search backward starting at the current line and moving "up"
through the history as necessary. This is an incremental
search. This command sets the region to the matched text and
activates the region.
+ f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
+ Search forward starting at the current line and moving "down"
+ through the history as necessary. This is an incremental
+ search. This command sets the region to the matched text and
+ activates the region.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
Search backward through the history starting at the current line
- using a non-incremental search for a string supplied by the
+ using a non-incremental search for a string supplied by the
user. The search string may match anywhere in a history line.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
- Search forward through the history using a non-incremental
+ Search forward through the history using a non-incremental
search for a string supplied by the user. The search string may
match anywhere in a history line.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
non-incremental search. This may be bound to the Page Up key on
some keyboards.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
- Search forward through the history for the string of characters
+ Search forward through the history for the string of characters
between the start of the current line and the point. The search
string must match at the beginning of a history line. This is a
- non-incremental search. This may be bound to the Page Down key
+ non-incremental search. This may be bound to the Page Down key
on some keyboards.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
Search backward through the history for the string of characters
between the start of the current line and the point. The search
- string may match anywhere in a history line. This is a non-in-
+ string may match anywhere in a history line. This is a non-in-
cremental search.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
- Search forward through the history for the string of characters
+ Search forward through the history for the string of characters
between the start of the current line and the point. The search
- string may match anywhere in a history line. This is a non-in-
+ string may match anywhere in a history line. This is a non-in-
cremental search.
y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
- Insert the first argument to the previous command (usually the
+ Insert the first argument to the previous command (usually the
second word on the previous line) at point. With an argument _\bn,
- insert the _\bnth word from the previous command (the words in the
- previous command begin with word 0). A negative argument in-
- serts the _\bnth word from the end of the previous command. Once
- the argument _\bn is computed, this uses the history expansion fa-
- cilities to extract the _\bnth word, as if the "!_\bn" history expan-
+ insert the _\bnth word from the previous command (the words in the
+ previous command begin with word 0). A negative argument in-
+ serts the _\bnth word from the end of the previous command. Once
+ the argument _\bn is computed, this uses the history expansion fa-
+ cilities to extract the _\bnth word, as if the "!_\bn" history expan-
sion had been specified.
y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
- Insert the last argument to the previous command (the last word
+ Insert the last argument to the previous command (the last word
of the previous history entry). With a numeric argument, behave
- exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
- move back through the history list, inserting the last word (or
- the word specified by the argument to the first call) of each
+ exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
+ move back through the history list, inserting the last word (or
+ the word specified by the argument to the first call) of each
line in turn. Any numeric argument supplied to these successive
- calls determines the direction to move through the history. A
- negative argument switches the direction through the history
- (back or forward). This uses the history expansion facilities
- to extract the last word, as if the "!$" history expansion had
+ calls determines the direction to move through the history. A
+ negative argument switches the direction through the history
+ (back or forward). This uses the history expansion facilities
+ to extract the last word, as if the "!$" history expansion had
been specified.
s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
- Expand the line by performing shell word expansions. This per-
+ Expand the line by performing shell word expansions. This per-
forms alias and history expansion, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quot-
- ing, tilde expansion, parameter and variable expansion, arith-
- metic expansion, command and process substitution, word split-
- ting, and quote removal. An explicit argument suppresses com-
- mand and process substitution. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for
+ ing, tilde expansion, parameter and variable expansion, arith-
+ metic expansion, command and process substitution, word split-
+ ting, and quote removal. An explicit argument suppresses com-
+ mand and process substitution. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for
a description of history expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-^\b^)\b)
- Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bX-\b-
+ Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bX-\b-
P\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
m\bma\bag\bgi\bic\bc-\b-s\bsp\bpa\bac\bce\be
- Perform history expansion on the current line and insert a
+ Perform history expansion on the current line and insert a
space. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history
expansion.
a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
- Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
+ Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
for a description of alias expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-a\ban\bnd\bd-\b-a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
Perform history and alias expansion on the current line.
i\bin\bns\bse\ber\brt\bt-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
A synonym for y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg.
e\bed\bdi\bit\bt-\b-a\ban\bnd\bd-\b-e\bex\bxe\bec\bcu\but\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(C\bC-\b-x\bx C\bC-\b-e\be)\b)
- Invoke an editor on the current command line, and execute the
+ Invoke an editor on the current command line, and execute the
result as shell commands. B\bBa\bas\bsh\bh attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL, $\b$E\bED\bD-\b-
I\bIT\bTO\bOR\bR, and _\be_\bm_\ba_\bc_\bs as the editor, in that order.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
_\be_\bn_\bd_\b-_\bo_\bf_\b-_\bf_\bi_\bl_\be (\b(u\bus\bsu\bua\bal\bll\bly\by C\bC-\b-d\bd)\b)
- The character indicating end-of-file as set, for example, by
+ The character indicating end-of-file as set, for example, by
_\bs_\bt_\bt_\by(1). If this character is read when there are no characters
on the line, and point is at the beginning of the line, r\bre\bea\bad\bdl\bli\bin\bne\be
interprets it as the end of input and returns E\bEO\bOF\bF.
above for the effects. This may also be bound to the Delete key
on some keyboards.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
- Delete the character behind the cursor. When given a numeric
+ Delete the character behind the cursor. When given a numeric
argument, save the deleted text on the kill ring.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
- Delete the character under the cursor, unless the cursor is at
+ Delete the character under the cursor, unless the cursor is at
the end of the line, in which case the character behind the cur-
sor is deleted.
q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
- Add the next character typed to the line verbatim. This is how
+ Add the next character typed to the line verbatim. This is how
to insert characters like C\bC-\b-q\bq, for example.
t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
Insert a tab character.
s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, ...)\b)
Insert the character typed.
b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be-\b-b\bbe\beg\bgi\bin\bn
- This function is intended to be bound to the "bracketed paste"
- escape sequence sent by some terminals, and such a binding is
- assigned by default. It allows r\bre\bea\bad\bdl\bli\bin\bne\be to insert the pasted
- text as a single unit without treating each character as if it
- had been read from the keyboard. The pasted characters are in-
- serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
+ This function is intended to be bound to the "bracketed paste"
+ escape sequence sent by some terminals, and such a binding is
+ assigned by default. It allows r\bre\bea\bad\bdl\bli\bin\bne\be to insert the pasted
+ text as a single unit without treating each character as if it
+ had been read from the keyboard. The pasted characters are in-
+ serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
cuting any editing commands.
- Bracketed paste sets the region to the inserted text and acti-
+ Bracketed paste sets the region to the inserted text and acti-
vates the region.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
- Drag the character before point forward over the character at
- point, moving point forward as well. If point is at the end of
- the line, then this transposes the two characters before point.
+ Drag the character before point forward over the character at
+ point, moving point forward as well. If point is at the end of
+ the line, then this transposes the two characters before point.
Negative arguments have no effect.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
- Drag the word before point past the word after point, moving
- point over that word as well. If point is at the end of the
+ Drag the word before point past the word after point, moving
+ point over that word as well. If point is at the end of the
line, this transposes the last two words on the line.
s\bsh\bhe\bel\bll\bl-\b-t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-C\bC-\b-t\bt)\b)
- Drag the word before point past the word after point, moving
- point past that word as well. If the insertion point is at the
+ Drag the word before point past the word after point, moving
+ point past that word as well. If the insertion point is at the
end of the line, this transposes the last two words on the line.
- Word boundaries are the same as s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd and
+ Word boundaries are the same as s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd and
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
- Uppercase the current (or following) word. With a negative ar-
+ Uppercase the current (or following) word. With a negative ar-
gument, uppercase the previous word, but do not move point.
d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
- Lowercase the current (or following) word. With a negative ar-
+ Lowercase the current (or following) word. With a negative ar-
gument, lowercase the previous word, but do not move point.
c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
Capitalize the current (or following) word. With a negative ar-
gument, capitalize the previous word, but do not move point.
o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
- Toggle overwrite mode. With an explicit positive numeric argu-
+ Toggle overwrite mode. With an explicit positive numeric argu-
ment, switches to overwrite mode. With an explicit non-positive
numeric argument, switches to insert mode. This command affects
- only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
+ only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode.
- In overwrite mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the
- text at point rather than pushing the text to the right. Char-
- acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
- fore point with a space. By default, this command is unbound,
+ In overwrite mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the
+ text at point rather than pushing the text to the right. Char-
+ acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
+ fore point with a space. By default, this command is unbound,
but may be bound to the Insert key on some keyboards.
K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-k\bk)\b)
Kill the text from point to the end of the current line. With a
- negative numeric argument, kill backward from the cursor to the
+ negative numeric argument, kill backward from the cursor to the
beginning of the line.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
Kill backward to the beginning of the current line. With a neg-
- ative numeric argument, kill forward from the cursor to the end
+ ative numeric argument, kill forward from the cursor to the end
of the line.
u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
- Kill backward from point to the beginning of the line, saving
+ Kill backward from point to the beginning of the line, saving
the killed text on the kill-ring.
k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
- Kill all characters on the current line, no matter where point
+ Kill all characters on the current line, no matter where point
is.
k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-C\bC-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
- Kill the word behind point, using white space as a word bound-
+ Kill the word behind point, using white space as a word bound-
ary, saving the killed text on the kill-ring.
u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
- Kill the word behind point, using white space and the slash
- character as the word boundaries, saving the killed text on the
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries, saving the killed text on the
kill-ring.
d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
Delete all spaces and tabs around point.
k\bki\bil\bll\bl-\b-r\bre\beg\bgi\bio\bon\bn
Kill the text in the current region.
c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
- Copy the text in the region to the kill buffer, so it can be
+ Copy the text in the region to the kill buffer, so it can be
yanked immediately.
c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word before point to the kill buffer. The word bound-
+ Copy the word before point to the kill buffer. The word bound-
aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word following point to the kill buffer. The word
+ Copy the word following point to the kill buffer. The word
boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
Yank the top of the kill ring into the buffer at point.
y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
- Rotate the kill ring, and yank the new top. Only works follow-
+ Rotate the kill ring, and yank the new top. Only works follow-
ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, ...,\b, M\bM-\b--\b-)\b)
- Add this digit to the argument already accumulating, or start a
+ Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
- This is another way to specify an argument. If this command is
- followed by one or more digits, optionally with a leading minus
- sign, those digits define the argument. If the command is fol-
+ This is another way to specify an argument. If this command is
+ followed by one or more digits, optionally with a leading minus
+ sign, those digits define the argument. If the command is fol-
lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the nu-
meric argument, but is otherwise ignored. As a special case, if
this command is immediately followed by a character that is nei-
- ther a digit nor minus sign, the argument count for the next
- command is multiplied by four. The argument count is initially
- one, so executing this function the first time makes the argu-
+ ther a digit nor minus sign, the argument count for the next
+ command is multiplied by four. The argument count is initially
+ one, so executing this function the first time makes the argu-
ment count four, a second time makes the argument count sixteen,
and so on.
C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
- Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
- attempts completion by first checking for any programmable com-
- pletions for the command word (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn be-
+ Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
+ attempts completion by first checking for any programmable com-
+ pletions for the command word (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn be-
low), otherwise treating the text as a variable (if the text be-
gins with $\b$), username (if the text begins with ~\b~), hostname (if
- the text begins with @\b@), or command (including aliases, func-
- tions, and builtins) in turn. If none of these produces a
+ the text begins with @\b@), or command (including aliases, func-
+ tions, and builtins) in turn. If none of these produces a
match, it falls back to filename completion.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
- List the possible completions of the text before point. When
+ List the possible completions of the text before point. When
displaying completions, r\bre\bea\bad\bdl\bli\bin\bne\be sets the number of columns used
- for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
- of the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that or-
+ for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
+ of the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that or-
der.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
- Insert all completions of the text before point that would have
+ Insert all completions of the text before point that would have
been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs, separated by a space.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
- Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
- a single match from the list of possible completions. Repeat-
- edly executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
- completions, inserting each match in turn. At the end of the
- list of completions, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
- the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text. An
- argument of _\bn moves _\bn positions forward in the list of matches;
- a negative argument moves backward through the list. This com-
+ Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
+ a single match from the list of possible completions. Repeat-
+ edly executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
+ completions, inserting each match in turn. At the end of the
+ list of completions, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
+ the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text. An
+ argument of _\bn moves _\bn positions forward in the list of matches;
+ a negative argument moves backward through the list. This com-
mand is intended to be bound to T\bTA\bAB\bB, but is unbound by default.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
- Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
- of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+ Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
+ of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
negative argument. This command is unbound by default.
d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
- Deletes the character under the cursor if not at the beginning
- or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). At the end of the line,
+ Deletes the character under the cursor if not at the beginning
+ or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). At the end of the line,
it behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs. This command is
unbound by default.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-f\bfi\bil\ble\ben\bna\bam\bme\be (\b(M\bM-\b-/\b/)\b)
List the possible completions of the text before point, treating
it as a filename.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
username.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
List the possible completions of the text before point, treating
it as a username.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
shell variable.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
List the possible completions of the text before point, treating
it as a shell variable.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
hostname.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
List the possible completions of the text before point, treating
it as a hostname.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
- Attempt completion on the text before point, treating it as a
- command name. Command completion attempts to match the text
- against aliases, reserved words, shell functions, shell
+ Attempt completion on the text before point, treating it as a
+ command name. Command completion attempts to match the text
+ against aliases, reserved words, shell functions, shell
builtins, and finally executable filenames, in that order.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
List the possible completions of the text before point, treating
it as a command name.
d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
- Attempt completion on the text before point, comparing the text
+ Attempt completion on the text before point, comparing the text
against history list entries for possible completion matches.
d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
- Attempt menu completion on the text before point, comparing the
+ Attempt menu completion on the text before point, comparing the
text against lines from the history list for possible completion
matches.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
Perform filename completion and insert the list of possible com-
- pletions enclosed within braces so the list is available to the
+ pletions enclosed within braces so the list is available to the
shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
- Begin saving the characters typed into the current keyboard
+ Begin saving the characters typed into the current keyboard
macro.
e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
Stop saving the characters typed into the current keyboard macro
and store the definition.
c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
- Re-execute the last keyboard macro defined, by making the char-
+ Re-execute the last keyboard macro defined, by making the char-
acters in the macro appear as if typed at the keyboard.
p\bpr\bri\bin\bnt\bt-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b()\b)
- Print the last keyboard macro defined in a format suitable for
+ Print the last keyboard macro defined in a format suitable for
the _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
- Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+ Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
bindings or variable assignments found there.
a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
- Abort the current editing command and ring the terminal's bell
+ Abort the current editing command and ring the terminal's bell
(subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
d\bdo\bo-\b-l\blo\bow\bwe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-A\bA,\b, M\bM-\b-B\bB,\b, M\bM-\b-_\bx,\b, ...)\b)
- If the metafied character _\bx is uppercase, run the command that
+ If the metafied character _\bx is uppercase, run the command that
is bound to the corresponding metafied lowercase character. The
behavior is undefined if _\bx is already lowercase.
p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
Incremental undo, separately remembered for each line.
r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
- Undo all changes made to this line. This is like executing the
- u\bun\bnd\bdo\bo command enough times to return the line to its initial
+ Undo all changes made to this line. This is like executing the
+ u\bun\bnd\bdo\bo command enough times to return the line to its initial
state.
t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
Perform tilde expansion on the current word.
s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
- Set the mark to the point. If a numeric argument is supplied,
+ Set the mark to the point. If a numeric argument is supplied,
set the mark to that position.
e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
- Swap the point with the mark. Set the current cursor position
+ Swap the point with the mark. Set the current cursor position
to the saved position, then set the mark to the old cursor posi-
tion.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
- Read a character and move point to the next occurrence of that
- character. A negative argument searches for previous occur-
+ Read a character and move point to the next occurrence of that
+ character. A negative argument searches for previous occur-
rences.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
- Read a character and move point to the previous occurrence of
+ Read a character and move point to the previous occurrence of
that character. A negative argument searches for subsequent oc-
currences.
s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
- Read enough characters to consume a multi-key sequence such as
- those defined for keys like Home and End. CSI sequences begin
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. CSI sequences begin
with a Control Sequence Indicator (CSI), usually ESC-[. If this
- sequence is bound to "\e[", keys producing CSI sequences will
- have no effect unless explicitly bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command,
- instead of inserting stray characters into the editing buffer.
+ sequence is bound to "\e[", keys producing CSI sequences will
+ have no effect unless explicitly bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command,
+ instead of inserting stray characters into the editing buffer.
This is unbound by default, but usually bound to ESC-[.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
- Without a numeric argument, insert the value of the r\bre\bea\bad\bdl\bli\bin\bne\be
+ Without a numeric argument, insert the value of the r\bre\bea\bad\bdl\bli\bin\bne\be
c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable at the beginning of the current line. If
- a numeric argument is supplied, this command acts as a toggle:
- if the characters at the beginning of the line do not match the
- value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise delete the
- characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line. In
- either case, the line is accepted as if a newline had been
- typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes this command
+ a numeric argument is supplied, this command acts as a toggle:
+ if the characters at the beginning of the line do not match the
+ value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise delete the
+ characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line. In
+ either case, the line is accepted as if a newline had been
+ typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes this command
to make the current line a shell comment. If a numeric argument
causes the comment character to be removed, the line will be ex-
ecuted by the shell.
s\bsp\bpe\bel\bll\bl-\b-c\bco\bor\brr\bre\bec\bct\bt-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx s\bs)\b)
- Perform spelling correction on the current word, treating it as
- a directory or filename, in the same way as the c\bcd\bds\bsp\bpe\bel\bll\bl shell
- option. Word boundaries are the same as those used by
+ Perform spelling correction on the current word, treating it as
+ a directory or filename, in the same way as the c\bcd\bds\bsp\bpe\bel\bll\bl shell
+ option. Word boundaries are the same as those used by
s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
Treat the word before point as a pattern for pathname expansion,
- with an asterisk implicitly appended, then use the pattern to
+ with an asterisk implicitly appended, then use the pattern to
generate a list of matching file names for possible completions.
g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
Treat the word before point as a pattern for pathname expansion,
- and insert the list of matching file names, replacing the word.
- If a numeric argument is supplied, append a *\b* before pathname
+ and insert the list of matching file names, replacing the word.
+ If a numeric argument is supplied, append a *\b* before pathname
expansion.
g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
Display the list of expansions that would have been generated by
- g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd and redisplay the line. If a numeric argument
+ g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd and redisplay the line. If a numeric argument
is supplied, append a *\b* before pathname expansion.
d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
- Print all of the functions and their key bindings to the r\bre\bea\bad\bd-\b-
+ Print all of the functions and their key bindings to the r\bre\bea\bad\bd-\b-
l\bli\bin\bne\be output stream. If a numeric argument is supplied, the out-
- put is formatted in such a way that it can be made part of an
+ put is formatted in such a way that it can be made part of an
_\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
Print all of the settable r\bre\bea\bad\bdl\bli\bin\bne\be variables and their values to
- the r\bre\bea\bad\bdl\bli\bin\bne\be output stream. If a numeric argument is supplied,
- the output is formatted in such a way that it can be made part
+ the r\bre\bea\bad\bdl\bli\bin\bne\be output stream. If a numeric argument is supplied,
+ the output is formatted in such a way that it can be made part
of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
- Print all of the r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ Print all of the r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
strings they output to the r\bre\bea\bad\bdl\bli\bin\bne\be output stream. If a numeric
argument is supplied, the output is formatted in such a way that
it can be made part of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
e\bex\bxe\bec\bcu\but\bte\be-\b-n\bna\bam\bme\bed\bd-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-x\bx)\b)
Read a bindable r\bre\bea\bad\bdl\bli\bin\bne\be command name from the input and execute
- the function to which it's bound, as if the key sequence to
- which it was bound appeared in the input. If this function is
+ the function to which it's bound, as if the key sequence to
+ which it was bound appeared in the input. If this function is
supplied with a numeric argument, it passes that argument to the
function it executes.
d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
Display version information about the current instance of b\bba\bas\bsh\bh.
P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
- When a user attempts word completion for an argument to a command for
- which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
- the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), r\bre\bea\bad\bdl\bli\bin\bne\be in-
+ When a user attempts word completion for an argument to a command for
+ which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+ the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), r\bre\bea\bad\bdl\bli\bin\bne\be in-
vokes the programmable completion facilities.
- First, b\bba\bas\bsh\bh identifies the command name. If a compspec has been de-
- fined for that command, the compspec is used to generate the list of
- possible completions for the word. If the command word is the empty
- string (completion attempted at the beginning of an empty line), b\bba\bas\bsh\bh
- uses any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be. If the com-
+ First, b\bba\bas\bsh\bh identifies the command name. If a compspec has been de-
+ fined for that command, the compspec is used to generate the list of
+ possible completions for the word. If the command word is the empty
+ string (completion attempted at the beginning of an empty line), b\bba\bas\bsh\bh
+ uses any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be. If the com-
mand word is a full pathname, b\bba\bas\bsh\bh searches for a compspec for the full
- pathname first. If there is no compspec for the full pathname, b\bba\bas\bsh\bh
- attempts to find a compspec for the portion following the final slash.
- If those searches do not result in a compspec, any compspec defined
- with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default. If there is no
- default compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word as
- a final resort, and attempts to find a compspec for the command word
+ pathname first. If there is no compspec for the full pathname, b\bba\bas\bsh\bh
+ attempts to find a compspec for the portion following the final slash.
+ If those searches do not result in a compspec, any compspec defined
+ with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default. If there is no
+ default compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word as
+ a final resort, and attempts to find a compspec for the command word
from any successful expansion.
If a compspec is not found, b\bba\bas\bsh\bh performs its default completion as de-
- scribed above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg. Otherwise, once a compspec has been
+ scribed above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg. Otherwise, once a compspec has been
found, b\bba\bas\bsh\bh uses it to generate the list of matching words.
- First, b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec. Only
- matches which are prefixed by the word being completed are returned.
+ First, b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec. Only
+ matches which are prefixed by the word being completed are returned.
When the -\b-f\bf or -\b-d\bd option is used for filename or directory name comple-
tion, b\bba\bas\bsh\bh uses the shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE to filter the matches.
Any completions specified by a pathname expansion pattern to the -\b-G\bG op-
- tion are generated next. The words generated by the pattern need not
+ tion are generated next. The words generated by the pattern need not
match the word being completed. B\bBa\bas\bsh\bh uses the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable to fil-
ter the matches, but does not use the G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable.
- Next, completion considers the string specified as the argument to the
- -\b-W\bW option. The string is first split using the characters in the I\bIF\bFS\bS
- special variable as delimiters. Shell quoting is honored. Each word
- is then expanded using brace expansion, tilde expansion, parameter and
- variable expansion, command substitution, and arithmetic expansion, as
+ Next, completion considers the string specified as the argument to the
+ -\b-W\bW option. The string is first split using the characters in the I\bIF\bFS\bS
+ special variable as delimiters. Shell quoting is honored. Each word
+ is then expanded using brace expansion, tilde expansion, parameter and
+ variable expansion, command substitution, and arithmetic expansion, as
described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN. The results are split using the rules
described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg. The results of the expansion are
prefix-matched against the word being completed, and the matching words
become possible completions.
- After these matches have been generated, b\bba\bas\bsh\bh executes any shell func-
+ After these matches have been generated, b\bba\bas\bsh\bh executes any shell func-
tion or command specified with the -\b-F\bF and -\b-C\bC options. When the command
- or function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and
- C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables are assigned values as described above under S\bSh\bhe\bel\bll\bl
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs. If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and
+ or function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and
+ C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables are assigned values as described above under S\bSh\bhe\bel\bll\bl
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs. If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and
C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD variables are also set. When the function or command is in-
- voked, the first argument ($\b$1\b1) is the name of the command whose argu-
- ments are being completed, the second argument ($\b$2\b2) is the word being
- completed, and the third argument ($\b$3\b3) is the word preceding the word
- being completed on the current command line. There is no filtering of
- the generated completions against the word being completed; the func-
+ voked, the first argument ($\b$1\b1) is the name of the command whose argu-
+ ments are being completed, the second argument ($\b$2\b2) is the word being
+ completed, and the third argument ($\b$3\b3) is the word preceding the word
+ being completed on the current command line. There is no filtering of
+ the generated completions against the word being completed; the func-
tion or command has complete freedom in generating the matches.
- Any function specified with -\b-F\bF is invoked first. The function may use
+ Any function specified with -\b-F\bF is invoked first. The function may use
any of the shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn and c\bco\bom\bmp\bpo\bop\bpt\bt builtins
- described below, to generate the matches. It must put the possible
+ described below, to generate the matches. It must put the possible
completions in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable, one per array element.
- Next, any command specified with the -\b-C\bC option is invoked in an envi-
- ronment equivalent to command substitution. It should print a list of
- completions, one per line, to the standard output. Backslash may be
- used to escape a newline, if necessary. These are added to the set of
+ Next, any command specified with the -\b-C\bC option is invoked in an envi-
+ ronment equivalent to command substitution. It should print a list of
+ completions, one per line, to the standard output. Backslash may be
+ used to escape a newline, if necessary. These are added to the set of
possible completions.
- After all of the possible completions are generated, any filter speci-
- fied with the -\b-X\bX option is applied to the list. The filter is a pat-
- tern as used for pathname expansion; a &\b& in the pattern is replaced
- with the text of the word being completed. A literal &\b& may be escaped
- with a backslash; the backslash is removed before attempting a match.
- Any completion that matches the pattern will be removed from the list.
+ After all of the possible completions are generated, any filter speci-
+ fied with the -\b-X\bX option is applied to the list. The filter is a pat-
+ tern as used for pathname expansion; a &\b& in the pattern is replaced
+ with the text of the word being completed. A literal &\b& may be escaped
+ with a backslash; the backslash is removed before attempting a match.
+ Any completion that matches the pattern will be removed from the list.
A leading !\b! negates the pattern; in this case any completion not match-
- ing the pattern will be removed. If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is
- enabled, the match is performed without regard to the case of alpha-
+ ing the pattern will be removed. If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is
+ enabled, the match is performed without regard to the case of alpha-
betic characters.
Finally, any prefix and suffix specified with the -\b-P\bP and -\b-S\bS options are
added to each member of the completion list, and the result is returned
to r\bre\bea\bad\bdl\bli\bin\bne\be as the list of possible completions.
- If the previously-applied actions do not generate any matches, and the
- -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was de-
+ If the previously-applied actions do not generate any matches, and the
+ -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was de-
fined, b\bba\bas\bsh\bh attempts directory name completion.
- If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
- was defined, b\bba\bas\bsh\bh attempts directory name completion and adds any
+ If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
+ was defined, b\bba\bas\bsh\bh attempts directory name completion and adds any
matches to the set of possible completions.
- By default, if a compspec is found, whatever it generates is returned
- to the completion code as the full set of possible completions. The
- default b\bba\bas\bsh\bh completions and the r\bre\bea\bad\bdl\bli\bin\bne\be default of filename comple-
- tion are disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bm-\b-
- p\bpl\ble\bet\bte\be when the compspec was defined, if the compspec generates no
- matches, b\bba\bas\bsh\bh attempts its default completions. If the -\b-o\bo d\bde\bef\bfa\bau\bul\blt\bt op-
+ By default, if a compspec is found, whatever it generates is returned
+ to the completion code as the full set of possible completions. The
+ default b\bba\bas\bsh\bh completions and the r\bre\bea\bad\bdl\bli\bin\bne\be default of filename comple-
+ tion are disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bm-\b-
+ p\bpl\ble\bet\bte\be when the compspec was defined, if the compspec generates no
+ matches, b\bba\bas\bsh\bh attempts its default completions. If the -\b-o\bo d\bde\bef\bfa\bau\bul\blt\bt op-
tion was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, programma-
- ble completion will perform r\bre\bea\bad\bdl\bli\bin\bne\be's default completion if the comp-
- spec (and, if attempted, the default b\bba\bas\bsh\bh completions) generate no
+ ble completion will perform r\bre\bea\bad\bdl\bli\bin\bne\be's default completion if the comp-
+ spec (and, if attempted, the default b\bba\bas\bsh\bh completions) generate no
matches.
- When a compspec indicates that directory name completion is desired,
- the programmable completion functions force r\bre\bea\bad\bdl\bli\bin\bne\be to append a slash
- to completed names which are symbolic links to directories, subject to
- the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs r\bre\bea\bad\bdl\bli\bin\bne\be variable, regardless of the
+ When a compspec indicates that directory name completion is desired,
+ the programmable completion functions force r\bre\bea\bad\bdl\bli\bin\bne\be to append a slash
+ to completed names which are symbolic links to directories, subject to
+ the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs r\bre\bea\bad\bdl\bli\bin\bne\be variable, regardless of the
setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs r\bre\bea\bad\bdl\bli\bin\bne\be variable.
- There is some support for dynamically modifying completions. This is
- most useful when used in combination with a default completion speci-
- fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD. It's possible for shell functions executed as
- completion functions to indicate that completion should be retried by
- returning an exit status of 124. If a shell function returns 124, and
+ There is some support for dynamically modifying completions. This is
+ most useful when used in combination with a default completion speci-
+ fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD. It's possible for shell functions executed as
+ completion functions to indicate that completion should be retried by
+ returning an exit status of 124. If a shell function returns 124, and
changes the compspec associated with the command on which completion is
- being attempted (supplied as the first argument when the function is
+ being attempted (supplied as the first argument when the function is
executed), programmable completion restarts from the beginning, with an
- attempt to find a new compspec for that command. This allows a set of
- completions to be built dynamically as completion is attempted, rather
+ attempt to find a new compspec for that command. This allows a set of
+ completions to be built dynamically as completion is attempted, rather
than being loaded all at once.
- For instance, assuming that there is a library of compspecs, each kept
- in a file corresponding to the name of the command, the following de-
+ For instance, assuming that there is a library of compspecs, each kept
+ in a file corresponding to the name of the command, the following de-
fault completion function would load completions dynamically:
_completion_loader()
{
-o bashdefault -o default
H\bHI\bIS\bST\bTO\bOR\bRY\bY
- When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
+ When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
- typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
- commands to save in a history list: the shell saves the text of the
+ typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
+ commands to save in a history list: the shell saves the text of the
last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE commands (default 500). The shell stores each command in
- the history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bN-\b-
- S\bSI\bIO\bON\bN above) but after history expansion is performed, subject to the
+ the history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bN-\b-
+ S\bSI\bIO\bON\bN above) but after history expansion is performed, subject to the
values of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
- On startup, b\bba\bas\bsh\bh initializes the history list by reading history en-
- tries from the the file named by the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable (default
- _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). That file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by _\bf_\bi_\bl_\be. The
- history file is truncated, if necessary, to contain no more than the
- number of history entries specified by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
- variable. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or set to null, a non-numeric
+ On startup, b\bba\bas\bsh\bh initializes the history list by reading history en-
+ tries from the the file named by the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable (default
+ _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). That file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by _\bf_\bi_\bl_\be. The
+ history file is truncated, if necessary, to contain no more than the
+ number of history entries specified by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
+ variable. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or set to null, a non-numeric
value, or a numeric value less than zero, the history file is not trun-
cated.
When the history file is read, lines beginning with the history comment
character followed immediately by a digit are interpreted as timestamps
- for the following history line. These timestamps are optionally dis-
- played depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When
- present, history timestamps delimit history entries, making multi-line
+ for the following history line. These timestamps are optionally dis-
+ played depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When
+ present, history timestamps delimit history entries, making multi-line
entries possible.
When a shell with history enabled exits, b\bba\bas\bsh\bh copies the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
- entries from the history list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell
- option is enabled (see the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN
- C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), b\bba\bas\bsh\bh appends the entries to the history file, other-
- wise it overwrites the history file. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, or
- if the history file is unwritable, the history is not saved. After
- saving the history, b\bba\bas\bsh\bh truncates the history file to contain no more
+ entries from the history list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell
+ option is enabled (see the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN
+ C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), b\bba\bas\bsh\bh appends the entries to the history file, other-
+ wise it overwrites the history file. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, or
+ if the history file is unwritable, the history is not saved. After
+ saving the history, b\bba\bas\bsh\bh truncates the history file to contain no more
than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines as described above.
- If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes the timestamp
- information associated with each history entry to the history file,
- marked with the history comment character, so timestamps are preserved
+ If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes the timestamp
+ information associated with each history entry to the history file,
+ marked with the history comment character, so timestamps are preserved
across shell sessions. This uses the history comment character to dis-
- tinguish timestamps from other history lines. As above, when using
+ tinguish timestamps from other history lines. As above, when using
H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, the timestamps delimit multi-line history entries.
- The f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list or
+ The f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list or
edit and re-execute a portion of the history list. The h\bhi\bis\bst\bto\bor\bry\by builtin
can display or modify the history list and manipulate the history file.
- When using command-line editing, search commands are available in each
+ When using command-line editing, search commands are available in each
editing mode that provide access to the history list.
- The shell allows control over which commands are saved on the history
+ The shell allows control over which commands are saved on the history
list. The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables are used to save only a
- subset of the commands entered. If the c\bcm\bmd\bdh\bhi\bis\bst\bt shell option is en-
- abled, the shell attempts to save each line of a multi-line command in
- the same history entry, adding semicolons where necessary to preserve
- syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option modifies c\bcm\bmd\bdh\bhi\bis\bst\bt by
- saving the command with embedded newlines instead of semicolons. See
+ subset of the commands entered. If the c\bcm\bmd\bdh\bhi\bis\bst\bt shell option is en-
+ abled, the shell attempts to save each line of a multi-line command in
+ the same history entry, adding semicolons where necessary to preserve
+ syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option modifies c\bcm\bmd\bdh\bhi\bis\bst\bt by
+ saving the command with embedded newlines instead of semicolons. See
the description of the s\bsh\bho\bop\bpt\bt builtin 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
for information on setting and unsetting shell options.
H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
- The shell supports a history expansion feature that is similar to the
- history expansion in c\bcs\bsh\bh. This section describes what syntax features
+ The shell supports a history expansion feature that is similar to the
+ history expansion in c\bcs\bsh\bh. This section describes what syntax features
are available.
History expansion is enabled by default for interactive shells, and can
- be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL
+ be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL
B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Non-interactive shells do not perform history
expansion by default, but it can be enabled with "set -H".
History expansions introduce words from the history list into the input
- stream, making it easy to repeat commands, insert the arguments to a
+ stream, making it easy to repeat commands, insert the arguments to a
previous command into the current input line, or fix errors in previous
commands quickly.
- History expansion is performed immediately after a complete line is
- read, before the shell breaks it into words, and is performed on each
- line individually. The shell attempts to inform the history expansion
+ History expansion is performed immediately after a complete line is
+ read, before the shell breaks it into words, and is performed on each
+ line individually. The shell attempts to inform the history expansion
functions about quoting still in effect from previous lines.
- It takes place in two parts. The first is to determine which history
- list entry to use during substitution. The second is to select por-
+ It takes place in two parts. The first is to determine which history
+ list entry to use during substitution. The second is to select por-
tions of that entry to include into the current one.
- The entry selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
+ The entry selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
that entry that are acted upon are _\bw_\bo_\br_\bd_\bs. Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
- able to manipulate the selected words. The entry is split into words
- in the same fashion as when reading input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
- _\bt_\be_\br-separated words surrounded by quotes are considered one word. The
- _\be_\bv_\be_\bn_\bt _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br selects the event, the optional _\bw_\bo_\br_\bd _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br se-
- lects words from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
+ able to manipulate the selected words. The entry is split into words
+ in the same fashion as when reading input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
+ _\bt_\be_\br-separated words surrounded by quotes are considered one word. The
+ _\be_\bv_\be_\bn_\bt _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br selects the event, the optional _\bw_\bo_\br_\bd _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br se-
+ lects words from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
able to manipulate the selected words.
- History expansions are introduced by the appearance of the history ex-
- pansion character, which is !\b! by default. History expansions may ap-
+ History expansions are introduced by the appearance of the history ex-
+ pansion character, which is !\b! by default. History expansions may ap-
pear anywhere in the input, but do not nest.
- Only backslash (\\b\) and single quotes can quote the history expansion
- character, but the history expansion character is also treated as
+ Only backslash (\\b\) and single quotes can quote the history expansion
+ character, but the history expansion character is also treated as
quoted if it immediately precedes the closing double quote in a double-
quoted string.
- Several characters inhibit history expansion if found immediately fol-
- lowing the history expansion character, even if it is unquoted: space,
- tab, newline, carriage return, =\b=, and the other shell metacharacters
+ Several characters inhibit history expansion if found immediately fol-
+ lowing the history expansion character, even if it is unquoted: space,
+ tab, newline, carriage return, =\b=, and the other shell metacharacters
defined above.
There is a special abbreviation for substitution, active when the _\bq_\bu_\bi_\bc_\bk
- _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is the first
+ _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is the first
character on the line. It selects the previous history list entry, us-
- ing an event designator equivalent to !\b!!\b!, and substitutes one string
- for another in that entry. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\ba-\b-
- t\bto\bor\brs\bs. This is the only history expansion that does not begin with the
+ ing an event designator equivalent to !\b!!\b!, and substitutes one string
+ for another in that entry. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\ba-\b-
+ t\bto\bor\brs\bs. This is the only history expansion that does not begin with the
history expansion character.
- Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify his-
- tory expansion behavior (see the description of the s\bsh\bho\bop\bpt\bt builtin be-
+ Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify his-
+ tory expansion behavior (see the description of the s\bsh\bho\bop\bpt\bt builtin be-
low).and If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell option is enabled, and r\bre\bea\bad\bdl\bli\bin\bne\be is be-
ing used, history substitutions are not immediately passed to the shell
parser. Instead, the expanded line is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be edit-
- ing buffer for further modification. If r\bre\bea\bad\bdl\bli\bin\bne\be is being used, and
- the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed history substitution
+ ing buffer for further modification. If r\bre\bea\bad\bdl\bli\bin\bne\be is being used, and
+ the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed history substitution
is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for correction.
- The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a history ex-
- pansion will do before using it. The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\by builtin
- will add commands to the end of the history list without actually exe-
+ The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a history ex-
+ pansion will do before using it. The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\by builtin
+ will add commands to the end of the history list without actually exe-
cuting them, so that they are available for subsequent recall.
- The shell allows control of the various characters used by the history
+ The shell allows control of the various characters used by the history
expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
tory timestamps when writing the history file.
E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
- An event designator is a reference to an entry in the history list.
+ An event designator is a reference to an entry in the history list.
The event designator consists of the portion of the word beginning with
- the history expansion character and ending with the word designator if
- present, or the end of the word. Unless the reference is absolute,
+ the history expansion character and ending with the word designator if
+ present, or the end of the word. Unless the reference is absolute,
events are relative to the current position in the history list.
- !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
- newline, carriage return, =, or, when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
+ !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
+ newline, carriage return, =, or, when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
is enabled using the s\bsh\bho\bop\bpt\bt builtin, (.
!\b!_\bn Refer to history list entry _\bn.
!\b!-\b-_\bn Refer to the current entry minus _\bn.
!\b!!\b! Refer to the previous entry. This is a synonym for "!-1".
!\b!_\bs_\bt_\br_\bi_\bn_\bg
- Refer to the most recent command preceding the current position
+ Refer to the most recent command preceding the current position
in the history list starting with _\bs_\bt_\br_\bi_\bn_\bg.
!\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]
- Refer to the most recent command preceding the current position
- in the history list containing _\bs_\bt_\br_\bi_\bn_\bg. The trailing ?\b? may be
- omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline. If
- _\bs_\bt_\br_\bi_\bn_\bg is missing, this uses the string from the most recent
+ Refer to the most recent command preceding the current position
+ in the history list containing _\bs_\bt_\br_\bi_\bn_\bg. The trailing ?\b? may be
+ omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline. If
+ _\bs_\bt_\br_\bi_\bn_\bg is missing, this uses the string from the most recent
search; it is an error if there is no previous search string.
^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
- Quick substitution. Repeat the previous command, replacing
- _\bs_\bt_\br_\bi_\bn_\bg_\b1 with _\bs_\bt_\br_\bi_\bn_\bg_\b2. Equivalent to "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
+ Quick substitution. Repeat the previous command, replacing
+ _\bs_\bt_\br_\bi_\bn_\bg_\b1 with _\bs_\bt_\br_\bi_\bn_\bg_\b2. Equivalent to "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
(see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
!\b!#\b# The entire command line typed so far.
Word designators are used to select desired words from the event. They
are optional; if the word designator isn't supplied, the history expan-
sion uses the entire event. A :\b: separates the event specification from
- the word designator. It may be omitted if the word designator begins
- with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words are numbered from the beginning of the
- line, with the first word being denoted by 0 (zero). Words are in-
+ the word designator. It may be omitted if the word designator begins
+ with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words are numbered from the beginning of the
+ line, with the first word being denoted by 0 (zero). Words are in-
serted into the current line separated by single spaces.
0\b0 (\b(z\bze\ber\bro\bo)\b)
The zeroth word. For the shell, this is the command word.
_\bn The _\bnth word.
^\b^ The first argument: word 1.
- $\b$ The last word. This is usually the last argument, but will ex-
+ $\b$ The last word. This is usually the last argument, but will ex-
pand to the zeroth word if there is only one word in the line.
%\b% The first word matched by the most recent "?_\bs_\bt_\br_\bi_\bn_\bg?" search, if
- the search string begins with a character that is part of a
- word. By default, searches begin at the end of each line and
- proceed to the beginning, so the first word matched is the one
+ the search string begins with a character that is part of a
+ word. By default, searches begin at the end of each line and
+ proceed to the beginning, so the first word matched is the one
closest to the end of the line.
_\bx-\b-_\by A range of words; "-_\by" abbreviates "0-_\by".
- *\b* All of the words but the zeroth. This is a synonym for "_\b1_\b-_\b$".
- It is not an error to use *\b* if there is just one word in the
+ *\b* All of the words but the zeroth. This is a synonym for "_\b1_\b-_\b$".
+ It is not an error to use *\b* if there is just one word in the
event; it expands to the empty string in that case.
x\bx*\b* Abbreviates _\bx_\b-_\b$.
x\bx-\b- Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word. If x\bx is miss-
ing, it defaults to 0.
- If a word designator is supplied without an event specification, the
+ If a word designator is supplied without an event specification, the
previous command is used as the event, equivalent to !\b!!\b!.
M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
- After the optional word designator, the expansion may include a se-
- quence of one or more of the following modifiers, each preceded by a
- ":". These modify, or edit, the word or words selected from the his-
+ After the optional word designator, the expansion may include a se-
+ quence of one or more of the following modifiers, each preceded by a
+ ":". These modify, or edit, the word or words selected from the his-
tory event.
h\bh Remove a trailing pathname component, leaving only the head.
e\be Remove all but the trailing suffix.
p\bp Print the new command but do not execute it.
q\bq Quote the substituted words, escaping further substitutions.
- x\bx Quote the substituted words as with q\bq, but break into words at
- b\bbl\bla\ban\bnk\bks\bs and newlines. The q\bq and x\bx modifiers are mutually exclu-
+ x\bx Quote the substituted words as with q\bq, but break into words at
+ b\bbl\bla\ban\bnk\bks\bs and newlines. The q\bq and x\bx modifiers are mutually exclu-
sive; expansion uses the last one supplied.
s\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/
- Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
+ Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
line. Any character may be used as the delimiter in place of /.
- The final delimiter is optional if it is the last character of
- the event line. A single backslash will quote the delimiter in
- _\bo_\bl_\bd and _\bn_\be_\bw. If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd. A
+ The final delimiter is optional if it is the last character of
+ the event line. A single backslash will quote the delimiter in
+ _\bo_\bl_\bd and _\bn_\be_\bw. If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd. A
single backslash will quote the &. If _\bo_\bl_\bd is null, it is set to
- the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
- tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search. If
+ the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
+ tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search. If
_\bn_\be_\bw is null, each matching _\bo_\bl_\bd is deleted.
&\b& Repeat the previous substitution.
g\bg Cause changes to be applied over the entire event line. This is
- used in conjunction with ":\b:s\bs" (e.g., ":\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/") or ":\b:&\b&".
- If used with ":\b:s\bs", any delimiter can be used in place of /, and
- the final delimiter is optional if it is the last character of
+ used in conjunction with ":\b:s\bs" (e.g., ":\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/") or ":\b:&\b&".
+ If used with ":\b:s\bs", any delimiter can be used in place of /, and
+ the final delimiter is optional if it is the last character of
the event line. An a\ba may be used as a synonym for g\bg.
G\bG Apply the following "s\bs" or "&\b&" modifier once to each word in the
event line.
Unless otherwise noted, each builtin command documented in this section
as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
options. The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt/[\b[ builtins do not accept options
- and do not treat -\b--\b- specially. The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn, b\bbr\bre\bea\bak\bk, c\bco\bon\bn-\b-
- t\bti\bin\bnu\bue\be, l\ble\bet\bt, and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning
- with -\b- without requiring -\b--\b-. Other builtins that accept arguments but
- are not specified as accepting options interpret arguments beginning
- with -\b- as invalid options and require -\b--\b- to prevent this interpreta-
+ and do not treat -\b--\b- specially. The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn, b\bbr\bre\bea\bak\bk, c\bco\bon\bn-\b-
+ t\bti\bin\bnu\bue\be, l\ble\bet\bt, and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning
+ with -\b- without requiring -\b--\b-. Other builtins that accept arguments but
+ are not specified as accepting options interpret arguments beginning
+ with -\b- as invalid options and require -\b--\b- to prevent this interpreta-
tion.
:\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+ No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
and performing any specified redirections. The return status is
zero.
.\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
s\bso\bou\bur\brc\bce\be [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- in the current shell environment and returns the exit status of
+ The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ in the current shell environment and returns the exit status of
the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searches for it. If the
- -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
- of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
- entries in P\bPA\bAT\bTH\bH to find the directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
- _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. When b\bba\bas\bsh\bh is not in
+ -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
+ of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
+ entries in P\bPA\bAT\bTH\bH to find the directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
+ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. When b\bba\bas\bsh\bh is not in
posix mode, it searches the current directory if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not
- found in P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
+ found in P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
is supplied. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin com-
mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
- If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
- meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional pa-
+ If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
+ meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional pa-
rameters are unchanged.
If the -\b-T\bT option is enabled, .\b. inherits any trap on D\bDE\bEB\bBU\bUG\bG; if it
- is not, any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored around the
+ is not, any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored around the
call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it executes. If -\b-T\bT
is not set, and the sourced file changes the D\bDE\bEB\bBU\bUG\bG trap, the new
value persists after .\b. completes. The return status is the sta-
tus of the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be (0 if no commands
- are executed), and non-zero if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or cannot
+ are executed), and non-zero if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or cannot
be read.
a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
- With no arguments or with the -\b-p\bp option, a\bal\bli\bia\bas\bs prints the list
- of aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.
+ With no arguments or with the -\b-p\bp option, a\bal\bli\bia\bas\bs prints the list
+ of aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.
When arguments are supplied, define an alias for each _\bn_\ba_\bm_\be whose
- _\bv_\ba_\bl_\bu_\be is given. A trailing space in _\bv_\ba_\bl_\bu_\be causes the next word
- to be checked for alias substitution when the alias is expanded
- during command parsing. For each _\bn_\ba_\bm_\be in the argument list for
- which no _\bv_\ba_\bl_\bu_\be is supplied, print the name and value of the
- alias _\bn_\ba_\bm_\be. a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given (without
+ _\bv_\ba_\bl_\bu_\be is given. A trailing space in _\bv_\ba_\bl_\bu_\be causes the next word
+ to be checked for alias substitution when the alias is expanded
+ during command parsing. For each _\bn_\ba_\bm_\be in the argument list for
+ which no _\bv_\ba_\bl_\bu_\be is supplied, print the name and value of the
+ alias _\bn_\ba_\bm_\be. a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given (without
a corresponding =_\bv_\ba_\bl_\bu_\be) for which no alias has been defined.
b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
- Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
- had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell
+ Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+ had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell
uses its notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
- run when job control is disabled or, when run with job control
- enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
+ run when job control is disabled or, when run with job control
+ enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
without job control.
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\bls\bsv\bvS\bSV\bVX\bX]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-p\bp|-\b-P\bP [_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b-_\bl_\bi_\bn_\be
- Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
- sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro or to a shell command,
- or set a r\bre\bea\bad\bdl\bli\bin\bne\be variable. Each non-option argument is a key
- binding or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\be initializa-
- tion file such as _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be
- passed as a separate argument; e.g., '"\C-x\C-r":
- re-read-init-file'. In the following descriptions, output
- available to be re-read is formatted as commands that would ap-
+ Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
+ sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro or to a shell command,
+ or set a r\bre\bea\bad\bdl\bli\bin\bne\be variable. Each non-option argument is a key
+ binding or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\be initializa-
+ tion file such as _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be
+ passed as a separate argument; e.g., '"\C-x\C-r":
+ re-read-init-file'. In the following descriptions, output
+ available to be re-read is formatted as commands that would ap-
pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file or that would be supplied
- as individual arguments to a b\bbi\bin\bnd\bd command. Options, if sup-
+ as individual arguments to a b\bbi\bin\bnd\bd command. Options, if sup-
plied, have the following meanings:
-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
bindings. Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
- _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
- and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (_\bv_\bi_\b-_\bm_\bo_\bv_\be
- is also a synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
+ _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+ and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (_\bv_\bi_\b-_\bm_\bo_\bv_\be
+ is also a synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
_\bd_\ba_\br_\bd.
-\b-l\bl List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
- -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
- way that they can be used as an argument to a subsequent
- b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file. If
- arguments remain after option processing, b\bbi\bin\bnd\bd treats
- them as r\bre\bea\bad\bdl\bli\bin\bne\be command names and restricts output to
- those names.
- -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings. If
+ -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
+ way that they can be used as an argument to a subsequent
+ b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file. If
arguments remain after option processing, b\bbi\bin\bnd\bd treats
them as r\bre\bea\bad\bdl\bli\bin\bne\be command names and restricts output to
those names.
- -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
- strings they output in such a way that they can be used
+ -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings. If
+ arguments remain after option processing, b\bbi\bin\bnd\bd treats
+ them as r\bre\bea\bad\bdl\bli\bin\bne\be command names and restricts output to
+ those names.
+ -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ strings they output in such a way that they can be used
as an argument to a subsequent b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bd-\b-
l\bli\bin\bne\be initialization file.
- -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
strings they output.
- -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+ -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
that they can be used as an argument to a subsequent b\bbi\bin\bnd\bd
command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file.
-\b-V\bV List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
Read key bindings from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
-\b-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- Display key sequences that invoke the named r\bre\bea\bad\bdl\bli\bin\bne\be
+ Display key sequences that invoke the named r\bre\bea\bad\bdl\bli\bin\bne\be
_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- Unbind all key sequences bound to the named r\bre\bea\bad\bdl\bli\bin\bne\be
+ Unbind all key sequences bound to the named r\bre\bea\bad\bdl\bli\bin\bne\be
_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
-\b-r\br _\bk_\be_\by_\bs_\be_\bq
Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
-\b-x\bx _\bk_\be_\by_\bs_\be_\bq[\b[:\b: ]\b]_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed whenever _\bk_\be_\by_\bs_\be_\bq is en-
tered. The separator between _\bk_\be_\by_\bs_\be_\bq and _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is
- either whitespace or a colon optionally followed by
- whitespace. If the separator is whitespace, _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd must be enclosed in double quotes and r\bre\bea\bad\bdl\bli\bin\bne\be ex-
- pands any of its special backslash-escapes in _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd before saving it. If the separator is a colon, any
- enclosing double quotes are optional, and r\bre\bea\bad\bdl\bli\bin\bne\be does
- not expand the command string before saving it. Since
- the entire key binding expression must be a single argu-
- ment, it should be enclosed in single quotes. When
- _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bD-\b-
- L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line
+ either whitespace or a colon optionally followed by
+ whitespace. If the separator is whitespace, _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd must be enclosed in double quotes and r\bre\bea\bad\bdl\bli\bin\bne\be ex-
+ pands any of its special backslash-escapes in _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd before saving it. If the separator is a colon, any
+ enclosing double quotes are optional, and r\bre\bea\bad\bdl\bli\bin\bne\be does
+ not expand the command string before saving it. Since
+ the entire key binding expression must be a single argu-
+ ment, it should be enclosed in single quotes. When
+ _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bD-\b-
+ L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line
buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT and R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK variables
- to the current location of the insertion point and the
- saved insertion point (the mark), respectively. The
- shell assigns any numeric argument the user supplied to
- the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable. If there was no argu-
- ment, that variable is not set. If the executed command
- changes the value of any of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE, R\bRE\bEA\bAD\bD-\b-
- L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new values will be
+ to the current location of the insertion point and the
+ saved insertion point (the mark), respectively. The
+ shell assigns any numeric argument the user supplied to
+ the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable. If there was no argu-
+ ment, that variable is not set. If the executed command
+ changes the value of any of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE, R\bRE\bEA\bAD\bD-\b-
+ L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new values will be
reflected in the editing state.
- -\b-X\bX List all key sequences bound to shell commands and the
- associated commands in a format that can be reused as an
+ -\b-X\bX List all key sequences bound to shell commands and the
+ associated commands in a format that can be reused as an
argument to a subsequent b\bbi\bin\bnd\bd command.
- The return value is 0 unless an unrecognized option is supplied
+ The return value is 0 unless an unrecognized option is supplied
or an error occurred.
b\bbr\bre\bea\bak\bk [_\bn]
- Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
+ Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
specified, b\bbr\bre\bea\bak\bk exits _\bn enclosing loops. _\bn must be >= 1. If _\bn
- is greater than the number of enclosing loops, all enclosing
+ is greater than the number of enclosing loops, all enclosing
loops are exited. The return value is 0 unless _\bn is not greater
than or equal to 1.
b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Execute the specified shell builtin _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn, passing it
- _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and return its exit status. This is useful when
- defining a function whose name is the same as a shell builtin,
- retaining the functionality of the builtin within the function.
- The c\bcd\bd builtin is commonly redefined this way. The return sta-
+ Execute the specified shell builtin _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn, passing it
+ _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and return its exit status. This is useful when
+ defining a function whose name is the same as a shell builtin,
+ retaining the functionality of the builtin within the function.
+ The c\bcd\bd builtin is commonly redefined this way. The return sta-
tus is false if _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
Returns the context of any active subroutine call (a shell func-
tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).
- Without _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source file-
- name of the current subroutine call. If a non-negative integer
+ Without _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source file-
+ name of the current subroutine call. If a non-negative integer
is supplied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine
name, and source file corresponding to that position in the cur-
- rent execution call stack. This extra information may be used,
+ rent execution call stack. This extra information may be used,
for example, to print a stack trace. The current frame is frame
0.
- The return value is 0 unless the shell is not executing a sub-
- routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
+ The return value is 0 unless the shell is not executing a sub-
+ routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
the call stack.
c\bcd\bd [-\b-L\bL] [-@] [_\bd_\bi_\br]
c\bcd\bd -\b-P\bP [-\b-e\be] [-@] [_\bd_\bi_\br]
- Change the current directory to _\bd_\bi_\br. if _\bd_\bi_\br is not supplied,
- the value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br. The vari-
- able C\bCD\bDP\bPA\bAT\bTH\bH exists, and _\bd_\bi_\br does not begin with a slash (/), c\bcd\bd
+ Change the current directory to _\bd_\bi_\br. if _\bd_\bi_\br is not supplied,
+ the value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br. The vari-
+ able C\bCD\bDP\bPA\bAT\bTH\bH exists, and _\bd_\bi_\br does not begin with a slash (/), c\bcd\bd
uses it as a search path: the shell searches each directory name
- in C\bCD\bDP\bPA\bAT\bTH\bH for _\bd_\bi_\br. Alternative directory names in C\bCD\bDP\bPA\bAT\bTH\bH are
- separated by a colon (:). A null directory name in C\bCD\bDP\bPA\bAT\bTH\bH is
+ in C\bCD\bDP\bPA\bAT\bTH\bH for _\bd_\bi_\br. Alternative directory names in C\bCD\bDP\bPA\bAT\bTH\bH are
+ separated by a colon (:). A null directory name in C\bCD\bDP\bPA\bAT\bTH\bH is
the same as the current directory, i.e., ".".
- The -\b-P\bP option causes c\bcd\bd to use the physical directory structure
+ The -\b-P\bP option causes c\bcd\bd to use the physical directory structure
by resolving symbolic links while traversing _\bd_\bi_\br and before pro-
- cessing instances of _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP option to the
+ cessing instances of _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP option to the
s\bse\bet\bt builtin command).
- The -\b-L\bL option forces c\bcd\bd to follow symbolic links by resolving
+ The -\b-L\bL option forces c\bcd\bd to follow symbolic links by resolving
the link after processing instances of _\b._\b. in _\bd_\bi_\br. If _\b._\b. appears
- in _\bd_\bi_\br, c\bcd\bd processes it by removing the immediately previous
+ in _\bd_\bi_\br, c\bcd\bd processes it by removing the immediately previous
pathname component from _\bd_\bi_\br, back to a slash or the beginning of
- _\bd_\bi_\br, and verifying that the portion of _\bd_\bi_\br it has processed to
- that point is still a valid directory name after removing the
+ _\bd_\bi_\br, and verifying that the portion of _\bd_\bi_\br it has processed to
+ that point is still a valid directory name after removing the
pathname component. If it is not a valid directory name, c\bcd\bd re-
- turns a non-zero status. If neither -\b-L\bL nor -\b-P\bP is supplied, c\bcd\bd
+ turns a non-zero status. If neither -\b-L\bL nor -\b-P\bP is supplied, c\bcd\bd
behaves as if -\b-L\bL had been supplied.
If the -\b-e\be option is supplied with -\b-P\bP, and c\bcd\bd cannot successfully
- determine the current working directory after a successful di-
+ determine the current working directory after a successful di-
rectory change, it will return a non-zero status.
- On systems that support it, the -\b-@\b@ option presents the extended
+ On systems that support it, the -\b-@\b@ option presents the extended
attributes associated with a file as a directory.
- An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before attempting the
+ An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before attempting the
directory change.
- If c\bcd\bd uses a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
- the first argument, and the directory change is successful, c\bcd\bd
+ If c\bcd\bd uses a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
+ the first argument, and the directory change is successful, c\bcd\bd
writes the absolute pathname of the new working directory to the
standard output.
- If the directory change is successful, c\bcd\bd sets the value of the
+ If the directory change is successful, c\bcd\bd sets the value of the
P\bPW\bWD\bD environment variable to the new directory name, and sets the
- O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the value of the current working
+ O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the value of the current working
directory before the change.
- The return value is true if the directory was successfully
+ The return value is true if the directory was successfully
changed; false otherwise.
c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
- The c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the nor-
+ The c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the nor-
mal shell function lookup for _\bc_\bo_\bm_\bm_\ba_\bn_\bd. Only builtin commands or
- commands found in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed. If the
+ commands found in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed. If the
-\b-p\bp option is supplied, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is performed using
- a default value for P\bPA\bAT\bTH\bH that is guaranteed to find all of the
+ a default value for P\bPA\bAT\bTH\bH that is guaranteed to find all of the
standard utilities.
- If either the -\b-V\bV or -\b-v\bv option is supplied, c\bco\bom\bmm\bma\ban\bnd\bd prints a de-
- scription of _\bc_\bo_\bm_\bm_\ba_\bn_\bd. The -\b-v\bv option displays a single word in-
- dicating the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; the -\b-V\bV
+ If either the -\b-V\bV or -\b-v\bv option is supplied, c\bco\bom\bmm\bma\ban\bnd\bd prints a de-
+ scription of _\bc_\bo_\bm_\bm_\ba_\bn_\bd. The -\b-v\bv option displays a single word in-
+ dicating the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; the -\b-V\bV
option produces a more verbose description.
- If the -\b-V\bV or -\b-v\bv option is supplied, the exit status is zero if
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and non-zero if not. If neither option is
- supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be found, the
- exit status is 127. Otherwise, the exit status of the c\bco\bom\bmm\bma\ban\bnd\bd
+ If the -\b-V\bV or -\b-v\bv option is supplied, the exit status is zero if
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and non-zero if not. If neither option is
+ supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be found, the
+ exit status is 127. Otherwise, the exit status of the c\bco\bom\bmm\bma\ban\bnd\bd
builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
c\bco\bom\bmp\bpg\bge\ben\bn [-\b-V\bV _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
- Generate possible completion matches for _\bw_\bo_\br_\bd according to the
- _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
+ Generate possible completion matches for _\bw_\bo_\br_\bd according to the
+ _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
builtin with the exceptions of -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, and -\b-I\bI, and write
the matches to the standard output.
- If the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated com-
- pletions into the indexed array variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of
+ If the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated com-
+ pletions into the indexed array variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of
writing them to the standard output.
When using the -\b-F\bF or -\b-C\bC options, the various shell variables set
The matches will be generated in the same way as if the program-
mable completion code had generated them directly from a comple-
- tion specification with the same flags. If _\bw_\bo_\br_\bd is specified,
- only those completions matching _\bw_\bo_\br_\bd will be displayed or
+ tion specification with the same flags. If _\bw_\bo_\br_\bd is specified,
+ only those completions matching _\bw_\bo_\br_\bd will be displayed or
stored.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
or no matches were generated.
c\bco\bom\bmp\bpl\ble\bet\bte\be [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]
Specify how arguments to each _\bn_\ba_\bm_\be should be completed.
If the -\b-p\bp option is supplied, or if no options or _\bn_\ba_\bm_\bes are sup-
- plied, print existing completion specifications in a way that
+ plied, print existing completion specifications in a way that
allows them to be reused as input. The -\b-r\br option removes a com-
- pletion specification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are sup-
+ pletion specification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are sup-
plied, all completion specifications.
- The -\b-D\bD option indicates that other supplied options and actions
- should apply to the "default" command completion; that is, com-
- pletion attempted on a command for which no completion has pre-
- viously been defined. The -\b-E\bE option indicates that other sup-
- plied options and actions should apply to "empty" command com-
- pletion; that is, completion attempted on a blank line. The -\b-I\bI
- option indicates that other supplied options and actions should
- apply to completion on the initial non-assignment word on the
+ The -\b-D\bD option indicates that other supplied options and actions
+ should apply to the "default" command completion; that is, com-
+ pletion attempted on a command for which no completion has pre-
+ viously been defined. The -\b-E\bE option indicates that other sup-
+ plied options and actions should apply to "empty" command com-
+ pletion; that is, completion attempted on a blank line. The -\b-I\bI
+ option indicates that other supplied options and actions should
+ apply to completion on the initial non-assignment word on the
line, or after a command delimiter such as ;\b; or |\b|, which is usu-
ally command name completion. If multiple options are supplied,
the -\b-D\bD option takes precedence over -\b-E\bE, and both take precedence
- over -\b-I\bI. If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any other _\bn_\ba_\bm_\be
- arguments are ignored; these completions only apply to the case
+ over -\b-I\bI. If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any other _\bn_\ba_\bm_\be
+ arguments are ignored; these completions only apply to the case
specified by the option.
The process of applying these completion specifications when at-
- tempting word completion is described above under P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
+ tempting word completion is described above under P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
- Other options, if specified, have the following meanings. The
- arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
- -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
+ Other options, if specified, have the following meanings. The
+ arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
+ -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
- The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
- spec's behavior beyond the simple generation of comple-
+ The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
+ spec's behavior beyond the simple generation of comple-
tions. _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
Perform the rest of the default b\bba\bas\bsh\bh completions
if the compspec generates no matches.
- d\bde\bef\bfa\bau\bul\blt\bt Use r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion if
+ d\bde\bef\bfa\bau\bul\blt\bt Use r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion if
the compspec generates no matches.
d\bdi\bir\brn\bna\bam\bme\bes\bs
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
- Tell r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates file-
- names, so it can perform any filename-specific
- processing (such as adding a slash to directory
- names, quoting special characters, or suppress-
- ing trailing spaces). This is intended to be
+ Tell r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates file-
+ names, so it can perform any filename-specific
+ processing (such as adding a slash to directory
+ names, quoting special characters, or suppress-
+ ing trailing spaces). This is intended to be
used with shell functions.
f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
- Tell r\bre\bea\bad\bdl\bli\bin\bne\be to quote all the completed words
+ Tell r\bre\bea\bad\bdl\bli\bin\bne\be to quote all the completed words
even if they are not filenames.
- n\bno\boq\bqu\buo\bot\bte\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to quote the completed words
- if they are filenames (quoting filenames is the
+ n\bno\boq\bqu\buo\bot\bte\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to quote the completed words
+ if they are filenames (quoting filenames is the
default).
- n\bno\bos\bso\bor\brt\bt Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to sort the list of possible
+ n\bno\bos\bso\bor\brt\bt Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to sort the list of possible
completions alphabetically.
- n\bno\bos\bsp\bpa\bac\bce\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to append a space (the de-
- fault) to words completed at the end of the
+ n\bno\bos\bsp\bpa\bac\bce\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to append a space (the de-
+ fault) to words completed at the end of the
line.
p\bpl\blu\bus\bsd\bdi\bir\brs\bs
- After generating any matches defined by the
- compspec, attempt directory name completion and
- add any matches to the results of the other ac-
+ After generating any matches defined by the
+ compspec, attempt directory name completion and
+ add any matches to the results of the other ac-
tions.
-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
- The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
+ The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
list of possible completions:
a\bal\bli\bia\bas\bs Alias names. May also be specified as -\b-a\ba.
a\bar\brr\bra\bay\byv\bva\bar\br
Array variable names.
b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
- b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
+ b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
specified as -\b-b\bb.
c\bco\bom\bmm\bma\ban\bnd\bd Command names. May also be specified as -\b-c\bc.
d\bdi\bir\bre\bec\bct\bto\bor\bry\by
d\bdi\bis\bsa\bab\bbl\ble\bed\bd
Names of disabled shell builtins.
e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
- e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
+ e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
specified as -\b-e\be.
f\bfi\bil\ble\be File names. May also be specified as -\b-f\bf.
f\bfu\bun\bnc\bct\bti\bio\bon\bn
h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
Help topics as accepted by the h\bhe\bel\blp\bp builtin.
h\bho\bos\bst\btn\bna\bam\bme\be
- Hostnames, as taken from the file specified by
+ Hostnames, as taken from the file specified by
the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
- j\bjo\bob\bb Job names, if job control is active. May also
+ j\bjo\bob\bb Job names, if job control is active. May also
be specified as -\b-j\bj.
- k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
+ k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
-\b-k\bk.
r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
s\bse\ber\brv\bvi\bic\bce\be Service names. May also be specified as -\b-s\bs.
- s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
+ s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
builtin.
- s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
+ s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
builtin.
s\bsi\big\bgn\bna\bal\bl Signal names.
s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
Names of all shell variables. May also be spec-
ified as -\b-v\bv.
-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
- output is used as the possible completions. Arguments
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
+ output is used as the possible completions. Arguments
are passed as with the -\b-F\bF option.
-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
- shell environment. When the function is executed, the
+ The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+ shell environment. When the function is executed, the
first argument ($\b$1\b1) is the name of the command whose ar-
guments are being completed, the second argument ($\b$2\b2) is
the word being completed, and the third argument ($\b$3\b3) is
- the word preceding the word being completed on the cur-
+ the word preceding the word being completed on the cur-
rent command line. When _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn finishes, programmable
- completion retrieves the possible completions from the
+ completion retrieves the possible completions from the
value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
- Expand the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to gener-
+ Expand the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to gener-
ate the possible completions.
-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
- Add _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible completion
+ Add _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible completion
after all other options have been applied.
-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
- Append _\bs_\bu_\bf_\bf_\bi_\bx to each possible completion after all
+ Append _\bs_\bu_\bf_\bf_\bi_\bx to each possible completion after all
other options have been applied.
-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- Split the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\bS spe-
- cial variable as delimiters, and expand each resulting
- word. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in or-
- der to provide a mechanism for the words to contain
- shell metacharacters or characters in the value of I\bIF\bFS\bS.
- The possible completions are the members of the resul-
- tant list which match a prefix of the word being com-
+ Split the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\bS spe-
+ cial variable as delimiters, and expand each resulting
+ word. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in or-
+ der to provide a mechanism for the words to contain
+ shell metacharacters or characters in the value of I\bIF\bFS\bS.
+ The possible completions are the members of the resul-
+ tant list which match a prefix of the word being com-
pleted.
-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
- _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for pathname expansion.
+ _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for pathname expansion.
It is applied to the list of possible completions gener-
- ated by the preceding options and arguments, and each
- completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
- A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+ ated by the preceding options and arguments, and each
+ completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+ A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
an option other than -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, or -\b-I\bI is supplied without a
- _\bn_\ba_\bm_\be argument, an attempt is made to remove a completion speci-
+ _\bn_\ba_\bm_\be argument, an attempt is made to remove a completion speci-
fication for a _\bn_\ba_\bm_\be for which no specification exists, or an er-
ror occurs adding a completion specification.
c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
- Modify completion options for each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
+ Modify completion options for each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
_\bt_\bi_\bo_\bns, or for the currently-executing completion if no _\bn_\ba_\bm_\bes are
- supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are supplied, display the completion
- options for each _\bn_\ba_\bm_\be or the current completion. The possible
- values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
+ supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are supplied, display the completion
+ options for each _\bn_\ba_\bm_\be or the current completion. The possible
+ values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
scribed above.
The -\b-D\bD option indicates that other supplied options should apply
- to the "default" command completion; the -\b-E\bE option indicates
+ to the "default" command completion; the -\b-E\bE option indicates
that other supplied options should apply to "empty" command com-
pletion; and the -\b-I\bI option indicates that other supplied options
- should apply to completion on the initial word on the line.
+ should apply to completion on the initial word on the line.
These are determined in the same way as the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin.
If multiple options are supplied, the -\b-D\bD option takes precedence
over -\b-E\bE, and both take precedence over -\b-I\bI.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
completion specification exists, or an output error occurs.
c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
c\bco\bon\bnt\bti\bin\bnu\bue\be resumes the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be,
- u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, b\bba\bas\bsh\bh resumes the _\bnth
- enclosing loop. _\bn must be >= 1. If _\bn is greater than the num-
- ber of enclosing loops, the shell resumes the last enclosing
- loop (the "top-level" loop). The return value is 0 unless _\bn is
+ u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, b\bba\bas\bsh\bh resumes the _\bnth
+ enclosing loop. _\bn must be >= 1. If _\bn is greater than the num-
+ ber of enclosing loops, the shell resumes the last enclosing
+ loop (the "top-level" loop). The return value is 0 unless _\bn is
not greater than or equal to 1.
d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
- Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
+ Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
given then display the values of variables or functions. The -\b-p\bp
- option will display the attributes and values of each _\bn_\ba_\bm_\be.
- When -\b-p\bp is used with _\bn_\ba_\bm_\be arguments, additional options, other
+ option will display the attributes and values of each _\bn_\ba_\bm_\be.
+ When -\b-p\bp is used with _\bn_\ba_\bm_\be arguments, additional options, other
than -\b-f\bf and -\b-F\bF, are ignored.
When -\b-p\bp is supplied without _\bn_\ba_\bm_\be arguments, d\bde\bec\bcl\bla\bar\bre\be will display
the attributes and values of all variables having the attributes
- specified by the additional options. If no other options are
+ specified by the additional options. If no other options are
supplied with -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values
- of all shell variables. The -\b-f\bf option restricts the display to
+ of all shell variables. The -\b-f\bf option restricts the display to
shell functions.
The -\b-F\bF option inhibits the display of function definitions; only
- the function name and attributes are printed. If the e\bex\bxt\btd\bde\beb\bbu\bug\bg
- shell option is enabled using s\bsh\bho\bop\bpt\bt, the source file name and
- line number where each _\bn_\ba_\bm_\be is defined are displayed as well.
+ the function name and attributes are printed. If the e\bex\bxt\btd\bde\beb\bbu\bug\bg
+ shell option is enabled using s\bsh\bho\bop\bpt\bt, the source file name and
+ line number where each _\bn_\ba_\bm_\be is defined are displayed as well.
The -\b-F\bF option implies -\b-f\bf.
- The -\b-g\bg option forces variables to be created or modified at the
+ The -\b-g\bg option forces variables to be created or modified at the
global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.
It is ignored when d\bde\bec\bcl\bla\bar\bre\be is not executed in a shell function.
- The -\b-I\bI option causes local variables to inherit the attributes
- (except the _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any existing vari-
- able with the same _\bn_\ba_\bm_\be at a surrounding scope. If there is no
+ The -\b-I\bI option causes local variables to inherit the attributes
+ (except the _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any existing vari-
+ able with the same _\bn_\ba_\bm_\be at a surrounding scope. If there is no
existing variable, the local variable is initially unset.
- The following options can be used to restrict output to vari-
- ables with the specified attribute or to give variables attrib-
+ The following options can be used to restrict output to vari-
+ ables with the specified attribute or to give variables attrib-
utes:
- -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
above).
- -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
above).
-\b-f\bf Each _\bn_\ba_\bm_\be refers to a shell function.
-\b-i\bi The variable is treated as an integer; arithmetic evalua-
- tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
+ tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
the variable is assigned a value.
- -\b-l\bl When the variable is assigned a value, all upper-case
- characters are converted to lower-case. The upper-case
+ -\b-l\bl When the variable is assigned a value, all upper-case
+ characters are converted to lower-case. The upper-case
attribute is disabled.
- -\b-n\bn Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
- reference to another variable. That other variable is
- defined by the value of _\bn_\ba_\bm_\be. All references, assign-
- ments, and attribute modifications to _\bn_\ba_\bm_\be, except those
- using or changing the -\b-n\bn attribute itself, are performed
- on the variable referenced by _\bn_\ba_\bm_\be's value. The nameref
+ -\b-n\bn Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
+ reference to another variable. That other variable is
+ defined by the value of _\bn_\ba_\bm_\be. All references, assign-
+ ments, and attribute modifications to _\bn_\ba_\bm_\be, except those
+ using or changing the -\b-n\bn attribute itself, are performed
+ on the variable referenced by _\bn_\ba_\bm_\be's value. The nameref
attribute cannot be applied to array variables.
-\b-r\br Make _\bn_\ba_\bm_\bes readonly. These names cannot then be assigned
values by subsequent assignment statements or unset.
-\b-t\bt Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute. Traced functions in-
- herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
+ herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
The trace attribute has no special meaning for variables.
- -\b-u\bu When the variable is assigned a value, all lower-case
- characters are converted to upper-case. The lower-case
+ -\b-u\bu When the variable is assigned a value, all lower-case
+ characters are converted to upper-case. The lower-case
attribute is disabled.
- -\b-x\bx Mark each _\bn_\ba_\bm_\be for export to subsequent commands via the
+ -\b-x\bx Mark each _\bn_\ba_\bm_\be for export to subsequent commands via the
environment.
- Using "+" instead of "-" turns off the specified attribute in-
+ Using "+" instead of "-" turns off the specified attribute in-
stead, with the exceptions that +\b+a\ba and +\b+A\bA may not be used to de-
- stroy array variables and +\b+r\br will not remove the readonly at-
+ stroy array variables and +\b+r\br will not remove the readonly at-
tribute.
- When used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be lo-
- cal, as with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is sup-
- plied. If a variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of
- the variable is set to _\bv_\ba_\bl_\bu_\be. When using -\b-a\ba or -\b-A\bA and the com-
- pound assignment syntax to create array variables, additional
+ When used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be lo-
+ cal, as with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is sup-
+ plied. If a variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of
+ the variable is set to _\bv_\ba_\bl_\bu_\be. When using -\b-a\ba or -\b-A\bA and the com-
+ pound assignment syntax to create array variables, additional
attributes do not take effect until subsequent assignments.
- The return value is 0 unless an invalid option is encountered,
- an attempt is made to define a function using "-f foo=bar". an
+ The return value is 0 unless an invalid option is encountered,
+ an attempt is made to define a function using "-f foo=bar". an
attempt is made to assign a value to a readonly variable, an at-
tempt is made to assign a value to an array variable without us-
- ing the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of
+ ing the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of
the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an attempt is made
- to turn off readonly status for a readonly variable, an attempt
- is made to turn off array status for an array variable, or an
+ to turn off readonly status for a readonly variable, an attempt
+ is made to turn off array status for an array variable, or an
attempt is made to display a non-existent function with -\b-f\bf.
d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
Without options, display the list of currently remembered direc-
- tories. The default display is on a single line with directory
- names separated by spaces. Directories are added to the list
- with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries from
- the list. The current directory is always the first directory
+ tories. The default display is on a single line with directory
+ names separated by spaces. Directories are added to the list
+ with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries from
+ the list. The current directory is always the first directory
in the stack.
Options, if supplied, have the following meanings:
- -\b-c\bc Clears the directory stack by deleting all of the en-
+ -\b-c\bc Clears the directory stack by deleting all of the en-
tries.
- -\b-l\bl Produces a listing using full pathnames; the default
+ -\b-l\bl Produces a listing using full pathnames; the default
listing format uses a tilde to denote the home directory.
-\b-p\bp Print the directory stack with one entry per line.
- -\b-v\bv Print the directory stack with one entry per line, pre-
+ -\b-v\bv Print the directory stack with one entry per line, pre-
fixing each entry with its index in the stack.
+\b+_\bn Displays the _\bnth entry counting from the left of the list
shown by d\bdi\bir\brs\bs when invoked without options, starting with
zero.
- -\b-_\bn Displays the _\bnth entry counting from the right of the
+ -\b-_\bn Displays the _\bnth entry counting from the right of the
list shown by d\bdi\bir\brs\bs when invoked without options, starting
with zero.
- The return value is 0 unless an invalid option is supplied or _\bn
+ The return value is 0 unless an invalid option is supplied or _\bn
indexes beyond the end of the directory stack.
d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bi_\bd ...]
- Without options, remove each _\bi_\bd from the table of active jobs.
- Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
+ Without options, remove each _\bi_\bd from the table of active jobs.
+ Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
if _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
- If the -\b-h\bh option is supplied, d\bdi\bis\bso\bow\bwn\bn does not remove the jobs
- corresponding to each _\bi_\bd from the jobs table, but rather marks
- them so the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if the shell
+ If the -\b-h\bh option is supplied, d\bdi\bis\bso\bow\bwn\bn does not remove the jobs
+ corresponding to each _\bi_\bd from the jobs table, but rather marks
+ them so the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if the shell
receives a S\bSI\bIG\bGH\bHU\bUP\bP.
- If no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
+ If no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
jobs; the -\b-r\br option without an _\bi_\bd argument removes or marks run-
- ning jobs. If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the -\b-r\br
+ ning jobs. If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the -\b-r\br
option is supplied, d\bdi\bis\bso\bow\bwn\bn removes or marks the current job.
The return value is 0 unless an _\bi_\bd does not specify a valid job.
e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
- Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
- The return status is 0 unless a write error occurs. If -\b-n\bn is
+ Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
+ The return status is 0 unless a write error occurs. If -\b-n\bn is
specified, the trailing newline is not printed.
- If the -\b-e\be option is given, e\bec\bch\bho\bo interprets the following back-
+ If the -\b-e\be option is given, e\bec\bch\bho\bo interprets the following back-
slash-escaped characters. The -\b-E\bE option disables interpretation
- of these escape characters, even on systems where they are in-
- terpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option determines
+ of these escape characters, even on systems where they are in-
+ terpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option determines
whether or not e\bec\bch\bho\bo interprets any options and expands these es-
- cape characters. e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of
+ cape characters. e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of
options.
e\bec\bch\bho\bo interprets the following escape sequences:
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
\\b\\\b\ backslash
- \\b\0\b0_\bn_\bn_\bn The eight-bit character whose value is the octal value
+ \\b\0\b0_\bn_\bn_\bn The eight-bit character whose value is the octal value
_\bn_\bn_\bn (zero to three octal digits).
- \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits).
- \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is the
+ \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits).
\\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
- The Unicode (ISO/IEC 10646) character whose value is the
+ The Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits).
- e\bec\bch\bho\bo writes any unrecognized backslash-escaped characters un-
+ e\bec\bch\bho\bo writes any unrecognized backslash-escaped characters un-
changed.
e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
- Enable and disable builtin shell commands. Disabling a builtin
- allows an executable file which has the same name as a shell
- builtin to be executed without specifying a full pathname, even
+ Enable and disable builtin shell commands. Disabling a builtin
+ allows an executable file which has the same name as a shell
+ builtin to be executed without specifying a full pathname, even
though the shell normally searches for builtins before files.
- If -\b-n\bn is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\bes are
- enabled. For example, to use the t\bte\bes\bst\bt binary found usin g P\bPA\bAT\bTH\bH
+ If -\b-n\bn is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\bes are
+ enabled. For example, to use the t\bte\bes\bst\bt binary found usin g P\bPA\bAT\bTH\bH
instead of the shell builtin version, run "enable -n test".
- If no _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option is sup-
+ If no _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option is sup-
plied, print a list of shell builtins. With no other option ar-
guments, the list consists of all enabled shell builtins. If -\b-n\bn
- is supplied, print only disabled builtins. If -\b-a\ba is supplied,
- the list printed includes all builtins, with an indication of
+ is supplied, print only disabled builtins. If -\b-a\ba is supplied,
+ the list printed includes all builtins, with an indication of
whether or not each is enabled. The -\b-s\bs option means to restrict
the output to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.
- The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
+ The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, B\bBa\bas\bsh\bh will use the value of
- the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a colon-separated list of
- directories in which to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. The default for
- B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH is system-dependent, and may include "." to
- force a search of the current directory. The -\b-d\bd option will
- delete a builtin previously loaded with -\b-f\bf. If _\b-_\bs is used with
+ the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a colon-separated list of
+ directories in which to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. The default for
+ B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH is system-dependent, and may include "." to
+ force a search of the current directory. The -\b-d\bd option will
+ delete a builtin previously loaded with -\b-f\bf. If _\b-_\bs is used with
_\b-_\bf, the new builtin becomes a POSIX special builtin.
- If no options are supplied and a _\bn_\ba_\bm_\be is not a shell builtin,
- e\ben\bna\bab\bbl\ble\be will attempt to load _\bn_\ba_\bm_\be from a shared object named
+ If no options are supplied and a _\bn_\ba_\bm_\be is not a shell builtin,
+ e\ben\bna\bab\bbl\ble\be will attempt to load _\bn_\ba_\bm_\be from a shared object named
_\bn_\ba_\bm_\be, as if the command were "enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be".
- The return value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or
+ The return value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or
there is an error loading a new builtin from a shared object.
e\bev\bva\bal\bl [_\ba_\br_\bg ...]
- Concatenate the _\ba_\br_\bgs together into a single command, separating
+ Concatenate the _\ba_\br_\bgs together into a single command, separating
them with spaces. B\bBa\bas\bsh\bh then reads and execute this command, and
- returns its exit status as the return status of e\bev\bva\bal\bl. If there
+ returns its exit status as the return status of e\bev\bva\bal\bl. If there
are no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
- If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell without creating
- a new process. _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin or function.
+ If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell without creating
+ a new process. _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin or function.
The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If the -\b-l\bl option
is supplied, the shell places a dash at the beginning of the ze-
- roth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what _\bl_\bo_\bg_\bi_\bn(1) does.
- The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty envi-
+ roth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what _\bl_\bo_\bg_\bi_\bn(1) does.
+ The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty envi-
ronment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be as the zeroth
argument to the executed command.
If _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be executed for some reason, a non-interactive
- shell exits, unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In
- that case, it returns a non-zero status. An interactive shell
- returns a non-zero status if the file cannot be executed. A
+ shell exits, unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In
+ that case, it returns a non-zero status. An interactive shell
+ returns a non-zero status if the file cannot be executed. A
subshell exits unconditionally if e\bex\bxe\bec\bc fails.
If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections take effect in the
- current shell, and the return status is 0. If there is a redi-
+ current shell, and the return status is 0. If there is a redi-
rection error, the return status is 1.
e\bex\bxi\bit\bt [_\bn]
- Cause the shell to exit with a status of _\bn. If _\bn is omitted,
- the exit status is that of the last command executed. Any trap
+ Cause the shell to exit with a status of _\bn. If _\bn is omitted,
+ the exit status is that of the last command executed. Any trap
on E\bEX\bXI\bIT\bT is executed before the shell terminates.
e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be]] ...
e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
- The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the -\b-f\bf option is
+ The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the -\b-f\bf option is
given, the _\bn_\ba_\bm_\be_\bs refer to functions.
- The -\b-n\bn option unexports, or removes the export attribute, from
- each _\bn_\ba_\bm_\be. If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option is sup-
- plied, e\bex\bxp\bpo\bor\brt\bt prints a list of names of all exported variables
+ The -\b-n\bn option unexports, or removes the export attribute, from
+ each _\bn_\ba_\bm_\be. If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option is sup-
+ plied, e\bex\bxp\bpo\bor\brt\bt prints a list of names of all exported variables
on the standard output.
- e\bex\bxp\bpo\bor\brt\bt allows the value of a variable to be set when it is ex-
+ e\bex\bxp\bpo\bor\brt\bt allows the value of a variable to be set when it is ex-
ported or unexported by following the variable name with =_\bv_\ba_\bl_\bu_\be.
This sets the value of the variable to _\bv_\ba_\bl_\bu_\be while modifying the
- export attribute. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an
- invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid
+ export attribute. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an
+ invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid
shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a
function.
f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
- The first form selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
- from the history list and displays or edits and re-executes
- them. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a string (to locate
- the last command beginning with that string) or as a number (an
- index into the history list, where a negative number is used as
+ The first form selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
+ from the history list and displays or edits and re-executes
+ them. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a string (to locate
+ the last command beginning with that string) or as a number (an
+ index into the history list, where a negative number is used as
an offset from the current command number).
When listing, a _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is
equivalent to the current command (usually the f\bfc\bc command); oth-
- erwise 0 is equivalent to -1 and -0 is invalid. If _\bl_\ba_\bs_\bt is not
+ erwise 0 is equivalent to -1 and -0 is invalid. If _\bl_\ba_\bs_\bt is not
specified, it is set to the current command for listing (so that
"fc -l -10" prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.
If _\bf_\bi_\br_\bs_\bt is not specified, it is set to the previous command for
editing and -16 for listing.
- If the -\b-l\bl option is supplied, the commands are listed on the
- standard output. The -\b-n\bn option suppresses the command numbers
+ If the -\b-l\bl option is supplied, the commands are listed on the
+ standard output. The -\b-n\bn option suppresses the command numbers
when listing. The -\b-r\br option reverses the order of the commands.
- Otherwise, f\bfc\bc invokes the editor named by _\be_\bn_\ba_\bm_\be on a file con-
- taining those commands. If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc uses the
- value of the F\bFC\bCE\bED\bDI\bIT\bT variable, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT
- is not set. If neither variable is set, f\bfc\bc uses _\bv_\bi_\b. When edit-
- ing is complete, f\bfc\bc reads the file containing the edited com-
+ Otherwise, f\bfc\bc invokes the editor named by _\be_\bn_\ba_\bm_\be on a file con-
+ taining those commands. If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc uses the
+ value of the F\bFC\bCE\bED\bDI\bIT\bT variable, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT
+ is not set. If neither variable is set, f\bfc\bc uses _\bv_\bi_\b. When edit-
+ ing is complete, f\bfc\bc reads the file containing the edited com-
mands and echoes and executes them.
- In the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing each
- instance of _\bp_\ba_\bt with _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+ In the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing each
+ instance of _\bp_\ba_\bt with _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
_\bf_\bi_\br_\bs_\bt above.
- A useful alias to use with f\bfc\bc is "r="fc -s"", so that typing "r
+ A useful alias to use with f\bfc\bc is "r="fc -s"", so that typing "r
cc" runs the last command beginning with "cc" and typing "r" re-
executes the last command.
- If the first form is used, the return value is zero unless an
- invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
- lines out of range. When editing and re-executing a file of
+ If the first form is used, the return value is zero unless an
+ invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+ lines out of range. When editing and re-executing a file of
commands, the return value is the value of the last command exe-
cuted or failure if an error occurs with the temporary file. If
the second form is used, the return status is that of the re-ex-
- ecuted command, unless _\bc_\bm_\bd does not specify a valid history en-
+ ecuted command, unless _\bc_\bm_\bd does not specify a valid history en-
try, in which case f\bfc\bc returns a non-zero status.
f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
- Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, f\bfg\bg uses the shell's notion of the
- _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. The return value is that of the command placed
- into the foreground, or failure if run when job control is dis-
+ Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, f\bfg\bg uses the shell's notion of the
+ _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. The return value is that of the command placed
+ into the foreground, or failure if run when job control is dis-
abled or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not
- specify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+ specify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
without job control.
g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg ...]
- g\bge\bet\bto\bop\bpt\bts\bs is used by shell scripts and functions to parse posi-
- tional parameters and obtain options and their arguments. _\bo_\bp_\bt_\b-
- _\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recognized; if a
+ g\bge\bet\bto\bop\bpt\bts\bs is used by shell scripts and functions to parse posi-
+ tional parameters and obtain options and their arguments. _\bo_\bp_\bt_\b-
+ _\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recognized; if a
character is followed by a colon, the option is expected to have
- an argument, which should be separated from it by white space.
+ an argument, which should be separated from it by white space.
The colon and question mark characters may not be used as option
characters.
- Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs places the next option in the
+ Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs places the next option in the
shell variable _\bn_\ba_\bm_\be, initializing _\bn_\ba_\bm_\be if it does not exist, and
the index of the next argument to be processed into the variable
- O\bOP\bPT\bTI\bIN\bND\bD. O\bOP\bPT\bTI\bIN\bND\bD is initialized to 1 each time the shell or a
- shell script is invoked. When an option requires an argument,
+ O\bOP\bPT\bTI\bIN\bND\bD. O\bOP\bPT\bTI\bIN\bND\bD is initialized to 1 each time the shell or a
+ shell script is invoked. When an option requires an argument,
g\bge\bet\bto\bop\bpt\bts\bs places that argument into the variable O\bOP\bPT\bTA\bAR\bRG\bG.
- The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be manu-
- ally reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs within the same
+ The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be manu-
+ ally reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs within the same
shell invocation to use a new set of parameters.
- When it reaches the end of options, g\bge\bet\bto\bop\bpt\bts\bs exits with a return
- value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
+ When it reaches the end of options, g\bge\bet\bto\bop\bpt\bts\bs exits with a return
+ value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
- g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
- arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
+ g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
+ arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
stead.
- g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
- of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, g\bge\bet\bto\bop\bpt\bts\bs uses _\bs_\bi_\bl_\be_\bn_\bt error reporting.
- In normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when it
- encounters invalid options or missing option arguments. If the
- variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
+ g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
+ of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, g\bge\bet\bto\bop\bpt\bts\bs uses _\bs_\bi_\bl_\be_\bn_\bt error reporting.
+ In normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when it
+ encounters invalid options or missing option arguments. If the
+ variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
If g\bge\bet\bto\bop\bpt\bts\bs detects an invalid option, it places ? into _\bn_\ba_\bm_\be and,
- if not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
- g\bge\bet\bto\bop\bpt\bts\bs is silent, it assigns the option character found to O\bOP\bP-\b-
+ if not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
+ g\bge\bet\bto\bop\bpt\bts\bs is silent, it assigns the option character found to O\bOP\bP-\b-
T\bTA\bAR\bRG\bG and does not print a diagnostic message.
- If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+ If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
it sets the value of _\bn_\ba_\bm_\be to a question mark (?\b?), unsets O\bOP\bPT\bTA\bAR\bRG\bG,
- and prints a diagnostic message. If g\bge\bet\bto\bop\bpt\bts\bs is silent, it sets
- the value of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to the option
+ and prints a diagnostic message. If g\bge\bet\bto\bop\bpt\bts\bs is silent, it sets
+ the value of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to the option
character found.
- g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
+ g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
Each time h\bha\bas\bsh\bh is invoked, it remembers the full pathname of the
- command _\bn_\ba_\bm_\be as determined by searching the directories in
- $\b$P\bPA\bAT\bTH\bH. Any previously-remembered pathname associated with _\bn_\ba_\bm_\be
- is discarded. If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ command _\bn_\ba_\bm_\be as determined by searching the directories in
+ $\b$P\bPA\bAT\bTH\bH. Any previously-remembered pathname associated with _\bn_\ba_\bm_\be
+ is discarded. If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
as the full pathname of the command.
- The -\b-r\br option causes the shell to forget all remembered loca-
- tions. Assigning to the P\bPA\bAT\bTH\bH variable also clears all hashed
- filenames. The -\b-d\bd option causes the shell to forget the remem-
+ The -\b-r\br option causes the shell to forget all remembered loca-
+ tions. Assigning to the P\bPA\bAT\bTH\bH variable also clears all hashed
+ filenames. The -\b-d\bd option causes the shell to forget the remem-
bered location of each _\bn_\ba_\bm_\be.
If the -\b-t\bt option is supplied, h\bha\bas\bsh\bh prints the full pathname cor-
- responding to each _\bn_\ba_\bm_\be. If multiple _\bn_\ba_\bm_\be arguments are sup-
- plied with -\b-t\bt, h\bha\bas\bsh\bh prints the _\bn_\ba_\bm_\be before the corresponding
+ responding to each _\bn_\ba_\bm_\be. If multiple _\bn_\ba_\bm_\be arguments are sup-
+ plied with -\b-t\bt, h\bha\bas\bsh\bh prints the _\bn_\ba_\bm_\be before the corresponding
hashed full pathname. The -\b-l\bl option displays output in a format
that may be reused as input.
- If no arguments are given, or if only -\b-l\bl is supplied, h\bha\bas\bsh\bh
- prints information about remembered commands. The -\b-t\bt, -\b-d\bd, and
- -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are mu-
+ If no arguments are given, or if only -\b-l\bl is supplied, h\bha\bas\bsh\bh
+ prints information about remembered commands. The -\b-t\bt, -\b-d\bd, and
+ -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are mu-
tually exclusive. Only one will be active. If more than one is
- supplied, -\b-t\bt has higher priority than -\b-p\bp, and both have higher
+ supplied, -\b-t\bt has higher priority than -\b-p\bp, and both have higher
priority than -\b-d\bd.
- The return status is zero unless a _\bn_\ba_\bm_\be is not found or an in-
+ The return status is zero unless a _\bn_\ba_\bm_\be is not found or an in-
valid option is supplied.
h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
- Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
- is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
- _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise it displays a list of all the builtins and
+ Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
+ is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+ _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise it displays a list of all the builtins and
shell compound commands.
-\b-d\bd Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
-\b-m\bm Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
h\bhi\bis\bst\bto\bor\bry\by -\b-a\ban\bnr\brw\bw [_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be]
h\bhi\bis\bst\bto\bor\bry\by -\b-p\bp _\ba_\br_\bg [_\ba_\br_\bg ...]
h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg ...]
- With no options, display the command history list with numbers.
- Entries prefixed with a *\b* have been modified. An argument of _\bn
- lists only the last _\bn entries. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
- F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
- _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
- played history entry. If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, it does
- not print an intervening space between the formatted time stamp
+ With no options, display the command history list with numbers.
+ Entries prefixed with a *\b* have been modified. An argument of _\bn
+ lists only the last _\bn entries. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+ F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
+ _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
+ played history entry. If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, it does
+ not print an intervening space between the formatted time stamp
and the history entry.
If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is supplied, h\bhi\bis\bst\bto\bor\bry\by uses it as the name of the his-
- tory file; if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- is not supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b,
+ tory file; if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ is not supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b,
and -\b-w\bw options have no effect.
Options, if supplied, have the following meanings:
can be used with the other options to replace the history
list.
-\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
- Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt. If _\bo_\bf_\bf_\bs_\be_\bt
+ Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt. If _\bo_\bf_\bf_\bs_\be_\bt
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
- back from the end of the history, and an index of -1
+ back from the end of the history, and an index of -1
refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
-\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
- Delete the range of history entries between positions
- _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd, inclusive. Positive and negative values
+ Delete the range of history entries between positions
+ _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd, inclusive. Positive and negative values
for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
- -\b-a\ba Append the "new" history lines to the history file.
- These are history lines entered since the beginning of
+ -\b-a\ba Append the "new" history lines to the history file.
+ These are history lines entered since the beginning of
the current b\bba\bas\bsh\bh session, but not already appended to the
history file.
- -\b-n\bn Read the history lines not already read from the history
+ -\b-n\bn Read the history lines not already read from the history
file and add them to the current history list. These are
lines appended to the history file since the beginning of
the current b\bba\bas\bsh\bh session.
rent history list.
-\b-w\bw Write the current history list to the history file, over-
writing the history file.
- -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
- display the result on the standard output, without stor-
- ing the results in the history list. Each _\ba_\br_\bg must be
+ -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
+ display the result on the standard output, without stor-
+ ing the results in the history list. Each _\ba_\br_\bg must be
quoted to disable normal history expansion.
- -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
- The last command in the history list is removed before
+ -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
+ The last command in the history list is removed before
adding the _\ba_\br_\bg_\bs.
- If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes the time
+ If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes the time
stamp information associated with each history entry to the his-
- tory file, marked with the history comment character as de-
- scribed above. When the history file is read, lines beginning
- with the history comment character followed immediately by a
- digit are interpreted as timestamps for the following history
+ tory file, marked with the history comment character as de-
+ scribed above. When the history file is read, lines beginning
+ with the history comment character followed immediately by a
+ digit are interpreted as timestamps for the following history
entry.
- The return value is 0 unless an invalid option is encountered,
- an error occurs while reading or writing the history file, an
+ The return value is 0 unless an invalid option is encountered,
+ an error occurs while reading or writing the history file, an
invalid _\bo_\bf_\bf_\bs_\be_\bt or range is supplied as an argument to -\b-d\bd, or the
history expansion supplied as an argument to -\b-p\bp fails.
The first form lists the active jobs. The options have the fol-
lowing meanings:
-\b-l\bl List process IDs in addition to the normal information.
- -\b-n\bn Display information only about jobs that have changed
+ -\b-n\bn Display information only about jobs that have changed
status since the user was last notified of their status.
- -\b-p\bp List only the process ID of the job's process group
+ -\b-p\bp List only the process ID of the job's process group
leader.
-\b-r\br Display only running jobs.
-\b-s\bs Display only stopped jobs.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, j\bjo\bob\bbs\bs restricts output to information
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, j\bjo\bob\bbs\bs restricts output to information
about that job. The return status is 0 unless an invalid option
is encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] _\bi_\bd [ ... ]
k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
- Send the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+ Send the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
named by each _\bi_\bd. Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or
- a process ID _\bp_\bi_\bd. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive signal
- name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or a sig-
- nal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not sup-
+ a process ID _\bp_\bi_\bd. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive signal
+ name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or a sig-
+ nal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not sup-
plied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
The -\b-l\bl option lists the signal names. If any arguments are sup-
plied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals cor-
- responding to the arguments, and the return status is 0. The
- _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to -\b-l\bl is a number specifying either a sig-
- nal number or the exit status of a process terminated by a sig-
- nal; if it is supplied, k\bki\bil\bll\bl prints the name of the signal that
+ responding to the arguments, and the return status is 0. The
+ _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to -\b-l\bl is a number specifying either a sig-
+ nal number or the exit status of a process terminated by a sig-
+ nal; if it is supplied, k\bki\bil\bll\bl prints the name of the signal that
caused the process to terminate. k\bki\bil\bll\bl assumes that process exit
statuses are greater than 128; anything less than that is a sig-
nal number. The -\b-L\bL option is equivalent to -\b-l\bl.
- k\bki\bil\bll\bl returns true if at least one signal was successfully sent,
+ k\bki\bil\bll\bl returns true if at least one signal was successfully sent,
or false if an error occurs or an invalid option is encountered.
l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
- Each _\ba_\br_\bg is evaluated as an arithmetic expression (see A\bAR\bRI\bIT\bTH\bH-\b-
- M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above). If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
+ Each _\ba_\br_\bg is evaluated as an arithmetic expression (see A\bAR\bRI\bIT\bTH\bH-\b-
+ M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above). If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
returns 1; otherwise l\ble\bet\bt returns 0.
l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
For each argument, create a local variable named _\bn_\ba_\bm_\be and assign
- it _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by d\bde\be-\b-
- c\bcl\bla\bar\bre\be. When l\blo\boc\bca\bal\bl is used within a function, it causes the
- variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
- tion and its children. It is an error to use l\blo\boc\bca\bal\bl when not
+ it _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by d\bde\be-\b-
+ c\bcl\bla\bar\bre\be. When l\blo\boc\bca\bal\bl is used within a function, it causes the
+ variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
+ tion and its children. It is an error to use l\blo\boc\bca\bal\bl when not
within a function.
- If _\bn_\ba_\bm_\be is -, it makes the set of shell options local to the
- function in which l\blo\boc\bca\bal\bl is invoked: any shell options changed
- using the s\bse\bet\bt builtin inside the function after the call to l\blo\bo-\b-
- c\bca\bal\bl are restored to their original values when the function re-
- turns. The restore is performed as if a series of s\bse\bet\bt commands
- were executed to restore the values that were in place before
+ If _\bn_\ba_\bm_\be is -, it makes the set of shell options local to the
+ function in which l\blo\boc\bca\bal\bl is invoked: any shell options changed
+ using the s\bse\bet\bt builtin inside the function after the call to l\blo\bo-\b-
+ c\bca\bal\bl are restored to their original values when the function re-
+ turns. The restore is performed as if a series of s\bse\bet\bt commands
+ were executed to restore the values that were in place before
the function.
- With no operands, l\blo\boc\bca\bal\bl writes a list of local variables to the
+ With no operands, l\blo\boc\bca\bal\bl writes a list of local variables to the
standard output.
- The return status is 0 unless l\blo\boc\bca\bal\bl is used outside a function,
+ The return status is 0 unless l\blo\boc\bca\bal\bl is used outside a function,
an invalid _\bn_\ba_\bm_\be is supplied, or _\bn_\ba_\bm_\be is a readonly variable.
l\blo\bog\bgo\bou\but\bt [\b[_\bn]\b]
- Exit a login shell, returning a status of _\bn to the shell's par-
+ Exit a login shell, returning a status of _\bn to the shell's par-
ent.
m\bma\bap\bpf\bfi\bil\ble\be [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
- Read lines from the standard input, or from file descriptor _\bf_\bd
- if the -\b-u\bu option is supplied, into the indexed array variable
- _\ba_\br_\br_\ba_\by. The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if
+ Read lines from the standard input, or from file descriptor _\bf_\bd
+ if the -\b-u\bu option is supplied, into the indexed array variable
+ _\ba_\br_\br_\ba_\by. The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if
supplied, have the following meanings:
- -\b-d\bd Use the first character of _\bd_\be_\bl_\bi_\bm to terminate each input
+ -\b-d\bd Use the first character of _\bd_\be_\bl_\bi_\bm to terminate each input
line, rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string,
m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL charac-
ter.
-\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, copy all lines.
- -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
+ -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
index is 0.
-\b-s\bs Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
- -\b-t\bt Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
+ -\b-t\bt Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
read.
- -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
+ -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
dard input.
- -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
+ -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
-\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
- -\b-c\bc Specify the number of lines read between each call to
+ -\b-c\bc Specify the number of lines read between each call to
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
- If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
+ If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
array element to be assigned and the line to be assigned to that
- element as additional arguments. _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
+ element as additional arguments. _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
the line is read but before the array element is assigned.
- If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
+ If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
_\br_\ba_\by before assigning to it.
m\bma\bap\bpf\bfi\bil\ble\be returns zero unless an invalid option or option argument
- is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or if _\ba_\br_\br_\ba_\by is
+ is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or if _\ba_\br_\br_\ba_\by is
not an indexed array.
p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
- Remove entries from the directory stack. The elements are num-
- bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs, so
- p\bpo\bop\bpd\bd is equivalent to "popd +0." With no arguments, p\bpo\bop\bpd\bd re-
- moves the top directory from the stack, and changes to the new
+ Remove entries from the directory stack. The elements are num-
+ bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs, so
+ p\bpo\bop\bpd\bd is equivalent to "popd +0." With no arguments, p\bpo\bop\bpd\bd re-
+ moves the top directory from the stack, and changes to the new
top directory. Arguments, if supplied, have the following mean-
ings:
-\b-n\bn Suppress the normal change of directory when removing di-
rectories from the stack, only manipulate the stack.
- +\b+_\bn Remove the _\bnth entry counting from the left of the list
- shown by d\bdi\bir\brs\bs, starting with zero, from the stack. For
+ +\b+_\bn Remove the _\bnth entry counting from the left of the list
+ shown by d\bdi\bir\brs\bs, starting with zero, from the stack. For
example: "popd +0" removes the first directory, "popd +1"
the second.
- -\b-_\bn Remove the _\bnth entry counting from the right of the list
- shown by d\bdi\bir\brs\bs, starting with zero. For example: "popd
- -0" removes the last directory, "popd -1" the next to
+ -\b-_\bn Remove the _\bnth entry counting from the right of the list
+ shown by d\bdi\bir\brs\bs, starting with zero. For example: "popd
+ -0" removes the last directory, "popd -1" the next to
last.
- If the top element of the directory stack is modified, and the
- _\b-_\bn option was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
+ If the top element of the directory stack is modified, and the
+ _\b-_\bn option was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
to the directory at the top of the stack. If the c\bcd\bd fails, p\bpo\bop\bpd\bd
returns a non-zero value.
- Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is supplied,
- the directory stack is empty, or _\bn specifies a non-existent di-
+ Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is supplied,
+ the directory stack is empty, or _\bn specifies a non-existent di-
rectory stack entry.
- If the p\bpo\bop\bpd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
- final contents of the directory stack, and the return status is
+ If the p\bpo\bop\bpd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
+ final contents of the directory stack, and the return status is
0.
p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
- control of the _\bf_\bo_\br_\bm_\ba_\bt. The -\b-v\bv option assigns the output to the
+ Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+ control of the _\bf_\bo_\br_\bm_\ba_\bt. The -\b-v\bv option assigns the output to the
variable _\bv_\ba_\br rather than printing it to the standard output.
- The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three types of
- objects: plain characters, which are simply copied to standard
- output, character escape sequences, which are converted and
- copied to the standard output, and format specifications, each
- of which causes printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt. In
- addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcC\bCs\bsS\bS-\b-
+ The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three types of
+ objects: plain characters, which are simply copied to standard
+ output, character escape sequences, which are converted and
+ copied to the standard output, and format specifications, each
+ of which causes printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt. In
+ addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcC\bCs\bsS\bS-\b-
n\bnd\bdi\bio\bou\bux\bxX\bXe\beE\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional for-
mat specifiers:
%\b%b\bb causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in the same way as e\bec\bch\bho\bo -\b-e\be.
- %\b%q\bq causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
- format that can be reused as shell input. %\b%q\bq and %\b%Q\bQ use
- the $\b$'\b''\b' quoting style if any characters in the argument
- string require it, and backslash quoting otherwise. If
- the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
+ %\b%q\bq causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
+ format that can be reused as shell input. %\b%q\bq and %\b%Q\bQ use
+ the $\b$'\b''\b' quoting style if any characters in the argument
+ string require it, and backslash quoting otherwise. If
+ the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
two formats quote the argument string using single
quotes.
- %\b%Q\bQ like %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
+ %\b%Q\bQ like %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
_\bm_\be_\bn_\bt before quoting it.
%\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
- causes p\bpr\bri\bin\bnt\btf\bf to output the date-time string resulting
- from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+ causes p\bpr\bri\bin\bnt\btf\bf to output the date-time string resulting
+ from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
number of seconds since the epoch. This format specifier
recognizes two special argument values: -1 represents the
- current time, and -2 represents the time the shell was
+ current time, and -2 represents the time the shell was
invoked. If no argument is specified, conversion behaves
- as if -1 had been supplied. This is an exception to the
+ as if -1 had been supplied. This is an exception to the
usual p\bpr\bri\bin\bnt\btf\bf behavior.
The %b, %q, and %T format specifiers all use the field width and
precision arguments from the format specification and write that
- many bytes from (or use that wide a field for) the expanded ar-
- gument, which usually contains more characters than the origi-
+ many bytes from (or use that wide a field for) the expanded ar-
+ gument, which usually contains more characters than the origi-
nal.
The %n format specifier accepts a corresponding argument that is
treated as a shell variable name.
- The %s and %c format specifiers accept an l (long) modifier,
+ The %s and %c format specifiers accept an l (long) modifier,
which forces them to convert the argument string to a wide-char-
acter string and apply any supplied field width and precision in
terms of characters, not bytes. The %S and %C format specifiers
are equivalent to %ls and %lc, respectively.
- Arguments to non-string format specifiers are treated as C con-
+ Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
- if the leading character is a single or double quote, the value
- is the numeric value of the following character, using the cur-
+ if the leading character is a single or double quote, the value
+ is the numeric value of the following character, using the cur-
rent locale.
- The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
+ The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
_\bm_\be_\bn_\bt_\bs. If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
- the extra format specifications behave as if a zero value or
- null string, as appropriate, had been supplied. The return
- value is zero on success, non-zero if an invalid option is sup-
+ the extra format specifications behave as if a zero value or
+ null string, as appropriate, had been supplied. The return
+ value is zero on success, non-zero if an invalid option is sup-
plied or a write or assignment error occurs.
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
Add a directory to the top of the directory stack, or rotate the
- stack, making the new top of the stack the current working di-
- rectory. With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
- ments of the directory stack. Arguments, if supplied, have the
+ stack, making the new top of the stack the current working di-
+ rectory. With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
+ ments of the directory stack. Arguments, if supplied, have the
following meanings:
- -\b-n\bn Suppress the normal change of directory when rotating or
- adding directories to the stack, only manipulate the
+ -\b-n\bn Suppress the normal change of directory when rotating or
+ adding directories to the stack, only manipulate the
stack.
+\b+_\bn Rotate the stack so that the _\bnth directory (counting from
- the left of the list shown by d\bdi\bir\brs\bs, starting with zero)
+ the left of the list shown by d\bdi\bir\brs\bs, starting with zero)
is at the top.
- -\b-_\bn Rotates the stack so that the _\bnth directory (counting
- from the right of the list shown by d\bdi\bir\brs\bs, starting with
+ -\b-_\bn Rotates the stack so that the _\bnth directory (counting
+ from the right of the list shown by d\bdi\bir\brs\bs, starting with
zero) is at the top.
_\bd_\bi_\br Adds _\bd_\bi_\br to the directory stack at the top.
After the stack has been modified, if the -\b-n\bn option was not sup-
- plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the directory at
+ plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the directory at
the top of the stack. If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
value.
- Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero un-
- less the directory stack is empty. When rotating the directory
+ Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero un-
+ less the directory stack is empty. When rotating the directory
stack, p\bpu\bus\bsh\bhd\bd returns zero unless the directory stack is empty or
_\bn specifies a non-existent directory stack element.
- If the p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
+ If the p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
final contents of the directory stack.
p\bpw\bwd\bd [-\b-L\bLP\bP]
- Print the absolute pathname of the current working directory.
+ Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the -\b-P\bP option
is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
- is enabled. If the -\b-L\bL option is used, the pathname printed may
- contain symbolic links. The return status is 0 unless an error
+ is enabled. If the -\b-L\bL option is used, the pathname printed may
+ contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an in-
valid option is supplied.
r\bre\bea\bad\bd [-\b-E\bEe\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs]
[-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
Read one line from the standard input, or from the file descrip-
- tor _\bf_\bd supplied as an argument to the -\b-u\bu option, split it into
- words as described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and assign the
- first word to the first _\bn_\ba_\bm_\be, the second word to the second
- _\bn_\ba_\bm_\be, and so on. If there are more words than names, the re-
- maining words and their intervening delimiters are assigned to
- the last _\bn_\ba_\bm_\be. If there are fewer words read from the input
- stream than names, the remaining names are assigned empty val-
- ues. The characters in the value of the I\bIF\bFS\bS variable are used
+ tor _\bf_\bd supplied as an argument to the -\b-u\bu option, split it into
+ words as described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and assign the
+ first word to the first _\bn_\ba_\bm_\be, the second word to the second
+ _\bn_\ba_\bm_\be, and so on. If there are more words than names, the re-
+ maining words and their intervening delimiters are assigned to
+ the last _\bn_\ba_\bm_\be. If there are fewer words read from the input
+ stream than names, the remaining names are assigned empty val-
+ ues. The characters in the value of the I\bIF\bFS\bS variable are used
to split the line into words using the same rules the shell uses
for expansion (described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg). The back-
- slash character (\\b\) removes any special meaning for the next
+ slash character (\\b\) removes any special meaning for the next
character read and is used for line continuation.
Options, if supplied, have the following meanings:
-\b-a\ba _\ba_\bn_\ba_\bm_\be
The words are assigned to sequential indices of the array
variable _\ba_\bn_\ba_\bm_\be, starting at 0. _\ba_\bn_\ba_\bm_\be is unset before any
- new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
+ new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
nored.
-\b-d\bd _\bd_\be_\bl_\bi_\bm
- The first character of _\bd_\be_\bl_\bi_\bm terminates the input line,
- rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd
+ The first character of _\bd_\be_\bl_\bi_\bm terminates the input line,
+ rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd
will terminate a line when it reads a NUL character.
- -\b-e\be If the standard input is coming from a terminal, r\bre\bea\bad\bd
- uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
- R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current (or default, if line editing
- was not previously active) editing settings, but uses
+ -\b-e\be If the standard input is coming from a terminal, r\bre\bea\bad\bd
+ uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
+ R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current (or default, if line editing
+ was not previously active) editing settings, but uses
r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion.
- -\b-E\bE If the standard input is coming from a terminal, r\bre\bea\bad\bd
- uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
- R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current (or default, if line editing
- was not previously active) editing settings, but uses
+ -\b-E\bE If the standard input is coming from a terminal, r\bre\bea\bad\bd
+ uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
+ R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current (or default, if line editing
+ was not previously active) editing settings, but uses
bash's default completion, including programmable comple-
tion.
-\b-i\bi _\bt_\be_\bx_\bt
- If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, r\bre\bea\bad\bd places
+ If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, r\bre\bea\bad\bd places
_\bt_\be_\bx_\bt into the editing buffer before editing begins.
-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
- waiting for a complete line of input, unless it encoun-
- ters EOF or r\bre\bea\bad\bd times out, but honors a delimiter if it
+ r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+ waiting for a complete line of input, unless it encoun-
+ ters EOF or r\bre\bea\bad\bd times out, but honors a delimiter if it
reads fewer than _\bn_\bc_\bh_\ba_\br_\bs characters before the delimiter.
-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading exactly _\bn_\bc_\bh_\ba_\br_\bs characters
- rather than waiting for a complete line of input, unless
+ r\bre\bea\bad\bd returns after reading exactly _\bn_\bc_\bh_\ba_\br_\bs characters
+ rather than waiting for a complete line of input, unless
it encounters EOF or r\bre\bea\bad\bd times out. Any delimiter char-
- acters in the input are not treated specially and do not
+ acters in the input are not treated specially and do not
cause r\bre\bea\bad\bd to return until it has read _\bn_\bc_\bh_\ba_\br_\bs characters.
The result is not split on the characters in I\bIF\bFS\bS; the in-
tent is that the variable is assigned exactly the charac-
- ters read (with the exception of backslash; see the -\b-r\br
+ ters read (with the exception of backslash; see the -\b-r\br
option below).
-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
- line, before attempting to read any input, but only if
+ line, before attempting to read any input, but only if
input is coming from a terminal.
-\b-r\br Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not then be used as a
+ slash is considered to be part of the line. In particu-
+ lar, a backslash-newline pair may not then be used as a
line continuation.
-\b-s\bs Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
- Cause r\bre\bea\bad\bd to time out and return failure if it does not
- read a complete line of input (or a specified number of
- characters) within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a
- decimal number with a fractional portion following the
- decimal point. This option is only effective if r\bre\bea\bad\bd is
- reading input from a terminal, pipe, or other special
- file; it has no effect when reading from regular files.
- If r\bre\bea\bad\bd times out, it saves any partial input read into
- the specified variable _\bn_\ba_\bm_\be, and the exit status is
- greater than 128. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns immedi-
- ately, without trying to read any data. In this case,
- the exit status is 0 if input is available on the speci-
- fied file descriptor, or the read will return EOF, non-
+ Cause r\bre\bea\bad\bd to time out and return failure if it does not
+ read a complete line of input (or a specified number of
+ characters) within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a
+ decimal number with a fractional portion following the
+ decimal point. This option is only effective if r\bre\bea\bad\bd is
+ reading input from a terminal, pipe, or other special
+ file; it has no effect when reading from regular files.
+ If r\bre\bea\bad\bd times out, it saves any partial input read into
+ the specified variable _\bn_\ba_\bm_\be, and the exit status is
+ greater than 128. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns immedi-
+ ately, without trying to read any data. In this case,
+ the exit status is 0 if input is available on the speci-
+ fied file descriptor, or the read will return EOF, non-
zero otherwise.
- -\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd instead of the stan-
+ -\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd instead of the stan-
dard input.
- Other than the case where _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd ig-
+ Other than the case where _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd ig-
nores any NUL characters in the input.
- If no _\bn_\ba_\bm_\be_\bs are supplied, r\bre\bea\bad\bd assigns the line read, without
- the ending delimiter but otherwise unmodified, to the variable
+ If no _\bn_\ba_\bm_\be_\bs are supplied, r\bre\bea\bad\bd assigns the line read, without
+ the ending delimiter but otherwise unmodified, to the variable
R\bRE\bEP\bPL\bLY\bY.
The exit status is zero, unless end-of-file is encountered, r\bre\bea\bad\bd
- times out (in which case the status is greater than 128), a
+ times out (in which case the status is greater than 128), a
variable assignment error (such as assigning to a readonly vari-
- able) occurs, or an invalid file descriptor is supplied as the
+ able) occurs, or an invalid file descriptor is supplied as the
argument to -\b-u\bu.
r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
- The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+ The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
may not be changed by subsequent assignment or unset. If the -\b-f\bf
- option is supplied, each _\bn_\ba_\bm_\be refers to a shell function. The
- -\b-a\ba option restricts the variables to indexed arrays; the -\b-A\bA op-
+ option is supplied, each _\bn_\ba_\bm_\be refers to a shell function. The
+ -\b-a\ba option restricts the variables to indexed arrays; the -\b-A\bA op-
tion restricts the variables to associative arrays. If both op-
- tions are supplied, -\b-A\bA takes precedence. If no _\bn_\ba_\bm_\be arguments
- are supplied, or if the -\b-p\bp option is supplied, print a list of
- all readonly names. The other options may be used to restrict
+ tions are supplied, -\b-A\bA takes precedence. If no _\bn_\ba_\bm_\be arguments
+ are supplied, or if the -\b-p\bp option is supplied, print a list of
+ all readonly names. The other options may be used to restrict
the output to a subset of the set of readonly names. The -\b-p\bp op-
tion displays output in a format that may be reused as input.
- r\bre\bea\bad\bdo\bon\bnl\bly\by allows the value of a variable to be set at the same
+ r\bre\bea\bad\bdo\bon\bnl\bly\by allows the value of a variable to be set at the same
time the readonly attribute is changed by following the variable
- name with =_\bv_\ba_\bl_\bu_\be. This sets the value of the variable is to
+ name with =_\bv_\ba_\bl_\bu_\be. This sets the value of the variable is to
_\bv_\ba_\bl_\bu_\be while modifying the readonly attribute.
- The return status is 0 unless an invalid option is encountered,
- one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is
+ The return status is 0 unless an invalid option is encountered,
+ one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is
supplied with a _\bn_\ba_\bm_\be that is not a function.
r\bre\bet\btu\bur\brn\bn [_\bn]
- Stop executing a shell function or sourced file and return the
+ Stop executing a shell function or sourced file and return the
value specified by _\bn to its caller. If _\bn is omitted, the return
- status is that of the last command executed. If r\bre\bet\btu\bur\brn\bn is exe-
- cuted by a trap handler, the last command used to determine the
+ status is that of the last command executed. If r\bre\bet\btu\bur\brn\bn is exe-
+ cuted by a trap handler, the last command used to determine the
status is the last command executed before the trap handler. If
r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last command used to
- determine the status is the last command executed by the trap
+ determine the status is the last command executed by the trap
handler before r\bre\bet\btu\bur\brn\bn was invoked.
When r\bre\bet\btu\bur\brn\bn is used to terminate execution of a script being ex-
- ecuted by the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
- executing that script and return either _\bn or the exit status of
- the last command executed within the script as the exit status
- of the script. If _\bn is supplied, the return value is its least
+ ecuted by the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
+ executing that script and return either _\bn or the exit status of
+ the last command executed within the script as the exit status
+ of the script. If _\bn is supplied, the return value is its least
significant 8 bits.
- Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before
+ Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before
execution resumes after the function or script.
- The return status is non-zero if r\bre\bet\btu\bur\brn\bn is supplied a non-nu-
+ The return status is non-zero if r\bre\bet\btu\bur\brn\bn is supplied a non-nu-
meric argument, or is used outside a function and not during ex-
ecution of a script by .\b. or s\bso\bou\bur\brc\bce\be.
s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
s\bse\bet\bt -\b-o\bo
- s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell vari-
- able in a format that can be reused as input for setting or re-
+ s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell vari-
+ able in a format that can be reused as input for setting or re-
setting the currently-set variables. Read-only variables cannot
- be reset. In posix mode, only shell variables are listed. The
- output is sorted according to the current locale. When options
- are specified, they set or unset shell attributes. Any argu-
- ments remaining after option processing are treated as values
+ be reset. In posix mode, only shell variables are listed. The
+ output is sorted according to the current locale. When options
+ are specified, they set or unset shell attributes. Any argu-
+ ments remaining after option processing are treated as values
for the positional parameters and are assigned, in order, to $\b$1\b1,
- $\b$2\b2, ..., $\b$_\bn. Options, if specified, have the following mean-
+ $\b$2\b2, ..., $\b$_\bn. Options, if specified, have the following mean-
ings:
-\b-a\ba Each variable or function that is created or modified is
- given the export attribute and marked for export to the
+ given the export attribute and marked for export to the
environment of subsequent commands.
- -\b-b\bb Report the status of terminated background jobs immedi-
+ -\b-b\bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt or af-
- ter a foreground command terminates. This is effective
+ ter a foreground command terminates. This is effective
only when job control is enabled.
- -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
- single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+ single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
(see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above), exits with a non-zero status.
- The shell does not exit if the command that fails is
- part of the command list immediately following a w\bwh\bhi\bil\ble\be
- or u\bun\bnt\bti\bil\bl keyword, part of the test following the i\bif\bf or
- e\bel\bli\bif\bf reserved words, part of any command executed in a
- &\b&&\b& or |\b||\b| list except the command following the final &\b&&\b&
- or |\b||\b|, any command in a pipeline but the last (subject
- to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if the
- command's return value is being inverted with !\b!. If a
- compound command other than a subshell returns a non-
- zero status because a command failed while -\b-e\be was being
- ignored, the shell does not exit. A trap on E\bER\bRR\bR, if
- set, is executed before the shell exits. This option
+ The shell does not exit if the command that fails is
+ part of the command list immediately following a w\bwh\bhi\bil\ble\be
+ or u\bun\bnt\bti\bil\bl keyword, part of the test following the i\bif\bf or
+ e\bel\bli\bif\bf reserved words, part of any command executed in a
+ &\b&&\b& or |\b||\b| list except the command following the final &\b&&\b&
+ or |\b||\b|, any command in a pipeline but the last (subject
+ to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if the
+ command's return value is being inverted with !\b!. If a
+ compound command other than a subshell returns a non-
+ zero status because a command failed while -\b-e\be was being
+ ignored, the shell does not exit. A trap on E\bER\bRR\bR, if
+ set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
- ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+ ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
above), and may cause subshells to exit before executing
all the commands in the subshell.
- If a compound command or shell function executes in a
- context where -\b-e\be is being ignored, none of the commands
- executed within the compound command or function body
- will be affected by the -\b-e\be setting, even if -\b-e\be is set
- and a command returns a failure status. If a compound
- command or shell function sets -\b-e\be while executing in a
- context where -\b-e\be is ignored, that setting will not have
- any effect until the compound command or the command
+ If a compound command or shell function executes in a
+ context where -\b-e\be is being ignored, none of the commands
+ executed within the compound command or function body
+ will be affected by the -\b-e\be setting, even if -\b-e\be is set
+ and a command returns a failure status. If a compound
+ command or shell function sets -\b-e\be while executing in a
+ context where -\b-e\be is ignored, that setting will not have
+ any effect until the compound command or the command
containing the function call completes.
-\b-f\bf Disable pathname expansion.
- -\b-h\bh Remember the location of commands as they are looked up
+ -\b-h\bh Remember the location of commands as they are looked up
for execution. This is enabled by default.
- -\b-k\bk All arguments in the form of assignment statements are
- placed in the environment for a command, not just those
+ -\b-k\bk All arguments in the form of assignment statements are
+ placed in the environment for a command, not just those
that precede the command name.
- -\b-m\bm Monitor mode. Job control is enabled. This option is
- on by default for interactive shells on systems that
- support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). All processes run
+ -\b-m\bm Monitor mode. Job control is enabled. This option is
+ on by default for interactive shells on systems that
+ support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). All processes run
in a separate process group. When a background job com-
pletes, the shell prints a line containing its exit sta-
tus.
-\b-n\bn Read commands but do not execute them. This may be used
- to check a shell script for syntax errors. This is ig-
+ to check a shell script for syntax errors. This is ig-
nored by interactive shells.
-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
Same as -\b-a\ba.
b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
Same as -\b-B\bB.
- e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
+ e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
- the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
+ the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
editing interface used for r\bre\bea\bad\bd -\b-e\be.
e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
e\ber\brr\brt\btr\bra\bac\bce\be
H\bHI\bIS\bST\bTO\bOR\bRY\bY. This option is on by default in inter-
active shells.
i\big\bgn\bno\bor\bre\bee\beo\bof\bf
- The effect is as if the shell command
+ The effect is as if the shell command
"IGNOREEOF=10" had been executed (see S\bSh\bhe\bel\bll\bl
V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
p\bph\bhy\bys\bsi\bic\bca\bal\bl
Same as -\b-P\bP.
p\bpi\bip\bpe\bef\bfa\bai\bil\bl
- If set, the return value of a pipeline is the
- value of the last (rightmost) command to exit
- with a non-zero status, or zero if all commands
- in the pipeline exit successfully. This option
+ If set, the return value of a pipeline is the
+ value of the last (rightmost) command to exit
+ with a non-zero status, or zero if all commands
+ in the pipeline exit successfully. This option
is disabled by default.
- p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
- operation differs from the POSIX standard to
- match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be). See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+ p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
+ operation differs from the POSIX standard to
+ match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be). See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
below for a reference to a document that details
how posix mode affects bash's behavior.
p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
Same as -\b-p\bp.
v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
- v\bvi\bi Use a vi-style command line editing interface.
+ v\bvi\bi Use a vi-style command line editing interface.
This also affects the editing interface used for
r\bre\bea\bad\bd -\b-e\be.
x\bxt\btr\bra\bac\bce\be Same as -\b-x\bx.
- If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
- current shell option settings. If +\b+o\bo is supplied with
- no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt commands to
- recreate the current option settings on the standard
+ If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
+ current shell option settings. If +\b+o\bo is supplied with
+ no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt commands to
+ recreate the current option settings on the standard
output.
- -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the shell does
- not read the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files, shell functions
- are not inherited from the environment, and the S\bSH\bHE\bEL\bL-\b-
- L\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if
- they appear in the environment, are ignored. If the
- shell is started with the effective user (group) id not
- equal to the real user (group) id, and the -\b-p\bp option is
- not supplied, these actions are taken and the effective
+ -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the shell does
+ not read the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files, shell functions
+ are not inherited from the environment, and the S\bSH\bHE\bEL\bL-\b-
+ L\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if
+ they appear in the environment, are ignored. If the
+ shell is started with the effective user (group) id not
+ equal to the real user (group) id, and the -\b-p\bp option is
+ not supplied, these actions are taken and the effective
user id is set to the real user id. If the -\b-p\bp option is
supplied at startup, the effective user id is not reset.
- Turning this option off causes the effective user and
+ Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
-\b-r\br Enable restricted shell mode. This option cannot be un-
set once it has been set.
-\b-t\bt Exit after reading and executing one command.
-\b-u\bu Treat unset variables and parameters other than the spe-
- cial parameters "@" and "*", or array variables sub-
- scripted with "@" or "*", as an error when performing
- parameter expansion. If expansion is attempted on an
- unset variable or parameter, the shell prints an error
- message, and, if not interactive, exits with a non-zero
+ cial parameters "@" and "*", or array variables sub-
+ scripted with "@" or "*", as an error when performing
+ parameter expansion. If expansion is attempted on an
+ unset variable or parameter, the shell prints an error
+ message, and, if not interactive, exits with a non-zero
status.
-\b-v\bv Print shell input lines as they are read.
- -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+ -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
- play the expanded value of P\bPS\bS4\b4, followed by the command
- and its expanded arguments or associated word list, to
+ play the expanded value of P\bPS\bS4\b4, followed by the command
+ and its expanded arguments or associated word list, to
the standard error.
- -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+ -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
above). This is on by default.
- -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
- the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. Using the
- redirection operator >\b>|\b| instead of >\b> will override this
+ -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
+ the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. Using the
+ redirection operator >\b>|\b| instead of >\b> will override this
and force the creation of an output file.
-\b-E\bE If set, any trap on E\bER\bRR\bR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The E\bER\bRR\bR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The E\bER\bRR\bR trap is normally not inher-
ited in such cases.
-\b-H\bH Enable !\b! style history substitution. This option is on
by default when the shell is interactive.
- -\b-P\bP If set, the shell does not resolve symbolic links when
- executing commands such as c\bcd\bd that change the current
+ -\b-P\bP If set, the shell does not resolve symbolic links when
+ executing commands such as c\bcd\bd that change the current
working directory. It uses the physical directory
structure instead. By default, b\bba\bas\bsh\bh follows the logical
- chain of directories when performing commands which
+ chain of directories when performing commands which
change the current directory.
- -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+ -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
shell functions, command substitutions, and commands ex-
- ecuted in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+ ecuted in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
traps are normally not inherited in such cases.
-\b--\b- If no arguments follow this option, unset the positional
parameters. Otherwise, set the positional parameters to
the _\ba_\br_\bgs, even if some of them begin with a -\b-.
-\b- Signal the end of options, and assign all remaining _\ba_\br_\bgs
to the positional parameters. The -\b-x\bx and -\b-v\bv options are
- turned off. If there are no _\ba_\br_\bgs, the positional para-
+ turned off. If there are no _\ba_\br_\bgs, the positional para-
meters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The op-
+ The options are off by default unless otherwise noted. Using +
+ rather than - causes these options to be turned off. The op-
tions can also be specified as arguments to an invocation of the
- shell. The current set of options may be found in $\b$-\b-. The re-
- turn status is always zero unless an invalid option is encoun-
+ shell. The current set of options may be found in $\b$-\b-. The re-
+ turn status is always zero unless an invalid option is encoun-
tered.
s\bsh\bhi\bif\bft\bt [_\bn]
Rename positional parameters from _\bn+1 ... to $\b$1\b1 .\b..\b..\b..\b. Parameters
- represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are unset. _\bn must
- be a non-negative number less than or equal to $\b$#\b#. If _\bn is 0,
- no parameters are changed. If _\bn is not given, it is assumed to
- be 1. If _\bn is greater than $\b$#\b#, the positional parameters are
- not changed. The return status is greater than zero if _\bn is
+ represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are unset. _\bn must
+ be a non-negative number less than or equal to $\b$#\b#. If _\bn is 0,
+ no parameters are changed. If _\bn is not given, it is assumed to
+ be 1. If _\bn is greater than $\b$#\b#, the positional parameters are
+ not changed. The return status is greater than zero if _\bn is
greater than $\b$#\b# or less than zero; otherwise 0.
s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
- Toggle the values of settings controlling optional shell behav-
- ior. The settings can be either those listed below, or, if the
+ Toggle the values of settings controlling optional shell behav-
+ ior. The settings can be either those listed below, or, if the
-\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
builtin command.
- With no options, or with the -\b-p\bp option, display a list of all
- settable options, with an indication of whether or not each is
- set; if any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is restricted to
+ With no options, or with the -\b-p\bp option, display a list of all
+ settable options, with an indication of whether or not each is
+ set; if any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is restricted to
those options. The -\b-p\bp option displays output in a form that may
be reused as input.
Other options have the following meanings:
-\b-s\bs Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-\b-u\bu Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
- -\b-q\bq Suppresses normal output (quiet mode); the return status
+ -\b-q\bq Suppresses normal output (quiet mode); the return status
indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset. If multi-
- ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are supplied with -\b-q\bq, the return
+ ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are supplied with -\b-q\bq, the return
status is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero oth-
erwise.
- -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+ -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
the -\b-o\bo option to the s\bse\bet\bt builtin.
- If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
- shows only those options which are set or unset, respectively.
- Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+ If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+ shows only those options which are set or unset, respectively.
+ Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
by default.
- The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
- are enabled, non-zero otherwise. When setting or unsetting op-
- tions, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+ The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+ are enabled, non-zero otherwise. When setting or unsetting op-
+ tions, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
valid shell option.
The list of s\bsh\bho\bop\bpt\bt options is:
a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
- If set, the shell suppresses multiple evaluation of as-
+ If set, the shell suppresses multiple evaluation of as-
sociative and indexed array subscripts during arithmetic
expression evaluation, while executing builtins that can
- perform variable assignments, and while executing
+ perform variable assignments, and while executing
builtins that perform array dereferencing.
a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
Deprecated; a synonym for a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be.
- a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
- is executed as if it were the argument to the c\bcd\bd com-
+ a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
+ is executed as if it were the argument to the c\bcd\bd com-
mand. This option is only used by interactive shells.
b\bba\bas\bsh\bh_\b_s\bso\bou\bur\brc\bce\be_\b_f\bfu\bul\bll\blp\bpa\bat\bth\bh
- If set, filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE array vari-
- able are converted to full pathnames (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
+ If set, filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE array vari-
+ able are converted to full pathnames (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
a\bab\bbl\ble\bes\bs above).
c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
- If set, an argument to the c\bcd\bd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the c\bcd\bd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
- c\bcd\bds\bsp\bpe\bel\bll\bl If set, the c\bcd\bd command attempts to correct minor errors
- in the spelling of a directory component. Minor errors
- include transposed characters, a missing character, and
+ c\bcd\bds\bsp\bpe\bel\bll\bl If set, the c\bcd\bd command attempts to correct minor errors
+ in the spelling of a directory component. Minor errors
+ include transposed characters, a missing character, and
one extra character. If c\bcd\bd corrects the directory name,
- it prints the corrected filename, and the command pro-
+ it prints the corrected filename, and the command pro-
ceeds. This option is only used by interactive shells.
c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, b\bba\bas\bsh\bh performs a normal path
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, b\bba\bas\bsh\bh performs a normal path
search.
c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
If set, b\bba\bas\bsh\bh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, b\bba\bas\bsh\bh defers the exit until a second exit is
- attempted without an intervening command (see J\bJO\bOB\bB C\bCO\bON\bN-\b-
- T\bTR\bRO\bOL\bL above). The shell always postpones exiting if any
+ attempted without an intervening command (see J\bJO\bOB\bB C\bCO\bON\bN-\b-
+ T\bTR\bRO\bOL\bL above). The shell always postpones exiting if any
jobs are stopped.
c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
- If set, b\bba\bas\bsh\bh checks the window size after each external
- (non-builtin) command and, if necessary, updates the
- values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the file descriptor
- associated with the standard error if it is a terminal.
+ If set, b\bba\bas\bsh\bh checks the window size after each external
+ (non-builtin) command and, if necessary, updates the
+ values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the file descriptor
+ associated with the standard error if it is a terminal.
This option is enabled by default.
- c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
- line command in the same history entry. This allows
- easy re-editing of multi-line commands. This option is
- enabled by default, but only has an effect if command
+ c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+ line command in the same history entry. This allows
+ easy re-editing of multi-line commands. This option is
+ enabled by default, but only has an effect if command
history is enabled, as described above under H\bHI\bIS\bST\bTO\bOR\bRY\bY.
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\b43\b3
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- These control aspects of the shell's compatibility mode
+ These control aspects of the shell's compatibility mode
(see 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 below).
c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
- If set, b\bba\bas\bsh\bh quotes all shell metacharacters in file-
- names and directory names when performing completion.
+ If set, b\bba\bas\bsh\bh quotes all shell metacharacters in file-
+ names and directory names when performing completion.
If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
- lar sign from the set of characters that will be quoted
- in completed filenames when these metacharacters appear
- in shell variable references in words to be completed.
- This means that dollar signs in variable names that ex-
- pand to directories will not be quoted; however, any
- dollar signs appearing in filenames will not be quoted,
- either. This is active only when bash is using back-
- slashes to quote completed filenames. This variable is
- set by default, which is the default bash behavior in
+ lar sign from the set of characters that will be quoted
+ in completed filenames when these metacharacters appear
+ in shell variable references in words to be completed.
+ This means that dollar signs in variable names that ex-
+ pand to directories will not be quoted; however, any
+ dollar signs appearing in filenames will not be quoted,
+ either. This is active only when bash is using back-
+ slashes to quote completed filenames. This variable is
+ set by default, which is the default bash behavior in
versions through 4.2.
d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
- If set, b\bba\bas\bsh\bh replaces directory names with the results
- of word expansion when performing filename completion.
+ If set, b\bba\bas\bsh\bh replaces directory names with the results
+ of word expansion when performing filename completion.
This changes the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be editing
- buffer. If not set, b\bba\bas\bsh\bh attempts to preserve what the
+ buffer. If not set, b\bba\bas\bsh\bh attempts to preserve what the
user typed.
d\bdi\bir\brs\bsp\bpe\bel\bll\bl
- If set, b\bba\bas\bsh\bh attempts spelling correction on directory
- names during word completion if the directory name ini-
+ If set, b\bba\bas\bsh\bh attempts spelling correction on directory
+ names during word completion if the directory name ini-
tially supplied does not exist.
- d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a "." in
- the results of pathname expansion. The filenames _\b. and
+ d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a "." in
+ the results of pathname expansion. The filenames _\b. and
_\b._\b. must always be matched explicitly, even if d\bdo\bot\btg\bgl\blo\bob\bb is
set.
e\bex\bxe\bec\bcf\bfa\bai\bil\bl
If set, a non-interactive shell will not exit if it can-
- not execute the file specified as an argument to the
- e\bex\bxe\bec\bc builtin. An interactive shell does not exit if
+ not execute the file specified as an argument to the
+ e\bex\bxe\bec\bc builtin. An interactive shell does not exit if
e\bex\bxe\bec\bc fails.
e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
- If set, aliases are expanded as described above under
+ If set, aliases are expanded as described above under
A\bAL\bLI\bIA\bAS\bSE\bES\bS. This option is enabled by default for interac-
tive shells.
e\bex\bxt\btd\bde\beb\bbu\bug\bg
- If set at shell invocation, or in a shell startup file,
+ If set at shell invocation, or in a shell startup file,
arrange to execute the debugger profile before the shell
- starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option. If set af-
- ter invocation, behavior intended for use by debuggers
+ starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option. If set af-
+ ter invocation, behavior intended for use by debuggers
is enabled:
1\b1.\b. The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
- 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- non-zero value, the next command is skipped and
+ 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ non-zero value, the next command is skipped and
not executed.
- 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- value of 2, and the shell is executing in a sub-
- routine (a shell function or a shell script exe-
- cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), the shell
+ 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ value of 2, and the shell is executing in a sub-
+ routine (a shell function or a shell script exe-
+ cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), the shell
simulates a call to r\bre\bet\btu\bur\brn\bn.
- 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+ 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
in their descriptions above).
- 5\b5.\b. Function tracing is enabled: command substitu-
+ 5\b5.\b. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
- 6\b6.\b. Error tracing is enabled: command substitution,
- shell functions, and subshells invoked with (\b(
+ 6\b6.\b. Error tracing is enabled: command substitution,
+ shell functions, and subshells invoked with (\b(
_\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
- e\bex\bxt\btg\bgl\blo\bob\bb If set, enable the extended pattern matching features
+ e\bex\bxt\btg\bgl\blo\bob\bb If set, enable the extended pattern matching features
described above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.
e\bex\bxt\btq\bqu\buo\bot\bte\be
- If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
- within $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b} expansions enclosed in double
+ If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+ within $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b} expansions enclosed in double
quotes. This option is enabled by default.
f\bfa\bai\bil\blg\bgl\blo\bob\bb
- If set, patterns which fail to match filenames during
+ If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
- If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
- variable cause words to be ignored when performing word
+ If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+ variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
- ble completions. See S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above for a de-
- scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by de-
+ ble completions. See S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above for a de-
+ scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by de-
fault.
g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
- If set, range expressions used in pattern matching
- bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
- as if in the traditional C locale when performing com-
- parisons. That is, pattern matching does not take the
- current locale's collating sequence into account, so b\bb
- will not collate between A\bA and B\bB, and upper-case and
+ If set, range expressions used in pattern matching
+ bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
+ as if in the traditional C locale when performing com-
+ parisons. That is, pattern matching does not take the
+ current locale's collating sequence into account, so b\bb
+ will not collate between A\bA and B\bB, and upper-case and
lower-case ASCII characters will collate together.
g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
- If set, pathname expansion will never match the file-
- names _\b. and _\b._\b., even if the pattern begins with a ".".
+ If set, pathname expansion will never match the file-
+ names _\b. and _\b._\b., even if the pattern begins with a ".".
This option is enabled by default.
g\bgl\blo\bob\bbs\bst\bta\bar\br
If set, the pattern *\b**\b* used in a pathname expansion con-
- text will match all files and zero or more directories
- and subdirectories. If the pattern is followed by a /\b/,
+ text will match all files and zero or more directories
+ and subdirectories. If the pattern is followed by a /\b/,
only directories and subdirectories match.
g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
If set, shell error messages are written in the standard
GNU error message format.
h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
- If set, the history list is appended to the file named
+ If set, the history list is appended to the file named
by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell ex-
its, rather than overwriting the file.
h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the user is given
- the opportunity to re-edit a failed history substitu-
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the user is given
+ the opportunity to re-edit a failed history substitu-
tion.
h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
fication.
h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
- perform hostname completion when a word containing a @\b@
- is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+ perform hostname completion when a word containing a @\b@
+ is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
above). This is enabled by default.
h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
active login shell exits.
i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
- If set, command substitution inherits the value of the
- e\ber\brr\bre\bex\bxi\bit\bt option, instead of unsetting it in the subshell
- environment. This option is enabled when posix mode is
+ If set, command substitution inherits the value of the
+ e\ber\brr\bre\bex\bxi\bit\bt option, instead of unsetting it in the subshell
+ environment. This option is enabled when posix mode is
enabled.
i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
- In an interactive shell, a word beginning with #\b# causes
- that word and all remaining characters on that line to
- be ignored, as in a non-interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
+ In an interactive shell, a word beginning with #\b# causes
+ that word and all remaining characters on that line to
+ be ignored, as in a non-interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
above). This option is enabled by default.
l\bla\bas\bst\btp\bpi\bip\bpe\be
- If set, and job control is not active, the shell runs
+ If set, and job control is not active, the shell runs
the last command of a pipeline not executed in the back-
ground in the current shell environment.
- l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+ l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
l\blo\boc\bca\bal\blv\bva\bar\br_\b_i\bin\bnh\bhe\ber\bri\bit\bt
scope before any new value is assigned. The nameref at-
tribute is not inherited.
l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
- If set, calling u\bun\bns\bse\bet\bt on local variables in previous
- function scopes marks them so subsequent lookups find
+ If set, calling u\bun\bns\bse\bet\bt on local variables in previous
+ function scopes marks them so subsequent lookups find
them unset until that function returns. This is identi-
- cal to the behavior of unsetting local variables at the
+ cal to the behavior of unsetting local variables at the
current function scope.
l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started as a login
- shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above). The value may not be
+ The shell sets this option if it is started as a login
+ shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above). The value may not be
changed.
m\bma\bai\bil\blw\bwa\bar\brn\bn
- If set, and a file that b\bba\bas\bsh\bh is checking for mail has
- been accessed since the last time it was checked, b\bba\bas\bsh\bh
- displays the message "The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been
+ If set, and a file that b\bba\bas\bsh\bh is checking for mail has
+ been accessed since the last time it was checked, b\bba\bas\bsh\bh
+ displays the message "The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been
read".
n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh does not search
- P\bPA\bAT\bTH\bH for possible completions when completion is at-
+ P\bPA\bAT\bTH\bH for possible completions when completion is at-
tempted on an empty line.
n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
- If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
- If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
fashion when performing matching while executing c\bca\bas\bse\be or
[\b[[\b[ conditional commands, when performing pattern substi-
- tution word expansions, or when filtering possible com-
+ tution word expansions, or when filtering possible com-
pletions as part of programmable completion.
n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
- If set, b\bba\bas\bsh\bh encloses the translated results of $\b$"\b"..."\b"
- quoting in single quotes instead of double quotes. If
+ If set, b\bba\bas\bsh\bh encloses the translated results of $\b$"\b"..."\b"
+ quoting in single quotes instead of double quotes. If
the string is not translated, this has no effect.
n\bnu\bul\bll\blg\bgl\blo\bob\bb
If set, pathname expansion patterns which match no files
removed, rather than expanding to themselves.
p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
- string of pattern substitution to the text matched by
- the pattern, as described under P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+ string of pattern substitution to the text matched by
+ the pattern, as described under P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
above. This option is enabled by default.
p\bpr\bro\bog\bgc\bco\bom\bmp\bp
- If set, enable the programmable completion facilities
+ If set, enable the programmable completion facilities
(see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn above). This option is en-
abled by default.
p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
- If set, and programmable completion is enabled, b\bba\bas\bsh\bh
- treats a command name that doesn't have any completions
+ If set, and programmable completion is enabled, b\bba\bas\bsh\bh
+ treats a command name that doesn't have any completions
as a possible alias and attempts alias expansion. If it
- has an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+ has an alias, b\bba\bas\bsh\bh attempts programmable completion us-
ing the command word resulting from the expanded alias.
p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
If set, prompt strings undergo parameter expansion, com-
- mand substitution, arithmetic expansion, and quote re-
- moval after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+ mand substitution, arithmetic expansion, and quote re-
+ moval after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
above. This option is enabled by default.
r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started in re-
- stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below). The value
- may not be changed. This is not reset when the startup
- files are executed, allowing the startup files to dis-
+ The shell sets this option if it is started in re-
+ stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below). The value
+ may not be changed. This is not reset when the startup
+ files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
- If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+ If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
If set, the .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
- find the directory containing the file supplied as an
- argument when the -\b-p\bp option is not supplied. This op-
+ find the directory containing the file supplied as an
+ argument when the -\b-p\bp option is not supplied. This op-
tion is enabled by default.
v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
- If set, the shell automatically closes file descriptors
- assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see
+ If set, the shell automatically closes file descriptors
+ assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see
R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN above) instead of leaving them open when the
command completes.
x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
- If set, the e\bec\bch\bho\bo builtin expands backslash-escape se-
- quences by default. If the p\bpo\bos\bsi\bix\bx shell option is also
+ If set, the e\bec\bch\bho\bo builtin expands backslash-escape se-
+ quences by default. If the p\bpo\bos\bsi\bix\bx shell option is also
enabled, e\bec\bch\bho\bo does not interpret any options.
s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
- Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
- signal. A login shell, or a shell without job control enabled,
- cannot be suspended; the -\b-f\bf option will override this and force
- the suspension. The return status is 0 unless the shell is a
- login shell or job control is not enabled and -\b-f\bf is not sup-
+ Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+ signal. A login shell, or a shell without job control enabled,
+ cannot be suspended; the -\b-f\bf option will override this and force
+ the suspension. The return status is 0 unless the shell is a
+ login shell or job control is not enabled and -\b-f\bf is not sup-
plied.
t\bte\bes\bst\bt _\be_\bx_\bp_\br
[\b[ _\be_\bx_\bp_\br ]\b]
Return a status of 0 (true) or 1 (false) depending on the evalu-
- ation of the conditional expression _\be_\bx_\bp_\br. Each operator and
- operand must be a separate argument. Expressions are composed
- of the primaries described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
- t\bte\bes\bst\bt does not accept any options, nor does it accept and ignore
+ ation of the conditional expression _\be_\bx_\bp_\br. Each operator and
+ operand must be a separate argument. Expressions are composed
+ of the primaries described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+ t\bte\bes\bst\bt does not accept any options, nor does it accept and ignore
an argument of -\b--\b- as signifying the end of options.
- Expressions may be combined using the following operators,
- listed in decreasing order of precedence. The evaluation de-
+ Expressions may be combined using the following operators,
+ listed in decreasing order of precedence. The evaluation de-
pends on the number of arguments; see below. t\bte\bes\bst\bt uses operator
precedence when there are five or more arguments.
!\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
(\b( _\be_\bx_\bp_\br )\b)
- Returns the value of _\be_\bx_\bp_\br. This may be used to override
+ Returns the value of _\be_\bx_\bp_\br. This may be used to override
normal operator precedence.
_\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
null.
2 arguments
If the first argument is !\b!, the expression is true if and
- only if the second argument is null. If the first argu-
- ment is one of the unary conditional operators listed
- above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
+ only if the second argument is null. If the first argu-
+ ment is one of the unary conditional operators listed
+ above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
The following conditions are applied in the order listed.
- If the second argument is one of the binary conditional
+ If the second argument is one of the binary conditional
operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
result of the expression is the result of the binary test
- using the first and third arguments as operands. The -\b-a\ba
- and -\b-o\bo operators are considered binary operators when
- there are three arguments. If the first argument is !\b!,
- the value is the negation of the two-argument test using
+ using the first and third arguments as operands. The -\b-a\ba
+ and -\b-o\bo operators are considered binary operators when
+ there are three arguments. If the first argument is !\b!,
+ the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (\b( and the third argument is exactly )\b), the result
- is the one-argument test of the second argument. Other-
+ is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
The following conditions are applied in the order listed.
If the first argument is !\b!, the result is the negation of
- the three-argument expression composed of the remaining
- arguments. If the first argument is exactly (\b( and the
+ the three-argument expression composed of the remaining
+ arguments. If the first argument is exactly (\b( and the
fourth argument is exactly )\b), the result is the two-argu-
- ment test of the second and third arguments. Otherwise,
- the expression is parsed and evaluated according to
+ ment test of the second and third arguments. Otherwise,
+ the expression is parsed and evaluated according to
precedence using the rules listed above.
5 or more arguments
- The expression is parsed and evaluated according to
+ The expression is parsed and evaluated according to
precedence using the rules listed above.
When the shell is in posix mode, or if the expression is part of
the [\b[[\b[ command, the <\b< and >\b> operators sort using the current lo-
- cale. If the shell is not in posix mode, the t\bte\bes\bst\bt and [\b[ com-
+ cale. If the shell is not in posix mode, the t\bte\bes\bst\bt and [\b[ com-
mands sort lexicographically using ASCII ordering.
- The historical operator-precedence parsing with 4 or more argu-
- ments can lead to ambiguities when it encounters strings that
- look like primaries. The POSIX standard has deprecated the -\b-a\ba
- and -\b-o\bo primaries and enclosing expressions within parentheses.
- Scripts should no longer use them. It's much more reliable to
- restrict test invocations to a single primary, and to replace
+ The historical operator-precedence parsing with 4 or more argu-
+ ments can lead to ambiguities when it encounters strings that
+ look like primaries. The POSIX standard has deprecated the -\b-a\ba
+ and -\b-o\bo primaries and enclosing expressions within parentheses.
+ Scripts should no longer use them. It's much more reliable to
+ restrict test invocations to a single primary, and to replace
uses of -\b-a\ba and -\b-o\bo with the shell's &\b&&\b& and |\b||\b| list operators.
- t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
+ 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\bpP\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 any of the signals _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and
+ receives any of the signals _\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 _\bs_\bi_\bg_\bs_\bp_\be_\bc is reset
- to the value it had when the shell was started. 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
+ to the value it had when the shell was started. 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 invokes.
- If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+ 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
+ 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-P\bP option behaves similarly, but displays
- only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. -\b-P\bP re-
- quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. The -\b-P\bP or -\b-p\bp options may
- be used in a subshell environment (e.g., command substitution)
- and, as long as they are used before t\btr\bra\bap\bp is used to change a
+ that can be reused as shell input to restore the current signal
+ dispositions. The -\b-P\bP option behaves similarly, but displays
+ only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. -\b-P\bP re-
+ quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. The -\b-P\bP or -\b-p\bp options may
+ be used in a subshell environment (e.g., command substitution)
+ and, as long as they are used before t\btr\bra\bap\bp is used to change a
signal's handling, will display the state of its parent's traps.
- The -\b-l\bl option prints a list of signal names and their corre-
- sponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined
+ The -\b-l\bl option prints a list of signal names and their corre-
+ sponding 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 insen-
- sitive and the S\bSI\bIG\bG prefix is optional. If -\b-l\bl is supplied with
+ sitive and the S\bSI\bIG\bG prefix is optional. If -\b-l\bl is supplied with
no _\bs_\bi_\bg_\bs_\bp_\be_\bc arguments, it prints a list of valid signal names.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0), _\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, _\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 com-
- mand, 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 shell option (see s\bsh\bho\bop\bpt\bt above) for details of its ef-
- fect 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, _\ba_\bc_\bt_\bi_\bo_\bn is exe-
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0), _\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, _\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 com-
+ mand, 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 shell option (see s\bsh\bho\bop\bpt\bt above) for details of its ef-
+ fect 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, _\ba_\bc_\bt_\bi_\bo_\bn is exe-
cuted 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, _\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
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, _\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
failed command is part of the command list immediately following
- a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
+ a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
part of a command executed in a &\b&&\b& or |\b||\b| list except the command
- following the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
- last (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if
+ following the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+ last (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if
the command's return value is being inverted using !\b!. These are
the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) option.
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
+ 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\btr\bru\bue\be Does nothing, returns a 0 status.
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 executable file, re-
- spectively. If the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints nothing and
+ 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 executable file, re-
+ spectively. If the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints nothing and
returns a non-zero exit status.
- If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the pathname of
- the executable file that would be found by searching $\b$P\bPA\bAT\bTH\bH for
+ If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the pathname of
+ the executable file that would be found by searching $\b$P\bPA\bAT\bTH\bH for
_\bn_\ba_\bm_\be or nothing if "type -t name" would not return _\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
+ 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 _\bn_\ba_\bm_\be is present in the table of
- hashed commands, -\b-p\bp and -\b-P\bP print the hashed value, which is not
+ hashed commands, -\b-p\bp and -\b-P\bP print the hashed value, which is not
necessarily 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 a command named _\bn_\ba_\bm_\be. This includes aliases, reserved
- words, functions, and builtins, but the path search options (-\b-p\bp
- and -\b-P\bP) can be supplied to restrict the output to executable
- files. t\bty\byp\bpe\be does not consult the table of hashed commands when
+ If the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of the places that
+ contain a command named _\bn_\ba_\bm_\be. This includes aliases, reserved
+ words, functions, and builtins, but the path search options (-\b-p\bp
+ and -\b-P\bP) can be supplied to restrict the output to executable
+ files. t\bty\byp\bpe\be does not consult the table of hashed commands when
using -\b-a\ba with -\b-p\bp, and only performs a P\bPA\bAT\bTH\bH search for _\bn_\ba_\bm_\be.
The -\b-f\bf option suppresses shell function lookup, as with the c\bco\bom\bm-\b-
- m\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true if all of the arguments are
+ m\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
+ Provides control over the resources available to the shell and
to processes it starts, on systems that allow such control.
- The -\b-H\bH and -\b-S\bS options specify whether the hard or soft limit is
+ The -\b-H\bH and -\b-S\bS options specify whether 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-
+ to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
fied, u\bul\bli\bim\bmi\bit\bt sets both the soft and hard limits.
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, respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\bt prints
- the current value of the soft limit of the resource, 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
+ 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, respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\bt prints
+ the current value of the soft limit of the resource, 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 options are interpreted as follows:
-\b-a\ba Report all current limits; 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 supplied, 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 sup-
+ If _\bl_\bi_\bm_\bi_\bt is supplied, 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 sup-
plied, 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
+ 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]
- Set the user file-creation mask to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with a
+ Set the user file-creation mask to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with a
digit, it is interpreted as an octal number; otherwise it is in-
- terpreted as a symbolic mode mask similar to that accepted by
+ terpreted as a symbolic mode mask similar to that accepted by
_\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, u\bum\bma\bas\bsk\bk prints the current value of
the mask. The -\b-S\bS option without a _\bm_\bo_\bd_\be argument prints the mask
in a symbolic format; 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 zero
- if the mode was successfully changed or if no _\bm_\bo_\bd_\be argument was
+ a form that may be reused as input. The return status is zero
+ if the mode was successfully changed or if no _\bm_\bo_\bd_\be argument was
supplied, and non-zero 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, remove all alias definitions. The return value is
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, remove all alias definitions. 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. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be
- refers to a shell function, and the function definition is re-
- moved. 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. Read-only variables and functions may not be unset.
- When variables or functions are removed, they are also removed
- from the environment passed to subsequent commands. If no op-
- tions are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is
- no variable by that name, a function with that name, if any, is
- unset. Some shell variables may not be unset. If any of
+ and that variable is removed. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be
+ refers to a shell function, and the function definition is re-
+ moved. 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. Read-only variables and functions may not be unset.
+ When variables or functions are removed, they are also removed
+ from the environment passed to subsequent commands. If no op-
+ tions are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is
+ no variable by that name, a function with that name, if any, is
+ unset. Some shell variables may not be unset. 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\bB-\b-
- S\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\bCN\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\bC-\b-
- O\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special properties,
- even if they are subsequently reset. The exit status is true
+ S\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\bCN\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\bC-\b-
+ O\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special properties,
+ even if they are subsequently reset. The exit status is true
unless a _\bn_\ba_\bm_\be is readonly 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 ...]
Wait for each specified child process _\bi_\bd and return the termina-
- tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID _\bp_\bi_\bd or
- a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc; if a jobspec is supplied, w\bwa\bai\bit\bt
+ tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID _\bp_\bi_\bd or
+ a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc; if a jobspec is supplied, w\bwa\bai\bit\bt
waits for all processes in the job.
- If no options or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits for all running
- background jobs and the last-executed process substitution, if
+ If no options or _\bi_\bds are supplied, 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 any one of the
+ If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for any one of the
given _\bi_\bds or, if no _\bi_\bds are supplied, any job or process substi-
tution, to complete and returns its exit status. If none of the
- supplied _\bi_\bds is a child of the shell, or if no _\bi_\bds are supplied
- and the shell has no unwaited-for children, the exit status is
+ supplied _\bi_\bds is a child of the shell, or if no _\bi_\bds are supplied
+ and the shell has no unwaited-for children, the exit status is
127.
- If the -\b-p\bp option is supplied, w\bwa\bai\bit\bt assigns the process or job
- identifier of the job for which the exit status is returned to
- the variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The vari-
- able, which cannot be readonly, will be unset initially, before
- any assignment. This is useful only when used with the -\b-n\bn op-
+ If the -\b-p\bp option is supplied, w\bwa\bai\bit\bt assigns the process or job
+ identifier of the job for which the exit status is returned to
+ the variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The vari-
+ able, which cannot be readonly, will be unset initially, before
+ any assignment. This is useful only when used with the -\b-n\bn op-
tion.
- Supplying the -\b-f\bf option, when job control is enabled, forces
- w\bwa\bai\bit\bt to wait for each _\bi_\bd to terminate before returning its sta-
+ Supplying the -\b-f\bf option, when job control is enabled, forces
+ w\bwa\bai\bit\bt to wait for each _\bi_\bd to terminate before returning its sta-
tus, instead of returning when it changes status.
- If none of the _\bi_\bds specify one of the shell's active child
- processes, the return status is 127. If w\bwa\bai\bit\bt is interrupted by
- a signal, any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and the return status
- will be greater than 128, as described under S\bSI\bIG\bGN\bNA\bAL\bLS\bS above.
+ If none of the _\bi_\bds specify one of the shell's active child
+ processes, the return status is 127. If w\bwa\bai\bit\bt is interrupted by
+ a signal, any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and 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 _\bi_\bd.
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-
+ 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\bm-\b-
- p\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibility
+ p\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibility
level -- each option is mutually exclusive. The compatibility level is
- intended to allow users to select behavior from previous versions that
- is incompatible with newer versions while they migrate scripts to use
- current features and behavior. It's intended to be a temporary solu-
+ intended to allow users to select behavior from previous versions that
+ is incompatible with newer versions while they migrate scripts to use
+ current features and behavior. It's intended to be a temporary solu-
tion.
- 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 right hand
- side of the regexp matching operator quotes special regexp characters
- in the word, which is default behavior in bash-3.2 and subsequent ver-
+ 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 right hand
+ side of the regexp matching operator quotes special regexp characters
+ in the word, which is default behavior in bash-3.2 and subsequent ver-
sions).
- 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, b\bba\bas\bsh\bh began deprecating older compatibility lev-
els. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.
- Bash-5.0 was the final version for which there was an individual shopt
- option for the previous version. B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism to
+ Bash-5.0 was the final version for which there was an individual shopt
+ option for the previous version. B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism to
control the compatibility level in versions newer than bash-5.0.
- 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 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.
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. B\bBa\bas\bsh\bh 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 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-
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
- parameters even if extended debugging mode is not en-
+ +\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 en-
abled.
- +\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-
- duce slightly more randomness. If the shell compatibil-
+ +\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 compatibil-
ity 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
+ 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.
+\bo Arithmetic commands ( (\b((\b(...)\b))\b) ) and the expressions in an
arithmetic for statement can be expanded more than once.
- +\bo Expressions used as arguments to arithmetic operators in
- the [\b[[\b[ conditional command can be expanded more than
+ +\bo Expressions used as arguments to arithmetic operators in
+ the [\b[[\b[ conditional command can be expanded more than
once.
- +\bo The expressions in substring parameter brace expansion
+ +\bo The expressions in substring parameter brace expansion
can be expanded more than once.
+\bo The expressions in the $\b$(\b((\b(...)\b))\b) word expansion can be ex-
panded more than once.
- +\bo Arithmetic expressions used as indexed array subscripts
+ +\bo Arithmetic expressions used as indexed array subscripts
can be expanded more than once.
- +\bo t\bte\bes\bst\bt -\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where A\bA is an
+ +\bo t\bte\bes\bst\bt -\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where A\bA is an
existing associative array, will return true if the array
- has any set elements. Bash-5.2 will look for and report
+ has any set elements. Bash-5.2 will look for and report
on a key named @\b@.
+\bo The ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[\b[:\b:]\b]=\b=_\bv_\ba_\bl_\bu_\be} word expansion will return
- _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations have
+ _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations have
been performed (e.g., converting to lowercase). Bash-5.2
will return the final value assigned to the variable.
- +\bo Parsing command substitutions will behave as if extended
+ +\bo Parsing command substitutions will behave as if extended
globbing (see the description of the s\bsh\bho\bop\bpt\bt builtin above)
- is enabled, so that parsing a command substitution con-
+ is enabled, so that parsing a command substitution con-
taining an extglob pattern (say, as part of a shell func-
- tion) will not fail. This assumes the intent is to en-
- able extglob before the command is executed and word ex-
- pansions are performed. It will fail at word expansion
- time if extglob hasn't been enabled by the time the com-
+ tion) will not fail. This assumes the intent is to en-
+ able extglob before the command is executed and word ex-
+ pansions are performed. It will fail at word expansion
+ time if extglob hasn't been enabled by the time the com-
mand is executed.
c\bco\bom\bmp\bpa\bat\bt5\b52\b2
- +\bo The t\bte\bes\bst\bt builtin uses its historical algorithm to parse
- parenthesized subexpressions when given five or more ar-
+ +\bo The t\bte\bes\bst\bt builtin uses its historical algorithm to parse
+ parenthesized subexpressions when given five or more ar-
guments.
- +\bo If the -\b-p\bp or -\b-P\bP option is supplied to the b\bbi\bin\bnd\bd builtin,
+ +\bo If the -\b-p\bp or -\b-P\bP option is supplied to the b\bbi\bin\bnd\bd builtin,
b\bbi\bin\bnd\bd treats any arguments remaining after option process-
- ing as bindable command names, and displays any key se-
- quences bound to those commands, instead of treating the
+ ing as bindable command names, and displays any key se-
+ quences bound to those commands, instead of treating the
arguments as key sequences to bind.
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 _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd. 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 _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd. 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 Using the -\b-p\bp option to the .\b. builtin command to specify a
+ +\bo Using the -\b-p\bp option to the .\b. builtin command to specify a
search path.
- +\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 >> redirec-
+ +\bo Redirecting output using the >, >|, <>, >&, &>, and >> redirec-
tion operators.
+\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
_\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, 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
+ 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! You may send suggestions and "philosophical" bug
- reports to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or post them to the Usenet newsgroup
+ reports to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or post them 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
- unit, or to start the command in the background and immediately bring
+ 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, or to start the command in the background and immediately bring
it into the foreground.
Array variables may not (yet) be exported.
+++ /dev/null
-%!PS-Adobe-3.0
-%%Creator: groff version 1.23.0
-%%CreationDate: Thu Oct 17 11:28:25 2024
-%%DocumentNeededResources: font Times-Italic
-%%+ font Times-Roman
-%%+ font Times-Bold
-%%+ font Courier
-%%+ font Symbol
-%%+ font Courier-Bold
-%%DocumentSuppliedResources: procset grops 1.23 0
-%%Pages: 95
-%%PageOrder: Ascend
-%%DocumentMedia: Default 612 792 0 () ()
-%%Orientation: Portrait
-%%EndComments
-%%BeginDefaults
-%%PageMedia: Default
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset grops 1.23 0
-%!PS-Adobe-3.0 Resource-ProcSet
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-% The ASCII code of the space character.
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-% name size font SF -
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-% name a c d font MF -
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll % b
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-% Enable manual feed.
-% MANUAL -
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-% Guess the page length.
-% This assumes that the imageable area is vertically centered on the page.
-% PLG - length
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-% BP -
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-DEFS/BPhook known{DEFS begin BPhook end}if
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}def
-% centerx centery radius startangle endangle DA -
-/DA{
-newpath arcn stroke
-}bind def
-% x y SN - x' y'
-% round a position to nearest (pixel + (.25,.25))
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-% endx endy startx starty DL -
-% we round the endpoints of the line, so that parallel horizontal
-% and vertical lines will appear even
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-% centerx centery radius DC -
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-% width height centerx centery DE -
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-% these are for splines
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-% fill the last path
-% r g b Fr -
-/Fr{
-setrgbcolor fill
-}bind def
-% c m y k Fk -
-/setcmykcolor where{
-pop
-/Fk{
-setcmykcolor fill
-}bind def
-}if
-% g Fg -
-/Fg{
-setgray fill
-}bind def
-% fill with the "current color"
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/setcmykcolor where{
-pop
-/Ck/setcmykcolor load def
-}if
-/Cg/setgray load def
-% new_font_name encoding_vector old_font_name RE -
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne
-2 index/UniqueID ne
-and
-{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-% hpos vpos EBEGIN -
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-% llx lly newwid wid newht ht newllx newlly PBEGIN -
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-% set the graphics state to default values
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-%
-% Any included setpagedevice should be ignored.
-% See: http://www.w-beer.de/doc/ps/.
-%
-/setpagedevice{}def
-mark
-}bind def
-/PEND{
-cleartomark
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%EndProlog
-%%BeginSetup
-%%BeginFeature: *PageSize Default
-<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
-%%EndFeature
-%%IncludeResource: font Times-Italic
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Courier
-%%IncludeResource: font Symbol
-%%IncludeResource: font Courier-Bold
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Courier-Bold@0 ENC0/Courier-Bold RE/Courier@0 ENC0/Courier RE
-/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-/Times-Italic@0 ENC0/Times-Italic RE
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E
-F1(bash \255 GNU Bourne-Ag)108 96 Q(ain SHell)-.05 E F2(SYNOPSIS)72
-112.8 Q/F3 10/Times-Bold@0 SF(bash)108 124.8 Q F1
-([options] [command_string | \214le])2.5 E F2(COPYRIGHT)72 141.6 Q F1
-(Bash is Cop)108 153.6 Q(yright \251 1989-2024 by the Free Softw)-.1 E
-(are F)-.1 E(oundation, Inc.)-.15 E F2(DESCRIPTION)72 170.4 Q F3(Bash)
-108 182.4 Q F1 .973(is an)3.474 F F3(sh)3.473 E F1 .973
-(-compatible command language interpreter that e)B -.15(xe)-.15 G .973
-(cutes commands read from the standard).15 F .289
-(input, from a string, or from a \214le.)108 194.4 R F3(Bash)5.289 E F1
-.289(also incorporates useful features from the)2.789 F F0 -.4(Ko)2.789
-G(rn).4 E F1(and)2.789 E F0(C)2.789 E F1 .289(shells \()2.789 F F3(ksh)A
-F1(and)108 206.4 Q F3(csh)2.5 E F1(\).)A .694(POSIX is the name for a f)
-108 223.2 R .694(amily of computing standards based on Unix.)-.1 F F3
-(Bash)5.694 E F1 .693(is intended to be a confor)3.193 F(-)-.2 E 1.097(\
-mant implementation of the Shell and Utilities portion of the IEEE POSI\
-X speci\214cation \(IEEE Standard)108 235.2 R(1003.1\).)108 247.2 Q F3
-(Bash)5 E F1(can be con\214gured to be POSIX-conformant by def)2.5 E
-(ault.)-.1 E F2(OPTIONS)72 264 Q F1 .483(All of the single-character sh\
-ell options documented in the description of the)108 276 R F3(set)2.983
-E F1 -.2(bu)2.983 G .483(iltin command, includ-).2 F(ing)108 288 Q F3
-<ad6f>2.718 E F1 2.718(,c)C .218
-(an be used as options when the shell is in)-2.718 F -.2(vo)-.4 G -.1
-(ke).2 G 2.718(d. In).1 F(addition,)2.719 E F3(bash)2.719 E F1 .219
-(interprets the follo)2.719 F .219(wing options)-.25 F(when it is in)108
-300 Q -.2(vo)-.4 G -.1(ke).2 G(d:).1 E F3<ad63>108 316.8 Q F1 .868
-(If the)158 316.8 R F3<ad63>3.368 E F1 .867(option is present, then com\
-mands are read from the \214rst non-option ar)3.368 F(gument)-.18 E F0
-(com-)3.567 E(mand_string)158 328.8 Q F1 5.726(.I).22 G 3.226(ft)-5.726
-G .726(here are ar)-3.226 F .727(guments after the)-.18 F F0
-(command_string)3.427 E F1 3.227(,t).22 G .727(he \214rst ar)-3.227 F
-.727(gument is assigned)-.18 F(to)158 340.8 Q F3($0)2.919 E F1 .419
-(and an)2.919 F 2.919(yr)-.15 G .419(emaining ar)-2.919 F .418
-(guments are assigned to the positional parameters.)-.18 F .418
-(The assignment)5.418 F(to)158 352.8 Q F3($0)2.5 E F1
-(sets the name of the shell, which is used in w)2.5 E
-(arning and error messages.)-.1 E F3<ad69>108 369.6 Q F1(If the)158
-369.6 Q F3<ad69>2.5 E F1(option is present, the shell is)2.5 E F0(inter)
-2.51 E(active)-.15 E F1(.).18 E F3<ad6c>108 386.4 Q F1(Mak)158 386.4 Q
-(e)-.1 E F3(bash)2.5 E F1(act as if it had been in)2.5 E -.2(vo)-.4 G
--.1(ke).2 G 2.5(da).1 G 2.5(sal)-2.5 G(ogin shell \(see)-2.5 E/F4 9
-/Times-Bold@0 SF(INV)2.5 E(OCA)-.405 E(TION)-.855 E F1(belo)2.25 E(w\).)
--.25 E F3<ad72>108 403.2 Q F1(If the)158 403.2 Q F3<ad72>2.5 E F1
-(option is present, the shell becomes)2.5 E F0 -.37(re)2.5 G(stricted)
-.37 E F1(\(see)3.27 E F4(RESTRICTED SHELL)2.5 E F1(belo)2.25 E(w\).)-.25
-E F3<ad73>108 420 Q F1 .929(If the)158 420 R F3<ad73>3.429 E F1 .929
-(option is present, or if no ar)3.429 F .93
-(guments remain after option processing, the shell reads)-.18 F 1.693
-(commands from the standard input.)158 432 R 1.692(This option allo)
-6.692 F 1.692(ws the positional parameters to be set)-.25 F(when in)158
-444 Q -.2(vo)-.4 G(king an interacti).2 E .3 -.15(ve s)-.25 H
-(hell or when reading input through a pipe.).15 E F3<ad44>108 460.8 Q F1
-1.065(Print a list of all double-quoted strings preceded by)158 460.8 R
-F3($)3.566 E F1 1.066(on the standard output.)3.566 F 1.066
-(These are the)6.066 F 1.47(strings that are subject to language transl\
-ation when the current locale is not)158 472.8 R F3(C)3.97 E F1(or)3.97
-E F3(POSIX)3.97 E F1(.)A(This implies the)158 484.8 Q F3<ad6e>2.5 E F1
-(option; no commands will be e)2.5 E -.15(xe)-.15 G(cuted.).15 E F3
-([\255+]O [)108 501.6 Q F0(shopt_option)A F3(])A F0(shopt_option)158
-513.6 Q F1 1.097(is one of the shell options accepted by the)3.596 F F3
-(shopt)3.597 E F1 -.2(bu)3.597 G 1.097(iltin \(see).2 F F4 1.097
-(SHELL B)3.597 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)158 525.6 Q F1(belo)
-3.003 E 3.253(w\). If)-.25 F F0(shopt_option)3.253 E F1 .753
-(is present,)3.253 F F3<ad4f>3.253 E F1 .753(sets the v)3.253 F .753
-(alue of that option;)-.25 F F3(+O)3.252 E F1(unsets)3.252 E 3.456
-(it. If)158 537.6 R F0(shopt_option)3.456 E F1 .957(is not supplied,)
-3.457 F F3(bash)3.457 E F1 .957(prints the names and v)3.457 F .957
-(alues of the shell options ac-)-.25 F .276(cepted by)158 549.6 R F3
-(shopt)2.776 E F1 .276(on the standard output.)2.776 F .276(If the in)
-5.276 F -.2(vo)-.4 G .276(cation option is).2 F F3(+O)2.775 E F1 2.775
-(,t)C .275(he output is displayed)-2.775 F
-(in a format that may be reused as input.)158 561.6 Q F3<adad>108 578.4
-Q F1(A)158 578.4 Q F3<adad>3.363 E F1 .864
-(signals the end of options and disables further option processing.)
-3.363 F(An)5.864 E 3.364(ya)-.15 G -.18(rg)-3.364 G .864(uments after)
-.18 F(the)158 590.4 Q F3<adad>3.559 E F1 1.059
-(are treated as a shell script \214lename \(see belo)3.559 F 1.059
-(w\) and ar)-.25 F 1.058(guments passed to that script.)-.18 F(An ar)158
-602.4 Q(gument of)-.18 E F3<ad>2.5 E F1(is equi)2.5 E -.25(va)-.25 G
-(lent to).25 E F3<adad>2.5 E F1(.)A F3(Bash)108 619.2 Q F1 .303
-(also interprets a number of multi-character options.)2.803 F .304
-(These options must appear on the command line)5.303 F
-(before the single-character options to be recognized.)108 631.2 Q F3
-<adad646562>108 648 Q(ugger)-.2 E F1 .475(Arrange for the deb)144 660 R
-.475(ugger pro\214le to be e)-.2 F -.15(xe)-.15 G .475
-(cuted before the shell starts.).15 F -.45(Tu)5.474 G .474(rns on e).45
-F .474(xtended deb)-.15 F(ug-)-.2 E
-(ging mode \(see the description of the)144 672 Q F3(extdeb)2.5 E(ug)-.2
-E F1(option to the)2.5 E F3(shopt)2.5 E F1 -.2(bu)2.5 G(iltin belo).2 E
-(w\).)-.25 E F3(\255\255dump\255po\255strings)108 688.8 Q F1(Equi)144
-700.8 Q -.25(va)-.25 G(lent to).25 E F3<ad44>2.5 E F1 2.5(,b)C
-(ut the output is in the GNU)-2.7 E F0 -.1(ge)2.5 G(tte).1 E(xt)-.2 E F1
-(\231po\232 \(portable object\) \214le format.)2.5 E(GNU Bash 5.3)72 768
-Q(2024 October 15)141.235 E(1)195.395 E 0 Cg EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(\255\255dump\255strings)108
-84 Q F1(Equi)144 96 Q -.25(va)-.25 G(lent to).25 E F2<ad44>2.5 E F1(.)A
-F2(\255\255help)108 112.8 Q F1
-(Display a usage message on standard output and e)144 112.8 Q
-(xit successfully)-.15 E(.)-.65 E F2<adad696e6974ad8c6c65>108 129.6 Q F0
-(\214le)2.5 E F2<adad72>108 141.6 Q(c\214le)-.18 E F0(\214le)2.5 E F1
-(Ex)144 153.6 Q 1.167(ecute commands from)-.15 F F0(\214le)5.577 E F1
-1.168(instead of the standard personal initialization \214le)3.847 F F0
-(\001/.bashr)5.334 E(c)-.37 E F1 1.168(if the)5.334 F
-(shell is interacti)144 165.6 Q .3 -.15(ve \()-.25 H(see).15 E/F3 9
-/Times-Bold@0 SF(INV)2.5 E(OCA)-.405 E(TION)-.855 E F1(belo)2.25 E(w\).)
--.25 E F2(\255\255login)108 182.4 Q F1(Equi)144 194.4 Q -.25(va)-.25 G
-(lent to).25 E F2<ad6c>2.5 E F1(.)A F2(\255\255noediting)108 211.2 Q F1
-(Do not use the GNU)144 223.2 Q F2 -.18(re)2.5 G(adline).18 E F1
-(library to read command lines when the shell is interacti)2.5 E -.15
-(ve)-.25 G(.).15 E F2(\255\255nopr)108 240 Q(o\214le)-.18 E F1 .017
-(Do not read either the system-wide startup \214le)144 252 R F0(/etc/pr)
-4.183 E(o\214le)-.45 E F1 .017(or an)4.183 F 2.517(yo)-.15 G 2.517(ft)
--2.517 G .017(he personal initialization \214les)-2.517 F F0
-(\001/.bash_pr)145.666 264 Q(o\214le)-.45 E F1(,)1.666 E F0
-(\001/.bash_lo)5.579 E(gin)-.1 E F1 3.913(,o)1.666 G(r)-3.913 E F0
-(\001/.pr)5.579 E(o\214le)-.45 E F1 6.413(.B)1.666 G 3.913(yd)-6.413 G
-(ef)-3.913 E(ault,)-.1 E F2(bash)3.913 E F1 1.414
-(reads these \214les when it is in-)3.913 F -.2(vo)144 276 S -.1(ke).2 G
-2.5(da).1 G 2.5(sal)-2.5 G(ogin shell \(see)-2.5 E F3(INV)2.5 E(OCA)
--.405 E(TION)-.855 E F1(belo)2.25 E(w\).)-.25 E F2<adad6e6f72>108 292.8
-Q(c)-.18 E F1 .855(Do not read and e)144 292.8 R -.15(xe)-.15 G .855
-(cute the personal initialization \214le).15 F F0(\001/.bashr)5.02 E(c)
--.37 E F1 .854(if the shell is interacti)5.02 F -.15(ve)-.25 G 5.854(.T)
-.15 G(his)-5.854 E(option is on by def)144 304.8 Q
-(ault if the shell is in)-.1 E -.2(vo)-.4 G -.1(ke).2 G 2.5(da).1 G(s)
--2.5 E F2(sh)2.5 E F1(.)A F2(\255\255posix)108 321.6 Q F1 1.782
-(Change the beha)144 333.6 R 1.782(vior of)-.2 F F2(bash)4.282 E F1
-1.782(where the def)4.282 F 1.782(ault operation dif)-.1 F 1.782
-(fers from the POSIX standard to)-.25 F .333(match the standard \()144
-345.6 R F0 .333(posix mode)B F1 2.833(\). See)B F3 .333(SEE ALSO)2.833 F
-F1(belo)2.583 E 2.833(wf)-.25 G .332
-(or a reference to a document that details)-2.833 F(ho)144 357.6 Q 2.5
-(wp)-.25 G(osix mode af)-2.5 E(fects)-.25 E F2(Bash)2.5 E F1 1.1 -.55
-('s b)D(eha).55 E(vior)-.2 E(.)-.55 E F2<adad72>108 374.4 Q(estricted)
--.18 E F1(The shell becomes restricted \(see)144 386.4 Q F3
-(RESTRICTED SHELL)2.5 E F1(belo)2.25 E(w\).)-.25 E F2<adad76>108 403.2 Q
-(erbose)-.1 E F1(Equi)144 415.2 Q -.25(va)-.25 G(lent to).25 E F2<ad76>
-2.5 E F1(.)A F2<adad76>108 432 Q(ersion)-.1 E F1(Sho)144 444 Q 2.5(wv)
--.25 G(ersion information for this instance of)-2.65 E F2(bash)2.5 E F1
-(on the standard output and e)2.5 E(xit successfully)-.15 E(.)-.65 E/F4
-10.95/Times-Bold@0 SF(ARGUMENTS)72 460.8 Q F1 .016(If ar)108 472.8 R
-.016(guments remain after option processing, and neither the)-.18 F F2
-<ad63>2.516 E F1 .016(nor the)2.516 F F2<ad73>2.516 E F1 .016
-(option has been supplied, the \214rst)2.516 F(ar)108 484.8 Q .11(gumen\
-t is assumed to be the name of a \214le containing shell commands \(a)
--.18 F F0 .109(shell script)2.609 F F1 2.609(\). If)B F2(bash)2.609 E F1
-.109(is in)2.609 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E .256(in this f)108
-496.8 R(ashion,)-.1 E F2($0)2.756 E F1 .257(is set to the name of the \
-\214le, and the positional parameters are set to the remaining ar)2.756
-F(gu-)-.18 E(ments.)108 508.8 Q F2(Bash)5.2 E F1 .2(reads and e)2.7 F
--.15(xe)-.15 G .2(cutes commands from this \214le, then e).15 F(xits.)
--.15 E F2(Bash)5.199 E F1 1.299 -.55('s e)D .199(xit status is the e).4
-F .199(xit status of)-.15 F .732(the last command e)108 520.8 R -.15(xe)
--.15 G .732(cuted in the script.).15 F .733(If no commands are e)5.732 F
--.15(xe)-.15 G .733(cuted, the e).15 F .733(xit status is 0.)-.15 F .733
-(Bash \214rst at-)5.733 F .087
-(tempts to open the \214le in the current directory)108 532.8 R 2.587
-(,a)-.65 G .086
-(nd, if no \214le is found, then searches the directories in)-2.587 F F3
--.666(PA)2.586 G(TH)-.189 E F1(for the script.)108 544.8 Q F4(INV)72
-561.6 Q(OCA)-.493 E(TION)-1.04 E F1(A)108 573.6 Q F0(lo)2.5 E(gin shell)
--.1 E F1(is one whose \214rst character of ar)2.5 E(gument zero is a)
--.18 E F2<ad>2.5 E F1 2.5(,o)C 2.5(ro)-2.5 G(ne started with the)-2.5 E
-F2(\255\255login)2.5 E F1(option.)2.5 E(An)108 590.4 Q F0(inter)2.733 E
-(active)-.15 E F1 .234(shell is one started without non-option ar)2.733
-F .234(guments \(unless)-.18 F F2<ad73>2.734 E F1 .234
-(is speci\214ed\) and without the)2.734 F F2<ad63>2.734 E F1 2.787(opti\
-on, whose standard input and standard error are both connected to termi\
-nals \(as determined by)108 602.4 R F0(isatty)108.01 614.4 Q F1 .375
-(\(3\)\), or one started with the).32 F F2<ad69>2.875 E F1(option.)2.875
-E F2(Bash)5.375 E F1(sets)2.875 E F3(PS1)2.876 E F1(and)2.626 E F2<24ad>
-2.876 E F1(includes)2.876 E F2(i)2.876 E F1 .376
-(if the shell is interacti)2.876 F -.15(ve)-.25 G 2.876(,s).15 G 2.876
-(oa)-2.876 G(shell script or a startup \214le can test this state.)108
-626.4 Q .033(The follo)108 643.2 R .033(wing paragraphs describe ho)-.25
-F(w)-.25 E F2(bash)2.532 E F1 -.15(exe)2.532 G .032
-(cutes its startup \214les.).15 F .032(If an)5.032 F 2.532(yo)-.15 G
-2.532(ft)-2.532 G .032(he \214les e)-2.532 F .032(xist b)-.15 F .032
-(ut cannot be)-.2 F(read,)108 655.2 Q F2(bash)2.599 E F1 .099
-(reports an error)2.599 F 5.099(.T)-.55 G .099(ildes are e)-5.449 F .099
-(xpanded in \214lenames as described belo)-.15 F 2.6(wu)-.25 G(nder)-2.6
-E F2 -.18(Ti)2.6 G .1(lde Expansion).18 F F1(in)2.6 E(the)108 667.2 Q F3
-(EXP)2.5 E(ANSION)-.666 E F1(section.)2.25 E(When)108 684 Q F2(bash)
-2.896 E F1 .396(is in)2.896 F -.2(vo)-.4 G -.1(ke).2 G 2.896(da).1 G
-2.896(sa)-2.896 G 2.896(ni)-2.896 G(nteracti)-2.896 E .696 -.15(ve l)
--.25 H .396(ogin shell, or as a non-interacti).15 F .695 -.15(ve s)-.25
-H .395(hell with the).15 F F2(\255\255login)2.895 E F1 .395(option, it)
-2.895 F 1.137(\214rst reads and e)108 696 R -.15(xe)-.15 G 1.137
-(cutes commands from the \214le).15 F F0(/etc/pr)5.303 E(o\214le)-.45 E
-F1 3.638(,i)1.666 G 3.638(ft)-3.638 G 1.138(hat \214le e)-3.638 F 3.638
-(xists. After)-.15 F 1.138(reading that \214le, it)3.638 F .707
-(looks for)108 708 R F0(\001/.bash_pr)4.873 E(o\214le)-.45 E F1(,)1.666
-E F0(\001/.bash_lo)4.873 E(gin)-.1 E F1 3.207(,a)1.666 G(nd)-3.207 E F0
-(\001/.pr)4.873 E(o\214le)-.45 E F1 3.207(,i)1.666 G 3.206(nt)-3.207 G
-.706(hat order)-3.206 F 3.206(,a)-.4 G .706(nd reads and e)-3.206 F -.15
-(xe)-.15 G .706(cutes commands).15 F .182(from the \214rst one that e)
-108 720 R .182(xists and is readable.)-.15 F(The)5.183 E F2
-(\255\255nopr)2.683 E(o\214le)-.18 E F1 .183
-(option may be used when the shell is started)2.683 F(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(2)195.395 E 0 Cg EP
-%%Page: 3 3
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(to inhibit this beha)108 84 Q(vior)-.2 E(.)-.55 E
-1.104(When an interacti)108 100.8 R 1.404 -.15(ve l)-.25 H 1.104
-(ogin shell e).15 F 1.104(xits, or a non-interacti)-.15 F 1.404 -.15
-(ve l)-.25 H 1.104(ogin shell e).15 F -.15(xe)-.15 G 1.104(cutes the).15
-F/F2 10/Times-Bold@0 SF(exit)3.604 E F1 -.2(bu)3.604 G 1.104
-(iltin command,).2 F F2(bash)108 112.8 Q F1(reads and e)2.5 E -.15(xe)
--.15 G(cutes commands from the \214le).15 E F0(\001/.bash_lo)4.166 E
-(gout)-.1 E F1 2.5(,i)1.666 G 2.5(fi)-2.5 G 2.5(te)-2.5 G(xists.)-2.65 E
-1.697(When an interacti)108 129.6 R 1.997 -.15(ve s)-.25 H 1.698
-(hell that is not a login shell is started,).15 F F2(bash)4.198 E F1
-1.698(reads and e)4.198 F -.15(xe)-.15 G 1.698(cutes commands from).15 F
-F0(\001/.bashr)109.666 141.6 Q(c)-.37 E F1 3.282(,i)1.666 G 3.282(ft)
--3.282 G .782(hat \214le e)-3.282 F 3.282(xists. This)-.15 F .782
-(may be inhibited by using the)3.282 F F2<adad6e6f72>3.281 E(c)-.18 E F1
-3.281(option. The)3.281 F F2<adad72>3.281 E(c\214le)-.18 E F0(\214le)
-3.281 E F1(option)3.281 E(causes)108 153.6 Q F2(bash)2.5 E F1(to use)2.5
-E F0(\214le)2.5 E F1(instead of)2.5 E F0(\001/.bashr)4.166 E(c)-.37 E F1
-(.)1.666 E(When)108 170.4 Q F2(bash)5.305 E F1 2.805
-(is started non-interacti)5.305 F -.15(ve)-.25 G(ly).15 E 5.305(,t)-.65
-G 5.305(or)-5.305 G 2.806(un a shell script, for e)-5.305 F 2.806
-(xample, it looks for the v)-.15 F(ariable)-.25 E/F3 9/Times-Bold@0 SF
--.27(BA)108 182.4 S(SH_ENV).27 E F1 1.011(in the en)3.261 F 1.011
-(vironment, e)-.4 F 1.01(xpands its v)-.15 F 1.01
-(alue if it appears there, and uses the e)-.25 F 1.01(xpanded v)-.15 F
-1.01(alue as the)-.25 F(name of a \214le to read and e)108 194.4 Q -.15
-(xe)-.15 G(cute.).15 E F2(Bash)5 E F1(beha)2.5 E -.15(ve)-.2 G 2.5(sa)
-.15 G 2.5(si)-2.5 G 2.5(ft)-2.5 G(he follo)-2.5 E(wing command were e)
--.25 E -.15(xe)-.15 G(cuted:).15 E/F4 10/Courier@0 SF
-(if [ \255n "$BASH_ENV" ]; then . "$BASH_ENV"; fi)144 211.2 Q F1 -.2(bu)
-108 228 S 2.5(td).2 G(oes not use the v)-2.5 E(alue of the)-.25 E F3
--.666(PA)2.5 G(TH)-.189 E F1 -.25(va)2.25 G
-(riable to search for the \214lename.).25 E(If)108 244.8 Q F2(bash)3.417
-E F1 .917(is in)3.417 F -.2(vo)-.4 G -.1(ke).2 G 3.417(dw).1 G .917
-(ith the name)-3.417 F F2(sh)3.417 E F1 3.417(,i)C 3.417(tt)-3.417 G
-.917(ries to mimic the startup beha)-3.417 F .917(vior of historical v)
--.2 F .917(ersions of)-.15 F F2(sh)3.417 E F1(as)3.417 E .145
-(closely as possible, while conforming to the POSIX standard as well.)
-108 256.8 R .145(When in)5.145 F -.2(vo)-.4 G -.1(ke).2 G 2.645(da).1 G
-2.645(sa)-2.645 G 2.645(ni)-2.645 G(nteracti)-2.645 E .445 -.15(ve l)
--.25 H(ogin).15 E 1.263(shell, or a non-interacti)108 268.8 R 1.563 -.15
-(ve s)-.25 H 1.264(hell with the).15 F F2(\255\255login)3.764 E F1 1.264
-(option, it \214rst attempts to read and e)3.764 F -.15(xe)-.15 G 1.264
-(cute commands).15 F(from)108 280.8 Q F0(/etc/pr)4.358 E(o\214le)-.45 E
-F1(and)4.357 E F0(\001/.pr)4.357 E(o\214le)-.45 E F1 2.691(,i)1.666 G
-2.691(nt)-2.691 G .191(hat order)-2.691 F 5.191(.T)-.55 G(he)-5.191 E F2
-(\255\255nopr)2.691 E(o\214le)-.18 E F1 .191
-(option will inhibit this beha)2.691 F(vior)-.2 E 5.191(.W)-.55 G .191
-(hen in-)-5.191 F -.2(vo)108 292.8 S -.1(ke).2 G 2.508(da).1 G 2.508(sa)
--2.508 G 2.508(ni)-2.508 G(nteracti)-2.508 E .308 -.15(ve s)-.25 H .008
-(hell with the name).15 F F2(sh)2.508 E F1(,)A F2(bash)2.508 E F1 .008
-(looks for the v)2.508 F(ariable)-.25 E F3(ENV)2.508 E/F5 9
-/Times-Roman@0 SF(,)A F1 -.15(ex)2.258 G .008(pands its v).15 F .009
-(alue if it is de-)-.25 F .775(\214ned, and uses the e)108 304.8 R .775
-(xpanded v)-.15 F .774(alue as the name of a \214le to read and e)-.25 F
--.15(xe)-.15 G 3.274(cute. Since).15 F 3.274(as)3.274 G .774(hell in)
--3.274 F -.2(vo)-.4 G -.1(ke).2 G 3.274(da).1 G(s)-3.274 E F2(sh)3.274 E
-F1 .396(does not attempt to read and e)108 316.8 R -.15(xe)-.15 G .396
-(cute commands from an).15 F 2.896(yo)-.15 G .396
-(ther startup \214les, the)-2.896 F F2<adad72>2.896 E(c\214le)-.18 E F1
-.397(option has no ef-)2.896 F 3.871(fect. A)108 328.8 R(non-interacti)
-3.871 E 1.671 -.15(ve s)-.25 H 1.371(hell in).15 F -.2(vo)-.4 G -.1(ke)
-.2 G 3.871(dw).1 G 1.371(ith the name)-3.871 F F2(sh)3.871 E F1 1.37
-(does not attempt to read an)3.871 F 3.87(yo)-.15 G 1.37
-(ther startup \214les.)-3.87 F(When in)108 340.8 Q -.2(vo)-.4 G -.1(ke)
-.2 G 2.5(da).1 G(s)-2.5 E F2(sh)2.5 E F1(,)A F2(bash)2.5 E F1
-(enters posix mode after reading the startup \214les.)2.5 E(When)108
-357.6 Q F2(bash)2.793 E F1 .294(is started in posix mode, as with the)
-2.793 F F2(\255\255posix)2.794 E F1 .294(command line option, it follo)
-2.794 F .294(ws the POSIX stan-)-.25 F .621(dard for startup \214les.)
-108 369.6 R .621(In this mode, interacti)5.621 F .921 -.15(ve s)-.25 H
-.621(hells e).15 F .621(xpand the)-.15 F F3(ENV)3.121 E F1 -.25(va)2.87
-G .62(riable and read and e).25 F -.15(xe)-.15 G .62(cute com-).15 F
-(mands from the \214le whose name is the e)108 381.6 Q(xpanded v)-.15 E
-2.5(alue. No)-.25 F(other startup \214les are read.)2.5 E F2(Bash)108
-398.4 Q F1 .224(attempts to determine when it is being run with its sta\
-ndard input connected to a netw)2.723 F .224(ork connection,)-.1 F .85
-(as when e)108 410.4 R -.15(xe)-.15 G .85
-(cuted by the historical and rarely-seen remote shell daemon, usually)
-.15 F F0 -.1(rs)3.35 G(hd).1 E F1 3.35(,o)C 3.35(rt)-3.35 G .85
-(he secure shell)-3.35 F(daemon)108 422.4 Q F0(sshd)3.875 E F1 6.375(.I)
-C(f)-6.375 E F2(bash)3.875 E F1 1.376
-(determines it is being run non-interacti)3.875 F -.15(ve)-.25 G 1.376
-(ly in this f).15 F 1.376(ashion, it reads and e)-.1 F -.15(xe)-.15 G
-(cutes).15 E 1.421(commands from)108 434.4 R F0(\001/.bashr)5.587 E(c)
--.37 E F1 3.921(,i)1.666 G 3.921(ft)-3.921 G 1.421(hat \214le e)-3.921 F
-1.421(xists and is readable.)-.15 F 1.421(It will not do this if in)
-6.421 F -.2(vo)-.4 G -.1(ke).2 G 3.921(da).1 G(s)-3.921 E F2(sh)3.921 E
-F1 6.42(.T)C(he)-6.42 E F2<adad6e6f72>108 446.4 Q(c)-.18 E F1 .292
-(option will inhibit this beha)2.792 F(vior)-.2 E 2.792(,a)-.4 G .292
-(nd the)-2.792 F F2<adad72>2.792 E(c\214le)-.18 E F1 .292
-(option will mak)2.792 F(e)-.1 E F2(bash)2.793 E F1 .293(use a dif)2.793
-F .293(ferent \214le instead)-.25 F(of)108 458.4 Q F0(\001/.bashr)5.025
-E(c)-.37 E F1 3.359(,b)1.666 G .859(ut neither)-3.559 F F0 -.1(rs)3.359
-G(hd).1 E F1(nor)3.359 E F0(sshd)3.359 E F1 .859(generally in)3.359 F
--.2(vo)-.4 G 1.059 -.1(ke t).2 H .859
-(he shell with those options or allo).1 F 3.358(wt)-.25 G .858
-(hem to be)-3.358 F(speci\214ed.)108 470.4 Q .433
-(If the shell is started with the ef)108 487.2 R(fecti)-.25 E .733 -.15
-(ve u)-.25 H .433
-(ser \(group\) id not equal to the real user \(group\) id, and the).15 F
-F2<ad70>2.934 E F1(op-)2.934 E 1.124(tion is not supplied, no startup \
-\214les are read, shell functions are not inherited from the en)108
-499.2 R 1.124(vironment, the)-.4 F F3(SHELLOPTS)108 511.2 Q F5(,)A F3
--.27(BA)2.959 G(SHOPTS).27 E F5(,)A F3(CDP)2.959 E -.855(AT)-.666 G(H)
-.855 E F5(,)A F1(and)2.959 E F3(GLOBIGNORE)3.209 E F1 -.25(va)2.959 G
-.709(riables, if the).25 F 3.209(ya)-.15 G .71(ppear in the en)-3.209 F
-.71(vironment, are)-.4 F .905(ignored, and the ef)108 523.2 R(fecti)-.25
-E 1.205 -.15(ve u)-.25 H .904(ser id is set to the real user id.).15 F
-.904(If the)5.904 F F2<ad70>3.404 E F1 .904(option is supplied at in)
-3.404 F -.2(vo)-.4 G .904(cation, the).2 F(startup beha)108 535.2 Q
-(vior is the same, b)-.2 E(ut the ef)-.2 E(fecti)-.25 E .3 -.15(ve u)
--.25 H(ser id is not reset.).15 E/F6 10.95/Times-Bold@0 SF(DEFINITIONS)
-72 552 Q F1(The follo)108 564 Q
-(wing de\214nitions are used throughout the rest of this document.)-.25
-E F2(blank)108 576 Q F1 2.5(As)144 576 S(pace or tab)-2.5 E(.)-.4 E F2
--.1(wo)108 588 S(rd).1 E F1 2.5(As)144 588 S
-(equence of characters considered as a single unit by the shell.)-2.5 E
-(Also kno)5 E(wn as a)-.25 E F2(tok)2.5 E(en)-.1 E F1(.)A F2(name)108
-600 Q F1(A)144 600 Q F0(wor)3.005 E(d)-.37 E F1 .165
-(consisting only of alphanumeric characters and underscores, and be)
-3.435 F .166(ginning with an alpha-)-.15 F
-(betic character or an underscore.)144 612 Q(Also referred to as an)5 E
-F2(identi\214er)2.5 E F1(.)A F2(metacharacter)108 624 Q F1 2.5(Ac)144
-636 S(haracter that, when unquoted, separates w)-2.5 E 2.5(ords. One)-.1
-F(of the follo)2.5 E(wing:)-.25 E F2 5(|&;\(\)<>s)144 648 S 2.5
-(pace tab newline)-5 F(contr)108 660 Q(ol operator)-.18 E F1(A)144 672 Q
-F0(tok)2.5 E(en)-.1 E F1(that performs a control function.)2.5 E
-(It is one of the follo)5 E(wing symbols:)-.25 E F2 2.5
-(|| & && ; ;; ;& ;;& \( \) | |&)144 684 R(<newline>)10 E F6(RESER)72
-700.8 Q(VED W)-.602 E(ORDS)-.11 E F0 .307(Reserved wor)108 712.8 R(ds)
--.37 E F1 .307(are w)2.807 F .307(ords that ha)-.1 F .607 -.15(ve a s)
--.2 H .306(pecial meaning to the shell.).15 F .306(The follo)5.306 F
-.306(wing w)-.25 F .306(ords are recognized as)-.1 F(reserv)108 724.8 Q
-.313(ed when unquoted and either the \214rst w)-.15 F .314
-(ord of a command \(see)-.1 F F3 .314(SHELL GRAMMAR)2.814 F F1(belo)
-2.564 E .314(w\), the third)-.25 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(3)195.395 E 0 Cg EP
-%%Page: 4 4
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E -.1(wo)108 84 S .644(rd of a).1 F/F2 10
-/Times-Bold@0 SF(case)3.144 E F1(or)3.144 E F2(select)3.143 E F1 .643
-(command \(only)3.143 F F2(in)3.143 E F1 .643(is v)3.143 F .643
-(alid\), or the third w)-.25 F .643(ord of a)-.1 F F2 -.25(fo)3.143 G(r)
-.25 E F1 .643(command \(only)3.143 F F2(in)3.143 E F1(and)3.143 E F2(do)
-3.143 E F1(are v)108 96 Q(alid\):)-.25 E F2 11.295(!c)144 112.8 S 8.795
-(ase copr)-11.295 F 8.795(oc do done elif else esac \214 f)-.18 F 8.795
-(or function if in select then)-.25 F 7.5(until while { } time [[ ]])144
-124.8 R/F3 10.95/Times-Bold@0 SF(SHELL GRAMMAR)72 141.6 Q F1
-(This section describes the syntax of the v)108 153.6 Q
-(arious forms of shell commands.)-.25 E F2(Simple Commands)87 170.4 Q F1
-(A)108 182.4 Q F0 .389(simple command)2.889 F F1 .389
-(is a sequence of optional v)2.889 F .388(ariable assignments follo)-.25
-F .388(wed by)-.25 F F2(blank)2.888 E F1 .388(-separated w)B .388
-(ords and)-.1 F .815(redirections, and terminated by a)108 194.4 R F0
-(contr)3.315 E .815(ol oper)-.45 F(ator)-.15 E F1 5.815(.T)C .815
-(he \214rst w)-5.815 F .816(ord speci\214es the command to be e)-.1 F
--.15(xe)-.15 G(cuted,).15 E(and is passed as ar)108 206.4 Q
-(gument zero.)-.18 E(The remaining w)5 E(ords are passed as ar)-.1 E
-(guments to the in)-.18 E -.2(vo)-.4 G -.1(ke).2 G 2.5(dc).1 G(ommand.)
--2.5 E(The return v)108 223.2 Q(alue of a)-.25 E F0(simple command)2.5 E
-F1(is its e)2.5 E(xit status, or 128+)-.15 E F0(n)A F1
-(if the command is terminated by signal)3.333 E F0(n)2.86 E F1(.).24 E
-F2(Pipelines)87 240 Q F1(A)108 252 Q F0(pipeline)2.996 E F1 .496(is a s\
-equence of one or more commands separated by one of the control operato\
-rs)2.996 F F2(|)2.996 E F1(or)2.996 E F2(|&)2.996 E F1 5.496(.T)C(he)
--5.496 E(format for a pipeline is:)108 264 Q([)144 280.8 Q F2(time)A F1
-([)2.5 E F2<ad70>A F1(]] [ ! ])A F0(command1)2.5 E F1 2.5([[)2.5 G F2(|)
--2.5 E/F4 10/Symbol SF<ef>A F2(|&)A F1(])A F0(command2)2.5 E F1 -3.332
-1.666(... ])2.5 H .799(The standard output of)108 297.6 R F0(command1)
-3.499 E F1 .799(is connected via a pipe to the standard input of)3.299 F
-F0(command2)3.5 E F1 5.8(.T).02 G .8(his con-)-5.8 F .215
-(nection is performed before an)108 309.6 R 2.715(yr)-.15 G .214
-(edirections speci\214ed by the)-2.715 F F0(command1)2.914 E F1(\(see)A
-/F5 9/Times-Bold@0 SF(REDIRECTION)2.714 E F1(belo)2.464 E 2.714(w\). If)
--.25 F F2(|&)2.714 E F1 .3(is the pipeline operator)108 321.6 R(,)-.4 E
-F0(command1)2.8 E F1 1.4 -.55('s s)D .3(tandard error).55 F 2.8(,i)-.4 G
-2.8(na)-2.8 G .3(ddition to its standard output, is connected to)-2.8 F
-F0(com-)2.8 E(mand2)108 333.6 Q F1 1.752 -.55('s s)D .651
-(tandard input through the pipe; it is shorthand for).55 F F2 .651
-(2>&1 |)3.151 F F1 5.651(.T)C .651
-(his implicit redirection of the stan-)-5.651 F
-(dard error to the standard output is performed after an)108 345.6 Q 2.5
-(yr)-.15 G(edirections speci\214ed by)-2.5 E F0(command1)2.5 E F1(.)A
-.48(The return status of a pipeline is the e)108 362.4 R .48
-(xit status of the last command, unless the)-.15 F F2(pipefail)2.98 E F1
-.48(option is enabled.)2.98 F(If)108 374.4 Q F2(pipefail)2.687 E F1 .187
-(is enabled, the pipeline')2.687 F 2.687(sr)-.55 G .186
-(eturn status is the v)-2.687 F .186
-(alue of the last \(rightmost\) command to e)-.25 F .186(xit with a)-.15
-F .61(non-zero status, or zero if all commands e)108 386.4 R .611
-(xit successfully)-.15 F 5.611(.I)-.65 G 3.111(ft)-5.611 G .611
-(he reserv)-3.111 F .611(ed w)-.15 F(ord)-.1 E F2(!)3.111 E F1 .611
-(precedes a pipeline, the)5.611 F -.15(ex)108 398.4 S .408
-(it status of that pipeline is the logical ne).15 F -.05(ga)-.15 G .408
-(tion of the e).05 F .408(xit status as described abo)-.15 F -.15(ve)
--.15 G 5.408(.I).15 G 2.908(fap)-5.408 G .408(ipeline is e)-2.908 F -.15
-(xe)-.15 G(-).15 E(cuted synchronously)108 410.4 Q 2.5(,t)-.65 G
-(he shell w)-2.5 E(aits for all commands in the pipeline to terminate b\
-efore returning a v)-.1 E(alue.)-.25 E .357(If the)108 427.2 R F2(time)
-2.857 E F1(reserv)2.858 E .358(ed w)-.15 F .358(ord precedes a pipeline\
-, the shell reports the elapsed as well as user and system time)-.1 F
-.554(consumed by its e)108 439.2 R -.15(xe)-.15 G .554
-(cution when the pipeline terminates.).15 F(The)5.554 E F2<ad70>3.054 E
-F1 .553(option changes the output format to that)3.054 F .352
-(speci\214ed by POSIX.)108 451.2 R .352
-(When the shell is in posix mode, it does not recognize)5.352 F F2(time)
-2.852 E F1 .352(as a reserv)2.852 F .352(ed w)-.15 F .352(ord if the)-.1
-F(ne)108 463.2 Q .044(xt tok)-.15 F .044(en be)-.1 F .044
-(gins with a \231\255\232.)-.15 F .044(The v)5.044 F .044(alue of the)
--.25 F F5(TIMEFORMA)2.544 E(T)-.855 E F1 -.25(va)2.294 G .043
-(riable is a format string that speci\214es ho).25 F(w)-.25 E .26
-(the timing information should be displayed; see the description of)108
-475.2 R F5(TIMEFORMA)2.76 E(T)-.855 E F1(belo)2.51 E 2.76(wu)-.25 G
-(nder)-2.76 E F2 .26(Shell V)2.76 F(ari-)-.92 E(ables)108 487.2 Q F1(.)A
-.288(When the shell is in posix mode,)108 504 R F2(time)2.787 E F1 .287
-(may appear by itself as the only w)2.787 F .287
-(ord in a simple command.)-.1 F .287(In this)5.287 F .604(case, the she\
-ll displays the total user and system time consumed by the shell and it\
-s children.)108 516 R(The)5.604 E F5(TIME-)3.104 E(FORMA)108 528 Q(T)
--.855 E F1 -.25(va)2.25 G
-(riable speci\214es the format of the time information.).25 E .304(Each\
- command in a multi-command pipeline, where pipes are created, is e)108
-544.8 R -.15(xe)-.15 G .303(cuted in a).15 F F0(subshell)2.803 E F1
-2.803(,w)C .303(hich is a)-2.803 F .207(separate process.)108 556.8 R
-(See)5.207 E F5 .208(COMMAND EXECUTION ENVIR)2.708 F(ONMENT)-.27 E F1
-.208(for a description of subshells and a sub-)2.458 F .927(shell en)108
-568.8 R 3.427(vironment. If)-.4 F(the)3.427 E F2(lastpipe)3.427 E F1
-.927(option is enabled using the)3.427 F F2(shopt)3.427 E F1 -.2(bu)
-3.427 G .927(iltin \(see the description of).2 F F2(shopt)3.426 E F1
-(belo)108 580.8 Q(w\), and job control is not acti)-.25 E -.15(ve)-.25 G
-2.5(,t).15 G
-(he last element of a pipeline may be run by the shell process.)-2.5 E
-F2(Lists)87 597.6 Q F1(A)108 609.6 Q F0(list)2.849 E F1 .349(is a seque\
-nce of one or more pipelines separated by one of the operators)2.849 F
-F2(;)2.85 E F1(,)A F2(&)2.85 E F1(,)A F2(&&)2.85 E F1 2.85(,o)C(r)-2.85
-E F2(||)2.85 E F1 2.85(,a)C .35(nd option-)-2.85 F
-(ally terminated by one of)108 621.6 Q F2(;)2.5 E F1(,)A F2(&)2.5 E F1
-2.5(,o)C(r)-2.5 E F2(<newline>)2.5 E F1(.)A .961
-(Of these list operators,)108 638.4 R F2(&&)3.461 E F1(and)3.461 E F2
-(||)3.461 E F1(ha)3.461 E 1.261 -.15(ve e)-.2 H .961
-(qual precedence, follo).15 F .96(wed by)-.25 F F2(;)3.46 E F1(and)3.46
-E F2(&)3.46 E F1 3.46(,w)C .96(hich ha)-3.46 F 1.26 -.15(ve e)-.2 H .96
-(qual prece-).15 F(dence.)108 650.4 Q 2.5(As)108 667.2 S
-(equence of one or more ne)-2.5 E(wlines may appear in a)-.25 E F0(list)
-2.5 E F1(instead of a semicolon to delimit commands.)2.5 E .029
-(If a command is terminated by the control operator)108 684 R F2(&)2.529
-E F1 2.529(,t)C .029(he shell e)-2.529 F -.15(xe)-.15 G .029
-(cutes the command in the).15 F F0(bac)2.529 E(kgr)-.2 E(ound)-.45 E F1
-(in)2.529 E 2.678(as)108 696 S 2.678(ubshell. The)-2.678 F .178
-(shell does not w)2.678 F .178
-(ait for the command to \214nish, and the return status is 0.)-.1 F .178
-(These are referred)5.178 F .778(to as)108 708 R F0(async)3.278 E(hr)
--.15 E(onous)-.45 E F1 3.278(commands. Commands)3.278 F .779
-(separated by a)3.278 F F2(;)3.279 E F1 .779(are e)3.279 F -.15(xe)-.15
-G .779(cuted sequentially; the shell w).15 F .779(aits for)-.1 F
-(each command to terminate in turn.)108 720 Q
-(The return status is the e)5 E(xit status of the last command e)-.15 E
--.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(4)195.395 E 0 Cg EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .172(AND and OR lists are sequences of one or more\
- pipelines separated by the)108 84 R/F2 10/Times-Bold@0 SF(&&)2.671 E F1
-(and)2.671 E F2(||)2.671 E F1 .171(control operators, re-)2.671 F
-(specti)108 96 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G
-(ND and OR lists are e)-5 E -.15(xe)-.15 G(cuted with left associati).15
-E(vity)-.25 E 5(.A)-.65 G 2.5(nA)-5 G(ND list has the form)-2.5 E F0
-(command1)144 112.8 Q F2(&&)2.5 E F0(command2)2.5 E(command2)108.2 129.6
-Q F1(is e)2.52 E -.15(xe)-.15 G(cuted if, and only if,).15 E F0
-(command1)2.7 E F1(returns an e)2.5 E(xit status of zero \(success\).)
--.15 E(An OR list has the form)108 146.4 Q F0(command1)144 163.2 Q F2
-(||)2.5 E F0(command2)2.5 E(command2)108.2 180 Q F1 .434(is e)2.954 F
--.15(xe)-.15 G .434(cuted if, and only if,).15 F F0(command1)3.135 E F1
-.435(returns a non-zero e)2.935 F .435(xit status.)-.15 F .435
-(The return status of AND)5.435 F(and OR lists is the e)108 192 Q
-(xit status of the last command e)-.15 E -.15(xe)-.15 G
-(cuted in the list.).15 E F2(Compound Commands)87 208.8 Q F1(A)108 220.8
-Q F0 1.054(compound command)3.554 F F1 1.054(is one of the follo)3.554 F
-3.553(wing. In)-.25 F 1.053(most cases a)3.553 F F0(list)3.553 E F1
-1.053(in a command')3.553 F 3.553(sd)-.55 G 1.053(escription may be)
--3.553 F 1.026(separated from the rest of the command by one or more ne)
-108 232.8 R 1.026(wlines, and may be follo)-.25 F 1.027(wed by a ne)-.25
-F 1.027(wline in)-.25 F(place of a semicolon.)108 244.8 Q(\()108 261.6 Q
-F0(list)A F1(\))A F0(list)144 261.6 Q F1 .215(is e)2.715 F -.15(xe)-.15
-G .215(cuted in a subshell \(see).15 F/F3 9/Times-Bold@0 SF .215
-(COMMAND EXECUTION ENVIR)2.715 F(ONMENT)-.27 E F1(belo)2.465 E 2.714(wf)
--.25 G .214(or a descrip-)-2.714 F .209(tion of a subshell en)144 273.6
-R 2.709(vironment\). V)-.4 F .209(ariable assignments and b)-1.11 F .209
-(uiltin commands that af)-.2 F .21(fect the shell')-.25 F(s)-.55 E(en)
-144 285.6 Q 1.069(vironment do not remain in ef)-.4 F 1.069
-(fect after the command completes.)-.25 F 1.068
-(The return status is the e)6.069 F(xit)-.15 E(status of)144 297.6 Q F0
-(list)2.5 E F1(.)A({)108 314.4 Q F0(list)2.5 E F1 2.5(;})C F0(list)144
-314.4 Q F1 .714(is e)3.214 F -.15(xe)-.15 G .714
-(cuted in the current shell en).15 F(vironment.)-.4 E F0(list)5.714 E F1
-.715(must be terminated with a ne)3.214 F .715(wline or semi-)-.25 F 2.5
-(colon. This)144 326.4 R(is kno)2.5 E(wn as a)-.25 E F0(gr)2.5 E
-(oup command)-.45 E F1 5(.T)C(he return status is the e)-5 E
-(xit status of)-.15 E F0(list)2.5 E F1(.)A .244(Note that unlik)144
-343.2 R 2.744(et)-.1 G .244(he metacharacters)-2.744 F F2(\()2.744 E F1
-(and)2.744 E F2(\))2.744 E F1(,)A F2({)2.744 E F1(and)2.744 E F2(})2.744
-E F1(are)2.744 E F0 -.37(re)2.744 G .244(served wor).37 F(ds)-.37 E F1
-.243(and must occur where a re-)2.743 F(serv)144 355.2 Q .951(ed w)-.15
-F .951(ord is permitted to be recognized.)-.1 F .951(Since the)5.951 F
-3.451(yd)-.15 G 3.451(on)-3.451 G .951(ot cause a w)-3.451 F .951
-(ord break, the)-.1 F 3.452(ym)-.15 G .952(ust be)-3.452 F
-(separated from)144 367.2 Q F0(list)2.5 E F1
-(by whitespace or another shell metacharacter)2.5 E(.)-.55 E(\(\()108
-384 Q F0 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A 2.214(The arithmetic)
-144 396 R F0 -.2(ex)4.714 G(pr).2 E(ession)-.37 E F1 2.214(is e)4.714 F
--.25(va)-.25 G 2.213(luated according to the rules described belo).25 F
-4.713(wu)-.25 G(nder)-4.713 E F3(ARITH-)4.713 E .348(METIC EV)144 408 R
-(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)A F1
-.348(If the v)4.848 F .348(alue of the e)-.25 F .349
-(xpression is non-zero, the return status is 0; otherwise)-.15 F .782
-(the return status is 1.)144 420 R(The)5.782 E F0 -.2(ex)3.282 G(pr).2 E
-(ession)-.37 E F1(under)3.282 E .782(goes the same e)-.18 F .782
-(xpansions as if it were within double)-.15 F(quotes, b)144 432 Q
-(ut double quote characters in)-.2 E F0 -.2(ex)2.5 G(pr).2 E(ession)-.37
-E F1(are not treated specially and are remo)2.5 E -.15(ve)-.15 G(d.).15
-E F2([[)108 448.8 Q F0 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F2(]])2.5 E F1
-(Ev)144 460.8 Q 2.273(aluate the conditional e)-.25 F(xpression)-.15 E
-F0 -.2(ex)4.774 G(pr).2 E(ession)-.37 E F1 2.274
-(and return a status of zero \(true\) or non-zero)4.774 F(\(f)144 472.8
-Q 3.664(alse\). Expressions)-.1 F 1.164
-(are composed of the primaries described belo)3.664 F 3.663(wu)-.25 G
-(nder)-3.663 E F3(CONDITION)3.663 E 1.163(AL EX-)-.18 F(PRESSIONS)144
-484.8 Q F4(.)A F1 .137(The w)4.637 F .137(ords between the)-.1 F F2([[)
-2.637 E F1(and)2.637 E F2(]])2.637 E F1 .137(do not under)2.637 F .137
-(go w)-.18 F .137(ord splitting and pathname e)-.1 F(xpan-)-.15 E 2.762
-(sion. The)144 496.8 R .262(shell performs tilde e)2.762 F .262
-(xpansion, parameter and v)-.15 F .262(ariable e)-.25 F .261
-(xpansion, arithmetic e)-.15 F(xpansion,)-.15 E .282
-(command substitution, process substitution, and quote remo)144 508.8 R
--.25(va)-.15 G 2.782(lo).25 G 2.782(nt)-2.782 G .282(hose w)-2.782 F
-2.782(ords. Conditional)-.1 F(oper)2.782 E(-)-.2 E(ators such as)144
-520.8 Q F2<ad66>2.5 E F1
-(must be unquoted to be recognized as primaries.)2.5 E(When used with)
-144 537.6 Q F2([[)2.5 E F1 2.5(,t)C(he)-2.5 E F2(<)2.5 E F1(and)2.5 E F2
-(>)2.5 E F1(operators sort le)2.5 E
-(xicographically using the current locale.)-.15 E .503(When the)144
-554.4 R F2(==)3.003 E F1(and)3.002 E F2(!=)3.002 E F1 .502(operators ar\
-e used, the string to the right of the operator is considered a pat-)
-3.002 F .81(tern and matched according to the rules described belo)144
-566.4 R 3.31(wu)-.25 G(nder)-3.31 E F2 -.1(Pa)3.31 G(tter).1 E 3.31(nM)
--.15 G(atching)-3.31 E F1 3.31(,a)C 3.31(si)-3.31 G 3.31(ft)-3.31 G(he)
--3.31 E F2(ext-)3.31 E(glob)144 578.4 Q F1 .313
-(shell option were enabled.)2.814 F(The)5.313 E F2(=)2.813 E F1 .313
-(operator is equi)2.813 F -.25(va)-.25 G .313(lent to).25 F F2(==)2.813
-E F1 5.313(.I)C 2.813(ft)-5.313 G(he)-2.813 E F2(nocasematch)2.813 E F1
-.313(shell op-)2.813 F .029
-(tion is enabled, the match is performed without re)144 590.4 R -.05(ga)
--.15 G .03(rd to the case of alphabetic characters.).05 F .03(The re-)
-5.03 F .807(turn v)144 602.4 R .807(alue is 0 if the string matches \()
--.25 F F2(==)A F1 3.307(\)o)C 3.307(rd)-3.307 G .807(oes not match \()
--3.307 F F2(!=)A F1 3.307(\)t)C .807(he pattern, and 1 otherwise.)-3.307
-F(If)5.806 E(an)144 614.4 Q 3.099(yp)-.15 G .599(art of the pattern is \
-quoted, the quoted portion is matched as a string: e)-3.099 F -.15(ve)
--.25 G .6(ry character in the).15 F
-(quoted portion matches itself, instead of ha)144 626.4 Q(ving an)-.2 E
-2.5(ys)-.15 G(pecial pattern matching meaning.)-2.5 E .133
-(An additional binary operator)144 643.2 R(,)-.4 E F2<3d01>2.633 E F1
-2.633(,i)C 2.633(sa)-2.633 G -.25(va)-2.833 G .133
-(ilable, with the same precedence as).25 F F2(==)2.633 E F1(and)2.633 E
-F2(!=)2.633 E F1 5.133(.W)C .133(hen it is)-5.133 F .182
-(used, the string to the right of the operator is considered a POSIX e)
-144 655.2 R .182(xtended re)-.15 F .182(gular e)-.15 F .182
-(xpression and)-.15 F 2.624(matched accordingly \(using the POSIX)144
-667.2 R F0 -.37(re)5.124 G(gcomp)-.03 E F1(and)5.124 E F0 -.37(re)5.124
-G -.1(ge)-.03 G(xec)-.1 E F1(interf)5.123 E 2.623
-(aces usually described in)-.1 F F0 -.37(re)144 679.2 S -.1(ge)-.03 G(x)
--.1 E F1 3.24(\(3\)\). The).53 F .74(return v)3.24 F .741
-(alue is 0 if the string matches the pattern, and 1 otherwise.)-.25 F
-.741(If the re)5.741 F(gular)-.15 E -.15(ex)144 691.2 S .509
-(pression is syntactically incorrect, the conditional e).15 F
-(xpression')-.15 E 3.008(sr)-.55 G .508(eturn v)-3.008 F .508
-(alue is 2.)-.25 F .508(If the)5.508 F F2(nocase-)3.008 E(match)144
-703.2 Q F1 1.307
-(shell option is enabled, the match is performed without re)3.806 F -.05
-(ga)-.15 G 1.307(rd to the case of alphabetic).05 F(characters.)144
-715.2 Q(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(5)195.395 E 0 Cg
-EP
-%%Page: 6 6
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .244(If an)144 84 R 2.744(yp)-.15 G .244
-(art of the pattern is quoted, the quoted portion is matched literally)
--2.744 F 2.744(,a)-.65 G 2.744(sa)-2.744 G(bo)-2.744 E -.15(ve)-.15 G
-5.244(.I).15 G 2.743(ft)-5.244 G .243(he pattern)-2.743 F .368
-(is stored in a shell v)144 96 R .368(ariable, quoting the v)-.25 F .368
-(ariable e)-.25 F .368(xpansion forces the entire pattern to be matched)
--.15 F(literally)144 108 Q 5.39(.T)-.65 G .39(reat brack)-5.74 F .389
-(et e)-.1 F .389(xpressions in re)-.15 F .389(gular e)-.15 F .389
-(xpressions carefully)-.15 F 2.889(,s)-.65 G .389
-(ince normal quoting and pat-)-2.889 F
-(tern characters lose their meanings between brack)144 120 Q(ets.)-.1 E
-.708(The pattern will match if it matches an)144 136.8 R 3.208(yp)-.15 G
-.708(art of the string.)-3.208 F .708(Anchor the pattern using the)5.708
-F/F2 10/Times-Bold@0 SF<00>3.208 E F1(and)3.208 E F2($)3.208 E F1(re)144
-148.8 Q(gular e)-.15 E
-(xpression operators to force it to match the entire string.)-.15 E .751
-(The array v)144 165.6 R(ariable)-.25 E/F3 9/Times-Bold@0 SF -.27(BA)
-3.251 G(SH_REMA).27 E(TCH)-.855 E F1 .751
-(records which parts of the string matched the pattern.)3.001 F(The)5.75
-E .825(element of)144 177.6 R F3 -.27(BA)3.325 G(SH_REMA).27 E(TCH)-.855
-E F1 .825(with inde)3.075 F 3.325(x0c)-.15 G .825
-(ontains the portion of the string matching the entire)-3.325 F(re)144
-189.6 Q 1.515(gular e)-.15 F 4.015(xpression. Substrings)-.15 F 1.515
-(matched by parenthesized sube)4.015 F 1.515(xpressions within the re)
--.15 F 1.515(gular e)-.15 F(x-)-.15 E .146(pression are sa)144 201.6 R
--.15(ve)-.2 G 2.646(di).15 G 2.646(nt)-2.646 G .146(he remaining)-2.646
-F F3 -.27(BA)2.646 G(SH_REMA).27 E(TCH)-.855 E F1 2.647(indices. The)
-2.396 F .147(element of)2.647 F F3 -.27(BA)2.647 G(SH_REMA).27 E(TCH)
--.855 E F1 .514(with inde)144 213.6 R(x)-.15 E F0(n)3.014 E F1 .514
-(is the portion of the string matching the)3.014 F F0(n)3.014 E F1 .514
-(th parenthesized sube)B(xpression.)-.15 E F2(Bash)5.514 E F1(sets)3.014
-E F3 -.27(BA)144 225.6 S(SH_REMA).27 E(TCH)-.855 E F1 .659
-(in the global scope; declaring it as a local v)2.909 F .66
-(ariable will lead to une)-.25 F .66(xpected re-)-.15 F(sults.)144 237.6
-Q .786(Expressions may be combined using the follo)144 254.4 R .785
-(wing operators, listed in decreasing order of prece-)-.25 F(dence:)144
-266.4 Q F2(\()144 283.2 Q F0 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F2(\))
-2.5 E F1 .522(Returns the v)180 295.2 R .522(alue of)-.25 F F0 -.2(ex)
-3.022 G(pr).2 E(ession)-.37 E F1 5.522(.T)C .522(his may be used to o)
--5.522 F -.15(ve)-.15 G .522(rride the normal precedence of).15 F
-(operators.)180 307.2 Q F2(!)144 319.2 Q F0 -.2(ex)2.5 G(pr).2 E(ession)
--.37 E F1 -.35(Tr)180 331.2 S(ue if).35 E F0 -.2(ex)2.5 G(pr).2 E
-(ession)-.37 E F1(is f)2.74 E(alse.)-.1 E F0 -.2(ex)144 343.2 S(pr).2 E
-(ession1)-.37 E F2(&&)2.5 E F0 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F1
--.35(Tr)180 355.2 S(ue if both).35 E F0 -.2(ex)2.5 G(pr).2 E(ession1)
--.37 E F1(and)2.5 E F0 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F1(are true.)
-2.52 E F0 -.2(ex)144 367.2 S(pr).2 E(ession1)-.37 E F2(||)2.5 E F0 -.2
-(ex)2.5 G(pr).2 E(ession2)-.37 E F1 -.35(Tr)180 379.2 S(ue if either).35
-E F0 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F1(or)2.5 E F0 -.2(ex)2.5 G(pr)
-.2 E(ession2)-.37 E F1(is true.)2.52 E(The)144 396 Q F2(&&)2.676 E F1
-(and)2.676 E F2(||)2.676 E F1 .175(operators do not e)2.676 F -.25(va)
--.25 G(luate).25 E F0 -.2(ex)2.675 G(pr).2 E(ession2)-.37 E F1 .175
-(if the v)2.675 F .175(alue of)-.25 F F0 -.2(ex)2.675 G(pr).2 E(ession1)
--.37 E F1 .175(is suf)2.675 F .175(\214cient to de-)-.25 F
-(termine the return v)144 408 Q(alue of the entire conditional e)-.25 E
-(xpression.)-.15 E F2 -.25(fo)108 424.8 S(r).25 E F0(name)2.5 E F1 2.5
-([[)2.5 G F2(in)A F1([)2.5 E F0(wor)2.5 E 2.5(d.)-.37 G 1.666(..)-.834 G
-F1 2.5(]];]).834 G F2(do)A F0(list)2.5 E F1(;)2.5 E F2(done)2.5 E F1
-.268(First, e)144 436.8 R .268(xpand The list of w)-.15 F .268
-(ords follo)-.1 F(wing)-.25 E F2(in)2.768 E F1 2.768(,g)C .268
-(enerating a list of items.)-2.768 F .269(Then, the v)5.268 F(ariable)
--.25 E F0(name)2.769 E F1(is)2.769 E .2
-(set to each element of this list in turn, and)144 448.8 R F0(list)2.7 E
-F1 .199(is e)2.7 F -.15(xe)-.15 G .199(cuted each time.).15 F .199
-(If the)5.199 F F2(in)2.699 E F0(wor)2.699 E(d)-.37 E F1 .199
-(is omitted, the)2.699 F F2 -.25(fo)144 460.8 S(r).25 E F1 .761
-(command e)3.261 F -.15(xe)-.15 G(cutes).15 E F0(list)3.261 E F1 .761
-(once for each positional parameter that is set \(see)3.261 F F3 -.666
-(PA)3.262 G(RAMETERS).666 E F1(be-)3.012 E(lo)144 472.8 Q 2.575
-(w\). The)-.25 F .075(return status is the e)2.575 F .075
-(xit status of the last command that e)-.15 F -.15(xe)-.15 G 2.575
-(cutes. If).15 F .075(the e)2.575 F .075(xpansion of the)-.15 F
-(items follo)144 484.8 Q(wing)-.25 E F2(in)2.5 E F1
-(results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G
-(cuted, and the return status is 0.).15 E F2 -.25(fo)108 501.6 S(r).25 E
-F1(\(\()2.5 E F0 -.2(ex)2.5 G(pr1).2 E F1(;)2.5 E F0 -.2(ex)2.5 G(pr2).2
-E F1(;)2.5 E F0 -.2(ex)2.5 G(pr3).2 E F1(\)\) ;)2.5 E F2(do)2.5 E F0
-(list)2.5 E F1(;)2.5 E F2(done)2.5 E F1 2.519(First, e)144 513.6 R -.25
-(va)-.25 G 2.519(luate the arithmetic e).25 F(xpression)-.15 E F0 -.2
-(ex)5.019 G(pr1).2 E F1 2.519(according to the rules described belo)
-5.019 F 5.02(wu)-.25 G(nder)-5.02 E F3 .923(ARITHMETIC EV)144 525.6 R
-(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)A F1
-.923(Then, repeatedly e)5.423 F -.25(va)-.25 G .922
-(luate the arithmetic e).25 F(xpression)-.15 E F0 -.2(ex)3.422 G(pr2).2
-E F1 .922(until it)3.422 F -.25(eva)144 537.6 S 1.408(luates to zero.)
-.25 F 1.408(Each time)6.408 F F0 -.2(ex)3.908 G(pr2).2 E F1 -.25(eva)
-3.909 G 1.409(luates to a non-zero v).25 F 1.409(alue, e)-.25 F -.15(xe)
--.15 G(cute).15 E F0(list)3.909 E F1 1.409(and e)3.909 F -.25(va)-.25 G
-1.409(luate the).25 F .053(arithmetic e)144 549.6 R(xpression)-.15 E F0
--.2(ex)2.553 G(pr3).2 E F1 5.053(.I)C 2.553(fa)-5.053 G .353 -.15(ny ex)
--2.553 H .053(pression is omitted, it beha).15 F -.15(ve)-.2 G 2.553(sa)
-.15 G 2.553(si)-2.553 G 2.553(fi)-2.553 G 2.553(te)-2.553 G -.25(va)
--2.803 G .053(luates to 1.).25 F .052(The re-)5.053 F .692(turn v)144
-561.6 R .692(alue is the e)-.25 F .692
-(xit status of the last command in)-.15 F F0(list)3.192 E F1 .692
-(that is e)3.192 F -.15(xe)-.15 G .692(cuted, or non-zero if an).15 F
-3.192(yo)-.15 G 3.192(ft)-3.192 G(he)-3.192 E -.15(ex)144 573.6 S
-(pressions is in).15 E -.25(va)-.4 G(lid.).25 E .857(Use the)144 590.4 R
-F2(br)3.357 E(eak)-.18 E F1(and)3.357 E F2(continue)3.357 E F1 -.2(bu)
-3.357 G .857(iltins \(see).2 F F3 .857(SHELL B)3.357 F(UIL)-.09 E .856
-(TIN COMMANDS)-.828 F F1(belo)3.106 E .856(w\) to control loop)-.25 F
--.15(exe)144 602.4 S(cution.).15 E F2(select)108 619.2 Q F0(name)2.5 E
-F1([)2.5 E F2(in)2.5 E F0(wor)2.5 E(d)-.37 E F1 2.5(];)2.5 G F2(do)A F0
-(list)2.5 E F1(;)2.5 E F2(done)2.5 E F1 .016(First, e)144 631.2 R .016
-(xpand the list of w)-.15 F .016(ords follo)-.1 F(wing)-.25 E F2(in)
-2.516 E F1 2.516(,g)C .016
-(enerating a list of items, and print the set of e)-2.516 F(xpanded)-.15
-E -.1(wo)144 643.2 S 1.143(rds the standard error).1 F 3.643(,e)-.4 G
-1.143(ach preceded by a number)-3.643 F 6.143(.I)-.55 G 3.643(ft)-6.143
-G(he)-3.643 E F2(in)3.643 E F0(wor)3.643 E(d)-.37 E F1 1.143
-(is omitted, print the posi-)3.643 F 1.306(tional parameters \(see)144
-655.2 R F3 -.666(PA)3.806 G(RAMETERS).666 E F1(belo)3.556 E(w\).)-.25 E
-F2(select)6.306 E F1 1.306(then displays the)3.806 F F3(PS3)3.807 E F1
-1.307(prompt and reads a)3.557 F .013(line from the standard input.)144
-667.2 R .013
-(If the line consists of a number corresponding to one of the displayed)
-5.013 F -.1(wo)144 679.2 S 1.139(rds, then).1 F F2(select)3.639 E F1
-1.139(sets the v)3.639 F 1.139(alue of)-.25 F F0(name)3.999 E F1 1.139
-(to that w)3.819 F 3.64(ord. If)-.1 F 1.14(the line is empty)3.64 F(,)
--.65 E F2(select)3.64 E F1 1.14(displays the)3.64 F -.1(wo)144 691.2 S
-1.23(rds and prompt ag).1 F 3.73(ain. If)-.05 F 1.23(EOF is read,)3.73 F
-F2(select)3.73 E F1 1.23(completes and returns 1.)3.73 F(An)6.23 E 3.73
-(yo)-.15 G 1.23(ther v)-3.73 F 1.23(alue sets)-.25 F F0(name)144.36
-703.2 Q F1 .406(to null.)3.085 F .406(The line read is sa)5.406 F -.15
-(ve)-.2 G 2.906(di).15 G 2.906(nt)-2.906 G .406(he v)-2.906 F(ariable)
--.25 E F3(REPL)2.906 E(Y)-.828 E F4(.)A F1(The)4.906 E F0(list)2.996 E
-F1 .406(is e)3.586 F -.15(xe)-.15 G .406(cuted after each selec-).15 F
-.14(tion until a)144 715.2 R F2(br)2.64 E(eak)-.18 E F1 .14
-(command is e)2.64 F -.15(xe)-.15 G 2.64(cuted. The).15 F -.15(ex)2.64 G
-.14(it status of).15 F F2(select)2.639 E F1 .139(is the e)2.639 F .139
-(xit status of the last com-)-.15 F(mand e)144 727.2 Q -.15(xe)-.15 G
-(cuted in).15 E F0(list)2.59 E F1 2.5(,o).68 G 2.5(rz)-2.5 G
-(ero if no commands were e)-2.5 E -.15(xe)-.15 G(cuted.).15 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(6)195.395 E 0 Cg EP
-%%Page: 7 7
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(case)108 84 Q F0(wor)2.5 E(d)
--.37 E F2(in)2.5 E F1 2.5([[)2.5 G(\(])-2.5 E F0(pattern)2.5 E F1([)2.5
-E F2(|)2.5 E F0(pattern)2.5 E F1 2.5(].)2.5 G -3.332 1.666(.. \))-.834 H
-F0(list).834 E F1(;; ] .)2.5 E 1.666(..)1.666 G F2(esac).834 E F1(A)144
-96 Q F2(case)2.809 E F1 .309(command \214rst e)2.809 F(xpands)-.15 E F0
-(wor)2.809 E(d)-.37 E F1 2.809(,a)C .309(nd tries to match it ag)-2.809
-F .31(ainst each)-.05 F F0(pattern)2.81 E F1 .31(in turn, proceeding)
-2.81 F .971
-(from \214rst to last, using the matching rules described under)144 108
-R F2 -.1(Pa)3.471 G(tter).1 E 3.47(nM)-.15 G(atching)-3.47 E F1(belo)
-3.47 E 4.77 -.65(w. A)-.25 H(pattern)4.12 E 1.006
-(list is a set of one or more patterns separated by)144 120 R 3.507(,a)
-5.173 G 1.007(nd the \) operator terminates the pattern list.)-3.507 F
-(The)144 132 Q F0(wor)3.015 E(d)-.37 E F1 .515(is e)3.015 F .515
-(xpanded using tilde e)-.15 F .515(xpansion, parameter and v)-.15 F .515
-(ariable e)-.25 F .515(xpansion, arithmetic e)-.15 F(xpan-)-.15 E .051
-(sion, command substitution, process substitution and quote remo)144 144
-R -.25(va)-.15 G 2.551(l. Each).25 F F0(pattern)2.551 E F1 -.15(ex)2.551
-G .051(amined is e).15 F(x-)-.15 E .76(panded using tilde e)144 156 R
-.76(xpansion, parameter and v)-.15 F .76(ariable e)-.25 F .76
-(xpansion, arithmetic e)-.15 F .76(xpansion, command)-.15 F .419
-(substitution, process substitution, and quote remo)144 168 R -.25(va)
--.15 G 2.919(l. If).25 F(the)2.919 E F2(nocasematch)2.919 E F1 .42
-(shell option is enabled,)2.919 F .707
-(the match is performed without re)144 180 R -.05(ga)-.15 G .706
-(rd to the case of alphabetic characters.).05 F(A)5.706 E F0(clause)
-3.206 E F1 .706(is a pattern)3.206 F(list and an associated)144 192 Q F0
-(list)2.5 E F1(.)A .139(When a match is found,)144 208.8 R F2(case)2.639
-E F1 -.15(exe)2.639 G .139(cutes the corresponding).15 F F0(list)2.639 E
-F1 5.139(.I)C 2.64(ft)-5.139 G(he)-2.64 E F2(;;)2.64 E F1 .14
-(operator terminates the case)2.64 F .695(clause, the)144 220.8 R F2
-(case)3.195 E F1 .695(command completes after the \214rst match.)3.195 F
-(Using)5.695 E F2(;&)3.195 E F1 .695(in place of)3.195 F F2(;;)3.195 E
-F1 .695(causes e)3.195 F -.15(xe)-.15 G(cu-).15 E .498
-(tion to continue with the)144 232.8 R F0(list)2.998 E F1 .498
-(associated with the ne)2.998 F .498(xt pattern list.)-.15 F(Using)5.498
-E F2(;;&)2.999 E F1 .499(in place of)2.999 F F2(;;)2.999 E F1(causes)
-2.999 E .67(the shell to test the ne)144 244.8 R .67
-(xt pattern list in the statement, if an)-.15 F 1.969 -.65(y, a)-.15 H
-.669(nd e).65 F -.15(xe)-.15 G .669(cute an).15 F 3.169(ya)-.15 G
-(ssociated)-3.169 E F0(list)3.169 E F1 .669(if the)3.169 F 1.188
-(match succeeds.)144 256.8 R 1.188(continuing the case statement e)6.188
-F -.15(xe)-.15 G 1.189(cution as if the pattern list had not matched.)
-.15 F(The e)144 268.8 Q(xit status is zero if no pattern matches.)-.15 E
-(Otherwise, it is the e)144 285.6 Q(xit status of the last command e)
--.15 E -.15(xe)-.15 G(cuted in the last).15 E F0(list)2.5 E F1 -.15(exe)
-2.5 G(cuted.).15 E F2(if)108 302.4 Q F0(list)2.5 E F1(;)A F2(then)2.5 E
-F0(list)2.5 E F1 2.5(;[)C F2(elif)A F0(list)2.5 E F1(;)A F2(then)2.5 E
-F0(list)2.5 E F1 2.5(;].)C -3.332 1.666(.. [)-.834 H F2(else).834 E F0
-(list)2.5 E F1 2.5(;])C F2<8c>A F1(The)144 314.4 Q F2(if)2.978 E F0
-(list)3.068 E F1 .478(is e)3.658 F -.15(xe)-.15 G 2.978(cuted. If).15 F
-.478(its e)2.978 F .478(xit status is zero, the)-.15 F F2(then)2.978 E
-F0(list)2.978 E F1 .478(is e)2.978 F -.15(xe)-.15 G 2.978
-(cuted. Otherwise,).15 F(each)2.978 E F2(elif)2.977 E F0(list)2.977 E F1
-1.087(is e)144 326.4 R -.15(xe)-.15 G 1.087(cuted in turn, and if its e)
-.15 F 1.087(xit status is zero, the corresponding)-.15 F F2(then)3.587 E
-F0(list)3.587 E F1 1.088(is e)3.588 F -.15(xe)-.15 G 1.088
-(cuted and the).15 F .104(command completes.)144 338.4 R .103
-(Otherwise, the)5.104 F F2(else)2.603 E F0(list)2.603 E F1 .103(is e)
-2.603 F -.15(xe)-.15 G .103(cuted, if present.).15 F .103(The e)5.103 F
-.103(xit status is the e)-.15 F .103(xit sta-)-.15 F
-(tus of the last command e)144 350.4 Q -.15(xe)-.15 G
-(cuted, or zero if no condition tested true.).15 E F2(while)108 367.2 Q
-F0(list-1)2.5 E F1(;)A F2(do)2.5 E F0(list-2)2.5 E F1(;)A F2(done)2.5 E
-(until)108 379.2 Q F0(list-1)2.5 E F1(;)A F2(do)2.5 E F0(list-2)2.5 E F1
-(;)A F2(done)2.5 E F1(The)144 391.2 Q F2(while)3.45 E F1 .95
-(command continuously e)3.45 F -.15(xe)-.15 G .95(cutes the list).15 F
-F0(list-2)3.45 E F1 .95(as long as the last command in the list)3.45 F
-F0(list-1)144 403.2 Q F1 .205(returns an e)2.705 F .205
-(xit status of zero.)-.15 F(The)5.205 E F2(until)2.705 E F1 .205
-(command is identical to the)2.705 F F2(while)2.705 E F1 .205
-(command, e)2.705 F(xcept)-.15 E .599(that the test is ne)144 415.2 R
--.05(ga)-.15 G(ted:).05 E F0(list-2)3.189 E F1 .599(is e)3.119 F -.15
-(xe)-.15 G .6(cuted as long as the last command in).15 F F0(list-1)3.19
-E F1 .6(returns a non-zero)3.1 F -.15(ex)144 427.2 S .205(it status.).15
-F .205(The e)5.205 F .205(xit status of the)-.15 F F2(while)2.705 E F1
-(and)2.705 E F2(until)2.704 E F1 .204(commands is the e)2.704 F .204
-(xit status of the last command)-.15 F -.15(exe)144 439.2 S(cuted in).15
-E F0(list-2)2.5 E F1 2.5(,o)C 2.5(rz)-2.5 G(ero if none w)-2.5 E(as e)
--.1 E -.15(xe)-.15 G(cuted.).15 E F2(Copr)87 456 Q(ocesses)-.18 E F1(A)
-108 468 Q F0(copr)2.601 E(ocess)-.45 E F1 .102
-(is a shell command preceded by the)2.601 F F2(copr)2.602 E(oc)-.18 E F1
-(reserv)2.602 E .102(ed w)-.15 F 2.602(ord. A)-.1 F .102(coprocess is e)
-2.602 F -.15(xe)-.15 G .102(cuted asynchro-).15 F .642
-(nously in a subshell, as if the command had been terminated with the)
-108 480 R F2(&)3.141 E F1 .641(control operator)3.141 F 3.141(,w)-.4 G
-.641(ith a tw)-3.141 F(o-w)-.1 E(ay)-.1 E
-(pipe established between the e)108 492 Q -.15(xe)-.15 G
-(cuting shell and the coprocess.).15 E(The syntax for a coprocess is:)
-108 508.8 Q F2(copr)144 525.6 Q(oc)-.18 E F1([)2.5 E F0 -.27(NA)C(ME).27
-E F1(])A F0(command)2.5 E F1([)2.5 E F0 -.37(re)C(dir).37 E(ections)-.37
-E F1(])A .598(This creates a coprocess named)108 542.4 R F0 -.27(NA)
-3.099 G(ME).27 E F1(.)A F0(command)5.599 E F1 .599
-(may be either a simple command or a compound com-)3.099 F 1.4
-(mand \(see abo)108 554.4 R -.15(ve)-.15 G(\).).15 E F0 -.27(NA)6.4 G
-(ME).27 E F1 1.4(is a shell v)3.9 F 1.4(ariable name.)-.25 F(If)6.4 E F0
--.27(NA)3.9 G(ME).27 E F1 1.4(is not supplied, the def)3.9 F 1.4
-(ault name is)-.1 F F2(CO-)3.9 E(PR)108 566.4 Q(OC)-.3 E F1(.)A
-(The recommended form to use for a coprocess is)108 583.2 Q F2(copr)144
-600 Q(oc)-.18 E F0 -.27(NA)2.5 G(ME).27 E F1({)2.5 E F0(command)2.5 E F1
-([)2.5 E F0 -.37(re)C(dir).37 E(ections)-.37 E F1(]; })A .799(This form\
- is preferred because simple commands result in the coprocess al)108
-616.8 R -.1(wa)-.1 G .8(ys being named).1 F F2(COPR)3.3 E(OC)-.3 E F1(,)
-A(and it is simpler to use and more complete than the other compound co\
-mmands.)108 628.8 Q(If)108 645.6 Q F0(command)3.062 E F1 .562
-(is a compound command,)3.062 F F0 -.27(NA)3.062 G(ME).27 E F1 .561
-(is optional. The w)3.061 F .561(ord follo)-.1 F(wing)-.25 E F2(copr)
-3.061 E(oc)-.18 E F1 .561(determines whether)3.061 F .338(that w)108
-657.6 R .338(ord is interpreted as a v)-.1 F .338
-(ariable name: it is interpreted as)-.25 F F0 -.27(NA)2.839 G(ME).27 E
-F1 .339(if it is not a reserv)2.839 F .339(ed w)-.15 F .339
-(ord that intro-)-.1 F 1.122(duces a compound command.)108 669.6 R(If)
-6.121 E F0(command)3.621 E F1 1.121(is a simple command,)3.621 F F0 -.27
-(NA)3.621 G(ME).27 E F1 1.121(is not allo)3.621 F 1.121
-(wed; this is to a)-.25 F -.2(vo)-.2 G(id).2 E(confusion between)108
-681.6 Q F0 -.27(NA)2.5 G(ME).27 E F1(and the \214rst w)2.5 E
-(ord of the simple command.)-.1 E .09(When the coprocess is e)108 698.4
-R -.15(xe)-.15 G .09(cuted, the shell creates an array v).15 F .09
-(ariable \(see)-.25 F F2(Arrays)2.59 E F1(belo)2.59 E .09(w\) named)-.25
-F F0 -.27(NA)2.59 G(ME).27 E F1 .09(in the)2.59 F(conte)108 710.4 Q .303
-(xt of the e)-.15 F -.15(xe)-.15 G .303(cuting shell.).15 F .302
-(The standard output of)5.302 F F0(command)3.002 E F1 .302
-(is connected via a pipe to a \214le descriptor)3.572 F .587(in the e)
-108 722.4 R -.15(xe)-.15 G .587
-(cuting shell, and that \214le descriptor is assigned to).15 F F0 -.27
-(NA)3.087 G(ME).27 E F1 3.087([0]. The)B .587(standard input of)3.087 F
-F0(command)3.287 E F1(is)3.858 E(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(7)195.395 E 0 Cg EP
-%%Page: 8 8
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 2.029
-(connected via a pipe to a \214le descriptor in the e)108 84 R -.15(xe)
--.15 G 2.029(cuting shell, and that \214le descriptor is assigned to).15
-F F0 -.27(NA)108 96 S(ME).27 E F1 2.879([1]. This)B .379
-(pipe is established before an)2.879 F 2.879(yr)-.15 G .379
-(edirections speci\214ed by the command \(see)-2.879 F/F2 9/Times-Bold@0
-SF(REDIRECTION)2.879 E F1(belo)108 108 Q 3.426(w\). The)-.25 F .926
-(\214le descriptors can be utilized as ar)3.426 F .925
-(guments to shell commands and redirections using stan-)-.18 F .286
-(dard w)108 120 R .286(ord e)-.1 F 2.786(xpansions. Other)-.15 F .286
-(than those created to e)2.786 F -.15(xe)-.15 G .286
-(cute command and process substitutions, the \214le de-).15 F
-(scriptors are not a)108 132 Q -.25(va)-.2 G(ilable in subshells.).25 E
-1.676(The process ID of the shell spa)108 148.8 R 1.676(wned to e)-.15 F
--.15(xe)-.15 G 1.676(cute the coprocess is a).15 F -.25(va)-.2 G 1.676
-(ilable as the v).25 F 1.676(alue of the v)-.25 F(ariable)-.25 E F0 -.27
-(NA)108 160.8 S(ME).27 E F1 2.5(_PID. The)B/F3 10/Times-Bold@0 SF(wait)
-2.5 E F1 -.2(bu)2.5 G(iltin may be used to w).2 E
-(ait for the coprocess to terminate.)-.1 E .336
-(Since the coprocess is created as an asynchronous command, the)108
-177.6 R F3(copr)2.836 E(oc)-.18 E F1 .336(command al)2.836 F -.1(wa)-.1
-G .336(ys returns success.).1 F
-(The return status of a coprocess is the e)108 189.6 Q(xit status of)
--.15 E F0(command)2.5 E F1(.)A F3(Shell Function De\214nitions)87 206.4
-Q F1 2.698(As)108 218.4 S .198
-(hell function is an object that is called lik)-2.698 F 2.698(eas)-.1 G
-.198(imple command and e)-2.698 F -.15(xe)-.15 G .197
-(cutes a compound command with).15 F 2.5(an)108 230.4 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 F0(fname)108 247.2
-Q F1(\(\))2.5 E F0(compound\255command)2.5 E F1([)2.5 E F0 -.37(re)C
-(dir).37 E(ection)-.37 E F1(])A F3(function)108 259.2 Q F0(fname)2.5 E
-F1([\(\)])2.5 E F0(compound\255command)2.5 E F1([)2.5 E F0 -.37(re)C
-(dir).37 E(ection)-.37 E F1(])A .216(This de\214nes a function named)144
-271.2 R F0(fname)2.716 E F1 5.217(.T)C .217(he reserv)-5.217 F .217
-(ed w)-.15 F(ord)-.1 E F3(function)2.717 E F1 .217(is optional.)2.717 F
-.217(If the)5.217 F F3(function)2.717 E F1(re-)2.717 E(serv)144 283.2 Q
-.68(ed w)-.15 F .68(ord is supplied, the parentheses are optional.)-.1 F
-(The)5.68 E F0(body)3.18 E F1 .68(of the function is the compound)3.18 F
-(command)144 295.2 Q F0(compound\255command)2.784 E F1(\(see)3.354 E F3
-.084(Compound Commands)2.584 F F1(abo)2.584 E -.15(ve)-.15 G 2.584
-(\). That).15 F .084(command is usually a)2.584 F F0(list)144 307.2 Q F1
-.044(of commands between { and }, b)2.544 F .044(ut may be an)-.2 F
-2.544(yc)-.15 G .044(ommand listed under)-2.544 F F3 .044
-(Compound Commands)2.544 F F1(abo)144 319.2 Q -.15(ve)-.15 G 5.531(.I)
-.15 G 3.031(ft)-5.531 G(he)-3.031 E F3(function)3.032 E F1(reserv)3.032
-E .532(ed w)-.15 F .532(ord is used, b)-.1 F .532
-(ut the parentheses are not supplied, the braces are)-.2 F(recommended.)
-144 331.2 Q F0(compound\255command)6.254 E F1 1.254(is e)3.754 F -.15
-(xe)-.15 G 1.254(cuted whene).15 F -.15(ve)-.25 G(r).15 E F0(fname)3.753
-E F1 1.253(is speci\214ed as the name of a)3.753 F 1.186
-(simple command.)144 343.2 R 1.186(When in posix mode,)6.186 F F0(fname)
-3.686 E F1 1.186(must be a v)3.686 F 1.187(alid shell)-.25 F F0(name)
-3.687 E F1 1.187(and may not be the)3.687 F .089
-(name of one of the POSIX)144 355.2 R F0 .089(special b)2.589 F(uiltins)
--.2 E F1 5.089(.I)C 2.589(nd)-5.089 G(ef)-2.589 E .089
-(ault mode, a function name can be an)-.1 F 2.588(yu)-.15 G(nquoted)
--2.588 E(shell w)144 367.2 Q(ord that does not contain)-.1 E F3($)2.5 E
-F1(.)A(An)108 384 Q 2.929(yr)-.15 G .429(edirections \(see)-2.929 F F2
-(REDIRECTION)2.929 E F1(belo)2.68 E .43
-(w\) speci\214ed when a function is de\214ned are performed when the)
--.25 F(function is e)108 396 Q -.15(xe)-.15 G(cuted.).15 E .57(The e)108
-412.8 R .57(xit status of a function de\214nition is zero unless a synt\
-ax error occurs or a readonly function with the)-.15 F .85
-(same name already e)108 424.8 R 3.35(xists. When)-.15 F -.15(exe)3.35 G
-.85(cuted, the e).15 F .85(xit status of a function is the e)-.15 F .85
-(xit status of the last com-)-.15 F(mand e)108 436.8 Q -.15(xe)-.15 G
-(cuted in the body).15 E 5(.\()-.65 G(See)-5 E F2(FUNCTIONS)2.5 E F1
-(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95/Times-Bold@0 SF(COMMENTS)
-72 453.6 Q F1 .982(In a non-interacti)108 465.6 R 1.282 -.15(ve s)-.25 H
-.982(hell, or an interacti).15 F 1.282 -.15(ve s)-.25 H .982
-(hell in which the).15 F F3(interacti)3.482 E -.1(ve)-.1 G(_comments).1
-E F1 .982(option to the)3.482 F F3(shopt)3.482 E F1 -.2(bu)108 477.6 S
-.611(iltin is enabled \(see).2 F F2 .612(SHELL B)3.111 F(UIL)-.09 E .612
-(TIN COMMANDS)-.828 F F1(belo)2.862 E .612(w\), a w)-.25 F .612(ord be)
--.1 F .612(ginning with)-.15 F F3(#)3.112 E F1 .612(introduces a com-)
-3.112 F 2.855(ment. A)108 489.6 R -.1(wo)2.855 G .355(rd be).1 F .355
-(gins at the be)-.15 F .354
-(ginning of a line, after unquoted whitespace, or after an operator)-.15
-F 5.354(.T)-.55 G .354(he com-)-5.354 F .363(ment causes that w)108
-501.6 R .363
-(ord and all remaining characters on that line to be ignored.)-.1 F .364
-(An interacti)5.364 F .664 -.15(ve s)-.25 H .364(hell without).15 F(the)
-108 513.6 Q F3(interacti)2.621 E -.1(ve)-.1 G(_comments).1 E F1 .121
-(option enabled does not allo)2.621 F 2.621(wc)-.25 G 2.621
-(omments. The)-2.621 F F3(interacti)2.621 E -.1(ve)-.1 G(_comments).1 E
-F1 .12(option is)2.621 F(enabled by def)108 525.6 Q(ault in interacti)
--.1 E .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 542.4 S -.438(OT)
-.11 G(ING).438 E F0(Quoting)108 554.4 Q F1 .477(is used to remo)2.977 F
-.777 -.15(ve t)-.15 H .477
-(he special meaning of certain characters or w).15 F .477
-(ords to the shell.)-.1 F .478(Quoting can be)5.478 F .185
-(used to disable special treatment for special characters, to pre)108
-566.4 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184
-(ords from being recognized as)-.1 F(such, and to pre)108 578.4 Q -.15
-(ve)-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108
-595.2 R F0(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F1 .288
-(listed abo)2.788 F .588 -.15(ve u)-.15 H(nder).15 E F2(DEFINITIONS)
-2.788 E F1 .288(has special meaning to the shell and must be)2.538 F
-(quoted if it is to represent itself.)108 607.2 Q 1.345
-(When the command history e)108 624 R 1.344(xpansion f)-.15 F 1.344
-(acilities are being used \(see)-.1 F F2(HIST)3.844 E(OR)-.162 E 3.594
-(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F1(belo)3.594 E 1.344(w\), the)
--.25 F F0(history e)108 636 Q(xpansion)-.2 E F1(character)2.5 E 2.5(,u)
--.4 G(sually)-2.5 E F3(!)2.5 E F1 2.5(,m)C(ust be quoted to pre)-2.5 E
--.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E .767
-(There are four quoting mechanisms: the)108 652.8 R F0 .768(escape c)
-3.458 F(har)-.15 E(acter)-.15 E F1 3.268(,s).73 G .768
-(ingle quotes, double quotes, and dollar)-3.268 F(-single)-.2 E(quotes.)
-108 664.8 Q 2.963(An)108 681.6 S .463(on-quoted backslash \()-2.963 F F3
-(\\)A F1 2.963(\)i)C 2.963(st)-2.963 G(he)-2.963 E F0 .463(escape c)
-3.153 F(har)-.15 E(acter)-.15 E F1 5.463(.I).73 G 2.963(tp)-5.463 G
-(reserv)-2.963 E .463(es the literal v)-.15 F .463(alue of the ne)-.25 F
-.463(xt character that)-.15 F(follo)108 693.6 Q .877(ws, remo)-.25 F
-.877(ving an)-.15 F 3.377(ys)-.15 G .877
-(pecial meaning it has, with the e)-3.377 F .878(xception of <ne)-.15 F
-3.378(wline>. If)-.25 F(a)3.378 E F3(\\)3.378 E F1(<ne)A .878
-(wline> pair ap-)-.25 F .176
-(pears, and the backslash is not itself quoted, the)108 705.6 R F3(\\)
-2.676 E F1(<ne)A .176
-(wline> is treated as a line continuation \(that is, it is re-)-.25 F
-(mo)108 717.6 Q -.15(ve)-.15 G 2.5(df).15 G(rom the input stream and ef)
--2.5 E(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(8)195.395 E 0 Cg EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .295(Enclosing characters in single quotes preserv)
-108 84 R .295(es the literal v)-.15 F .295
-(alue of each character within the quotes.)-.25 F 2.795(As)5.295 G(in-)
--2.795 E(gle quote may not occur between single quotes, e)108 96 Q -.15
-(ve)-.25 G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .034
-(Enclosing characters in double quotes preserv)108 112.8 R .034
-(es the literal v)-.15 F .034
-(alue of all characters within the quotes, with the)-.25 F -.15(ex)108
-124.8 S .056(ception of).15 F/F2 10/Times-Bold@0 SF($)2.556 E F1(,)A F2
-<92>2.556 E F1(,)A F2(\\)2.556 E F1 2.556(,a)C .056(nd, when history e)
--2.556 F .056(xpansion is enabled,)-.15 F F2(!)2.556 E F1 5.056(.W)C
-.057(hen the shell is in posix mode, the)-5.056 F F2(!)2.557 E F1 .057
-(has no)2.557 F .46(special meaning within double quotes, e)108 136.8 R
--.15(ve)-.25 G 2.96(nw).15 G .46(hen history e)-2.96 F .46
-(xpansion is enabled.)-.15 F .46(The characters)5.46 F F2($)2.96 E F1
-(and)2.96 E F2<92>2.96 E F1(re-)2.96 E .562
-(tain their special meaning within double quotes.)108 148.8 R .563
-(The backslash retains its special meaning only when fol-)5.563 F(lo)108
-160.8 Q .318(wed by one of the follo)-.25 F .318(wing characters:)-.25 F
-F2($)2.818 E F1(,)A F2<92>2.818 E F1(,)A F2(")3.651 E F1(,).833 E F2(\\)
-2.818 E F1 2.818(,o)C(r)-2.818 E F2(<newline>)2.818 E F1 5.317(.B)C .317
-(ackslashes preceding characters with-)-5.317 F
-(out a special meaning are left unmodi\214ed.)108 172.8 Q 3.143(Ad)108
-189.6 S .643(ouble quote may be quoted within double quotes by precedin\
-g it with a backslash.)-3.143 F .644(If enabled, history)5.644 F -.15
-(ex)108 201.6 S 1.268(pansion will be performed unless an).15 F F2(!)
-3.768 E F1 1.267
-(appearing in double quotes is escaped using a backslash.)6.268 F(The)
-6.267 E(backslash preceding the)108 213.6 Q F2(!)2.5 E F1(is not remo)5
-E -.15(ve)-.15 G(d.).15 E(The special parameters)108 230.4 Q F2(*)2.5 E
-F1(and)2.5 E F2(@)2.5 E F1(ha)2.5 E .3 -.15(ve s)-.2 H
-(pecial meaning when in double quotes \(see).15 E/F3 9/Times-Bold@0 SF
--.666(PA)2.5 G(RAMETERS).666 E F1(belo)2.25 E(w\).)-.25 E .148
-(Character sequences of the form)108 247.2 R F2($)2.649 E F1<08>A F0
-(string)A F1 2.649<0861>C .149(re treated as a special v)-2.649 F .149
-(ariant of single quotes.)-.25 F .149(The sequence e)5.149 F(x-)-.15 E
-.528(pands to)108 259.2 R F0(string)3.028 E F1 3.028(,w)C .528
-(ith backslash-escaped characters in)-3.028 F F0(string)3.027 E F1 .527
-(replaced as speci\214ed by the ANSI C standard.)3.027 F
-(Backslash escape sequences, if present, are decoded as follo)108 271.2
-Q(ws:)-.25 E F2(\\a)144 283.2 Q F1(alert \(bell\))180 283.2 Q F2(\\b)144
-295.2 Q F1(backspace)180 295.2 Q F2(\\e)144 307.2 Q(\\E)144 319.2 Q F1
-(an escape character)180 319.2 Q F2(\\f)144 331.2 Q F1(form feed)180
-331.2 Q F2(\\n)144 343.2 Q F1(ne)180 343.2 Q 2.5(wl)-.25 G(ine)-2.5 E F2
-(\\r)144 355.2 Q F1(carriage return)180 355.2 Q F2(\\t)144 367.2 Q F1
-(horizontal tab)180 367.2 Q F2(\\v)144 379.2 Q F1 -.15(ve)180 379.2 S
-(rtical tab).15 E F2(\\\\)144 391.2 Q F1(backslash)180 391.2 Q F2<5c08>
-144 403.2 Q F1(single quote)180 403.2 Q F2(\\")144 415.2 Q F1
-(double quote)180 415.2 Q F2(\\?)144 427.2 Q F1(question mark)180 427.2
-Q F2(\\)144 439.2 Q F0(nnn)A F1(The eight-bit character whose v)180
-439.2 Q(alue is the octal v)-.25 E(alue)-.25 E F0(nnn)2.5 E F1
-(\(one to three octal digits\).)2.5 E F2(\\x)144 451.2 Q F0(HH)A F1
-(The eight-bit character whose v)180 451.2 Q(alue is the he)-.25 E
-(xadecimal v)-.15 E(alue)-.25 E F0(HH)2.5 E F1(\(one or tw)2.5 E 2.5(oh)
--.1 G .3 -.15(ex d)-2.5 H(igits\).).15 E F2(\\u)144 463.2 Q F0(HHHH)A F1
-1.203(The Unicode \(ISO/IEC 10646\) character whose v)180 475.2 R 1.204
-(alue is the he)-.25 F 1.204(xadecimal v)-.15 F(alue)-.25 E F0(HHHH)
-3.704 E F1(\(one to four he)180 487.2 Q 2.5(xd)-.15 G(igits\).)-2.5 E F2
-(\\U)144 499.2 Q F0(HHHHHHHH)A F1 .245
-(The Unicode \(ISO/IEC 10646\) character whose v)180 511.2 R .244
-(alue is the he)-.25 F .244(xadecimal v)-.15 F(alue)-.25 E F0(HHHHH-)
-2.744 E(HHH)180 523.2 Q F1(\(one to eight he)2.5 E 2.5(xd)-.15 G
-(igits\).)-2.5 E F2(\\c)144 535.2 Q F0(x)A F1 2.5(Ac)180 535.2 S
-(ontrol-)-2.5 E F0(x)A F1(character)2.5 E(.)-.55 E(The e)108 552 Q(xpan\
-ded result is single-quoted, as if the dollar sign had not been present\
-.)-.15 E F2 -.74(Tr)87 568.8 S(anslating Strings).74 E F1 2.64(Ad)108
-580.8 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F F2
-($)A F1(")A F0(string)A F1 .14
-("\) will cause the string to be translated according)B .785
-(to the current locale.)108 592.8 R(The)5.785 E F0 -.1(ge)3.284 G(tte).1
-E(xt)-.2 E F1 .784
-(infrastructure performs the lookup and translation, using the)3.284 F
-F2(LC_MES-)3.284 E(SA)108 604.8 Q(GES)-.55 E F1(,)A F2(TEXTDOMAINDIR)
-2.76 E F1 2.76(,a)C(nd)-2.76 E F2(TEXTDOMAIN)2.76 E F1 .261(shell v)
-2.761 F 2.761(ariables. If)-.25 F .261(the current locale is)2.761 F F2
-(C)2.761 E F1(or)2.761 E F2(POSIX)2.761 E F1(,)A 1.214
-(if there are no translations a)108 616.8 R -.25(va)-.2 G 1.214(ilable,\
- or if the string is not translated, the dollar sign is ignored, and th\
-e).25 F .949(string is treated as double-quoted as described abo)108
-628.8 R -.15(ve)-.15 G 5.949(.T).15 G .949
-(his is a form of double quoting, so the string re-)-5.949 F .372
-(mains double-quoted by def)108 640.8 R .371
-(ault, whether or not it is translated and replaced.)-.1 F .371(If the)
-5.371 F F2(noexpand_translation)2.871 E F1 .139
-(option is enabled using the)108 652.8 R F2(shopt)2.639 E F1 -.2(bu)
-2.639 G .139
-(iltin, translated strings are single-quoted instead of double-quoted.)
-.2 F(See)5.14 E(the description of)108 664.8 Q F2(shopt)2.5 E F1(belo)
-2.5 E 2.5(wu)-.25 G(nder)-2.5 E F3(SHELL B)2.5 E(UIL)-.09 E
-(TIN COMMANDS)-.828 E/F4 9/Times-Roman@0 SF(.)A/F5 10.95/Times-Bold@0 SF
--.81(PA)72 681.6 S(RAMETERS).81 E F1(A)108 693.6 Q F0(par)4.575 E
-(ameter)-.15 E F1 .825(is an entity that stores v)4.055 F 3.325
-(alues. It)-.25 F .825(can be a)3.325 F F0(name)3.684 E F1 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 705.6 R
-3.301(wu)-.25 G(nder)-3.301 E F2 .801(Special P)3.301 F(arameters)-.1 E
-F1 5.802(.A)C F0(variable)-2.21 E F1 .802(is a parameter denoted by a)
-3.482 F F0(name)3.662 E F1 5.802(.A).18 G -.25(va)-2.5 G .802
-(riable has a).25 F F0(value)108 717.6 Q F1 .369(and zero or more)2.869
-F F0(attrib)2.869 E(utes)-.2 E F1 5.369(.A)C(ttrib)-5.369 E .369
-(utes are assigned using the)-.2 F F2(declar)2.868 E(e)-.18 E F1 -.2(bu)
-2.868 G .368(iltin command \(see).2 F F2(declar)2.868 E(e)-.18 E F1
-(belo)108 729.6 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 F1(The)4.5 E F2(export)2.5 E F1(and)2.5 E
-F2 -.18(re)2.5 G(adonly).18 E F1 -.2(bu)2.5 G
-(iltins assign speci\214c attrib).2 E(utes.)-.2 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(9)195.395 E 0 Cg EP
-%%Page: 10 10
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 2.754(Ap)108 84 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 96 Q/F2 10/Times-Bold@0 SF(unset)2.5
-E F1 -.2(bu)2.5 G(iltin command \(see).2 E/F3 9/Times-Bold@0 SF(SHELL B)
-2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25 E(A)108
-112.8 Q F0(variable)2.79 E F1
-(may be assigned to by a statement of the form)2.68 E F0(name)144 129.6
-Q F1(=[)A F0(value)A F1(])A(If)108 146.4 Q F0(value)3.023 E F1 .233
-(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F .232
-(ariable is assigned the null string.)-.25 F(All)5.232 E F0(values)3.022
-E F1(under)3.002 E .232(go tilde e)-.18 F .232(xpansion, parameter)-.15
-F .515(and v)108 158.4 R .515(ariable e)-.25 F .515
-(xpansion, command substitution, arithmetic e)-.15 F .515
-(xpansion, and quote remo)-.15 F -.25(va)-.15 G 3.015(l\().25 G(see)
--3.015 E F3(EXP)3.015 E(ANSION)-.666 E F1(belo)108 170.4 Q 2.699
-(w\). If)-.25 F .199(the v)2.699 F .199(ariable has its)-.25 F F2
-(integer)2.698 E F1(attrib)2.698 E .198(ute set, then)-.2 F F0(value)
-2.988 E F1 .198(is e)2.878 F -.25(va)-.25 G .198
-(luated as an arithmetic e).25 F .198(xpression e)-.15 F -.15(ve)-.25 G
-(n).15 E .523(if the)108 182.4 R F2($\(\()3.023 E F1 1.666(...)C F2
-(\)\))-1.666 E F1 -.15(ex)3.023 G .523(pansion is not used \(see).15 F
-F2 .523(Arithmetic Expansion)3.023 F F1(belo)3.023 E 3.023(w\). W)-.25 F
-.524(ord splitting and pathname e)-.8 F(x-)-.15 E 1.364
-(pansion are not performed.)108 194.4 R 1.364
-(Assignment statements may also appear as ar)6.364 F 1.363
-(guments to the)-.18 F F2(alias)3.863 E F1(,)A F2(declar)3.863 E(e)-.18
-E F1(,)A F2(typeset)108 206.4 Q F1(,)A F2(export)3.87 E F1(,)A F2 -.18
-(re)3.87 G(adonly).18 E F1 3.871(,a)C(nd)-3.871 E F2(local)3.871 E F1
--.2(bu)3.871 G 1.371(iltin commands \().2 F F0(declar)A(ation)-.15 E F1
-3.871(commands\). When)3.871 F 1.371(in posix mode,)3.871 F 1.142
-(these b)108 218.4 R 1.142
-(uiltins may appear in a command after one or more instances of the)-.2
-F F2(command)3.641 E F1 -.2(bu)3.641 G 1.141(iltin and retain).2 F
-(these assignment statement properties.)108 230.4 Q .376(In the conte)
-108 247.2 R .376(xt where an assignment statement is assigning a v)-.15
-F .376(alue to a shell v)-.25 F .377(ariable or array inde)-.25 F .377
-(x, the +=)-.15 F 1.376(operator will append to or add to the v)108
-259.2 R(ariable')-.25 E 3.875(sp)-.55 G(re)-3.875 E 1.375(vious v)-.25 F
-3.875(alue. This)-.25 F 1.375(includes ar)3.875 F 1.375(guments to)-.18
-F F0(declar)3.875 E(ation)-.15 E F1 .423(commands such as)108 271.2 R F2
-(declar)2.923 E(e)-.18 E F1 .424(that accept assignment statements.)
-2.923 F .424(When += is applied to a v)5.424 F .424(ariable for which)
--.25 F(the)108 283.2 Q F2(integer)2.607 E F1(attrib)2.607 E .107
-(ute has been set, the v)-.2 F(ariable')-.25 E 2.607(sc)-.55 G .106
-(urrent v)-2.607 F .106(alue and)-.25 F F0(value)2.606 E F1 .106
-(are each e)2.606 F -.25(va)-.25 G .106(luated as arithmetic e).25 F(x-)
--.15 E .352(pressions, and the sum of the results is assigned as the v)
-108 295.2 R(ariable')-.25 E 2.853(sv)-.55 G 2.853(alue. The)-3.103 F
-.353(current v)2.853 F .353(alue is usually an in-)-.25 F(te)108 307.2 Q
-.255(ger constant, b)-.15 F .254(ut may be an e)-.2 F 2.754
-(xpression. When)-.15 F .254(+= is applied to an array v)2.754 F .254
-(ariable using compound assign-)-.25 F .662(ment \(see)108 319.2 R F2
-(Arrays)3.162 E F1(belo)3.162 E .662(w\), the v)-.25 F(ariable')-.25 E
-3.162(sv)-.55 G .663
-(alue is not unset \(as it is when using =\), and ne)-3.412 F 3.163(wv)
--.25 G .663(alues are ap-)-3.413 F .307(pended to the array be)108 331.2
-R .307(ginning at one greater than the array')-.15 F 2.806(sm)-.55 G
-.306(aximum inde)-2.806 F 2.806(x\()-.15 G .306(for inde)-2.806 F -.15
-(xe)-.15 G 2.806(da).15 G .306(rrays\) or added)-2.806 F .245
-(as additional k)108 343.2 R -.15(ey)-.1 G<ad76>.15 E .245
-(alue pairs in an associati)-.25 F .546 -.15(ve a)-.25 H(rray).15 E
-5.246(.W)-.65 G .246(hen applied to a string-v)-5.246 F .246(alued v)
--.25 F(ariable,)-.25 E F0(value)2.746 E F1 .246(is e)2.746 F(x-)-.15 E
-(panded and appended to the v)108 355.2 Q(ariable')-.25 E 2.5(sv)-.55 G
-(alue.)-2.75 E 3.383(Av)108 372 S .883(ariable can be assigned the)
--3.633 F F0(namer)3.382 E(ef)-.37 E F1(attrib)3.382 E .882
-(ute using the)-.2 F F2<ad6e>3.382 E F1 .882(option to the)3.382 F F2
-(declar)3.382 E(e)-.18 E F1(or)3.382 E F2(local)3.382 E F1 -.2(bu)3.382
-G .882(iltin com-).2 F .315(mands \(see the descriptions of)108 384 R F2
-(declar)2.815 E(e)-.18 E F1(and)2.815 E F2(local)2.815 E F1(belo)2.815 E
-.316(w\) to create a)-.25 F F0(namer)2.816 E(ef)-.37 E F1 2.816(,o)C
-2.816(rar)-2.816 G .316(eference to another v)-2.816 F(ari-)-.25 E 2.919
-(able. This)108 396 R(allo)2.919 E .419(ws v)-.25 F .419
-(ariables to be manipulated indirectly)-.25 F 5.419(.W)-.65 G(hene)
--5.419 E -.15(ve)-.25 G 2.918(rt).15 G .418(he nameref v)-2.918 F .418
-(ariable is referenced, as-)-.25 F .132
-(signed to, unset, or has its attrib)108 408 R .132
-(utes modi\214ed \(other than using or changing the)-.2 F F0(namer)2.633
-E(ef)-.37 E F1(attrib)2.633 E .133(ute itself\), the)-.2 F 1.357
-(operation is actually performed on the v)108 420 R 1.357
-(ariable speci\214ed by the nameref v)-.25 F(ariable')-.25 E 3.856(sv)
--.55 G 3.856(alue. A)-4.106 F 1.356(nameref is)3.856 F .971
-(commonly used within shell functions to refer to a v)108 432 R .972
-(ariable whose name is passed as an ar)-.25 F .972(gument to the)-.18 F
-2.5(function. F)108 444 R(or instance, if a v)-.15 E
-(ariable name is passed to a shell function as its \214rst ar)-.25 E
-(gument, running)-.18 E/F4 10/Courier@0 SF(declare \255n ref=$1)144
-460.8 Q F1 .385(inside the function creates a local nameref v)108 477.6
-R(ariable)-.25 E F2 -.18(re)2.885 G(f).18 E F1 .385(whose v)2.885 F .385
-(alue is the v)-.25 F .385(ariable name passed as the \214rst)-.25 F(ar)
-108 489.6 Q 3.53(gument. References)-.18 F 1.03(and assignments to)3.53
-F F2 -.18(re)3.53 G(f).18 E F1 3.531(,a)C 1.031
-(nd changes to its attrib)-3.531 F 1.031
-(utes, are treated as references, as-)-.2 F .197(signments, and attrib)
-108 501.6 R .197(ute modi\214cations to the v)-.2 F .196
-(ariable whose name w)-.25 F .196(as passed as)-.1 F F2($1)2.696 E F1
-5.196(.I)C 2.696(ft)-5.196 G .196(he control v)-2.696 F(ariable)-.25 E
-.005(in a)108 513.6 R F2 -.25(fo)2.505 G(r).25 E F1 .006
-(loop has the nameref attrib)2.506 F .006(ute, the list of w)-.2 F .006
-(ords can be a list of shell v)-.1 F .006
-(ariables, and a name reference)-.25 F .509
-(will be established for each w)108 525.6 R .509
-(ord in the list, in turn, when the loop is e)-.1 F -.15(xe)-.15 G 3.009
-(cuted. Array).15 F -.25(va)3.009 G .509(riables cannot be).25 F(gi)108
-537.6 Q -.15(ve)-.25 G 3.031(nt).15 G(he)-3.031 E F2(namer)3.031 E(ef)
--.18 E F1(attrib)3.031 E 3.031(ute. Ho)-.2 F(we)-.25 E -.15(ve)-.25 G
-1.331 -.4(r, n).15 H .531(ameref v).4 F .532
-(ariables can reference array v)-.25 F .532(ariables and subscripted ar)
--.25 F(-)-.2 E .534(ray v)108 549.6 R 3.034(ariables. Namerefs)-.25 F
-.534(can be unset using the)3.034 F F2<ad6e>3.033 E F1 .533
-(option to the)3.033 F F2(unset)3.033 E F1 -.2(bu)3.033 G 3.033
-(iltin. Otherwise,).2 F(if)3.033 E F2(unset)3.033 E F1 .533(is e)3.033 F
--.15(xe)-.15 G(-).15 E .442(cuted with the name of a nameref v)108 561.6
-R .442(ariable as an ar)-.25 F .442(gument, the v)-.18 F .443
-(ariable referenced by the nameref v)-.25 F(ariable)-.25 E
-(will be unset.)108 573.6 Q F2 -.2(Po)87 590.4 S(sitional P).2 E
-(arameters)-.1 E F1(A)108 602.4 Q F0 .706(positional par)4.456 F(ameter)
--.15 E F1 .706(is a parameter denoted by one or more digits, other than\
- the single digit 0.)3.936 F(Posi-)5.705 E .444
-(tional parameters are assigned from the shell')108 614.4 R 2.944(sa)
--.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1
-(ke).2 G .445(d, and may be reassigned using).1 F(the)108 626.4 Q F2
-(set)3.334 E F1 -.2(bu)3.334 G .834(iltin command.).2 F .833(Positional\
- parameters may not be assigned to with assignment statements.)5.834 F
-(The)5.833 E(positional parameters are temporarily replaced when a shel\
-l function is e)108 638.4 Q -.15(xe)-.15 G(cuted \(see).15 E F3
-(FUNCTIONS)2.5 E F1(belo)2.25 E(w\).)-.25 E 1.403(When a positional par\
-ameter consisting of more than a single digit is e)108 655.2 R 1.404
-(xpanded, it must be enclosed in)-.15 F .436(braces \(see)108 667.2 R F3
-(EXP)2.936 E(ANSION)-.666 E F1(belo)2.686 E 2.936(w\). W)-.25 F .435
-(ithout braces, a digit follo)-.4 F .435
-(wing $ can only refer to one of the \214rst nine)-.25 F
-(positional parameters \()108 679.2 Q F2($1\255$9)A F1 2.5(\)o)C 2.5(rt)
--2.5 G(he special parameter)-2.5 E F2($0)2.5 E F1(\(see the ne)2.5 E
-(xt section\).)-.15 E F2(Special P)87 696 Q(arameters)-.1 E F1 1.674
-(The shell treats se)108 708 R -.15(ve)-.25 G 1.674
-(ral parameters specially).15 F 6.675(.T)-.65 G 1.675
-(hese parameters may only be referenced; assignment to)-6.675 F
-(them is not allo)108 720 Q 2.5(wed. Special)-.25 F
-(parameters are denoted by one of the follo)2.5 E(wing characters.)-.25
-E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(10)190.395 E 0 Cg EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(*)108 84 Q F1(\()144 84 Q F2
-($*)A F1 3.478(\)E)C .978
-(xpands to the positional parameters, starting from one.)-3.478 F .978
-(When the e)5.978 F .977(xpansion is not within)-.15 F .383
-(double quotes, each positional parameter e)144 96 R .383
-(xpands to a separate w)-.15 F 2.883(ord. In)-.1 F(conte)2.883 E .383
-(xts where w)-.15 F .383(ord e)-.1 F(x-)-.15 E .131
-(pansions are performed, those w)144 108 R .131
-(ords are subject to further w)-.1 F .13(ord splitting and pathname e)
--.1 F(xpansion.)-.15 E 1.095(When the e)144 120 R 1.095
-(xpansion occurs within double quotes, it e)-.15 F 1.096
-(xpands to a single w)-.15 F 1.096(ord with the v)-.1 F 1.096(alue of)
--.25 F .628(each parameter separated by the \214rst character of the)144
-132 R/F3 9/Times-Bold@0 SF(IFS)3.128 E F1 -.25(va)2.878 G 3.128
-(riable. That).25 F(is,)3.128 E F2("$*")3.128 E F1 .627(is equi)3.128 F
--.25(va)-.25 G .627(lent to).25 F F2("$1)144 144 Q F0(c)A F2($2)A F0(c)A
-F2 1.666(...)C(")-1.666 E F1 2.805(,w)C(here)-2.805 E F0(c)3.005 E F1
-.306(is the \214rst character of the v)3.115 F .306(alue of the)-.25 F
-F3(IFS)2.806 E F1 -.25(va)2.556 G 2.806(riable. If).25 F F3(IFS)2.806 E
-F1 .306(is unset, the pa-)2.556 F .129
-(rameters are separated by spaces.)144 156 R(If)5.129 E F3(IFS)2.629 E
-F1 .129(is null, the parameters are joined without interv)2.379 F .129
-(ening sep-)-.15 F(arators.)144 168 Q F2(@)108 180 Q F1(\()144 180 Q F2
-($@)A F1 2.86(\)E)C .361
-(xpands to the positional parameters, starting from one.)-2.86 F .361
-(In conte)5.361 F .361(xts where w)-.15 F .361(ord splitting is)-.1 F
-.253(performed, this e)144 192 R .253
-(xpands each positional parameter to a separate w)-.15 F .253
-(ord; if not within double quotes,)-.1 F .396(these w)144 204 R .396
-(ords are subject to w)-.1 F .396(ord splitting.)-.1 F .396(In conte)
-5.396 F .396(xts where w)-.15 F .396
-(ord splitting is not performed, such)-.1 F .149(as the v)144 216 R .148
-(alue portion of an assignment statement, this e)-.25 F .148
-(xpands to a single w)-.15 F .148(ord with each positional)-.1 F .155
-(parameter separated by a space.)144 228 R .155(When the e)5.155 F .155
-(xpansion occurs within double quotes, and w)-.15 F .155(ord split-)-.1
-F 1.484(ting is performed, each parameter e)144 240 R 1.484
-(xpands to a separate w)-.15 F 3.984(ord. That)-.1 F(is,)3.984 E F2
-("$@")3.984 E F1 1.484(is equi)3.984 F -.25(va)-.25 G 1.484(lent to).25
-F F2("$1" "$2" .)144 252 Q 1.666(..)1.666 G F1 .205
-(If the double-quoted e)3.538 F .205(xpansion occurs within a w)-.15 F
-.205(ord, the e)-.1 F .205(xpansion of the \214rst pa-)-.15 F .361
-(rameter is joined with the e)144 264 R .361(xpansion of the be)-.15 F
-.36(ginning part of the original w)-.15 F .36(ord, and the e)-.1 F
-(xpansion)-.15 E .196(of the last parameter is joined with the e)144 276
-R .197(xpansion of the last part of the original w)-.15 F 2.697
-(ord. When)-.1 F(there)2.697 E(are no positional parameters,)144 288 Q
-F2("$@")2.5 E F1(and)2.5 E F2($@)2.5 E F1 -.15(ex)2.5 G
-(pand to nothing \(i.e., the).15 E 2.5(ya)-.15 G(re remo)-2.5 E -.15(ve)
--.15 G(d\).).15 E F2(#)108 300 Q F1(\()144 300 Q F2($#)A F1 2.5(\)E)C
-(xpands to the number of positional parameters in decimal.)-2.5 E F2(?)
-108 312 Q F1(\()144 312 Q F2($?)A F1 2.5(\)E)C(xpands to the e)-2.5 E
-(xit status of the most recently e)-.15 E -.15(xe)-.15 G(cuted command.)
-.15 E F2<ad>108 324 Q F1(\()144 324 Q F2<24ad>A F1 2.78(\)E)C .279
-(xpands to the current option \215ags as speci\214ed upon in)-2.78 F -.2
-(vo)-.4 G .279(cation, by the).2 F F2(set)2.779 E F1 -.2(bu)2.779 G .279
-(iltin command,).2 F(or those set by the shell itself \(such as the)144
-336 Q F2<ad69>2.5 E F1(option\).)2.5 E F2($)108 348 Q F1(\()144 348 Q F2
-($$)A F1 2.835(\)E)C .335(xpands to the process ID of the shell.)-2.835
-F .335(In a subshell, it e)5.335 F .335
-(xpands to the process ID of the par)-.15 F(-)-.2 E
-(ent shell, not the subshell.)144 360 Q F2(!)108 372 Q F1(\()144 372 Q
-F2($!)A F1 .722(\)Expands to the process ID of the job most recently pl\
-aced into the background, whether e)B -.15(xe)-.15 G(-).15 E
-(cuted as an asynchronous command or using the)144 384 Q F2(bg)2.5 E F1
--.2(bu)2.5 G(iltin \(see).2 E F3(JOB CONTR)2.5 E(OL)-.27 E F1(belo)2.25
-E(w\).)-.25 E F2(0)108 396 Q F1(\()144 396 Q F2($0)A F1 3.094(\)E)C .594
-(xpands to the name of the shell or shell script.)-3.094 F .594
-(This is set at shell initialization.)5.594 F(If)5.595 E F2(bash)3.095 E
-F1(is)3.095 E(in)144 408 Q -.2(vo)-.4 G -.1(ke).2 G 3.078(dw).1 G .578
-(ith a \214le of commands,)-3.078 F F2($0)3.078 E F1 .578
-(is set to the name of that \214le.)3.078 F(If)5.577 E F2(bash)3.077 E
-F1 .577(is started with the)3.077 F F2<ad63>3.077 E F1 .368
-(option, then)144 420 R F2($0)2.869 E F1 .369(is set to the \214rst ar)
-2.869 F .369(gument after the string to be e)-.18 F -.15(xe)-.15 G .369
-(cuted, if one is present.).15 F(Other)5.369 E(-)-.2 E
-(wise, it is set to the \214lename used to in)144 432 Q -.2(vo)-.4 G -.1
-(ke).2 G F2(bash)2.6 E F1 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25(iv e)-2.5 H
-2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E F2(Shell V)
-87 448.8 Q(ariables)-.92 E F1(The shell sets follo)108 460.8 Q(wing v)
--.25 E(ariables:)-.25 E F2(_)108 477.6 Q F1(\()144 477.6 Q F2($_)A F1
-2.555(,a)C 2.555(nu)-2.555 G .055
-(nderscore\) This has a number of meanings depending on conte)-2.555 F
-2.555(xt. At)-.15 F .054(shell startup,)2.554 F F2(_)2.554 E F1 .054
-(is set)2.554 F .912(to the pathname used to in)144 489.6 R -.2(vo)-.4 G
-1.112 -.1(ke t).2 H .912(he shell or shell script being e).1 F -.15(xe)
--.15 G .913(cuted as passed in the en).15 F(viron-)-.4 E .57(ment or ar)
-144 501.6 R .57(gument list.)-.18 F(Subsequently)5.57 E 3.07(,i)-.65 G
-3.069(te)-3.07 G .569(xpands to the last ar)-3.219 F .569
-(gument to the pre)-.18 F .569(vious simple com-)-.25 F .008(mand e)144
-513.6 R -.15(xe)-.15 G .008(cuted in the fore).15 F .008
-(ground, after e)-.15 F 2.508(xpansion. It)-.15 F .008
-(is also set to the full pathname used to in)2.508 F -.2(vo)-.4 G -.1
-(ke).2 G .556(each command e)144 525.6 R -.15(xe)-.15 G .556
-(cuted and placed in the en).15 F .555(vironment e)-.4 F .555
-(xported to that command.)-.15 F .555(When check-)5.555 F(ing mail,)144
-537.6 Q F2($_)2.5 E F1 -.15(ex)2.5 G
-(pands to the name of the mail \214le currently being check).15 E(ed.)
--.1 E F2 -.3(BA)108 549.6 S(SH).3 E F1
-(Expands to the full \214lename used to in)144 549.6 Q -.2(vo)-.4 G .2
--.1(ke t).2 H(his instance of).1 E F2(bash)2.5 E F1(.)A F2 -.3(BA)108
-561.6 S(SHOPTS).3 E F1 2.548(Ac)144 573.6 S .049
-(olon-separated list of enabled shell options.)-2.548 F .049(Each w)
-5.049 F .049(ord in the list is a v)-.1 F .049(alid ar)-.25 F .049
-(gument for the)-.18 F F2<ad73>2.549 E F1 .116(option to the)144 585.6 R
-F2(shopt)2.616 E F1 -.2(bu)2.616 G .116(iltin command \(see).2 F F3 .116
-(SHELL B)2.616 F(UIL)-.09 E .116(TIN COMMANDS)-.828 F F1(belo)2.366 E
-2.616(w\). The)-.25 F .115(options ap-)2.615 F 1.066(pearing in)144
-597.6 R F3 -.27(BA)3.566 G(SHOPTS).27 E F1 1.066(are those reported as)
-3.316 F F0(on)3.796 E F1(by)3.807 E F2(shopt)3.567 E F1 6.067(.I)C 3.567
-(ft)-6.067 G 1.067(his v)-3.567 F 1.067(ariable is in the en)-.25 F
-(vironment)-.4 E(when)144 609.6 Q F2(bash)2.766 E F1 .266
-(starts up, the shell enables each option in the list before reading an)
-2.766 F 2.766(ys)-.15 G .265(tartup \214les.)-2.766 F(This)5.265 E -.25
-(va)144 621.6 S(riable is read-only).25 E(.)-.65 E F2 -.3(BA)108 633.6 S
-(SHPID).3 E F1 .187(Expands to the process ID of the current)144 645.6 R
-F2(bash)2.687 E F1 2.688(process. This)2.688 F(dif)2.688 E .188
-(fers from)-.25 F F2($$)2.688 E F1 .188(under certain circum-)2.688 F
-.548(stances, such as subshells that do not require)144 657.6 R F2(bash)
-3.048 E F1 .548(to be re-initialized.)3.048 F .548(Assignments to)5.548
-F F3 -.27(BA)3.048 G(SHPID).27 E F1(ha)144 669.6 Q .3 -.15(ve n)-.2 H
-2.5(oe).15 G -.25(ff)-2.5 G 2.5(ect. If).25 F F2 -.3(BA)2.5 G(SHPID).3 E
-F1(is unset, it loses its special properties, e)2.5 E -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E F2 -.3(BA)108 681.6 S(SH_ALIASES).3 E F1 1.195(An associati)144
-693.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F 1.195(ariable whose m\
-embers correspond to the internal list of aliases as main-)-.25 F .16
-(tained by the)144 705.6 R F2(alias)2.66 E F1 -.2(bu)2.66 G 2.66
-(iltin. Elements).2 F .16
-(added to this array appear in the alias list; ho)2.66 F(we)-.25 E -.15
-(ve)-.25 G .96 -.4(r, u).15 H(nsetting).4 E .176
-(array elements currently does not remo)144 717.6 R .476 -.15(ve a)-.15
-H .176(liases from the alias list.).15 F(If)5.177 E F2 -.3(BA)2.677 G
-(SH_ALIASES).3 E F1 .177(is unset,)2.677 F
-(it loses its special properties, e)144 729.6 Q -.15(ve)-.25 G 2.5(ni)
-.15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5
-E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(11)190.395 E 0 Cg EP
-%%Page: 12 12
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_ARGC).3 E
-F1 .935(An array v)144 96 R .935(ariable whose v)-.25 F .934
-(alues are the number of parameters in each frame of the current)-.25 F
-F2(bash)3.434 E F1 -.15(exe)144 108 S .535(cution call stack.).15 F .535
-(The number of parameters to the current subroutine \(shell function or\
- script)5.535 F -.15(exe)144 120 S .142(cuted with).15 F F2(.)2.642 E F1
-(or)2.642 E F2(sour)2.642 E(ce)-.18 E F1 2.642(\)i)C 2.642(sa)-2.642 G
-2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141
-(When a subroutine is e)5.141 F -.15(xe)-.15 G .141
-(cuted, the number of).15 F 1.265(parameters passed is pushed onto)144
-132 R/F3 9/Times-Bold@0 SF -.27(BA)3.765 G(SH_ARGC).27 E/F4 9
-/Times-Roman@0 SF(.)A F1 1.265(The shell sets)5.765 F F3 -.27(BA)3.765 G
-(SH_ARGC).27 E F1 1.265(only when in e)3.515 F(x-)-.15 E .948
-(tended deb)144 144 R .947(ugging mode \(see the description of the)-.2
-F F2(extdeb)3.447 E(ug)-.2 E F1 .947(option to the)3.447 F F2(shopt)
-3.447 E F1 -.2(bu)3.447 G .947(iltin belo).2 F(w\).)-.25 E(Setting)144
-156 Q F2(extdeb)3.362 E(ug)-.2 E F1 .862
-(after the shell has started to e)3.362 F -.15(xe)-.15 G .863
-(cute a script, or referencing this v).15 F .863(ariable when)-.25 F F2
-(extdeb)144 168 Q(ug)-.2 E F1 .706
-(is not set, may result in inconsistent v)3.207 F 3.206
-(alues. Assignments)-.25 F(to)3.206 E F3 -.27(BA)3.206 G(SH_ARGC).27 E
-F1(ha)2.956 E 1.006 -.15(ve n)-.2 H 3.206(oe).15 G(f-)-3.206 E
-(fect, and it may not be unset.)144 180 Q F2 -.3(BA)108 192 S(SH_ARGV).3
-E F1 .206(An array v)144 204 R .206
-(ariable containing all of the parameters in the current)-.25 F F2(bash)
-2.706 E F1 -.15(exe)2.706 G .207(cution call stack.).15 F .207
-(The \214-)5.207 F .567(nal parameter of the last subroutine call is at\
- the top of the stack; the \214rst parameter of the initial)144 216 R
-.066(call is at the bottom.)144 228 R .067(When a subroutine is e)5.067
-F -.15(xe)-.15 G .067
-(cuted, the shell pushes the supplied parameters onto).15 F F3 -.27(BA)
-144 240 S(SH_ARGV).27 E F4(.)A F1 .854(The shell sets)5.354 F F3 -.27
-(BA)3.354 G(SH_ARGV).27 E F1 .853(only when in e)3.104 F .853
-(xtended deb)-.15 F .853(ugging mode \(see the de-)-.2 F .475
-(scription of the)144 252 R F2(extdeb)2.975 E(ug)-.2 E F1 .475
-(option to the)2.975 F F2(shopt)2.975 E F1 -.2(bu)2.975 G .475
-(iltin belo).2 F 2.975(w\). Setting)-.25 F F2(extdeb)2.976 E(ug)-.2 E F1
-.476(after the shell has)2.976 F .45(started to e)144 264 R -.15(xe)-.15
-G .45(cute a script, or referencing this v).15 F .45(ariable when)-.25 F
-F2(extdeb)2.95 E(ug)-.2 E F1 .45(is not set, may result in in-)2.95 F
-(consistent v)144 276 Q 2.5(alues. Assignments)-.25 F(to)2.5 E F3 -.27
-(BA)2.5 G(SH_ARGV).27 E F1(ha)2.25 E .3 -.15(ve n)-.2 H 2.5(oe).15 G
--.25(ff)-2.5 G(ect, and it may not be unset.).25 E F2 -.3(BA)108 288 S
-(SH_ARGV0).3 E F1 .25(When referenced, this v)144 300 R .25(ariable e)
--.25 F .251
-(xpands to the name of the shell or shell script \(identical to)-.15 F
-F2($0)2.751 E F1 2.751(;s)C(ee)-2.751 E .937
-(the description of special parameter 0 abo)144 312 R -.15(ve)-.15 G
-3.437(\). Assigning).15 F 3.437(av)3.437 G .937(alue to)-3.687 F F2 -.3
-(BA)3.437 G(SH_ARGV0).3 E F1 .936(assigns the)3.437 F 1.047(same v)144
-324 R 1.047(alue to)-.25 F F2($0)3.547 E F1 6.047(.I)C(f)-6.047 E F2 -.3
-(BA)3.547 G(SH_ARGV0).3 E F1 1.048
-(is unset, it loses its special properties, e)3.547 F -.15(ve)-.25 G
-3.548(ni).15 G 3.548(fi)-3.548 G 3.548(ti)-3.548 G 3.548(ss)-3.548 G
-(ubse-)-3.548 E(quently reset.)144 336 Q F2 -.3(BA)108 348 S(SH_CMDS).3
-E F1 .668(An associati)144 360 R .968 -.15(ve a)-.25 H .668(rray v).15 F
-.668(ariable whose members correspond to the internal hash table of com\
-mands)-.25 F .708(as maintained by the)144 372 R F2(hash)3.208 E F1 -.2
-(bu)3.208 G 3.208(iltin. Adding).2 F .708(elements to this array mak)
-3.208 F .708(es them appear in the hash)-.1 F .059(table; ho)144 384 R
-(we)-.25 E -.15(ve)-.25 G .859 -.4(r, u).15 H .059
-(nsetting array elements currently does not remo).4 F .358 -.15(ve c)
--.15 H .058(ommand names from the hash).15 F 2.5(table. If)144 396 R F2
--.3(BA)2.5 G(SH_CMDS).3 E F1
-(is unset, it loses its special properties, e)2.5 E -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E F2 -.3(BA)108 408 S(SH_COMMAND).3 E F1 .21
-(Expands to the command currently being e)144 420 R -.15(xe)-.15 G .21
-(cuted or about to be e).15 F -.15(xe)-.15 G .21
-(cuted, unless the shell is e).15 F -.15(xe)-.15 G(-).15 E .304(cuting \
-a command as the result of a trap, in which case it is the command e)144
-432 R -.15(xe)-.15 G .304(cuting at the time of).15 F .467(the trap.)144
-444 R(If)5.467 E F2 -.3(BA)2.967 G(SH_COMMAND).3 E F1 .467
-(is unset, it loses its special properties, e)2.967 F -.15(ve)-.25 G
-2.968(ni).15 G 2.968(fi)-2.968 G 2.968(ti)-2.968 G 2.968(ss)-2.968 G
-(ubsequently)-2.968 E(reset.)144 456 Q F2 -.3(BA)108 468 S
-(SH_EXECUTION_STRING).3 E F1(The command ar)144 480 Q(gument to the)-.18
-E F2<ad63>2.5 E F1(in)2.5 E -.2(vo)-.4 G(cation option.).2 E F2 -.3(BA)
-108 492 S(SH_LINENO).3 E F1 .693(An array v)144 504 R .692(ariable whos\
-e members are the line numbers in source \214les where each correspondi\
-ng)-.25 F .969(member of)144 516 R F3(FUNCN)3.469 E(AME)-.18 E F1 -.1
-(wa)3.219 G 3.469(si).1 G -1.9 -.4(nv o)-3.469 H -.1(ke).4 G(d.).1 E F2
-(${B)5.969 E(ASH_LINENO[)-.3 E F0($i)A F2(]})A F1 .97
-(is the line number in the source)3.469 F 14.672(\214le \()144 528 R F2
-(${B)A(ASH_SOURCE[)-.3 E F0($i+1)A F2(]})A F1 17.172(\)w)C(here)-17.172
-E F2(${FUNCN)17.172 E(AME[)-.2 E F0($i)A F2(]})A F1 -.1(wa)17.172 G
-17.171(sc).1 G 14.671(alled \(or)-17.171 F F2(${B)144 540 Q(ASH_LINENO[)
--.3 E F0($i\2551)A F2(]})A F1 1.256
-(if referenced within another shell function\).)3.756 F(Use)6.257 E F3
-(LINENO)3.757 E F1 1.257(to obtain)3.507 F(the current line number)144
-552 Q 5(.A)-.55 G(ssignments to)-5 E F3 -.27(BA)2.5 G(SH_LINENO).27 E F1
-(ha)2.25 E .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G
-(ect, and it may not be unset.).25 E F2 -.3(BA)108 564 S(SH_LO).3 E(AD)
--.4 E(ABLES_P)-.35 E -.95(AT)-.74 G(H).95 E F1 3.287(Ac)144 576 S .786
-(olon-separated list of directories in which the)-3.287 F F2(enable)
-3.286 E F1 3.286(command. looks)3.286 F .786(for dynamically load-)3.286
-F(able b)144 588 Q(uiltins.)-.2 E F2 -.3(BA)108 600 S(SH_MONOSECONDS).3
-E F1 .706(Each time this v)144 612 R .706(ariable is referenced, it e)
--.25 F .707(xpands to the v)-.15 F .707(alue returned by the system')
--.25 F 3.207(sm)-.55 G(onotonic)-3.207 E .058(clock, if one is a)144 624
-R -.25(va)-.2 G 2.558(ilable. If).25 F .057
-(there is no monotonic clock, this is equi)2.557 F -.25(va)-.25 G .057
-(lent to).25 F F2(EPOCHSECONDS)2.557 E F1(.)A(If)144 636 Q F2 -.3(BA)
-3.019 G(SH_MONOSECONDS).3 E F1 .519
-(is unset, it loses its special properties, e)3.019 F -.15(ve)-.25 G
-3.019(ni).15 G 3.02(fi)-3.019 G 3.02(ti)-3.02 G 3.02(ss)-3.02 G .52
-(ubsequently re-)-3.02 F(set.)144 648 Q F2 -.3(BA)108 660 S(SH_REMA).3 E
-(TCH)-.95 E F1 1.418(An array v)144 672 R 1.418
-(ariable whose members are assigned by the)-.25 F F2<3d01>3.918 E F1
-1.418(binary operator to the)3.918 F F2([[)3.918 E F1(conditional)3.918
-E 3.461(command. The)144 684 R .962(element with inde)3.461 F 3.462(x0i)
--.15 G 3.462(st)-3.462 G .962
-(he portion of the string matching the entire re)-3.462 F .962(gular e)
--.15 F(x-)-.15 E 3.82(pression. The)144 696 R 1.32(element with inde)
-3.82 F(x)-.15 E F0(n)3.82 E F1 1.32
-(is the portion of the string matching the)3.82 F F0(n)3.82 E F1 1.32
-(th parenthesized)B(sube)144 708 Q(xpression.)-.15 E(GNU Bash 5.3)72 768
-Q(2024 October 15)141.235 E(12)190.395 E 0 Cg EP
-%%Page: 13 13
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_SOURCE).3
-E F1 .125(An array v)144 96 R .125(ariable whose members are the source\
- \214lenames where the corresponding shell function)-.25 F .781
-(names in the)144 108 R/F3 9/Times-Bold@0 SF(FUNCN)3.28 E(AME)-.18 E F1
-.78(array v)3.03 F .78(ariable are de\214ned.)-.25 F .78
-(The shell function)5.78 F F2(${FUNCN)3.28 E(AME[)-.2 E F0($i)A F2(]})A
-F1(is)3.28 E .424(de\214ned in the \214le)144 120 R F2(${B)2.924 E
-(ASH_SOURCE[)-.3 E F0($i)A F2(]})A F1 .425(and called from)2.924 F F2
-(${B)2.925 E(ASH_SOURCE[)-.3 E F0($i+1)A F2(]})A F1 5.425(.A)C(ssign-)
--5.425 E(ments to)144 132 Q F3 -.27(BA)2.5 G(SH_SOURCE).27 E F1(ha)2.25
-E .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G
-(ect, and it may not be unset.).25 E F2 -.3(BA)108 144 S(SH_SUBSHELL).3
-E F1 .296(Incremented by one within each subshell or subshell en)144 156
-R .296(vironment when the shell be)-.4 F .296(gins e)-.15 F -.15(xe)-.15
-G(cuting).15 E 1.276(in that en)144 168 R 3.776(vironment. The)-.4 F
-1.276(initial v)3.776 F 1.277(alue is 0.)-.25 F(If)6.277 E F2 -.3(BA)
-3.777 G(SH_SUBSHELL).3 E F1 1.277(is unset, it loses its special)3.777 F
-(properties, e)144 180 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5
-(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F2 -.3(BA)108 192 S
-(SH_TRAPSIG).3 E F1 .203
-(Set to the signal number corresponding to the trap action being e)144
-204 R -.15(xe)-.15 G .202(cuted during its e).15 F -.15(xe)-.15 G 2.702
-(cution. See).15 F .782(the description of)144 216 R F2(trap)3.282 E F1
-(under)3.282 E F3 .782(SHELL B)3.282 F(UIL)-.09 E .782(TIN COMMANDS)
--.828 F F1(belo)3.032 E 3.282(wf)-.25 G .783
-(or information about signal)-3.282 F(numbers and trap e)144 228 Q -.15
-(xe)-.15 G(cution.).15 E F2 -.3(BA)108 240 S(SH_VERSINFO).3 E F1 2.645
-(Ar)144 252 S .145(eadonly array v)-2.645 F .144
-(ariable whose members hold v)-.25 F .144
-(ersion information for this instance of)-.15 F F2(bash)2.644 E F1 5.144
-(.T)C(he)-5.144 E -.25(va)144 264 S
-(lues assigned to the array members are as follo).25 E(ws:)-.25 E F2 -.3
-(BA)144 276 S(SH_VERSINFO[).3 E F1(0)A F2(])A F1(The major v)264 276 Q
-(ersion number \(the)-.15 E F0 -.37(re)2.5 G(lease).37 E F1(\).)A F2 -.3
-(BA)144 288 S(SH_VERSINFO[).3 E F1(1)A F2(])A F1(The minor v)264 288 Q
-(ersion number \(the)-.15 E F0(ver)2.5 E(sion)-.1 E F1(\).)A F2 -.3(BA)
-144 300 S(SH_VERSINFO[).3 E F1(2)A F2(])A F1(The patch le)264 300 Q -.15
-(ve)-.25 G(l.).15 E F2 -.3(BA)144 312 S(SH_VERSINFO[).3 E F1(3)A F2(])A
-F1(The b)264 312 Q(uild v)-.2 E(ersion.)-.15 E F2 -.3(BA)144 324 S
-(SH_VERSINFO[).3 E F1(4)A F2(])A F1(The release status \(e.g.,)264 324 Q
-F0(beta)2.5 E F1(\).)A F2 -.3(BA)144 336 S(SH_VERSINFO[).3 E F1(5)A F2
-(])A F1(The v)264 336 Q(alue of)-.25 E F3(MA)2.5 E(CHTYPE)-.495 E/F4 9
-/Times-Roman@0 SF(.)A F2 -.3(BA)108 348 S(SH_VERSION).3 E F1
-(Expands to a string describing the v)144 360 Q
-(ersion of this instance of)-.15 E F2(bash)2.5 E F1
-(\(e.g., 5.2.37\(3\)-release\).)2.5 E F2(COMP_CW)108 372 Q(ORD)-.1 E F1
-.396(An inde)144 384 R 2.896(xi)-.15 G(nto)-2.896 E F2(${COMP_W)2.896 E
-(ORDS})-.1 E F1 .396(of the w)2.896 F .396
-(ord containing the current cursor position.)-.1 F .397(This v)5.397 F
-(ari-)-.25 E 1.181(able is a)144 396 R -.25(va)-.2 G 1.181
-(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681
-(db).1 G 3.681(yt)-3.681 G 1.18(he programmable completion f)-3.681 F
-1.18(acilities \(see)-.1 F F2(Pr)144 408 Q(ogrammable Completion)-.18 E
-F1(belo)2.5 E(w\).)-.25 E F2(COMP_KEY)108 420 Q F1 .016(The k)144 432 R
-.316 -.15(ey \()-.1 H .016(or \214nal k).15 F .316 -.15(ey o)-.1 H 2.516
-(fak).15 G .316 -.15(ey s)-2.616 H .017(equence\) used to in).15 F -.2
-(vo)-.4 G .217 -.1(ke t).2 H .017(he current completion function.).1 F
-.017(This v)5.017 F(ari-)-.25 E 1.613(able is a)144 444 R -.25(va)-.2 G
-1.612(ilable only in shell functions and e).25 F 1.612
-(xternal commands in)-.15 F -.2(vo)-.4 G -.1(ke).2 G 4.112(db).1 G 4.112
-(yt)-4.112 G 1.612(he programmable)-4.112 F(completion f)144 456 Q
-(acilities \(see)-.1 E F2(Pr)2.5 E(ogrammable Completion)-.18 E F1(belo)
-2.5 E(w\).)-.25 E F2(COMP_LINE)108 468 Q F1 1.207
-(The current command line.)144 480 R 1.208(This v)6.208 F 1.208
-(ariable is a)-.25 F -.25(va)-.2 G 1.208
-(ilable only in shell functions and e).25 F 1.208(xternal com-)-.15 F
-1.037(mands in)144 492 R -.2(vo)-.4 G -.1(ke).2 G 3.537(db).1 G 3.537
-(yt)-3.537 G 1.037(he programmable completion f)-3.537 F 1.037
-(acilities \(see)-.1 F F2(Pr)3.537 E 1.037(ogrammable Completion)-.18 F
-F1(be-)3.537 E(lo)144 504 Q(w\).)-.25 E F2(COMP_POINT)108 516 Q F1 .666
-(The inde)144 528 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666
-(he current cursor position relati)-3.166 F .966 -.15(ve t)-.25 H 3.166
-(ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15
-F .667(If the)5.667 F .535
-(current cursor position is at the end of the current command, the v)144
-540 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F2
-(${#COMP_LINE})144 552 Q F1 5.704(.T)C .704(his v)-5.704 F .704
-(ariable is a)-.25 F -.25(va)-.2 G .704
-(ilable only in shell functions and e).25 F .705(xternal commands in-)
--.15 F -.2(vo)144 564 S -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
-(he programmable completion f)-2.5 E(acilities \(see)-.1 E F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F1(belo)2.5 E(w\).)-.25 E F2(COMP_TYPE)108
-576 Q F1 .042(Set to an inte)144 588 R .042(ger v)-.15 F .041(alue corr\
-esponding to the type of attempted completion that caused a completion)
--.25 F .337(function to be called:)144 600 R F0 -.5(TA)2.837 G(B).5 E F1
-2.837(,f)C .337(or normal completion,)-2.837 F F0(?)2.837 E F1 2.837(,f)
-C .337(or listing completions after successi)-2.837 F .638 -.15(ve t)
--.25 H(abs,).15 E F0(!)144 612 Q F1 3.068(,f)C .567
-(or listing alternati)-3.068 F -.15(ve)-.25 G 3.067(so).15 G 3.067(np)
--3.067 G .567(artial w)-3.067 F .567(ord completion,)-.1 F F0(@)3.067 E
-F1 3.067(,t)C 3.067(ol)-3.067 G .567(ist completions if the w)-3.067 F
-.567(ord is not un-)-.1 F .417(modi\214ed, or)144 624 R F0(%)2.917 E F1
-2.917(,f)C .417(or menu completion.)-2.917 F .417(This v)5.417 F .417
-(ariable is a)-.25 F -.25(va)-.2 G .418
-(ilable only in shell functions and e).25 F(xter)-.15 E(-)-.2 E .704
-(nal commands in)144 636 R -.2(vo)-.4 G -.1(ke).2 G 3.204(db).1 G 3.204
-(yt)-3.204 G .704(he programmable completion f)-3.204 F .704
-(acilities \(see)-.1 F F2(Pr)3.204 E .704(ogrammable Comple-)-.18 F
-(tion)144 648 Q F1(belo)2.5 E(w\).)-.25 E F2(COMP_W)108 660 Q(ORDBREAKS)
--.1 E F1 1.335(The set of characters that the)144 672 R F2 -.18(re)3.836
-G(adline).18 E F1 1.336(library treats as w)3.836 F 1.336
-(ord separators when performing w)-.1 F(ord)-.1 E 3.126(completion. If)
-144 684 R F3(COMP_W)3.126 E(ORDBREAKS)-.09 E F1 .626
-(is unset, it loses its special properties, e)2.876 F -.15(ve)-.25 G
-3.125(ni).15 G 3.125(fi)-3.125 G 3.125(ti)-3.125 G 3.125(ss)-3.125 G
-(ubse-)-3.125 E(quently reset.)144 696 Q(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(13)190.395 E 0 Cg EP
-%%Page: 14 14
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(COMP_W)108 84 Q(ORDS)-.1 E F1
-.653(An array v)144 96 R .653(ariable \(see)-.25 F F2(Arrays)3.153 E F1
-(belo)3.153 E .654(w\) consisting of the indi)-.25 F .654(vidual w)-.25
-F .654(ords in the current command)-.1 F 3.192(line. The)144 108 R .692
-(line is split into w)3.192 F .692(ords as)-.1 F F2 -.18(re)3.192 G
-(adline).18 E F1 -.1(wo)3.192 G .692(uld split it, using).1 F/F3 9
-/Times-Bold@0 SF(COMP_W)3.192 E(ORDBREAKS)-.09 E F1 .691(as de-)2.942 F
-1.557(scribed abo)144 120 R -.15(ve)-.15 G 6.557(.T).15 G 1.557(his v)
--6.557 F 1.557(ariable is a)-.25 F -.25(va)-.2 G 1.558
-(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 4.058
-(db).1 G 4.058(yt)-4.058 G 1.558(he programmable)-4.058 F(completion f)
-144 132 Q(acilities \(see)-.1 E F2(Pr)2.5 E(ogrammable Completion)-.18 E
-F1(belo)2.5 E(w\).)-.25 E F2(COPR)108 144 Q(OC)-.3 E F1 .169(An array v)
-144 156 R .169(ariable \(see)-.25 F F2(Arrays)2.669 E F1(belo)2.669 E
-.169
-(w\) created to hold the \214le descriptors for output from and input)
--.25 F(to an unnamed coprocess \(see)144 168 Q F2(Copr)2.5 E(ocesses)
--.18 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2(DIRST)108 180 Q -.55(AC)
--.9 G(K).55 E F1 .789(An array v)144 192 R .789(ariable \(see)-.25 F F2
-(Arrays)3.289 E F1(belo)3.289 E .789
-(w\) containing the current contents of the directory stack.)-.25 F(Di-)
-5.79 E .099(rectories appear in the stack in the order the)144 204 R
-2.599(ya)-.15 G .099(re displayed by the)-2.599 F F2(dirs)2.599 E F1 -.2
-(bu)2.599 G 2.598(iltin. Assigning).2 F .098(to mem-)2.598 F .84
-(bers of this array v)144 216 R .84
-(ariable may be used to modify directories already in the stack, b)-.25
-F .84(ut the)-.2 F F2(pushd)3.34 E F1(and)144 228 Q F2(popd)3.451 E F1
--.2(bu)3.451 G .951(iltins must be used to add and remo).2 F 1.251 -.15
-(ve d)-.15 H 3.45(irectories. Assignment).15 F .95(to this v)3.45 F .95
-(ariable will)-.25 F .378(not change the current directory)144 240 R
-5.378(.I)-.65 G(f)-5.378 E F3(DIRST)2.878 E -.495(AC)-.81 G(K).495 E F1
-.379(is unset, it loses its special properties, e)2.628 F -.15(ve)-.25 G
-2.879(ni).15 G 2.879(fi)-2.879 G 2.879(ti)-2.879 G(s)-2.879 E
-(subsequently reset.)144 252 Q F2(EPOCHREAL)108 264 Q(TIME)-.92 E F1
-.338(Each time this parameter is referenced, it e)144 276 R .337
-(xpands to the number of seconds since the Unix Epoch)-.15 F(\(see)144
-288 Q F0(time)2.98 E F1 .35(\(3\)\) as a \215oating-point v).18 F .351
-(alue with micro-second granularity)-.25 F 5.351(.A)-.65 G .351
-(ssignments to)-5.351 F F3(EPOCHRE-)2.851 E(AL)144 300 Q(TIME)-.828 E F1
-1.091(are ignored.)3.341 F(If)6.091 E F3(EPOCHREAL)3.59 E(TIME)-.828 E
-F1 1.09(is unset, it loses its special properties, e)3.34 F -.15(ve)-.25
-G 3.59(ni).15 G 3.59(fi)-3.59 G 3.59(ti)-3.59 G(s)-3.59 E
-(subsequently reset.)144 312 Q F2(EPOCHSECONDS)108 324 Q F1 .337
-(Each time this parameter is referenced, it e)144 336 R .338
-(xpands to the number of seconds since the Unix Epoch)-.15 F(\(see)144
-348 Q F0(time)4.144 E F1 4.014(\(3\)\). Assignments).18 F(to)4.014 E F3
-(EPOCHSECONDS)4.014 E F1 1.513(are ignored.)3.764 F(If)6.513 E F3
-(EPOCHSECONDS)4.013 E F1 1.513(is unset, it)3.763 F
-(loses its special properties, e)144 360 Q -.15(ve)-.25 G 2.5(ni).15 G
-2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F2
-(EUID)108 372 Q F1 1.103(Expands to the ef)144 372 R(fecti)-.25 E 1.403
--.15(ve u)-.25 H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G
-1.103(nitialized at shell startup.)-3.603 F 1.104(This v)6.103 F 1.104
-(ariable is)-.25 F(readonly)144 384 Q(.)-.65 E F2(FUNCN)108 396 Q(AME)
--.2 E F1 .479(An array v)144 408 R .479
-(ariable containing the names of all shell functions currently in the e)
--.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276
-(The element with inde)144 420 R 2.776(x0i)-.15 G 2.776(st)-2.776 G .276
-(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)-.15
-G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F .065
-(element \(the one with the highest inde)144 432 R .065
-(x\) is \231main\232.)-.15 F .065(This v)5.065 F .065(ariable e)-.25 F
-.065(xists only when a shell function)-.15 F .002(is e)144 444 R -.15
-(xe)-.15 G 2.502(cuting. Assignments).15 F(to)2.502 E F3(FUNCN)2.502 E
-(AME)-.18 E F1(ha)2.252 E .302 -.15(ve n)-.2 H 2.502(oe).15 G -.25(ff)
--2.502 G 2.502(ect. If).25 F F3(FUNCN)2.502 E(AME)-.18 E F1 .003
-(is unset, it loses its spe-)2.252 F(cial properties, e)144 456 Q -.15
-(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E .111(This v)144 472.8 R .111
-(ariable can be used with)-.25 F F2 -.3(BA)2.611 G(SH_LINENO).3 E F1
-(and)2.611 E F2 -.3(BA)2.611 G(SH_SOURCE).3 E F1 5.111(.E)C .111
-(ach element of)-5.111 F F2(FUNC-)2.61 E -.2(NA)144 484.8 S(ME).2 E F1
-1.404(has corresponding elements in)3.904 F F2 -.3(BA)3.904 G(SH_LINENO)
-.3 E F1(and)3.904 E F2 -.3(BA)3.904 G(SH_SOURCE).3 E F1 1.404
-(to describe the)3.904 F .012(call stack.)144 496.8 R -.15(Fo)5.012 G
-2.512(ri).15 G(nstance,)-2.512 E F2(${FUNCN)2.512 E(AME[)-.2 E F0($i)A
-F2(]})A F1 -.1(wa)2.512 G 2.512(sc).1 G .012(alled from the \214le)
--2.512 F F2(${B)2.512 E(ASH_SOURCE[)-.3 E F0($i+1)A F2(]})A F1 1.183
-(at line number)144 508.8 R F2(${B)3.683 E(ASH_LINENO[)-.3 E F0($i)A F2
-(]})A F1 6.183(.T)C(he)-6.183 E F2(caller)3.683 E F1 -.2(bu)3.683 G
-1.184(iltin displays the current call stack using).2 F
-(this information.)144 520.8 Q F2(GR)108 532.8 Q(OUPS)-.3 E F1 1.229
-(An array v)144 544.8 R 1.228(ariable containing the list of groups of \
-which the current user is a member)-.25 F 6.228(.A)-.55 G(ssign-)-6.228
-E .571(ments to)144 556.8 R F3(GR)3.071 E(OUPS)-.27 E F1(ha)2.822 E .872
--.15(ve n)-.2 H 3.072(oe).15 G -.25(ff)-3.072 G 3.072(ect. If).25 F F3
-(GR)3.072 E(OUPS)-.27 E F1 .572
-(is unset, it loses its special properties, e)2.822 F -.15(ve)-.25 G
-3.072(ni).15 G 3.072(fi)-3.072 G 3.072(ti)-3.072 G(s)-3.072 E
-(subsequently reset.)144 568.8 Q F2(HISTCMD)108 580.8 Q F1 2.811
-(The history number)144 592.8 R 5.311(,o)-.4 G 5.311(ri)-5.311 G(nde)
--5.311 E 5.311(xi)-.15 G 5.311(nt)-5.311 G 2.811
-(he history list, of the current command.)-5.311 F 2.81(Assignments to)
-7.81 F F3(HISTCMD)144 604.8 Q F1 1.134(are ignored.)3.384 F(If)6.134 E
-F3(HISTCMD)3.634 E F1 1.135
-(is unset, it loses its special properties, e)3.385 F -.15(ve)-.25 G
-3.635(ni).15 G 3.635(fi)-3.635 G 3.635(ti)-3.635 G 3.635(ss)-3.635 G
-(ubse-)-3.635 E(quently reset.)144 616.8 Q F2(HOSTN)108 628.8 Q(AME)-.2
-E F1(Automatically set to the name of the current host.)144 640.8 Q F2
-(HOSTTYPE)108 652.8 Q F1 .223(Automatically set to a string that unique\
-ly describes the type of machine on which)144 664.8 R F2(bash)2.722 E F1
-.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 676.8 R
-(def)2.5 E(ault is system-dependent.)-.1 E F2(LINENO)108 688.8 Q F1
-1.408(Each time this parameter is referenced, the shell substitutes a d\
-ecimal number representing the)144 700.8 R .078(current sequential line\
- number \(starting with 1\) within a script or function.)144 712.8 R
-.078(When not in a script or)5.078 F .306(function, the v)144 724.8 R
-.306(alue substituted is not guaranteed to be meaningful.)-.25 F(If)
-5.307 E F3(LINENO)2.807 E F1 .307(is unset, it loses its)2.557 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(14)190.395 E 0 Cg EP
-%%Page: 15 15
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(special properties, e)144 84 Q -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E/F2 10/Times-Bold@0 SF(MA)108 96 Q(CHTYPE)-.55 E F1 .898(Automati\
-cally set to a string that fully describes the system type on which)144
-108 R F2(bash)3.398 E F1 .898(is e)3.398 F -.15(xe)-.15 G .898
-(cuting, in).15 F(the standard GNU)144 120 Q F0(cpu-company-system)2.5 E
-F1 2.5(format. The)2.5 F(def)2.5 E(ault is system-dependent.)-.1 E F2
-(MAPFILE)108 132 Q F1 .293(An array v)144 144 R .293(ariable \(see)-.25
-F F2(Arrays)2.793 E F1(belo)2.793 E .293(w\) created to hold the te)-.25
-F .294(xt read by the)-.15 F F2(map\214le)2.794 E F1 -.2(bu)2.794 G .294
-(iltin when no).2 F -.25(va)144 156 S(riable name is supplied.).25 E F2
-(OLDPWD)108 168 Q F1(The pre)144 180 Q(vious w)-.25 E
-(orking directory as set by the)-.1 E F2(cd)2.5 E F1(command.)2.5 E F2
-(OPT)108 192 Q(ARG)-.9 E F1 1.627(The v)144 204 R 1.627
-(alue of the last option ar)-.25 F 1.627(gument processed by the)-.18 F
-F2(getopts)4.127 E F1 -.2(bu)4.127 G 1.626(iltin command \(see).2 F/F3 9
-/Times-Bold@0 SF(SHELL)4.126 E -.09(BU)144 216 S(IL).09 E(TIN COMMANDS)
--.828 E F1(belo)2.25 E(w\).)-.25 E F2(OPTIND)108 228 Q F1 1.651
-(The inde)144 240 R 4.151(xo)-.15 G 4.151(ft)-4.151 G 1.651(he ne)-4.151
-F 1.651(xt ar)-.15 F 1.652(gument to be processed by the)-.18 F F2
-(getopts)4.152 E F1 -.2(bu)4.152 G 1.652(iltin command \(see).2 F F3
-(SHELL)4.152 E -.09(BU)144 252 S(IL).09 E(TIN COMMANDS)-.828 E F1(belo)
-2.25 E(w\).)-.25 E F2(OSTYPE)108 264 Q F1 .329(Automatically set to a s\
-tring that describes the operating system on which)144 276 R F2(bash)
-2.829 E F1 .329(is e)2.829 F -.15(xe)-.15 G 2.829(cuting. The).15 F(def)
-144 288 Q(ault is system-dependent.)-.1 E F2(PIPEST)108 300 Q -.95(AT)
--.9 G(US).95 E F1 .61(An array v)144 312 R .61(ariable \(see)-.25 F F2
-(Arrays)3.11 E F1(belo)3.11 E .61(w\) containing a list of e)-.25 F .61
-(xit status v)-.15 F .61(alues from the processes in)-.25 F 1.602
-(the most-recently-e)144 324 R -.15(xe)-.15 G 1.602(cuted fore).15 F
-1.602(ground pipeline, which may consist of only a simple command)-.15 F
-(\(see)144 336 Q F2(SHELL GRAMMAR)2.5 E F1(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E F2(PPID)108 348 Q F1(The process ID of the shell')144 348 Q 2.5
-(sp)-.55 G 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E
-(.)-.65 E F2(PWD)108 360 Q F1(The current w)144 360 Q
-(orking directory as set by the)-.1 E F2(cd)2.5 E F1(command.)2.5 E F2
-(RANDOM)108 372 Q F1 .417(Each time this parameter is referenced, it e)
-144 384 R .417(xpands to a random inte)-.15 F .417
-(ger between 0 and 32767.)-.15 F(As-)5.417 E .125(signing a v)144 396 R
-.125(alue to)-.25 F F3(RANDOM)2.625 E F1 .124
-(initializes \(seeds\) the sequence of random numbers.)2.374 F .124
-(Seeding the ran-)5.124 F .309
-(dom number generator with the same constant v)144 408 R .31
-(alue will produce the same sequence of v)-.25 F 2.81(alues. If)-.25 F
-F3(RANDOM)144 420 Q F1(is unset, it loses its special properties, e)2.25
-E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F2(READLINE_ARGUMENT)108 432 Q F1(An)144 444
-Q 4.665(yn)-.15 G 2.165(umeric ar)-4.665 F 2.165(gument gi)-.18 F -.15
-(ve)-.25 G 4.665(nt).15 G 4.665(oa)-4.665 G F2 -.18(re)C(adline).18 E F1
-2.165(command that w)4.665 F 2.165
-(as de\214ned using \231bind \255x\232 \(see)-.1 F F3(SHELL B)144 456 Q
-(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\) when it w)-.25 E
-(as in)-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F2(READLINE_LINE)108 468 Q
-F1 1.693(The contents of the)144 480 R F2 -.18(re)4.193 G(adline).18 E
-F1 1.693(line b)4.193 F(uf)-.2 E(fer)-.25 E 4.193(,f)-.4 G 1.694
-(or use with \231bind \255x\232 \(see)-4.193 F F3 1.694(SHELL B)4.194 F
-(UIL)-.09 E 1.694(TIN COM-)-.828 F(MANDS)144 492 Q F1(belo)2.25 E(w\).)
--.25 E F2(READLINE_MARK)108 504 Q F1 .236(The position of the mark \(sa)
-144 516 R -.15(ve)-.2 G 2.736(di).15 G .236(nsertion point\) in the)
--2.736 F F2 -.18(re)2.736 G(adline).18 E F1 .236(line b)2.736 F(uf)-.2 E
-(fer)-.25 E 2.736(,f)-.4 G .236(or use with \231bind \255x\232)-2.736 F
-(\(see)144 528 Q F3 1.016(SHELL B)3.516 F(UIL)-.09 E 1.016(TIN COMMANDS)
--.828 F F1(belo)3.266 E 3.516(w\). The)-.25 F 1.017
-(characters between the insertion point and the)3.516 F
-(mark are often called the)144 540 Q F0 -.37(re)2.5 G(gion)-.03 E F1(.)A
-F2(READLINE_POINT)108 552 Q F1 .443
-(The position of the insertion point in the)144 564 R F2 -.18(re)2.943 G
-(adline).18 E F1 .443(line b)2.943 F(uf)-.2 E(fer)-.25 E 2.943(,f)-.4 G
-.442(or use with \231bind \255x\232 \(see)-2.943 F F3(SHELL)2.942 E -.09
-(BU)144 576 S(IL).09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25 E
-F2(REPL)108 588 Q(Y)-.92 E F1(Set to the line of input read by the)144
-600 Q F2 -.18(re)2.5 G(ad).18 E F1 -.2(bu)2.5 G
-(iltin command when no ar).2 E(guments are supplied.)-.18 E F2(SECONDS)
-108 612 Q F1 .177(Each time this parameter is referenced, it e)144 624 R
-.178(xpands to the number of seconds since shell in)-.15 F -.2(vo)-.4 G
-(cation.).2 E .713(If a v)144 636 R .712(alue is assigned to)-.25 F F3
-(SECONDS)3.212 E/F4 9/Times-Roman@0 SF(,)A F1 .712(the v)2.962 F .712
-(alue returned upon subsequent references is the number)-.25 F .627
-(of seconds since the assignment plus the v)144 648 R .627
-(alue assigned.)-.25 F .628(The number of seconds at shell in)5.627 F
--.2(vo)-.4 G(ca-).2 E .364(tion and the current time are al)144 660 R
--.1(wa)-.1 G .363
-(ys determined by querying the system clock at one-second reso-).1 F 2.5
-(lution. If)144 672 R F3(SECONDS)2.5 E F1
-(is unset, it loses its special properties, e)2.25 E -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E F2(SHELLOPTS)108 684 Q F1 3.262(Ac)144 696 S .763
-(olon-separated list of enabled shell options.)-3.262 F .763(Each w)
-5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F .763
-(gument for the)-.18 F F2<ad6f>144 708 Q F1 1.174(option to the)3.674 F
-F2(set)3.674 E F1 -.2(bu)3.674 G 1.174(iltin command \(see).2 F F3 1.173
-(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F1(belo)3.423 E
-3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144 720 R F3
-(SHELLOPTS)2.519 E F1 .019(are those reported as)2.269 F F0(on)2.749 E
-F1(by)2.759 E F2 .019(set \255o)2.519 F F1 5.019(.I)C 2.519(ft)-5.019 G
-.019(his v)-2.519 F .02(ariable is in the en)-.25 F(vironment)-.4 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(15)190.395 E 0 Cg EP
-%%Page: 16 16
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(when)144 84 Q/F2 10/Times-Bold@0 SF(bash)2.766 E F1
-.266
-(starts up, the shell enables each option in the list before reading an)
-2.766 F 2.766(ys)-.15 G .265(tartup \214les.)-2.766 F(This)5.265 E -.25
-(va)144 96 S(riable is read-only).25 E(.)-.65 E F2(SHL)108 108 Q(VL)-.92
-E F1(Incremented by one each time an instance of)144 120 Q F2(bash)2.5 E
-F1(is started.)2.5 E F2(SRANDOM)108 132 Q F1 .561
-(Each time it is referenced, this v)144 144 R .561(ariable e)-.25 F .562
-(xpands to a 32-bit pseudo-random number)-.15 F 5.562(.T)-.55 G .562
-(he random)-5.562 F .65
-(number generator is not linear on systems that support)144 156 R F0
-(/de)4.816 E(v/ur)-.15 E(andom)-.15 E F1(or)4.816 E F0(ar)3.48 E(c4r)
--.37 E(andom)-.15 E F1 .649(\(3\), so each).32 F .788
-(returned number has no relationship to the numbers preceding it.)144
-168 R .788(The random number generator)5.788 F .088
-(cannot be seeded, so assignments to this v)144 180 R .087(ariable ha)
--.25 F .387 -.15(ve n)-.2 H 2.587(oe).15 G -.25(ff)-2.587 G 2.587
-(ect. If).25 F/F3 9/Times-Bold@0 SF(SRANDOM)2.587 E F1 .087
-(is unset, it loses its)2.337 F(special properties, e)144 192 Q -.15(ve)
--.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F2(UID)108 204 Q F1
-(Expands to the user ID of the current user)144 204 Q 2.5(,i)-.4 G
-(nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25
-E(.)-.65 E .114(The shell uses the follo)108 220.8 R .114(wing v)-.25 F
-.114(ariables. In some cases,)-.25 F F2(bash)2.614 E F1 .115
-(assigns a def)2.614 F .115(ault v)-.1 F .115(alue to a v)-.25 F .115
-(ariable; these cases)-.25 F(are noted belo)108 232.8 Q -.65(w.)-.25 G
-F2 -.3(BA)108 249.6 S(SH_COMP).3 E -.95(AT)-.74 G F1 .503(The v)144
-261.6 R .502(alue is used to set the shell')-.25 F 3.002(sc)-.55 G .502
-(ompatibility le)-3.002 F -.15(ve)-.25 G 3.002(l. See).15 F F3 .502
-(SHELL COMP)3.002 F -.855(AT)-.666 G .502(IBILITY MODE).855 F F1(be-)
-2.752 E(lo)144 273.6 Q 2.662(wf)-.25 G .162(or a description of the v)
--2.662 F .162(arious compatibility le)-.25 F -.15(ve)-.25 G .162
-(ls and their ef).15 F 2.663(fects. The)-.25 F -.25(va)2.663 G .163
-(lue may be a dec-).25 F .33(imal number \(e.g., 4.2\) or an inte)144
-285.6 R .33
-(ger \(e.g., 42\) corresponding to the desired compatibility le)-.15 F
--.15(ve)-.25 G 2.83(l. If).15 F F2 -.3(BA)144 297.6 S(SH_COMP).3 E -.95
-(AT)-.74 G F1 .86
-(is unset or set to the empty string, the compatibility le)4.31 F -.15
-(ve)-.25 G 3.361(li).15 G 3.361(ss)-3.361 G .861(et to the def)-3.361 F
-(ault)-.1 E .39(for the current v)144 309.6 R 2.89(ersion. If)-.15 F F2
--.3(BA)2.89 G(SH_COMP).3 E -.95(AT)-.74 G F1 .39(is set to a v)3.84 F
-.39(alue that is not one of the v)-.25 F .39(alid compati-)-.25 F .277
-(bility le)144 321.6 R -.15(ve)-.25 G .278
-(ls, the shell prints an error message and sets the compatibility le).15
-F -.15(ve)-.25 G 2.778(lt).15 G 2.778(ot)-2.778 G .278(he def)-2.778 F
-.278(ault for the)-.1 F .628(current v)144 333.6 R 3.128(ersion. A)-.15
-F .627(subset of the v)3.127 F .627(alid v)-.25 F .627
-(alues correspond to the compatibility le)-.25 F -.15(ve)-.25 G .627
-(ls described be-).15 F(lo)144 345.6 Q 2.87(wu)-.25 G(nder)-2.87 E F3
-.37(SHELL COMP)2.87 F -.855(AT)-.666 G .371(IBILITY MODE).855 F/F4 9
-/Times-Roman@0 SF(.)A F1 -.15(Fo)4.871 G 2.871(re).15 G .371
-(xample, 4.2 and 42 are v)-3.021 F .371(alid v)-.25 F .371
-(alues that corre-)-.25 F .55(spond to the)144 357.6 R F2 .55
-(compat42 shopt)3.05 F F1 .549(option and set the compatibility le)3.05
-F -.15(ve)-.25 G 3.049(lt).15 G 3.049(o4)-3.049 G 3.049(2. The)-3.049 F
-.549(current v)3.049 F .549(ersion is)-.15 F(also a v)144 369.6 Q
-(alid v)-.25 E(alue.)-.25 E F2 -.3(BA)108 381.6 S(SH_ENV).3 E F1 .298
-(If this parameter is set when)144 393.6 R F2(bash)2.798 E F1 .298(is e)
-2.798 F -.15(xe)-.15 G .298(cuting a shell script, its e).15 F .299
-(xpanded v)-.15 F .299(alue is interpreted as a)-.25 F .468(\214lename \
-containing commands to initialize the shell before it reads and e)144
-405.6 R -.15(xe)-.15 G .467(cutes commands from).15 F .838(the script.)
-144 417.6 R .838(The v)5.838 F .838(alue of)-.25 F F3 -.27(BA)3.339 G
-(SH_ENV).27 E F1 .839(is subjected to parameter e)3.089 F .839
-(xpansion, command substitution,)-.15 F .922(and arithmetic e)144 429.6
-R .922(xpansion before being interpreted as a \214lename.)-.15 F F3
--.666(PA)5.922 G(TH)-.189 E F1 .922(is not used to search for)3.172 F
-(the resultant \214lename.)144 441.6 Q F2 -.3(BA)108 453.6 S(SH_XTRA).3
-E(CEFD)-.55 E F1 .48(If set to an inte)144 465.6 R .48
-(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F(,)
--.4 E F2(bash)2.981 E F1 .481(will write the trace output gener)2.981 F
-(-)-.2 E 3.306
-(ated when \231set \255x\232 is enabled to that \214le descriptor)144
-477.6 R 8.305(.T)-.55 G 3.305(he \214le descriptor is closed when)-8.305
-F F3 -.27(BA)144 489.6 S(SH_XTRA).27 E(CEFD)-.495 E F1 .138
-(is unset or assigned a ne)2.388 F 2.638(wv)-.25 G 2.638
-(alue. Unsetting)-2.888 F F3 -.27(BA)2.638 G(SH_XTRA).27 E(CEFD)-.495 E
-F1 .138(or assigning it)2.388 F 2.531(the empty string causes the trace\
- output to be sent to the standard error)144 501.6 R 7.53(.N)-.55 G 2.53
-(ote that setting)-7.53 F F3 -.27(BA)144 513.6 S(SH_XTRA).27 E(CEFD)
--.495 E F1 .74(to 2 \(the standard error \214le descriptor\) and then u\
-nsetting it will result in the)2.99 F(standard error being closed.)144
-525.6 Q F2(CDP)108 537.6 Q -.95(AT)-.74 G(H).95 E F1 .554
-(The search path for the)144 549.6 R F2(cd)3.054 E F1 3.054
-(command. This)3.054 F .554
-(is a colon-separated list of directories where the shell)3.054 F
-(looks for directories speci\214ed as ar)144 561.6 Q(guments to the)-.18
-E F2(cd)2.5 E F1 2.5(command. A)2.5 F(sample v)2.5 E
-(alue is \231.:\001:/usr\232.)-.25 E F2(CHILD_MAX)108 573.6 Q F1 .931
-(Set the number of e)144 585.6 R .931(xited child status v)-.15 F .931
-(alues for the shell to remember)-.25 F(.)-.55 E F2(Bash)5.931 E F1 .932
-(will not allo)3.431 F 3.432(wt)-.25 G(his)-3.432 E -.25(va)144 597.6 S
-1.078(lue to be decreased belo).25 F 3.577(waP)-.25 G 1.077
-(OSIX-mandated minimum, and there is a maximum v)-3.577 F 1.077
-(alue \(cur)-.25 F(-)-.2 E(rently 8192\) that this may not e)144 609.6 Q
-2.5(xceed. The)-.15 F(minimum v)2.5 E(alue is system-dependent.)-.25 E
-F2(COLUMNS)108 621.6 Q F1 .828(Used by the)144 633.6 R F2(select)3.328 E
-F1 .829(compound command to determine the terminal width when printing \
-selection)3.328 F 3.466(lists. Automatically)144 645.6 R .966
-(set if the)3.466 F F2(checkwinsize)3.466 E F1 .966
-(option is enabled or in an interacti)3.466 F 1.266 -.15(ve s)-.25 H
-.966(hell upon re-).15 F(ceipt of a)144 657.6 Q F3(SIGWINCH)2.5 E F4(.)A
-F2(COMPREPL)108 669.6 Q(Y)-.92 E F1 .847(An array v)144 681.6 R .848
-(ariable from which)-.25 F F2(bash)3.348 E F1 .848
-(reads the possible completions generated by a shell function)3.348 F
-(in)144 693.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.785(db).1 G 2.785(yt)-2.785 G
-.285(he programmable completion f)-2.785 F .285(acility \(see)-.1 F F2
-(Pr)2.785 E .285(ogrammable Completion)-.18 F F1(belo)2.785 E 2.785
-(w\). Each)-.25 F(array element contains one possible completion.)144
-705.6 Q(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(16)190.395 E 0
-Cg EP
-%%Page: 17 17
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(EMA)108 84 Q(CS)-.55 E F1(If)
-144 96 Q F2(bash)3.07 E F1 .57(\214nds this v)3.07 F .57
-(ariable in the en)-.25 F .571(vironment when the shell starts with v)
--.4 F .571(alue \231t\232, it assumes that)-.25 F
-(the shell is running in an Emacs shell b)144 108 Q(uf)-.2 E
-(fer and disables line editing.)-.25 E F2(ENV)108 120 Q F1 .671
-(Expanded and e)144 120 R -.15(xe)-.15 G .671(cuted similarly to).15 F
-/F3 9/Times-Bold@0 SF -.27(BA)3.17 G(SH_ENV).27 E F1(\(see)2.92 E F2
-(INV)3.17 E(OCA)-.45 E(TION)-.95 E F1(abo)3.17 E -.15(ve)-.15 G 3.17
-(\)w).15 G .67(hen an interacti)-3.17 F -.15(ve)-.25 G(shell is in)144
-132 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G 2.5(np)-2.5 G(osix mode.)-2.5
-E F2(EXECIGNORE)108 144 Q F1 2.791(Ac)144 156 S .291
-(olon-separated list of shell patterns \(see)-2.791 F F2 -.1(Pa)2.791 G
-(tter).1 E 2.791(nM)-.15 G(atching)-2.791 E F1 2.791(\)d)C .292
-(e\214ning the set of \214lenames to be)-2.791 F .117
-(ignored by command search using)144 168 R F2 -.74(PA)2.617 G(TH)-.21 E
-F1 5.117(.F)C .116
-(iles whose full pathnames match one of these patterns)-5.117 F 1.432
-(are not considered e)144 180 R -.15(xe)-.15 G 1.432
-(cutable \214les for the purposes of completion and command e).15 F -.15
-(xe)-.15 G 1.433(cution via).15 F F2 -.74(PA)144 192 S(TH)-.21 E F1
-2.909(lookup. This)2.909 F .408(does not af)2.908 F .408(fect the beha)
--.25 F .408(vior of the)-.2 F F2([)2.908 E F1(,)A F2(test)2.908 E F1
-2.908(,a)C(nd)-2.908 E F2([[)2.908 E F1 2.908(commands. Full)2.908 F
-(pathnames)2.908 E .364(in the command hash table are not subject to)144
-204 R F2(EXECIGNORE)2.864 E F1 5.364(.U)C .364(se this v)-5.364 F .364
-(ariable to ignore shared)-.25 F 1.37(library \214les that ha)144 216 R
-1.67 -.15(ve t)-.2 H 1.37(he e).15 F -.15(xe)-.15 G 1.37
-(cutable bit set, b).15 F 1.37(ut are not e)-.2 F -.15(xe)-.15 G 1.37
-(cutable \214les.).15 F 1.37(The pattern matching)6.37 F
-(honors the setting of the)144 228 Q F2(extglob)2.5 E F1(shell option.)
-2.5 E F2(FCEDIT)108 240 Q F1(The def)144 252 Q(ault editor for the)-.1 E
-F2(fc)2.5 E F1 -.2(bu)2.5 G(iltin command.).2 E F2(FIGNORE)108 264 Q F1
-2.598(Ac)144 276 S .098(olon-separated list of suf)-2.598 F<8c78>-.25 E
-.098(es to ignore when performing \214lename completion \(see)-.15 F F3
-(READLINE)2.599 E F1(belo)144 288 Q 2.705(w\). A)-.25 F .205
-(\214lename whose suf)2.705 F .205(\214x matches one of the entries in)
--.25 F F3(FIGNORE)2.705 E F1 .205(is e)2.455 F .204
-(xcluded from the list)-.15 F(of matched \214lenames.)144 300 Q 2.5(As)5
-G(ample v)-2.5 E(alue is \231.o:\001\232.)-.25 E F2(FUNCNEST)108 312 Q
-F1 .23(If set to a numeric v)144 324 R .231
-(alue greater than 0, de\214nes a maximum function nesting le)-.25 F
--.15(ve)-.25 G 2.731(l. Function).15 F(in)2.731 E -.2(vo)-.4 G(-).2 E
-(cations that e)144 336 Q(xceed this nesting le)-.15 E -.15(ve)-.25 G
-2.5(lw).15 G(ill cause the current command to abort.)-2.5 E F2
-(GLOBIGNORE)108 348 Q F1 2.924(Ac)144 360 S .423(olon-separated list of\
- patterns de\214ning the set of \214le names to be ignored by pathname \
-e)-2.924 F(xpan-)-.15 E 2.947(sion. If)144 372 R 2.947<618c>2.947 G .447
-(le name matched by a pathname e)-2.947 F .448
-(xpansion pattern also matches one of the patterns in)-.15 F F3
-(GLOBIGNORE)144 384 Q/F4 9/Times-Roman@0 SF(,)A F1 .14(it is remo)2.39 F
--.15(ve)-.15 G 2.64(df).15 G .14(rom the list of matches.)-2.64 F .139
-(The pattern matching honors the setting of)5.14 F(the)144 396 Q F2
-(extglob)2.5 E F1(shell option.)2.5 E F2(GLOBSOR)108 408 Q(T)-.4 E F1
-.075(Controls ho)144 420 R 2.575(wt)-.25 G .075
-(he results of pathname e)-2.575 F .075(xpansion are sorted.)-.15 F .075
-(The v)5.075 F .076(alue of this v)-.25 F .076(ariable speci\214es the)
--.25 F .36(sort criteria and sort order for the results of pathname e)
-144 432 R 2.859(xpansion. If)-.15 F .359(this v)2.859 F .359
-(ariable is unset or set to)-.25 F .655(the null string, pathname e)144
-444 R .655(xpansion uses the historical beha)-.15 F .655
-(vior of sorting by name, in ascending)-.2 F(le)144 456 Q
-(xicographic order as determined by the)-.15 E F2(LC_COLLA)2.5 E(TE)-.95
-E F1(shell v)2.5 E(ariable.)-.25 E .03(If set, a v)144 472.8 R .03
-(alid v)-.25 F .03(alue be)-.25 F .03(gins with an optional)-.15 F F0(+)
-2.53 E F1 2.529(,w)C .029(hich is ignored, or)-2.529 F F0<ad>2.529 E F1
-2.529(,w)C .029(hich re)-2.529 F -.15(ve)-.25 G .029
-(rses the sort order).15 F 1.303(from ascending to descending, follo)144
-484.8 R 1.303(wed by a sort speci\214er)-.25 F 6.304(.T)-.55 G 1.304
-(he v)-6.304 F 1.304(alid sort speci\214ers are)-.25 F F0(name)4.164 E
-F1(,).18 E F0(numeric)144 496.8 Q F1(,).31 E F0(size)3.921 E F1(,).18 E
-F0(mtime)3.961 E F1(,).18 E F0(atime)3.911 E F1(,).18 E F0(ctime)3.781 E
-F1 3.581(,a).18 G(nd)-3.581 E F0(bloc)3.851 E(ks)-.2 E F1 3.581(,w).27 G
-1.08(hich sort the \214les on name, names in numeric)-3.581 F .979
-(rather than le)144 508.8 R .979(xicographic order)-.15 F 3.479<2c8c>-.4
-G .979
-(le size, modi\214cation time, access time, inode change time, and)
--3.479 F .894(number of blocks, respecti)144 520.8 R -.15(ve)-.25 G(ly)
-.15 E 5.894(.I)-.65 G 3.394(fa)-5.894 G 1.194 -.15(ny o)-3.394 H 3.394
-(ft).15 G .894(he non-name k)-3.394 F -.15(ey)-.1 G 3.394(sc).15 G .893
-(ompare as equal \(e.g., if tw)-3.394 F 3.393<6f8c>-.1 G(les)-3.393 E
-(are the same size\), sorting uses the name as a secondary sort k)144
-532.8 Q -.15(ey)-.1 G(.)-.5 E -.15(Fo)144 549.6 S 2.692(re).15 G .192
-(xample, a v)-2.842 F .192(alue of)-.25 F F0(\255mtime)2.692 E F1 .192
-(sorts the results in descending order by modi\214cation time \(ne)2.692
-F(west)-.25 E(\214rst\).)144 561.6 Q(The)144 578.4 Q F0(numeric)3.844 E
-F1 1.344(speci\214er treats names consisting solely of digits as number\
-s and sorts them using)3.844 F .303(their numeric v)144 590.4 R .303
-(alue \(so \2312\232 will sort before \23110\232, for e)-.25 F 2.804
-(xample\). When)-.15 F(using)2.804 E F0(numeric)2.804 E F1 2.804(,n)C
-.304(ames con-)-2.804 F .274(taining non-digits sort after all the all-\
-digit names and are sorted by name using the traditional be-)144 602.4 R
-(ha)144 614.4 Q(vior)-.2 E(.)-.55 E 2.643(As)144 631.2 S .143
-(ort speci\214er of)-2.643 F F0(nosort)2.643 E F1 .144
-(disables sorting completely;)2.644 F F2(bash)2.644 E F1 .144
-(returns the results in the order the)2.644 F 2.644(ya)-.15 G(re)-2.644
-E(read from the \214le system, ignoring an)144 643.2 Q 2.5(yl)-.15 G
-(eading)-2.5 E F0<ad>2.5 E F1(.)A .52
-(If the sort speci\214er is missing, it def)144 660 R .52(aults to)-.1 F
-F0(name)3.02 E F1 3.02(,s)C 3.02(oav)-3.02 G .52(alue of)-3.27 F F0(+)
-3.02 E F1 .52(is equi)3.02 F -.25(va)-.25 G .52
-(lent to the null string,).25 F .482(and a v)144 672 R .482(alue of)-.25
-F F0(-)2.982 E F1 .482(sorts by name in descending order)2.982 F 5.482
-(.A)-.55 G .783 -.15(ny i)-5.482 H -1.95 -.4(nv a).15 H .483(lid v).4 F
-.483(alue restores the historical sort-)-.25 F(ing beha)144 684 Q(vior)
--.2 E(.)-.55 E F2(HISTCONTR)108 696 Q(OL)-.3 E F1 2.654(Ac)144 708 S
-.153(olon-separated list of v)-2.654 F .153(alues controlling ho)-.25 F
-2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15
-G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .153(If the list)
-5.153 F 1.689(of v)144 720 R 1.689(alues includes)-.25 F F0(ignor)4.199
-E(espace)-.37 E F1 4.189(,l).18 G 1.689(ines which be)-4.189 F 1.689
-(gin with a)-.15 F F2(space)4.189 E F1 1.69(character are not sa)4.189 F
--.15(ve)-.2 G 4.19(di).15 G 4.19(nt)-4.19 G(he)-4.19 E(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(17)190.395 E 0 Cg EP
-%%Page: 18 18
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.645(history list.)144 84 R 4.145(Av)6.645 G 1.645
-(alue of)-4.395 F F0(ignor)4.155 E(edups)-.37 E F1 1.645
-(causes lines matching the pre)4.415 F 1.644
-(vious history entry not to be)-.25 F(sa)144 96 Q -.15(ve)-.2 G 2.831
-(d. A).15 F -.25(va)2.831 G .331(lue of).25 F F0(ignor)2.841 E(eboth)
--.37 E F1 .331(is shorthand for)3.111 F F0(ignor)2.831 E(espace)-.37 E
-F1(and)2.832 E F0(ignor)2.832 E(edups)-.37 E F1 5.332(.A)C -.25(va)-2.5
-G .332(lue of).25 F F0(er)3.022 E(asedups)-.15 E F1 .622(causes all pre)
-144 108 R .621(vious lines matching the current line to be remo)-.25 F
--.15(ve)-.15 G 3.121(df).15 G .621(rom the history list before that)
--3.121 F .541(line is sa)144 120 R -.15(ve)-.2 G 3.041(d. An).15 F 3.041
-(yv)-.15 G .541(alue not in the abo)-3.291 F .841 -.15(ve l)-.15 H .541
-(ist is ignored.).15 F(If)5.542 E/F2 9/Times-Bold@0 SF(HISTCONTR)3.042 E
-(OL)-.27 E F1 .542(is unset, or does not)2.792 F .613(include a v)144
-132 R .612(alid v)-.25 F .612
-(alue, all lines read by the shell parser are sa)-.25 F -.15(ve)-.2 G
-3.112(do).15 G 3.112(nt)-3.112 G .612(he history list, subject to the)
--3.112 F -.25(va)144 144 S .332(lue of).25 F F2(HISTIGNORE)2.832 E/F3 9
-/Times-Roman@0 SF(.)A F1 .332
-(The second and subsequent lines of a multi-line compound command are)
-4.832 F .622(not tested, and are added to the history re)144 156 R -.05
-(ga)-.15 G .621(rdless of the v).05 F .621(alue of)-.25 F F2(HISTCONTR)
-3.121 E(OL)-.27 E F1 .621(if the \214rst line)2.871 F .402
-(of the command w)144 168 R .402(as sa)-.1 F -.15(ve)-.2 G 2.902(d. If)
-.15 F .402(the \214rst line w)2.902 F .402(as not sa)-.1 F -.15(ve)-.2 G
-.403(d, the second and subsequent lines of the).15 F(command are not sa)
-144 180 Q -.15(ve)-.2 G 2.5(de).15 G(ither)-2.5 E(.)-.55 E/F4 10
-/Times-Bold@0 SF(HISTFILE)108 192 Q F1 .818
-(The name of the \214le in which command history is sa)144 204 R -.15
-(ve)-.2 G 3.317(d\().15 G(see)-3.317 E F2(HIST)3.317 E(OR)-.162 E(Y)
--.315 E F1(belo)3.067 E(w\).)-.25 E F4(Bash)5.817 E F1 .817(assigns a)
-3.317 F(def)144 216 Q .463(ault v)-.1 F .463(alue of)-.25 F F0
-(\001/.bash_history)4.629 E F1 5.463(.I)1.666 G(f)-5.463 E F4(HISTFILE)
-2.963 E F1 .464(is unset or null, the shell does not sa)2.963 F .764
--.15(ve t)-.2 H .464(he com-).15 F(mand history when it e)144 228 Q
-(xits.)-.15 E F4(HISTFILESIZE)108 240 Q F1 1.623
-(The maximum number of lines contained in the history \214le.)144 252 R
-1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144
-264 S .124(lue, the history \214le is truncated, if necessary).25 F
-2.624(,t)-.65 G 2.624(oc)-2.624 G .125
-(ontain no more than that number of lines by re-)-2.624 F(mo)144 276 Q
-.066(ving the oldest entries.)-.15 F .065(The history \214le is also tr\
-uncated to this size after writing it when a shell)5.066 F -.15(ex)144
-288 S .407(its or by the).15 F F4(history)2.908 E F1 -.2(bu)2.908 G
-2.908(iltin. If).2 F .408(the v)2.908 F .408
-(alue is 0, the history \214le is truncated to zero size.)-.25 F
-(Non-nu-)5.408 E .406(meric v)144 300 R .406(alues and numeric v)-.25 F
-.405(alues less than zero inhibit truncation.)-.25 F .405
-(The shell sets the def)5.405 F .405(ault v)-.1 F(alue)-.25 E(to the v)
-144 312 Q(alue of)-.25 E F4(HISTSIZE)2.5 E F1(after reading an)2.5 E 2.5
-(ys)-.15 G(tartup \214les.)-2.5 E F4(HISTIGNORE)108 324 Q F1 2.657(Ac)
-144 336 S .157(olon-separated list of patterns used to decide which com\
-mand lines should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)
--2.658 G .158(he his-)-2.658 F .997(tory list.)144 348 R .997
-(If a command line matches one of the patterns in the v)5.997 F .996
-(alue of)-.25 F F2(HISTIGNORE)3.496 E F3(,)A F1 .996(it is not)3.246 F
-(sa)144 360 Q -.15(ve)-.2 G 2.771(do).15 G 2.771(nt)-2.771 G .271
-(he history list.)-2.771 F .271(Each pattern is anchored at the be)5.271
-F .271(ginning of the line and must match the)-.15 F .26
-(complete line \()144 372 R F4(bash)A F1 .26(will not)2.76 F .259
-(implicitly append a \231)5.26 F F4(*)A F1 2.759(\232\). Each)B .259
-(pattern is tested ag)2.759 F .259(ainst the line after)-.05 F 2.252
-(the checks speci\214ed by)144 384 R F2(HISTCONTR)4.752 E(OL)-.27 E F1
-2.252(are applied.)4.502 F 2.252
-(In addition to the normal shell pattern)7.252 F .275
-(matching characters, \231)144 396 R F4(&)A F1 2.775<9a6d>C .275
-(atches the pre)-2.775 F .274(vious history line.)-.25 F 2.774(Ab)5.274
-G .274(ackslash will escape the \231)-2.774 F F4(&)A F1 .274(\232; the)B
-.375(backslash is remo)144 408 R -.15(ve)-.15 G 2.875(db).15 G .375
-(efore attempting a match.)-2.875 F .375
-(The second and subsequent lines of a multi-line)5.375 F 2.472
-(compound command are not tested, and are added to the history re)144
-420 R -.05(ga)-.15 G 2.472(rdless of the v).05 F 2.472(alue of)-.25 F F2
-(HISTIGNORE)144 432 Q F3(.)A F1 .074(If the \214rst line w)4.574 F .074
-(as not sa)-.1 F -.15(ve)-.2 G .074
-(d, the second and subsequent lines of the command are).15 F(not sa)144
-444 Q -.15(ve)-.2 G 2.5(de).15 G(ither)-2.5 E 5(.T)-.55 G
-(he pattern matching honors the setting of the)-5 E F4(extglob)2.5 E F1
-(shell option.)2.5 E F4(HISTSIZE)108 456 Q F1 1.387
-(The number of commands to remember in the command history \(see)144 468
-R F2(HIST)3.887 E(OR)-.162 E(Y)-.315 E F1(belo)3.637 E 3.887(w\). If)
--.25 F(the)3.887 E -.25(va)144 480 S 1.32(lue is 0, commands are not sa)
-.25 F -.15(ve)-.2 G 3.82(di).15 G 3.821(nt)-3.82 G 1.321
-(he history list.)-3.821 F 1.321(Numeric v)6.321 F 1.321
-(alues less than zero result in)-.25 F -2.15 -.25(ev e)144 492 T .437
-(ry command being sa).25 F -.15(ve)-.2 G 2.937(do).15 G 2.937(nt)-2.937
-G .437(he history list \(there is no limit\).)-2.937 F .436
-(The shell sets the def)5.436 F .436(ault v)-.1 F(alue)-.25 E
-(to 500 after reading an)144 504 Q 2.5(ys)-.15 G(tartup \214les.)-2.5 E
-F4(HISTTIMEFORMA)108 516 Q(T)-.95 E F1 .925(If this v)144 528 R .925
-(ariable is set and not null, its v)-.25 F .926
-(alue is used as a format string for)-.25 F F0(strftime)3.766 E F1 .926
-(\(3\) to print the).18 F .673
-(time stamp associated with each history entry displayed by the)144 540
-R F4(history)3.173 E F1 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v)
-3.172 F .672(ariable is)-.25 F .454
-(set, the shell writes time stamps to the history \214le so the)144 552
-R 2.954(ym)-.15 G .454(ay be preserv)-2.954 F .455
-(ed across shell sessions.)-.15 F(This uses the history comment charact\
-er to distinguish timestamps from other history lines.)144 564 Q F4
-(HOME)108 576 Q F1 1.27(The home directory of the current user; the def)
-144 588 R 1.27(ault ar)-.1 F 1.27(gument for the)-.18 F F4(cd)3.77 E F1
--.2(bu)3.77 G 1.27(iltin command.).2 F(The)6.27 E -.25(va)144 600 S
-(lue of this v).25 E(ariable is also used when performing tilde e)-.25 E
-(xpansion.)-.15 E F4(HOSTFILE)108 612 Q F1 1.015
-(Contains the name of a \214le in the same format as)144 624 R F0
-(/etc/hosts)5.181 E F1 1.015(that should be read when the shell)5.181 F
-.551(needs to complete a hostname.)144 636 R .551
-(The list of possible hostname completions may be changed while)5.551 F
-1.058(the shell is running; the ne)144 648 R 1.059
-(xt time hostname completion is attempted after the v)-.15 F 1.059
-(alue is changed,)-.25 F F4(bash)144 660 Q F1 .138
-(adds the contents of the ne)2.639 F 2.638<778c>-.25 G .138(le to the e)
--2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F1
-.138(is set, b)2.388 F .138(ut has no v)-.2 F .138(alue, or)-.25 F .517
-(does not name a readable \214le,)144 672 R F4(bash)3.017 E F1 .517
-(attempts to read)3.017 F F0(/etc/hosts)4.684 E F1 .518
-(to obtain the list of possible host-)4.684 F(name completions.)144 684
-Q(When)5 E F2(HOSTFILE)2.5 E F1(is unset, the hostname list is cleared.)
-2.25 E F4(IFS)108 696 Q F1(The)144 696 Q F0 .556(Internal F)3.636 F .556
-(ield Separ)-.45 F(ator)-.15 E F1 .556(that is used for w)3.786 F .556
-(ord splitting after e)-.1 F .555(xpansion and to split lines into)-.15
-F -.1(wo)144 708 S .1(rds with the).1 F F4 -.18(re)2.6 G(ad).18 E F1 -.2
-(bu)2.6 G .1(iltin command.).2 F -.8(Wo)5.1 G .1
-(rd splitting is described abo).8 F .401 -.15(ve u)-.15 H(nder).15 E F2
-(EXP)2.601 E(ANSION)-.666 E F3(.)A F1(The)4.601 E(def)144 720 Q(ault v)
--.1 E(alue is \231<space><tab><ne)-.25 E(wline>\232.)-.25 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(18)190.395 E 0 Cg EP
-%%Page: 19 19
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(IGNOREEOF)108 84 Q F1 .503
-(Controls the action of an interacti)144 96 R .803 -.15(ve s)-.25 H .503
-(hell on receipt of an).15 F/F3 9/Times-Bold@0 SF(EOF)3.003 E F1 .503
-(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
-144 108 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3
-(EOF)3.076 E F1 .426
-(characters which must be typed as the \214rst characters)2.676 F .46
-(on an input line before)144 120 R F2(bash)2.96 E F1 -.15(ex)2.96 G 2.96
-(its. If).15 F .46(the v)2.96 F .46(ariable is set b)-.25 F .46
-(ut does not ha)-.2 F .76 -.15(ve a n)-.2 H .46(umeric v).15 F .46
-(alue, or the)-.25 F -.25(va)144 132 S(lue is null, the def).25 E
-(ault v)-.1 E(alue is 10.)-.25 E(If it is unset,)5 E F3(EOF)2.5 E F1
-(signi\214es the end of input to the shell.)2.25 E F2(INPUTRC)108 144 Q
-F1 .111(The \214lename for the)144 156 R F2 -.18(re)2.612 G(adline).18 E
-F1 .112(startup \214le, o)2.612 F -.15(ve)-.15 G .112(rriding the def)
-.15 F .112(ault of)-.1 F F0(\001/.inputr)4.278 E(c)-.37 E F1(\(see)4.278
-E F3(READLINE)2.612 E F1(be-)2.362 E(lo)144 168 Q(w\).)-.25 E F2
-(INSIDE_EMA)108 180 Q(CS)-.55 E F1 .034(If this v)144 192 R .034
-(ariable appears in the en)-.25 F .034(vironment when the shell starts,)
--.4 F F2(bash)2.533 E F1 .033(assumes that it is running in-)2.533 F
-(side an Emacs shell b)144 204 Q(uf)-.2 E
-(fer and may disable line editing, depending on the v)-.25 E(alue of)
--.25 E F2(TERM)2.5 E F1(.)A F2(LANG)108 216 Q F1 1.239
-(Used to determine the locale cate)144 216 R 1.239(gory for an)-.15 F
-3.739(yc)-.15 G(ate)-3.739 E 1.24
-(gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E
-(starting with)144 228 Q F2(LC_)2.5 E F1(.)A F2(LC_ALL)108 240 Q F1 .974
-(This v)144 252 R .974(ariable o)-.25 F -.15(ve)-.15 G .974
-(rrides the v).15 F .973(alue of)-.25 F F3(LANG)3.473 E F1 .973(and an)
-3.223 F 3.473(yo)-.15 G(ther)-3.473 E F2(LC_)3.473 E F1 -.25(va)3.473 G
-.973(riable specifying a locale cate-).25 F(gory)144 264 Q(.)-.65 E F2
-(LC_COLLA)108 276 Q(TE)-.95 E F1 .411(This v)144 288 R .412(ariable det\
-ermines the collation order used when sorting the results of pathname e)
--.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 300 R 1.465
-(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)-.25 G
-1.464(lence classes, and collating sequences).25 F(within pathname e)144
-312 Q(xpansion and pattern matching.)-.15 E F2(LC_CTYPE)108 324 Q F1
-1.935(This v)144 336 R 1.936
-(ariable determines the interpretation of characters and the beha)-.25 F
-1.936(vior of character classes)-.2 F(within pathname e)144 348 Q
-(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 360 Q(GES)-.55 E
-F1(This v)144 372 Q(ariable determines the locale used to translate dou\
-ble-quoted strings preceded by a)-.25 E F2($)2.5 E F1(.)A F2(LC_NUMERIC)
-108 384 Q F1(This v)144 396 Q(ariable determines the locale cate)-.25 E
-(gory used for number formatting.)-.15 E F2(LC_TIME)108 408 Q F1(This v)
-144 420 Q(ariable determines the locale cate)-.25 E
-(gory used for data and time formatting.)-.15 E F2(LINES)108 432 Q F1
-.055(Used by the)144 432 R F2(select)2.555 E F1 .054(compound command t\
-o determine the column length for printing selection lists.)2.555 F .264
-(Automatically set if the)144 444 R F2(checkwinsize)2.764 E F1 .264
-(option is enabled or in an interacti)2.764 F .565 -.15(ve s)-.25 H .265
-(hell upon receipt of a).15 F F3(SIGWINCH)144 456 Q/F4 9/Times-Roman@0
-SF(.)A F2(MAIL)108 468 Q F1 .464(If the v)144 468 R .464
-(alue is set to a \214le or directory name and the)-.25 F F3(MAILP)2.964
-E -.855(AT)-.666 G(H).855 E F1 -.25(va)2.714 G .463(riable is not set,)
-.25 F F2(bash)2.963 E F1(informs)2.963 E(the user of the arri)144 480 Q
--.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G
-(ail in the speci\214ed \214le or Maildir)-2.5 E(-format directory)-.2 E
-(.)-.65 E F2(MAILCHECK)108 492 Q F1 .098(Speci\214es ho)144 504 R 2.598
-(wo)-.25 G .098(ften \(in seconds\))-2.598 F F2(bash)2.598 E F1 .098
-(checks for mail.)2.598 F .098(The def)5.098 F .098(ault is 60 seconds.)
--.1 F .099(When it is time)5.099 F .224(to check for mail, the shell do\
-es so before displaying the primary prompt.)144 516 R .223(If this v)
-5.223 F .223(ariable is unset,)-.25 F(or set to a v)144 528 Q(alue that\
- is not a number greater than or equal to zero, the shell disables mail\
- checking.)-.25 E F2(MAILP)108 540 Q -.95(AT)-.74 G(H).95 E F1 2.99(Ac)
-144 552 S .49(olon-separated list of \214lenames to be check)-2.99 F .49
-(ed for mail.)-.1 F .49(The message to be printed when mail)5.49 F(arri)
-144 564 Q -.15(ve)-.25 G 3.634(si).15 G 3.634(nap)-3.634 G 1.134(articu\
-lar \214le may be speci\214ed by separating the \214lename from the mes\
-sage with a)-3.634 F 2.684(\231?\232. When)144 576 R .184
-(used in the te)2.684 F .184(xt of the message,)-.15 F F2($_)2.684 E F1
--.15(ex)2.684 G .185(pands to the name of the current mail\214le.).15 F
-(Exam-)5.185 E(ple:)144 588 Q/F5 10/Courier-Bold@0 SF(MAILPATH)144 600 Q
-/F6 10/Courier@0 SF(=\010/var/mail/bfox?"You have mail":\001/shell\255m\
-ail?"$_ has mail!"\010)A F2(Bash)144 612 Q F1 .015
-(can be con\214gured to supply a def)2.515 F .015(ault v)-.1 F .015
-(alue for this v)-.25 F .015(ariable \(there is no v)-.25 F .015
-(alue by def)-.25 F .015(ault\), b)-.1 F(ut)-.2 E(the location of the u\
-ser mail \214les that it uses is system dependent \(e.g., /v)144 624 Q
-(ar/mail/)-.25 E F2($USER)A F1(\).)A F2(OPTERR)108 636 Q F1 .389
-(If set to the v)144 648 R .389(alue 1,)-.25 F F2(bash)2.889 E F1 .389
-(displays error messages generated by the)2.889 F F2(getopts)2.89 E F1
--.2(bu)2.89 G .39(iltin command \(see).2 F F3 .36(SHELL B)144 660 R(UIL)
--.09 E .36(TIN COMMANDS)-.828 F F1(belo)2.61 E(w\).)-.25 E F3(OPTERR)
-5.36 E F1 .359(is initialized to 1 each time the shell is in)2.61 F -.2
-(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 672 Q -.15(xe)
--.15 G(cuted.).15 E F2 -.74(PA)108 684 S(TH)-.21 E F1 .587
-(The search path for commands.)144 684 R .588
-(It is a colon-separated list of directories in which the shell looks)
-5.587 F .472(for commands \(see)144 696 R F3 .472(COMMAND EXECUTION)
-2.972 F F1(belo)2.722 E 2.972(w\). A)-.25 F .471
-(zero-length \(null\) directory name in the)2.972 F -.25(va)144 708 S
-.535(lue of).25 F F3 -.666(PA)3.035 G(TH)-.189 E F1 .535
-(indicates the current directory)2.785 F 5.535(.A)-.65 G .535
-(null directory name may appear as tw)-2.5 F 3.036(oa)-.1 G(djacent)
--3.036 E .868(colons, or as an initial or trailing colon.)144 720 R .868
-(The def)5.868 F .867(ault path is system-dependent, and is set by the)
--.1 F(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(19)190.395 E 0 Cg
-EP
-%%Page: 20 20
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(administrator who installs)144 84 Q/F2 10
-/Times-Bold@0 SF(bash)2.5 E F1 5(.A)C(common v)-2.5 E
-(alue is \231/usr/local/bin:/usr/lo-)-.25 E
-(cal/sbin:/usr/bin:/usr/sbin:/bin:/sbin\232.)144 96 Q F2(POSIXL)108 108
-Q(Y_CORRECT)-.92 E F1 .401(If this v)144 120 R .401
-(ariable is in the en)-.25 F .401(vironment when)-.4 F F2(bash)2.901 E
-F1 .402(starts, the shell enters posix mode before reading)2.901 F .011
-(the startup \214les, as if the)144 132 R F2(\255\255posix)2.511 E F1
-(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011
-(If it is set while the shell is)5.011 F(running,)144 144 Q F2(bash)
-3.344 E F1 .844(enables posix mode, as if the command \231set \255o pos\
-ix\232 had been e)3.344 F -.15(xe)-.15 G 3.344(cuted. When).15 F
-(the shell enters posix mode, it sets this v)144 156 Q(ariable if it w)
--.25 E(as not already set.)-.1 E F2(PR)108 168 Q(OMPT_COMMAND)-.3 E F1
-.155(If this v)144 180 R .155(ariable is set, and is an array)-.25 F
-2.655(,t)-.65 G .155(he v)-2.655 F .155(alue of each set element is e)
--.25 F -.15(xe)-.15 G .155(cuted as a command prior).15 F .407
-(to issuing each primary prompt.)144 192 R .407(If this is set b)5.407 F
-.407(ut not an array v)-.2 F .407(ariable, its v)-.25 F .407
-(alue is used as a com-)-.25 F(mand to e)144 204 Q -.15(xe)-.15 G
-(cute instead.).15 E F2(PR)108 216 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F1 .676
-(If set to a number greater than zero, the v)144 228 R .676
-(alue is used as the number of trailing directory compo-)-.25 F .923
-(nents to retain when e)144 240 R .923(xpanding the)-.15 F F2(\\w)3.423
-E F1(and)3.423 E F2(\\W)3.423 E F1 .923(prompt string escapes \(see)
-3.423 F/F3 9/Times-Bold@0 SF(PR)3.423 E(OMPTING)-.27 E F1(belo)3.173 E
-(w\).)-.25 E(Characters remo)144 252 Q -.15(ve)-.15 G 2.5(da).15 G
-(re replaced with an ellipsis.)-2.5 E F2(PS0)108 264 Q F1 1.174(The v)
-144 264 R 1.174(alue of this parameter is e)-.25 F 1.174(xpanded \(see)
--.15 F F3(PR)3.674 E(OMPTING)-.27 E F1(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 276 Q
--.15(xe)-.15 G(cuted.).15 E F2(PS1)108 288 Q F1 .064(The v)144 288 R
-.065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15 F F3(PR)
-2.565 E(OMPTING)-.27 E F1(belo)2.315 E .065
-(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 300 R
-(def)2.5 E(ault v)-.1 E(alue is \231\\s\255\\v\\$ \232.)-.25 E F2(PS2)
-108 312 Q F1 .118(The v)144 312 R .118(alue of this parameter is e)-.25
-F .118(xpanded as with)-.15 F F3(PS1)2.617 E F1 .117
-(and used as the secondary prompt string.)2.367 F(The)5.117 E(def)144
-324 Q(ault is \231> \232.)-.1 E F2(PS3)108 336 Q F1 1.115(The v)144 336
-R 1.115(alue of this parameter is used as the prompt for the)-.25 F F2
-(select)3.615 E F1 1.116(command \(see)3.616 F F3 1.116(SHELL GRAM-)
-3.616 F(MAR)144 348 Q F1(abo)2.25 E -.15(ve)-.15 G(\).).15 E F2(PS4)108
-360 Q F1 .101(The v)144 360 R .101(alue of this parameter is e)-.25 F
-.101(xpanded as with)-.15 F F3(PS1)2.6 E F1 .1(and the v)2.35 F .1
-(alue is printed before each command)-.25 F F2(bash)144 372 Q F1 .334
-(displays during an e)2.834 F -.15(xe)-.15 G .335(cution trace.).15 F
-.335(The \214rst character of the e)5.335 F .335(xpanded v)-.15 F .335
-(alue of)-.25 F F3(PS4)2.835 E F1 .335(is repli-)2.585 F
-(cated multiple times, as necessary)144 384 Q 2.5(,t)-.65 G 2.5(oi)-2.5
-G(ndicate multiple le)-2.5 E -.15(ve)-.25 G(ls of indirection.).15 E
-(The def)5 E(ault is \231+ \232.)-.1 E F2(SHELL)108 396 Q F1 .543
-(This v)144 408 R .543(ariable e)-.25 F .543
-(xpands to the full pathname to the shell.)-.15 F .542
-(If it is not set when the shell starts,)5.543 F F2(bash)3.042 E F1
-(assigns to it the full pathname of the current user')144 420 Q 2.5(sl)
--.55 G(ogin shell.)-2.5 E F2(TIMEFORMA)108 432 Q(T)-.95 E F1 .826(The v)
-144 444 R .826
-(alue of this parameter is used as a format string specifying ho)-.25 F
-3.327(wt)-.25 G .827(he timing information for)-3.327 F .649
-(pipelines pre\214x)144 456 R .649(ed with the)-.15 F F2(time)3.149 E F1
-(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F
-(The)5.648 E F2(%)3.148 E F1 .648(character introduces)3.148 F .711
-(an escape sequence that is e)144 468 R .711(xpanded to a time v)-.15 F
-.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F
-(and their meanings are as follo)144 480 Q(ws; the brack)-.25 E
-(ets denote optional portions.)-.1 E F2(%%)144 492 Q F1 2.5(Al)194 492 S
-(iteral)-2.5 E F2(%)2.5 E F1(.)A F2(%[)144 504 Q F0(p)A F2(][l]R)A F1
-(The elapsed time in seconds.)194 504 Q F2(%[)144 516 Q F0(p)A F2(][l]U)
-A F1(The number of CPU seconds spent in user mode.)194 516 Q F2(%[)144
-528 Q F0(p)A F2(][l]S)A F1
-(The number of CPU seconds spent in system mode.)194 528 Q F2(%P)144 540
-Q F1(The CPU percentage, computed as \(%U + %S\) / %R.)194 540 Q .87
-(The optional)144 556.8 R F0(p)3.37 E F1 .87(is a digit specifying the)
-3.37 F F0(pr)3.37 E(ecision)-.37 E F1 3.37(,t)C .87
-(he number of fractional digits after a decimal)-3.37 F 3.225(point. A)
-144 568.8 R -.25(va)3.225 G .725
-(lue of 0 causes no decimal point or fraction to be output.).25 F F2
-(time)5.725 E F1 .726(will print at most six)3.226 F 1.035
-(digits after the decimal point; v)144 580.8 R 1.034(alues of)-.25 F F0
-(p)3.534 E F1 1.034(greater than 6 are changed to 6.)3.534 F(If)6.034 E
-F0(p)3.534 E F1 1.034(is not speci\214ed,)3.534 F F2(time)144 592.8 Q F1
-(prints three digits after the decimal point.)2.5 E .667(The optional)
-144 609.6 R F2(l)3.167 E F1 .668
-(speci\214es a longer format, including minutes, of the form)3.168 F F0
-(MM)3.168 E F1(m)A F0(SS)A F1(.)A F0(FF)A F1 3.168(s. The)B -.25(va)
-3.168 G(lue).25 E(of)144 621.6 Q F0(p)2.5 E F1
-(determines whether or not the fraction is included.)2.5 E 13.365
-(If this v)144 638.4 R 13.365(ariable is not set,)-.25 F F2(bash)15.865
-E F1 13.364(acts as if it had the v)15.865 F(alue)-.25 E F2($\010\\nr)
-144 650.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS\010)-.18 E F1 5.292
-(.I)C 2.792(ft)-5.292 G .292(he v)-2.792 F .293(alue is null,)-.25 F F2
-(bash)2.793 E F1 .293(does not display an)2.793 F 2.793(yt)-.15 G(iming)
--2.793 E 2.5(information. A)144 662.4 R(trailing ne)2.5 E
-(wline is added when the format string is displayed.)-.25 E F2(TMOUT)108
-674.4 Q F1 .226(If set to a v)144 686.4 R .225
-(alue greater than zero, the)-.25 F F2 -.18(re)2.725 G(ad).18 E F1 -.2
-(bu)2.725 G .225(iltin uses the v).2 F .225(alue as its def)-.25 F .225
-(ault timeout.)-.1 F(The)5.225 E F2(select)2.725 E F1 .68
-(command terminates if input does not arri)144 698.4 R .98 -.15(ve a)
--.25 H(fter).15 E F3(TMOUT)3.18 E F1 .68
-(seconds when input is coming from a)2.93 F 2.555(terminal. In)144 710.4
-R .055(an interacti)2.555 F .355 -.15(ve s)-.25 H .055(hell, the v).15 F
-.055(alue is interpreted as the number of seconds to w)-.25 F .055
-(ait for a line)-.1 F 2.224(of input after issuing the primary prompt.)
-144 722.4 R F2(Bash)7.224 E F1 2.224(terminates after w)4.724 F 2.225
-(aiting for that number of)-.1 F(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(20)190.395 E 0 Cg EP
-%%Page: 21 21
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(seconds if a complete line of input does not arri)
-144 84 Q -.15(ve)-.25 G(.).15 E/F2 10/Times-Bold@0 SF(TMPDIR)108 96 Q F1
-.391(If set,)144 108 R F2(bash)2.891 E F1 .391(uses its v)2.891 F .391
-(alue as the name of a directory in which)-.25 F F2(bash)2.89 E F1 .39
-(creates temporary \214les for the)2.89 F(shell')144 120 Q 2.5(su)-.55 G
-(se.)-2.5 E F2(auto_r)108 132 Q(esume)-.18 E F1 .53(This v)144 144 R .53
-(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
-(he shell interacts with the user and job control.)-3.03 F .531
-(If this v)5.531 F .531(ariable is set,)-.25 F .409
-(simple commands consisting of only a single w)144 156 R .409
-(ord, without redirections, are treated as candidates)-.1 F 1.017
-(for resumption of an e)144 168 R 1.017(xisting stopped job)-.15 F 6.017
-(.T)-.4 G 1.018(here is no ambiguity allo)-6.017 F 1.018
-(wed; if there is more than)-.25 F 1.002(one job be)144 180 R 1.002
-(ginning with or containing the w)-.15 F 1.002
-(ord, this selects the most recently accessed job)-.1 F 6.002(.T)-.4 G
-(he)-6.002 E F0(name)144.36 192 Q F1 .603
-(of a stopped job, in this conte)3.283 F .603
-(xt, is the command line used to start it, as displayed by)-.15 F F2
-(jobs)3.104 E F1(.)A 1.079(If set to the v)144 204 R(alue)-.25 E F0 -.2
-(ex)3.579 G(act).2 E F1 3.579(,t).68 G 1.079(he w)-3.579 F 1.078
-(ord must match the name of a stopped job e)-.1 F 1.078
-(xactly; if set to)-.15 F F0(sub-)3.918 E(string)144 216 Q F1 2.571(,t)
-.22 G .071(he w)-2.571 F .072
-(ord needs to match a substring of the name of a stopped job)-.1 F 5.072
-(.T)-.4 G(he)-5.072 E F0(substring)2.912 E F1 -.25(va)2.792 G .072
-(lue pro-).25 F .576(vides functionality analogous to the)144 228 R F2
-(%?)3.076 E F1 .576(job identi\214er \(see)5.576 F/F3 9/Times-Bold@0 SF
-.576(JOB CONTR)3.076 F(OL)-.27 E F1(belo)2.826 E 3.076(w\). If)-.25 F
-.576(set to an)3.076 F(y)-.15 E .842(other v)144 240 R .842
-(alue \(e.g.,)-.25 F F0(pr)4.592 E(e\214x)-.37 E F1 .842(\), the w).53 F
-.842(ord must be a pre\214x of a stopped job')-.1 F 3.343(sn)-.55 G .843
-(ame; this pro)-3.343 F .843(vides func-)-.15 F
-(tionality analogous to the)144 252 Q F2(%)2.5 E F0(string)A F1
-(job identi\214er)2.5 E(.)-.55 E F2(histchars)108 264 Q F1 .546(The tw)
-144 276 R 3.046(oo)-.1 G 3.046(rt)-3.046 G .546
-(hree characters which control history e)-3.046 F .545(xpansion and tok)
--.15 F .545(enization \(see)-.1 F F3(HIST)3.045 E(OR)-.162 E 2.795(YE)
--.315 G(X-)-2.795 E -.666(PA)144 288 S(NSION).666 E F1(belo)3.158 E
-3.409(w\). The)-.25 F .909(\214rst character is the)3.409 F F0 .909
-(history e)3.409 F(xpansion)-.2 E F1(character)3.409 E 3.409(,t)-.4 G
-.909(he character which be-)-3.409 F .974(gins a history e)144 300 R
-.974(xpansion, normally \231)-.15 F F2(!)A F1 3.474(\232. The)B .974
-(second character is the)3.474 F F0(quic)3.474 E 3.473(ks)-.2 G
-(ubstitution)-3.473 E F1(character)3.473 E(,)-.4 E 1.016(normally \231)
-144 312 R F2<00>A F1 3.516(\232. When)B 1.017(it appears as the \214rst\
- character on the line, history substitution repeats the)3.516 F(pre)144
-324 Q .103(vious command, replacing one string with another)-.25 F 5.102
-(.T)-.55 G .102(he optional third character is the character)-5.102 F
-.492(which indicates that the remainder of the line is a comment when f\
-ound as the \214rst character of a)144 336 R -.1(wo)144 348 S .768
-(rd, normally \231).1 F F2(#)A F1 3.268(\232. The)B .767(history commen\
-t character disables history substitution for the remain-)3.268 F .201
-(ing w)144 360 R .201(ords on the line.)-.1 F .202(It does not necessar\
-ily cause the shell parser to treat the rest of the line as a)5.201 F
-(comment.)144 372 Q F2(Arrays)87 388.8 Q(Bash)108 400.8 Q F1(pro)3.391 E
-.891(vides one-dimensional inde)-.15 F -.15(xe)-.15 G 3.391(da).15 G
-.891(nd associati)-3.391 F 1.191 -.15(ve a)-.25 H .891(rray v).15 F
-3.391(ariables. An)-.25 F 3.391(yv)-.15 G .89(ariable may be used as an)
--3.641 F(inde)108 412.8 Q -.15(xe)-.15 G 2.573(da).15 G .073(rray; the)
--2.573 F F2(declar)2.573 E(e)-.18 E F1 -.2(bu)2.573 G .073(iltin will e)
-.2 F .073(xplicitly declare an array)-.15 F 5.073(.T)-.65 G .074
-(here is no maximum limit on the size of)-5.073 F .329(an array)108
-424.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)-.15 G .329
-(equirement that members be inde)-2.829 F -.15(xe)-.15 G 2.829(do).15 G
-2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F 5.328(.I)-.65 G
-(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328(rrays are refer)-2.828
-F(-)-.2 E 1.595(enced using inte)108 436.8 R 1.595
-(gers \(including arithmetic e)-.15 F 1.595
-(xpressions\) and are zero-based; associati)-.15 F 1.895 -.15(ve a)-.25
-H 1.595(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108
-448.8 Q(Unless otherwise noted, inde)5 E -.15(xe)-.15 G 2.5(da).15 G
-(rray indices must be non-ne)-2.5 E -.05(ga)-.15 G(ti).05 E .3 -.15
-(ve i)-.25 H(nte).15 E(gers.)-.15 E 2.463(An inde)108 465.6 R -.15(xe)
--.15 G 4.963(da).15 G 2.463(rray is created automatically if an)-4.963 F
-4.963(yv)-.15 G 2.462(ariable is assigned to using the syntax)-5.213 F
-F0(name)4.962 E F1([)A F0(sub-)A(script)108 477.6 Q F1(]=)A F0(value)A
-F1 5.682(.T)C(he)-5.682 E F0(subscript)3.522 E F1 .682
-(is treated as an arithmetic e)3.862 F .682(xpression that must e)-.15 F
--.25(va)-.25 G .682(luate to a number greater).25 F .75
-(than or equal to zero.)108 489.6 R 2.349 -.8(To e)5.749 H .749
-(xplicitly declare an inde).65 F -.15(xe)-.15 G 3.249(da).15 G(rray)
--3.249 E 3.249(,u)-.65 G(se)-3.249 E F2(declar)3.249 E 3.249<65ad>-.18 G
-(a)-3.249 E F0(name)3.249 E F1(\(see)3.249 E F3 .749(SHELL B)3.249 F
-(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 501.6 Q F1(belo)2.25 E(w\).)-.25 E
-F2(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F0(name)2.5 E F2([)A F0
-(subscript)A F2(])A F1(is also accepted; the)2.5 E F0(subscript)2.5 E F1
-(is ignored.)2.5 E(Associati)108 518.4 Q .3 -.15(ve a)-.25 H
-(rrays are created using).15 E F2(declar)2.5 E 2.5<65ad>-.18 G(A)-2.5 E
-F0(name)2.5 E F1(.)A(Attrib)108 535.2 Q .94
-(utes may be speci\214ed for an array v)-.2 F .941(ariable using the)
--.25 F F2(declar)3.441 E(e)-.18 E F1(and)3.441 E F2 -.18(re)3.441 G
-(adonly).18 E F1 -.2(bu)3.441 G 3.441(iltins. Each).2 F(attrib)3.441 E
-(ute)-.2 E(applies to all members of an array)108 547.2 Q(.)-.65 E .418
-(Arrays are assigned using compound assignments of the form)108 564 R F0
-(name)2.918 E F1(=)A F2(\()A F1 -.25(va)C(lue).25 E F0(1)A F1 -2.915
-1.666(... v)2.918 H(alue)-1.916 E F0(n)A F2(\))A F1 2.917(,w)C .417
-(here each)-2.917 F F0(value)2.917 E F1 .156(may be of the form [)108
-576 R F0(subscript)A F1(]=)A F0(string)A F1 5.156(.I)C(nde)-5.156 E -.15
-(xe)-.15 G 2.656(da).15 G .156(rray assignments do not require an)-2.656
-F .156(ything b)-.15 F(ut)-.2 E F0(string)2.656 E F1 5.156(.E)C(ach)
--5.156 E F0(value)108 588 Q F1 .216(in the list is e)2.716 F .216
-(xpanded using the shell e)-.15 F .216(xpansions described belo)-.15 F
-2.716(wu)-.25 G(nder)-2.716 E F3(EXP)2.716 E(ANSION)-.666 E/F4 9
-/Times-Roman@0 SF(,)A F1 -.2(bu)2.466 G(t).2 E F0(value)2.716 E F1 2.715
-(st)C(hat)-2.715 E 1.325(are v)108 600 R 1.325(alid v)-.25 F 1.325
-(ariable assignments including the brack)-.25 F 1.326
-(ets and subscript do not under)-.1 F 1.326(go brace e)-.18 F 1.326
-(xpansion and)-.15 F -.1(wo)108 612 S(rd splitting, as with indi).1 E
-(vidual v)-.25 E(ariable assignments.)-.25 E .164
-(When assigning to inde)108 628.8 R -.15(xe)-.15 G 2.663(da).15 G .163
-(rrays, if the optional brack)-2.663 F .163
-(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G 2.663
-(sa)-2.663 G(ssigned)-2.663 E .459(to; otherwise the inde)108 640.8 R
-2.959(xo)-.15 G 2.959(ft)-2.959 G .459
-(he element assigned is the last inde)-2.959 F 2.96(xa)-.15 G .46
-(ssigned to by the statement plus one.)-2.96 F(In-)5.46 E(de)108 652.8 Q
-(xing starts at zero.)-.15 E 1.288(When assigning to an associati)108
-669.6 R 1.588 -.15(ve a)-.25 H(rray).15 E 3.788(,t)-.65 G 1.288(he w)
--3.788 F 1.288(ords in a compound assignment may be either assignment)
--.1 F .608
-(statements, for which the subscript is required, or a list of w)108
-681.6 R .608(ords that is interpreted as a sequence of alter)-.1 F(-)-.2
-E 1.735(nating k)108 693.6 R -.15(ey)-.1 G 4.235(sa).15 G 1.735(nd v)
--4.235 F(alues:)-.25 E F0(name)4.235 E F1(=)A F2(\()A F0 -.1(ke)4.235 G
-1.735(y1 value1 k)-.2 F -.3(ey)-.1 G 4.235(2v).3 G(alue2)-4.235 E F1
-1.666(...)4.234 G F2(\))-1.666 E F1 6.734(.T)C 1.734
-(hese are treated identically to)-6.734 F F0(name)4.234 E F1(=)A F2(\()A
-F1([)108 705.6 Q F0 -.1(ke)C(y1)-.2 E F1(]=)A F0(value1)A F1([)2.91 E F0
--.1(ke)C(y2)-.2 E F1(]=)A F0(value2)A F1 1.666(...)2.91 G F2(\))-1.666 E
-F1 5.41(.T)C .41(he \214rst w)-5.41 F .411
-(ord in the list determines ho)-.1 F 2.911(wt)-.25 G .411
-(he remaining w)-2.911 F .411(ords are inter)-.1 F(-)-.2 E .154
-(preted; all assignments in a list must be of the same type.)108 717.6 R
-.153(When using k)5.153 F -.15(ey)-.1 G(/v).15 E .153(alue pairs, the k)
--.25 F -.15(ey)-.1 G 2.653(sm).15 G .153(ay not be)-2.653 F
-(missing or empty; a \214nal missing v)108 729.6 Q(alue is treated lik)
--.25 E 2.5(et)-.1 G(he empty string.)-2.5 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(21)190.395 E 0 Cg EP
-%%Page: 22 22
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .239(This syntax is also accepted by the)108 84 R
-/F2 10/Times-Bold@0 SF(declar)2.739 E(e)-.18 E F1 -.2(bu)2.739 G 2.739
-(iltin. Indi).2 F .24
-(vidual array elements may be assigned to using the)-.25 F F0(name)108
-96 Q F1([)A F0(subscript)A F1(]=)A F0(value)A F1(syntax introduced abo)
-2.5 E -.15(ve)-.15 G(.).15 E .026(When assigning to an inde)108 112.8 R
--.15(xe)-.15 G 2.526(da).15 G(rray)-2.526 E 2.525(,i)-.65 G(f)-2.525 E
-F0(name)2.885 E F1 .025(is subscripted by a ne)2.705 F -.05(ga)-.15 G
-(ti).05 E .325 -.15(ve n)-.25 H(umber).15 E 2.525(,t)-.4 G .025
-(hat number is interpreted)-2.525 F .316(as relati)108 124.8 R .616 -.15
-(ve t)-.25 H 2.816(oo).15 G .316(ne greater than the maximum inde)-2.816
-F 2.816(xo)-.15 G(f)-2.816 E F0(name)2.816 E F1 2.816(,s)C 2.816(on)
--2.816 G -2.25 -.15(eg a)-2.816 H(ti).15 E .616 -.15(ve i)-.25 H .317
-(ndices count back from the end of).15 F(the array)108 136.8 Q 2.5(,a)
--.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
-(eferences the last element.)-2.5 E .717
-(The += operator will append to an array v)108 153.6 R .716
-(ariable when assigning using the compound assignment syntax;)-.25 F
-(see)108 165.6 Q/F3 9/Times-Bold@0 SF -.666(PA)2.5 G(RAMETERS).666 E F1
-(abo)2.25 E -.15(ve)-.15 G(.).15 E .683
-(An array element is referenced using ${)108 182.4 R F0(name)A F1([)A F0
-(subscript)A F1 3.184(]}. The)B .684(braces are required to a)3.184 F
--.2(vo)-.2 G .684(id con\215icts with).2 F .298(pathname e)108 194.4 R
-2.798(xpansion. If)-.15 F F0(subscript)2.798 E F1(is)2.798 E F2(@)2.798
-E F1(or)2.798 E F2(*)2.798 E F1 2.797(,t)C .297(he w)-2.797 F .297
-(ord e)-.1 F .297(xpands to all members of)-.15 F F0(name)2.797 E F1
-2.797(,u)C .297(nless noted in the)-2.797 F .144(description of a b)108
-206.4 R .144(uiltin or w)-.2 F .144(ord e)-.1 F 2.644(xpansion. These)
--.15 F .144(subscripts dif)2.644 F .145(fer only when the w)-.25 F .145
-(ord appears within dou-)-.1 F .095(ble quotes.)108 218.4 R .095
-(If the w)5.095 F .095(ord is double-quoted, ${)-.1 F F0(name)A F1 .095
-([*]} e)B .094(xpands to a single w)-.15 F .094(ord with the v)-.1 F
-.094(alue of each array)-.25 F .256
-(member separated by the \214rst character of the)108 230.4 R F3(IFS)
-2.756 E F1 .257(special v)2.506 F .257(ariable, and ${)-.25 F F0(name)A
-F1 .257([@]} e)B .257(xpands each element)-.15 F(of)108 242.4 Q F0(name)
-3.461 E F1 .961(to a separate w)3.461 F 3.461(ord. When)-.1 F .961
-(there are no array members, ${)3.461 F F0(name)A F1 .96([@]} e)B .96
-(xpands to nothing.)-.15 F .96(If the)5.96 F .726(double-quoted e)108
-254.4 R .727(xpansion occurs within a w)-.15 F .727(ord, the e)-.1 F
-.727(xpansion of the \214rst parameter is joined with the be-)-.15 F .8
-(ginning part of the e)108 266.4 R .8(xpansion of the original w)-.15 F
-.8(ord, and the e)-.1 F .8
-(xpansion of the last parameter is joined with)-.15 F .553
-(the last part of the e)108 278.4 R .554(xpansion of the original w)-.15
-F 3.054(ord. This)-.1 F .554(is analogous to the e)3.054 F .554
-(xpansion of the special para-)-.15 F(meters)108 290.4 Q F2(*)2.5 E F1
-(and)2.5 E F2(@)2.5 E F1(\(see)2.5 E F2(Special P)2.5 E(arameters)-.1 E
-F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E(${#)108 307.2 Q F0(name)A F1([)A
-F0(subscript)A F1 .33(]} e)B .33(xpands to the length of ${)-.15 F F0
-(name)A F1([)A F0(subscript)A F1 2.83(]}. If)B F0(subscript)2.83 E F1
-(is)2.83 E F2(*)2.83 E F1(or)2.83 E F2(@)2.83 E F1 2.83(,t)C .33(he e)
--2.83 F .33(xpansion is)-.15 F(the number of elements in the array)108
-319.2 Q(.)-.65 E .386(If the)108 336 R F0(subscript)3.226 E F1 .386
-(used to reference an element of an inde)3.566 F -.15(xe)-.15 G 2.886
-(da).15 G .386(rray e)-2.886 F -.25(va)-.25 G .386
-(luates to a number less than zero, it is).25 F .687
-(interpreted as relati)108 348 R .987 -.15(ve t)-.25 H 3.187(oo).15 G
-.687(ne greater than the maximum inde)-3.187 F 3.186(xo)-.15 G 3.186(ft)
--3.186 G .686(he array)-3.186 F 3.186(,s)-.65 G 3.186(on)-3.186 G -2.25
--.15(eg a)-3.186 H(ti).15 E .986 -.15(ve i)-.25 H .686
-(ndices count back).15 F(from the end of the array)108 360 Q 2.5(,a)-.65
-G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
-(eferences the last element.)-2.5 E .595(Referencing an array v)108
-376.8 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G
-.595(lent to referencing the array with a subscript of).25 F 2.5(0. An)
-108 388.8 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25
-E(alid subscript is v)-.25 E(alid, and)-.25 E F2(bash)2.5 E F1
-(will create an array if necessary)2.5 E(.)-.65 E(An array v)108 405.6 Q
-(ariable is considered set if a subscript has been assigned a v)-.25 E
-2.5(alue. The)-.25 F(null string is a v)2.5 E(alid v)-.25 E(alue.)-.25 E
-.418(It is possible to obtain the k)108 422.4 R -.15(ey)-.1 G 2.918(s\()
-.15 G .418(indices\) of an array as well as the v)-2.918 F 2.917
-(alues. ${)-.25 F F2(!)A F0(name)A F1([)A F0(@)A F1 .417(]} and ${)B F2
-(!)A F0(name)A F1([)A F0(*)A F1(]})A -.15(ex)108 434.4 S .749
-(pand to the indices assigned in array v).15 F(ariable)-.25 E F0(name)
-3.249 E F1 5.749(.T)C .75
-(he treatment when in double quotes is similar to)-5.749 F(the e)108
-446.4 Q(xpansion of the special parameters)-.15 E F0(@)2.5 E F1(and)2.5
-E F0(*)2.5 E F1(within double quotes.)2.5 E(The)108 463.2 Q F2(unset)
-3.282 E F1 -.2(bu)3.282 G .782(iltin is used to destro).2 F 3.281(ya)-.1
-G(rrays.)-3.281 E F2(unset)5.781 E F0(name)3.281 E F1([)A F0(subscript)A
-F1 3.281(]u)C .781(nsets the array element at inde)-3.281 F(x)-.15 E F0
-(sub-)3.281 E(script)108 475.2 Q F1 2.858(,f)C .358(or both inde)-2.858
-F -.15(xe)-.15 G 2.858(da).15 G .358(nd associati)-2.858 F .658 -.15
-(ve a)-.25 H 2.858(rrays. Ne).15 F -.05(ga)-.15 G(ti).05 E .658 -.15
-(ve s)-.25 H .358(ubscripts to inde).15 F -.15(xe)-.15 G 2.858(da).15 G
-.358(rrays are interpreted as de-)-2.858 F 1.205(scribed abo)108 487.2 R
--.15(ve)-.15 G 6.205(.U).15 G 1.205
-(nsetting the last element of an array v)-6.205 F 1.204
-(ariable does not unset the v)-.25 F(ariable.)-.25 E F2(unset)6.204 E F0
-(name)3.704 E F1(,)A(where)108 499.2 Q F0(name)2.907 E F1 .407
-(is an array)2.907 F 2.907(,r)-.65 G(emo)-2.907 E -.15(ve)-.15 G 2.907
-(st).15 G .407(he entire array)-2.907 F(.)-.65 E F2(unset)5.407 E F0
-(name)2.907 E F1([)A F0(subscript)A F1 2.907(]b)C(eha)-2.907 E -.15(ve)
--.2 G 2.907(sd).15 G(if)-2.907 E .408(ferently depending on)-.25 F
-(whether)108 511.2 Q F0(name)2.915 E F1 .415(is an inde)2.915 F -.15(xe)
--.15 G 2.915(do).15 G 2.915(ra)-2.915 G(ssociati)-2.915 E .715 -.15
-(ve a)-.25 H .415(rray when).15 F F0(subscript)2.915 E F1(is)2.915 E F2
-(*)2.915 E F1(or)2.915 E F2(@)2.915 E F1 5.415(.I)C(f)-5.415 E F0(name)
-2.914 E F1 .414(is an associati)2.914 F .714 -.15(ve a)-.25 H(rray).15 E
-(,)-.65 E .937(this unsets the element with subscript)108 523.2 R F2(*)
-3.437 E F1(or)3.437 E F2(@)3.437 E F1 5.937(.I)C(f)-5.937 E F0(name)
-3.437 E F1 .937(is an inde)3.437 F -.15(xe)-.15 G 3.437(da).15 G(rray)
--3.437 E 3.437(,u)-.65 G .937(nset remo)-3.437 F -.15(ve)-.15 G 3.437
-(sa).15 G .937(ll of the ele-)-3.437 F(ments b)108 535.2 Q
-(ut does not remo)-.2 E .3 -.15(ve t)-.15 H(he array itself.).15 E .029
-(When using a v)108 552 R .029(ariable name with a subscript as an ar)
--.25 F .028(gument to a command, such as with)-.18 F F2(unset)2.528 E F1
-2.528(,w)C .028(ithout us-)-2.528 F .515(ing the w)108 564 R .515(ord e)
--.1 F .515(xpansion syntax described abo)-.15 F -.15(ve)-.15 G 3.015
-(,\().15 G .515(e.g., unset a[4]\), the ar)-3.015 F .515
-(gument is subject to pathname e)-.18 F(x-)-.15 E 2.5(pansion. Quote)108
-576 R(the ar)2.5 E(gument if pathname e)-.18 E
-(xpansion is not desired \(e.g., unset \010a[4]\010\).)-.15 E(The)108
-592.8 Q F2(declar)2.684 E(e)-.18 E F1(,)A F2(local)2.684 E F1 2.684(,a)C
-(nd)-2.684 E F2 -.18(re)2.684 G(adonly).18 E F1 -.2(bu)2.684 G .184
-(iltins each accept a).2 F F2<ad61>2.684 E F1 .184
-(option to specify an inde)2.684 F -.15(xe)-.15 G 2.683(da).15 G .183
-(rray and a)-2.683 F F2<ad41>2.683 E F1(op-)2.683 E .041
-(tion to specify an associati)108 604.8 R .341 -.15(ve a)-.25 H(rray).15
-E 5.041(.I)-.65 G 2.541(fb)-5.041 G .041(oth options are supplied,)
--2.541 F F2<ad41>2.541 E F1(tak)2.541 E .041(es precedence.)-.1 F(The)
-5.041 E F2 -.18(re)2.542 G(ad).18 E F1 -.2(bu)2.542 G .042(iltin ac-).2
-F .864(cepts a)108 616.8 R F2<ad61>3.364 E F1 .864
-(option to assign a list of w)3.364 F .864
-(ords read from the standard input to an array)-.1 F 5.863(.T)-.65 G(he)
--5.863 E F2(set)3.363 E F1(and)3.363 E F2(declar)3.363 E(e)-.18 E F1 -.2
-(bu)108 628.8 S .685(iltins display array v).2 F .686(alues in a w)-.25
-F .686(ay that allo)-.1 F .686(ws them to be reused as assignments.)-.25
-F .686(Other b)5.686 F .686(uiltins accept)-.2 F .733(array name ar)108
-640.8 R .733(guments as well \(e.g.,)-.18 F F2(map\214le)3.233 E F1 .733
-(\); see the descriptions of indi)B .732(vidual b)-.25 F .732
-(uiltins belo)-.2 F 3.232(wf)-.25 G .732(or details.)-3.232 F
-(The shell pro)108 652.8 Q(vides a number of b)-.15 E(uiltin array v)-.2
-E(ariables.)-.25 E/F4 10.95/Times-Bold@0 SF(EXP)72 669.6 Q(ANSION)-.81 E
-F1 .764(Expansion is performed on the command line after it has been sp\
-lit into w)108 681.6 R 3.264(ords. The)-.1 F .765(shell performs these)
-3.264 F -.15(ex)108 693.6 S(pansions:).15 E F0(br)3.797 E 1.027(ace e)
--.15 F(xpansion)-.2 E F1(,).24 E F0 1.027(tilde e)3.657 F(xpansion)-.2 E
-F1(,).24 E F0(par)4.777 E 1.027(ameter and variable e)-.15 F(xpansion)
--.2 E F1(,).24 E F0 1.027(command substitution)3.727 F F1(,).24 E F0
-(arithmetic e)108.33 705.6 Q(xpansion)-.2 E F1(,).24 E F0(wor)2.84 E 2.5
-(ds)-.37 G(plitting)-2.5 E F1(,).22 E F0(pathname e)3.75 E(xpansion)-.2
-E F1 2.5(,a).24 G(nd)-2.5 E F0(quote r)2.75 E(emo)-.37 E(val)-.1 E F1(.)
-.51 E .418(The order of e)108 722.4 R .418(xpansions is: brace e)-.15 F
-.418(xpansion; tilde e)-.15 F .419(xpansion, parameter and v)-.15 F .419
-(ariable e)-.25 F .419(xpansion, arithmetic)-.15 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(22)190.395 E 0 Cg EP
-%%Page: 23 23
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E -.15(ex)108 84 S .28
-(pansion, and command substitution \(done in a left-to-right f).15 F .28
-(ashion\); w)-.1 F .28(ord splitting; pathname e)-.1 F(xpansion;)-.15 E
-(and quote remo)108 96 Q -.25(va)-.15 G(l.).25 E .257
-(On systems that can support it, there is an additional e)108 112.8 R
-.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F0(pr)2.757 E .257
-(ocess substitution)-.45 F F1 5.257(.T)C .257(his is per)-5.257 F(-)-.2
-E(formed at the same time as tilde, parameter)108 124.8 Q 2.5(,v)-.4 G
-(ariable, and arithmetic e)-2.75 E(xpansion and command substitution.)
--.15 E F0 .25(Quote r)108 141.6 R(emo)-.37 E(val)-.1 E F1 .25(is al)2.75
-F -.1(wa)-.1 G .25(ys performed last.).1 F .249(It remo)5.25 F -.15(ve)
--.15 G 2.749(sq).15 G .249(uote characters present in the original w)
--2.749 F .249(ord, not ones)-.1 F(resulting from one of the other e)108
-153.6 Q(xpansions, unless the)-.15 E 2.5(yh)-.15 G -2.25 -.2(av e)-2.5 H
-(been quoted themselv)2.7 E(es.)-.15 E .171(Only brace e)108 170.4 R
-.171(xpansion, w)-.15 F .171(ord splitting, and pathname e)-.1 F .171
-(xpansion can increase the number of w)-.15 F .172(ords of the e)-.1 F
-(x-)-.15 E .777(pansion; other e)108 182.4 R .776(xpansions e)-.15 F
-.776(xpand a single w)-.15 F .776(ord to a single w)-.1 F 3.276
-(ord. The)-.1 F .776(only e)3.276 F .776(xceptions to this are the e)
--.15 F(x-)-.15 E .328(pansions of)108 194.4 R/F2 10/Times-Bold@0 SF
-("$@")2.828 E F1(and)2.828 E F2("${)2.828 E F0(name)A F2([@]}")A F1
-2.828(,a)C .328(nd, in most cases,)-2.828 F F2($*)2.828 E F1(and)2.828 E
-F2(${)2.828 E F0(name)A F2([*]})A F1 .329(as e)2.828 F .329
-(xplained abo)-.15 F .629 -.15(ve \()-.15 H(see).15 E/F3 9/Times-Bold@0
-SF -.666(PA)2.829 G(-).666 E(RAMETERS)108 206.4 Q/F4 9/Times-Roman@0 SF
-(\).)A F2(Brace Expansion)87 223.2 Q F0(Br)108.58 235.2 Q .307(ace e)
--.15 F(xpansion)-.2 E F1 .307(is a mechanism to generate arbitrary stri\
-ngs sharing a common pre\214x and suf)3.047 F .306(\214x, either of)-.25
-F .577(which can be empty)108 247.2 R 5.577(.T)-.65 G .577
-(his mechanism is similar to)-5.577 F F0 .577(pathname e)3.077 F
-(xpansion)-.2 E F1 3.078(,b)C .578(ut the \214lenames generated need)
--3.278 F .266(not e)108 259.2 R 2.766(xist. P)-.15 F .266
-(atterns to be brace e)-.15 F .265(xpanded are formed from an optional)
--.15 F F0(pr)4.015 E(eamble)-.37 E F1 2.765(,f).18 G(ollo)-2.765 E .265
-(wed by either a series)-.25 F 1.315
-(of comma-separated strings or a sequence e)108 271.2 R 1.315
-(xpression between a pair of braces, follo)-.15 F 1.316
-(wed by an optional)-.25 F F0(postscript)109.25 283.2 Q F1 5.66(.T).68 G
-.66(he preamble is pre\214x)-5.66 F .659(ed to each string contained wi\
-thin the braces, and the postscript is then)-.15 F
-(appended to each resulting string, e)108 295.2 Q
-(xpanding left to right.)-.15 E .472(Brace e)108 312 R .472
-(xpansions may be nested.)-.15 F .472(The results of each e)5.472 F .473
-(xpanded string are not sorted; brace e)-.15 F .473(xpansion pre-)-.15 F
-(serv)108 324 Q(es left to right order)-.15 E 5(.F)-.55 G(or e)-5.15 E
-(xample, a)-.15 E F2({)A F1(d,c,b)A F2(})A F1 2.5(ee)C
-(xpands into \231ade ace abe\232.)-2.65 E 3.149(As)108 340.8 S .649
-(equence e)-3.149 F .649(xpression tak)-.15 F .649(es the form)-.1 F F2
-({)3.149 E F0(x)A F2(..)A F0(y)A F2([..)A F0(incr)A F2(]})A F1 3.149(,w)
-C(here)-3.149 E F0(x)3.149 E F1(and)3.149 E F0(y)3.149 E F1 .649
-(are either inte)3.149 F .648(gers or single letters, and)-.15 F F0
-(incr)108 352.8 Q F1 2.615(,a)C 2.615(no)-2.615 G .115
-(ptional increment, is an inte)-2.615 F(ger)-.15 E 5.115(.W)-.55 G .115
-(hen inte)-5.115 F .115(gers are supplied, the e)-.15 F .115
-(xpression e)-.15 F .115(xpands to each num-)-.15 F .736(ber between)108
-364.8 R F0(x)3.236 E F1(and)3.236 E F0(y)3.236 E F1 3.236(,i)C(nclusi)
--3.236 E -.15(ve)-.25 G 5.736(.I).15 G 3.236(ft)-5.736 G .736
-(he supplied inte)-3.236 F .736(gers are pre\214x)-.15 F .736(ed with)
--.15 F F0(0)3.236 E F1 3.236(,e)C .735(ach term will ha)-3.236 F 1.035
--.15(ve t)-.2 H .735(he same).15 F .225
-(width, zero-padding if necessary)108 376.8 R 5.225(.W)-.65 G .226
-(hen either)-5.225 F F0(x)2.726 E F1(or)2.726 E F0(y)2.726 E F1(be)2.726
-E .226(gins with a zero, the shell attempts to force all gen-)-.15 F
-1.073(erated terms to contain the same number of digits, zero-padding w\
-here necessary)108 388.8 R 6.072(.W)-.65 G 1.072(hen letters are sup-)
--6.072 F .567(plied, the e)108 400.8 R .567(xpression e)-.15 F .567
-(xpands to each character le)-.15 F .567(xicographically between)-.15 F
-F0(x)3.067 E F1(and)3.067 E F0(y)3.068 E F1 3.068(,i)C(nclusi)-3.068 E
--.15(ve)-.25 G 3.068(,u).15 G .568(sing the de-)-3.068 F -.1(fa)108
-412.8 S .574(ult C locale.).1 F .574(Note that both)5.574 F F0(x)3.074 E
-F1(and)3.074 E F0(y)3.074 E F1 .574(must be of the same type \(inte)
-3.074 F .574(ger or letter\).)-.15 F .573(When the increment is)5.573 F
-(supplied, it is used as the dif)108 424.8 Q(ference between each term.)
--.25 E(The def)5 E(ault increment is 1 or \2551 as appropriate.)-.1 E
-.581(Brace e)108 441.6 R .581(xpansion is performed before an)-.15 F
-3.081(yo)-.15 G .581(ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082
-(yc)-.15 G .582(haracters special to other e)-3.082 F(xpansions)-.15 E
-.016(are preserv)108 453.6 R .016(ed in the result.)-.15 F .016
-(It is strictly te)5.016 F(xtual.)-.15 E F2(Bash)5.016 E F1 .015
-(does not apply an)2.516 F 2.515(ys)-.15 G .015
-(yntactic interpretation to the con-)-2.515 F(te)108 465.6 Q
-(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
--.15 E 2.501(Ac)108 482.4 S .001(orrectly-formed brace e)-2.501 F .001(\
-xpansion must contain unquoted opening and closing braces, and at least\
- one un-)-.15 F(quoted comma or a v)108 494.4 Q(alid sequence e)-.25 E
-2.5(xpression. An)-.15 F 2.5(yi)-.15 G(ncorrectly formed brace e)-2.5 E
-(xpansion is left unchanged.)-.15 E(A)108 511.2 Q F2({)2.522 E F1(or)
-2.522 E F2(,)2.522 E F1 .022(may be quoted with a backslash to pre)2.522
-F -.15(ve)-.25 G .021(nt its being considered part of a brace e).15 F
-2.521(xpression. T)-.15 F 2.521(oa)-.8 G -.2(vo)-2.721 G(id).2 E .172
-(con\215icts with parameter e)108 523.2 R .172(xpansion, the string)-.15
-F F2(${)2.672 E F1 .172(is not considered eligible for brace e)2.672 F
-.172(xpansion, and inhibits)-.15 F(brace e)108 535.2 Q
-(xpansion until the closing)-.15 E F2(})2.5 E F1(.)A 1.476(This constru\
-ct is typically used as shorthand when the common pre\214x of the strin\
-gs to be generated is)108 552 R(longer than in the abo)108 564 Q .3 -.15
-(ve ex)-.15 H(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 580.8 Q
--.65(w,)-.25 G(dist,b).65 E(ugs})-.2 E(or)108 592.8 Q(cho)144 604.8 Q
-(wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e)
--.25 E(x}})-.15 E .618(Brace e)108 621.6 R .618
-(xpansion introduces a slight incompatibility with historical v)-.15 F
-.618(ersions of)-.15 F F2(sh)3.118 E F1(.)A F2(sh)5.618 E F1 .618
-(does not treat open-)3.118 F .248
-(ing or closing braces specially when the)108 633.6 R 2.748(ya)-.15 G
-.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
-(es them in the output.)-.15 F F2(Bash)5.247 E F1(remo)108 645.6 Q -.15
-(ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03
-(ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03
-(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh)
-3.53 E F1(as)3.53 E F0(\214le{1,2})108 657.6 Q F1 .062
-(appears identically in the output.)2.562 F F2(Bash)5.061 E F1 .061
-(outputs that w)2.561 F .061(ord as)-.1 F F0 .061(\214le1 \214le2)4.471
-F F1 .061(after brace e)2.581 F 2.561(xpansion. Start)-.15 F F2(bash)108
-669.6 Q F1 .844(with the)3.344 F F2(+B)3.344 E F1 .845
-(option or disable brace e)3.344 F .845(xpansion with the)-.15 F F2(+B)
-3.345 E F1 .845(option to the)3.345 F F2(set)3.345 E F1 .845
-(command \(see)3.345 F F3(SHELL)3.345 E -.09(BU)108 681.6 S(IL).09 E
-(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\) for strict)-.25 E F2(sh)2.5 E
-F1(compatibility)2.5 E(.)-.65 E F2 -.18(Ti)87 698.4 S(lde Expansion).18
-E F1 .846(If a w)108 710.4 R .846(ord be)-.1 F .846
-(gins with an unquoted tilde character \(\231)-.15 F F2<01>A F1 .846
-(\232\), all of the characters preceding the \214rst unquoted)B .185(sl\
-ash \(or all characters, if there is no unquoted slash\) are considered\
- a)108 722.4 R F0(tilde-pr)2.685 E(e\214x)-.37 E F1 5.185(.I)C 2.685(fn)
--5.185 G .185(one of the characters)-2.685 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(23)190.395 E 0 Cg EP
-%%Page: 24 24
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .726(in the tilde-pre\214x are quoted, the charact\
-ers in the tilde-pre\214x follo)108 84 R .725
-(wing the tilde are treated as a possible)-.25 F F0(lo)108 96 Q .522
-(gin name)-.1 F F1 5.522(.I)C 3.022(ft)-5.522 G .522
-(his login name is the null string, the tilde is replaced with the v)
--3.022 F .523(alue of the shell parameter)-.25 F/F2 9/Times-Bold@0 SF
-(HOME)108 108 Q/F3 9/Times-Roman@0 SF(.)A F1(If)5.077 E F2(HOME)3.077 E
-F1 .577(is unset, the tilde e)2.827 F .577
-(xpands to the home directory of the user e)-.15 F -.15(xe)-.15 G .576
-(cuting the shell instead.).15 F(Otherwise, the tilde-pre\214x is repla\
-ced with the home directory associated with the speci\214ed login name.)
-108 120 Q .368(If the tilde-pre\214x is a \231\001+\232, the v)108 136.8
-R .368(alue of the shell v)-.25 F(ariable)-.25 E F2(PWD)2.868 E F1 .368
-(replaces the tilde-pre\214x.)2.618 F .368(If the tilde-pre\214x)5.368 F
-.227(is a \231\001\255\232, the shell substitutes the v)108 148.8 R .227
-(alue of the shell v)-.25 F(ariable)-.25 E F2(OLDPWD)2.727 E F3(,)A F1
-.227(if it is set.)2.477 F .227(If the characters follo)5.227 F(w-)-.25
-E .296(ing the tilde in the tilde-pre\214x consist of a number)108 160.8
-R F0(N)2.796 E F1 2.796(,o)C .296(ptionally pre\214x)-2.796 F .296
-(ed by a \231+\232 or a \231\255\232, the tilde-pre\214x)-.15 F .814(is\
- replaced with the corresponding element from the directory stack, as i\
-t w)108 172.8 R .813(ould be displayed by the)-.1 F/F4 10/Times-Bold@0
-SF(dirs)3.313 E F1 -.2(bu)108 184.8 S .698(iltin in).2 F -.2(vo)-.4 G
--.1(ke).2 G 3.198(dw).1 G .698(ith the characters follo)-3.198 F .699
-(wing the tilde in the tilde-pre\214x as an ar)-.25 F 3.199(gument. If)
--.18 F .699(the characters)3.199 F(follo)108 196.8 Q .482(wing the tild\
-e in the tilde-pre\214x consist of a number without a leading \231+\232\
- or \231\255\232, tilde e)-.25 F .481(xpansion as-)-.15 F
-(sumes \231+\232.)108 208.8 Q .54(The results of tilde e)108 225.6 R .54
-(xpansion are treated as if the)-.15 F 3.04(yw)-.15 G .54
-(ere quoted, so the replacement is not subject to w)-3.04 F(ord)-.1 E
-(splitting and pathname e)108 237.6 Q(xpansion.)-.15 E
-(If the login name is in)108 254.4 Q -.25(va)-.4 G(lid, or the tilde e)
-.25 E(xpansion f)-.15 E(ails, the tilde-pre\214x is unchanged.)-.1 E F4
-(Bash)108 271.2 Q F1 .578(checks each v)3.078 F .578
-(ariable assignment for unquoted tilde-pre\214x)-.25 F .578
-(es immediately follo)-.15 F .578(wing a)-.25 F F4(:)3.078 E F1 .578
-(or the \214rst)3.078 F F4(=)3.078 E F1(,)A 1.041(and performs tilde e)
-108 283.2 R 1.041(xpansion in these cases.)-.15 F(Consequently)6.041 E
-3.541(,o)-.65 G 1.042(ne may use \214lenames with tildes in assign-)
--3.541 F(ments to)108 295.2 Q F2 -.666(PA)2.5 G(TH)-.189 E F3(,)A F2
-(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F3(,)A F1(and)2.25 E F2(CDP)2.5
-E -.855(AT)-.666 G(H).855 E F3(,)A F1(and the shell assigns the e)2.25 E
-(xpanded v)-.15 E(alue.)-.25 E F4(Bash)108 312 Q F1 1.769
-(also performs tilde e)4.269 F 1.769(xpansion on w)-.15 F 1.768
-(ords satisfying the conditions of v)-.1 F 1.768
-(ariable assignments \(as de-)-.25 F .463(scribed abo)108 324 R .763
--.15(ve u)-.15 H(nder).15 E F2 -.666(PA)2.963 G(RAMETERS).666 E F3(\))A
-F1 .463(when the)2.713 F 2.963(ya)-.15 G .463(ppear as ar)-2.963 F .464
-(guments to simple commands.)-.18 F F4(Bash)5.464 E F1 .464(does not)
-2.964 F(do this, e)108 336 Q(xcept for the)-.15 E F0(declar)2.5 E(ation)
--.15 E F1(commands listed abo)2.5 E -.15(ve)-.15 G 2.5(,w).15 G
-(hen in posix mode.)-2.5 E F4 -.1(Pa)87 352.8 S(rameter Expansion).1 E
-F1 .015(The \231)108 364.8 R F4($)A F1 2.515<9a63>C .014
-(haracter introduces parameter e)-2.515 F .014
-(xpansion, command substitution, or arithmetic e)-.15 F 2.514
-(xpansion. The)-.15 F(pa-)2.514 E .314(rameter name or symbol to be e)
-108 376.8 R .314
-(xpanded may be enclosed in braces, which are optional b)-.15 F .314
-(ut serv)-.2 F 2.814(et)-.15 G 2.814(op)-2.814 G(rotect)-2.814 E .415
-(the v)108 388.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(the name.)108
-400.8 Q 1.072
-(When braces are used, the matching ending brace is the \214rst \231)108
-417.6 R F4(})A F1 3.573<9a6e>C 1.073
-(ot escaped by a backslash or within a)-3.573 F .822
-(quoted string, and not within an embedded arithmetic e)108 429.6 R .821
-(xpansion, command substitution, or parameter e)-.15 F(x-)-.15 E
-(pansion.)108 441.6 Q(The basic form of parameter e)108 458.4 Q
-(xpansion is)-.15 E(${)108 475.2 Q F0(par)A(ameter)-.15 E F1(})A .284
-(which substitutes the v)108 492 R .284(alue of)-.25 F F0(par)2.784 E
-(ameter)-.15 E F1 5.285(.T)C .285(he braces are required when)-5.285 F
-F0(par)4.035 E(ameter)-.15 E F1 .285(is a positional parame-)3.515 F
-.067(ter with more than one digit, or when)108 504 R F0(par)3.817 E
-(ameter)-.15 E F1 .067(is follo)3.297 F .066
-(wed by a character which is not to be interpreted as)-.25 F .406
-(part of its name.)108 516 R(The)5.406 E F0(par)2.906 E(ameter)-.15 E F1
-.406(is a shell parameter as described abo)2.906 F -.15(ve)-.15 G F4
--.74(PA)3.057 G(RAMETERS).74 E F1 2.907(\)o)C 2.907(ra)-2.907 G 2.907
-(na)-2.907 G .407(rray ref-)-2.907 F(erence \()108 528 Q F4(Arrays)A F1
-(\).)A .347(If the \214rst character of)108 544.8 R F0(par)2.846 E
-(ameter)-.15 E F1 .346(is an e)2.846 F .346(xclamation point \()-.15 F
-F4(!)A F1 .346(\), and)B F0(par)2.846 E(ameter)-.15 E F1 .346(is not a)
-2.846 F F0(namer)2.846 E(ef)-.37 E F1 2.846(,i)C 2.846(ti)-2.846 G
-(ntroduces)-2.846 E 2.906(al)108 556.8 S -2.15 -.25(ev e)-2.906 H 2.906
-(lo).25 G 2.906(fi)-2.906 G(ndirection.)-2.906 E F4(Bash)5.406 E F1 .406
-(uses the v)2.906 F .406(alue formed by e)-.25 F .406
-(xpanding the rest of)-.15 F F0(par)2.906 E(ameter)-.15 E F1 .406
-(as the ne)2.906 F(w)-.25 E F0(par)2.907 E(ame-)-.15 E(ter)108 568.8 Q
-F1 2.936(;t)C .436(his ne)-2.936 F 2.936(wp)-.25 G .436
-(arameter is then e)-2.936 F .436(xpanded and that v)-.15 F .435
-(alue is used in the rest of the e)-.25 F .435
-(xpansion, rather than the)-.15 F -.15(ex)108 580.8 S .291
-(pansion of the original).15 F F0(par)2.791 E(ameter)-.15 E F1 5.291(.T)
-C .291(his is kno)-5.291 F .291(wn as)-.25 F F0(indir)2.791 E .291
-(ect e)-.37 F(xpansion)-.2 E F1 5.291(.T)C .291(he v)-5.291 F .292
-(alue is subject to tilde e)-.25 F(x-)-.15 E .164(pansion, parameter e)
-108 592.8 R .163(xpansion, command substitution, and arithmetic e)-.15 F
-2.663(xpansion. If)-.15 F F0(par)2.663 E(ameter)-.15 E F1 .163
-(is a nameref,)2.663 F .462(this e)108 604.8 R .462
-(xpands to the name of the parameter referenced by)-.15 F F0(par)2.963 E
-(ameter)-.15 E F1 .463(instead of performing the complete in-)2.963 F
-3.636(direct e)108 616.8 R 3.636(xpansion, for compatibility)-.15 F
-8.636(.T)-.65 G 3.636(he e)-8.636 F 3.635(xceptions to this are the e)
--.15 F 3.635(xpansions of ${)-.15 F F4(!)A F0(pr)A(e\214x)-.37 E F4(*)A
-F1 6.135(}a)C(nd)-6.135 E(${)108 628.8 Q F4(!)A F0(name)A F1([)A F0(@)A
-F1 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65 F .763
-(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G .763
-(he left brace in order to)-3.263 F(introduce indirection.)108 640.8 Q
-.334(In each of the cases belo)108 657.6 R -.65(w,)-.25 G F0(wor)3.484 E
-(d)-.37 E F1 .334(is subject to tilde e)2.834 F .334
-(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F(and arithmetic e)108 669.6 Q(xpansion.)-.15 E .066
-(When not performing substring e)108 686.4 R .067
-(xpansion, using the forms documented belo)-.15 F 2.567(w\()-.25 G
-(e.g.,)-2.567 E F4(:-)2.567 E F1(\),)A F4(bash)2.567 E F1 .067
-(tests for a pa-)2.567 F(rameter that is unset or null.)108 698.4 Q
-(Omitting the colon tests only for a parameter that is unset.)5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(24)190.395 E 0 Cg EP
-%%Page: 25 25
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(${)108 84 Q F0(par)A(ameter)-.15 E/F2 10
-/Times-Bold@0 SF<3aad>A F0(wor)A(d)-.37 E F1(})A F2 .723(Use Default V)
-144 96 R(alues)-.92 E F1 5.723(.I)C(f)-5.723 E F0(par)4.473 E(ameter)
--.15 E F1 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F
-F0(wor)3.562 E(d)-.37 E F1 .722(is substituted.)3.992 F(Other)5.722 E(-)
--.2 E(wise, the v)144 108 Q(alue of)-.25 E F0(par)3.75 E(ameter)-.15 E
-F1(is substituted.)3.23 E(${)108 124.8 Q F0(par)A(ameter)-.15 E F2(:=)A
-F0(wor)A(d)-.37 E F1(})A F2 .265(Assign Default V)144 136.8 R(alues)-.92
-E F1 5.265(.I)C(f)-5.265 E F0(par)4.015 E(ameter)-.15 E F1 .266
-(is unset or null, the e)3.495 F .266(xpansion of)-.15 F F0(wor)3.106 E
-(d)-.37 E F1 .266(is assigned to)3.536 F F0(par)4.016 E(a-)-.15 E(meter)
-144 148.8 Q F1 2.958(,a).73 G .458(nd the e)-2.958 F .458
-(xpansion is the \214nal v)-.15 F .458(alue of)-.25 F F0(par)4.208 E
-(ameter)-.15 E F1 5.458(.P).73 G .458
-(ositional parameters and special para-)-5.458 F
-(meters may not be assigned in this w)144 160.8 Q(ay)-.1 E(.)-.65 E(${)
-108 177.6 Q F0(par)A(ameter)-.15 E F2(:?)A F0(wor)A(d)-.37 E F1(})A F2
-.724(Display Err)144 189.6 R .724(or if Null or Unset)-.18 F F1 5.724
-(.I)C(f)-5.724 E F0(par)4.474 E(ameter)-.15 E F1 .724
-(is null or unset, the shell writes the e)3.954 F .725(xpansion of)-.15
-F F0(wor)144 201.6 Q(d)-.37 E F1 .293(\(or a message to that ef)2.793 F
-.293(fect if)-.25 F F0(wor)3.133 E(d)-.37 E F1 .292
-(is not present\) to the standard error and, if it is not inter)3.562 F
-(-)-.2 E(acti)144 213.6 Q -.15(ve)-.25 G 3.638(,e).15 G 1.138
-(xits with a non-zero status.)-3.788 F 1.138(An interacti)6.138 F 1.438
--.15(ve s)-.25 H 1.138(hell does not e).15 F 1.138(xit, b)-.15 F 1.138
-(ut does not e)-.2 F -.15(xe)-.15 G 1.139(cute the).15 F
-(command associated with the e)144 225.6 Q 2.5(xpansion. Otherwise,)-.15
-F(the v)2.5 E(alue of)-.25 E F0(par)2.5 E(ameter)-.15 E F1
-(is substituted.)2.5 E(${)108 242.4 Q F0(par)A(ameter)-.15 E F2(:+)A F0
-(wor)A(d)-.37 E F1(})A F2 .745(Use Alter)144 254.4 R .745(nate V)-.15 F
-(alue)-.92 E F1 5.745(.I)C(f)-5.745 E F0(par)4.495 E(ameter)-.15 E F1
-.745(is null or unset, nothing is substituted, otherwise the e)3.975 F
-(xpan-)-.15 E(sion of)144 266.4 Q F0(wor)2.84 E(d)-.37 E F1
-(is substituted.)3.27 E(The v)5 E(alue of)-.25 E F0(par)2.5 E(ameter)
--.15 E F1(is not used.)2.5 E(${)108 283.2 Q F0(par)A(ameter)-.15 E F2(:)
-A F0(of)A(fset)-.18 E F1(})A(${)108 295.2 Q F0(par)A(ameter)-.15 E F2(:)
-A F0(of)A(fset)-.18 E F2(:)A F0(length)A F1(})A F2 .002
-(Substring Expansion)144 307.2 R F1 5.002(.E)C .002(xpands to up to)
--5.002 F F0(length)2.502 E F1 .002(characters of the v)2.502 F .002
-(alue of)-.25 F F0(par)2.502 E(ameter)-.15 E F1 .002(starting at the)
-2.502 F .004(character speci\214ed by)144 319.2 R F0(of)2.504 E(fset)
--.18 E F1 5.003(.I)C(f)-5.003 E F0(par)2.503 E(ameter)-.15 E F1(is)2.503
-E F2(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,a)C 2.503(ni)-2.503
-G(nde)-2.503 E -.15(xe)-.15 G 2.503(da).15 G .003(rray subscripted by)
--2.503 F F2(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,o)C 2.503(ra)
--2.503 G(n)-2.503 E(associati)144 331.2 Q 1.022 -.15(ve a)-.25 H .722
-(rray name, the results dif).15 F .722(fer as described belo)-.25 F
-4.522 -.65(w. I)-.25 H(f).65 E F0(length)3.222 E F1 .722(is omitted, e)
-3.222 F .722(xpands to the)-.15 F .043(substring of the v)144 343.2 R
-.043(alue of)-.25 F F0(par)2.543 E(ameter)-.15 E F1 .042
-(starting at the character speci\214ed by)2.543 F F0(of)2.542 E(fset)
--.18 E F1 .042(and e)2.542 F .042(xtending to the)-.15 F .846
-(end of the v)144 355.2 R(alue.)-.25 E F0(length)5.846 E F1(and)3.346 E
-F0(of)3.346 E(fset)-.18 E F1 .846(are arithmetic e)3.346 F .847
-(xpressions \(see)-.15 F/F3 9/Times-Bold@0 SF .847(ARITHMETIC EV)3.347 F
-(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F1(belo)144 367.2 Q(w\).)-.25 E
-(If)144 384 Q F0(of)3.029 E(fset)-.18 E F1 -.25(eva)3.029 G .529
-(luates to a number less than zero, the v).25 F .529
-(alue is used as an of)-.25 F .529(fset in characters from the)-.25 F
-.045(end of the v)144 396 R .045(alue of)-.25 F F0(par)2.546 E(ameter)
--.15 E F1 5.046(.I)C(f)-5.046 E F0(length)2.546 E F1 -.25(eva)2.546 G
-.046(luates to a number less than zero, it is interpreted as an).25 F
-(of)144 408 Q .203(fset in characters from the end of the v)-.25 F .202
-(alue of)-.25 F F0(par)2.702 E(ameter)-.15 E F1 .202
-(rather than a number of characters, and)2.702 F .557(the e)144 420 R
-.557(xpansion is the characters between)-.15 F F0(of)3.057 E(fset)-.18 E
-F1 .557(and that result.)3.057 F .558(Note that a ne)5.558 F -.05(ga)
--.15 G(ti).05 E .858 -.15(ve o)-.25 H -.25(ff).15 G .558(set must be).25
-F(separated from the colon by at least one space to a)144 432 Q -.2(vo)
--.2 G(id being confused with the).2 E F2(:-)2.5 E F1 -.15(ex)2.5 G
-(pansion.).15 E(If)144 448.8 Q F0(par)3.284 E(ameter)-.15 E F1(is)3.284
-E F2(@)3.284 E F1(or)3.284 E F2(*)3.284 E F1 3.284(,t)C .784
-(he result is)-3.284 F F0(length)3.284 E F1 .784
-(positional parameters be)3.284 F .783(ginning at)-.15 F F0(of)3.283 E
-(fset)-.18 E F1 5.783(.A)C(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve)
--.25 G F0(of)144 460.8 Q(fset)-.18 E F1 .166(is tak)2.666 F .166
-(en relati)-.1 F .466 -.15(ve t)-.25 H 2.666(oo).15 G .166
-(ne greater than the greatest positional parameter)-2.666 F 2.667(,s)-.4
-G 2.667(oa)-2.667 G 2.667(no)-2.667 G -.25(ff)-2.667 G .167
-(set of \2551 e).25 F -.25(va)-.25 G(l-).25 E .023(uates to the last po\
-sitional parameter \(or 0 if there are no positional parameters\).)144
-472.8 R .023(It is an e)5.023 F(xpansion)-.15 E(error if)144 484.8 Q F0
-(length)2.5 E F1 -.25(eva)2.5 G(luates to a number less than zero.).25 E
-(If)144 501.6 Q F0(par)3.013 E(ameter)-.15 E F1 .514(is an inde)3.013 F
--.15(xe)-.15 G 3.014(da).15 G .514
-(rray name subscripted by @ or *, the result is the)-3.014 F F0(length)
-3.014 E F1 .514(members of)3.014 F 1.082(the array be)144 513.6 R 1.082
-(ginning with ${)-.15 F F0(par)A(ameter)-.15 E F1([)A F0(of)A(fset)-.18
-E F1 3.582(]}. A)B(ne)3.582 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F0
-(of)3.732 E(fset)-.18 E F1 1.081(is tak)3.581 F 1.081(en relati)-.1 F
-1.381 -.15(ve t)-.25 H 3.581(oo).15 G 1.081(ne greater)-3.581 F 1.079
-(than the maximum inde)144 525.6 R 3.579(xo)-.15 G 3.579(ft)-3.579 G
-1.079(he speci\214ed array)-3.579 F 6.079(.I)-.65 G 3.579(ti)-6.079 G
-3.579(sa)-3.579 G 3.58(ne)-3.579 G 1.08(xpansion error if)-3.73 F F0
-(length)3.58 E F1 -.25(eva)3.58 G 1.08(luates to a).25 F
-(number less than zero.)144 537.6 Q(Substring e)144 554.4 Q
-(xpansion applied to an associati)-.15 E .3 -.15(ve a)-.25 H
-(rray produces unde\214ned results.).15 E .821(Substring inde)144 571.2
-R .821(xing is zero-based unless the positional parameters are used, in\
- which case the in-)-.15 F(de)144 583.2 Q .159(xing starts at 1 by def)
--.15 F 2.659(ault. If)-.1 F F0(of)2.659 E(fset)-.18 E F1 .159
-(is 0, and the positional parameters are used,)2.659 F F2($0)2.659 E F1
-.159(is pre\214x)2.659 F .159(ed to)-.15 F(the list.)144 595.2 Q(${)108
-612 Q F2(!)A F0(pr)A(e\214x)-.37 E F2(*)A F1(})A(${)108 624 Q F2(!)A F0
-(pr)A(e\214x)-.37 E F2(@)A F1(})A F2 .085(Names matching pr)144 636 R
-(e\214x)-.18 E F1 5.085(.E)C .084(xpands to the names of v)-5.085 F .084
-(ariables whose names be)-.25 F .084(gin with)-.15 F F0(pr)2.584 E
-(e\214x)-.37 E F1 2.584(,s)C(epa-)-2.584 E .257
-(rated by the \214rst character of the)144 648 R F3(IFS)2.757 E F1 .257
-(special v)2.507 F 2.757(ariable. When)-.25 F F0(@)2.758 E F1 .258
-(is used and the e)2.758 F .258(xpansion appears)-.15 F
-(within double quotes, each v)144 660 Q(ariable name e)-.25 E
-(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 676.8 Q F2(!)A F0(name)
-A F1([)A F0(@)A F1(]})A(${)108 688.8 Q F2(!)A F0(name)A F1([)A F0(*)A F1
-(]})A F2 1.137(List of array k)144 700.8 R(eys)-.1 E F1 6.136(.I)C(f)
--6.136 E F0(name)3.636 E F1 1.136(is an array v)3.636 F 1.136
-(ariable, e)-.25 F 1.136(xpands to the list of array indices \(k)-.15 F
--.15(ey)-.1 G 1.136(s\) as-).15 F .397(signed in)144 712.8 R F0(name)
-2.897 E F1 5.397(.I)C(f)-5.397 E F0(name)2.897 E F1 .397
-(is not an array)2.897 F 2.897(,e)-.65 G .397(xpands to 0 if)-3.047 F F0
-(name)2.897 E F1 .397(is set and null otherwise.)2.897 F(When)5.397 E F0
-(@)2.897 E F1(is used and the e)144 724.8 Q
-(xpansion appears within double quotes, each k)-.15 E .3 -.15(ey ex)-.1
-H(pands to a separate w).15 E(ord.)-.1 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(25)190.395 E 0 Cg EP
-%%Page: 26 26
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(${)108 84 Q/F2 10/Times-Bold@0 SF(#)A F0(par)A
-(ameter)-.15 E F1(})A F2 -.1(Pa)144 96 S 1.18(rameter length).1 F F1
-6.18(.S)C 1.18(ubstitutes the length in characters of the e)-6.18 F 1.18
-(xpanded v)-.15 F 1.18(alue of)-.25 F F0(par)3.68 E(ameter)-.15 E F1
-6.18(.I)C(f)-6.18 E F0(par)145.25 108 Q(ameter)-.15 E F1(is)3.281 E F2
-(*)2.551 E F1(or)2.552 E F2(@)2.552 E F1 2.552(,t)C .052(he v)-2.552 F
-.052(alue substituted is the number of positional parameters.)-.25 F(If)
-5.052 E F0(par)3.802 E(ameter)-.15 E F1(is)3.282 E .334
-(an array name subscripted by)144 120 R F2(*)2.834 E F1(or)2.834 E F2(@)
-2.833 E F1 2.833(,t)C .333(he v)-2.833 F .333
-(alue substituted is the number of elements in the array)-.25 F(.)-.65 E
-(If)144 132 Q F0(par)5.022 E(ameter)-.15 E F1 1.272(is an inde)4.502 F
--.15(xe)-.15 G 3.772(da).15 G 1.272(rray name subscripted by a ne)-3.772
-F -.05(ga)-.15 G(ti).05 E 1.572 -.15(ve n)-.25 H(umber).15 E 3.772(,t)
--.4 G 1.272(hat number is inter)-3.772 F(-)-.2 E .566(preted as relati)
-144 144 R .866 -.15(ve t)-.25 H 3.066(oo).15 G .565
-(ne greater than the maximum inde)-3.066 F 3.065(xo)-.15 G(f)-3.065 E F0
-(par)3.065 E(ameter)-.15 E F1 3.065(,s)C 3.065(on)-3.065 G -2.25 -.15
-(eg a)-3.065 H(ti).15 E .865 -.15(ve i)-.25 H .565(ndices count).15 F
-(back from the end of the array)144 156 Q 2.5(,a)-.65 G(nd an inde)-2.5
-E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
-(eferences the last element.)-2.5 E(${)108 172.8 Q F0(par)A(ameter)-.15
-E F2(#)A F0(wor)A(d)-.37 E F1(})A(${)108 184.8 Q F0(par)A(ameter)-.15 E
-F2(##)A F0(wor)A(d)-.37 E F1(})A F2(Remo)144 196.8 Q 1.396 -.1(ve m)-.1
-H 1.196(atching pr).1 F 1.196(e\214x patter)-.18 F(n)-.15 E F1 6.196(.T)
-C(he)-6.196 E F0(wor)4.036 E(d)-.37 E F1 1.196(is e)4.466 F 1.196
-(xpanded to produce a pattern just as in path-)-.15 F .544(name e)144
-208.8 R .544(xpansion, and matched ag)-.15 F .544(ainst the e)-.05 F
-.544(xpanded v)-.15 F .544(alue of)-.25 F F0(par)4.294 E(ameter)-.15 E
-F1 .543(using the rules described)3.774 F(under)144 220.8 Q F2 -.1(Pa)
-3.132 G(tter).1 E 3.132(nM)-.15 G(atching)-3.132 E F1(belo)3.132 E 4.432
--.65(w. I)-.25 H 3.132(ft).65 G .632(he pattern matches the be)-3.132 F
-.632(ginning of the v)-.15 F .633(alue of)-.25 F F0(par)4.383 E(ameter)
--.15 E F1(,).73 E 1.152(then the result of the e)144 232.8 R 1.151
-(xpansion is the e)-.15 F 1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F0
-(par)4.901 E(ameter)-.15 E F1 1.151(with the shortest matching)4.381 F
-.554(pattern \(the \231#\232 case\) or the longest matching pattern \(t\
-he \231##\232 case\) deleted.)144 244.8 R(If)5.554 E F0(par)4.304 E
-(ameter)-.15 E F1(is)3.784 E F2(@)3.054 E F1(or)144 256.8 Q F2(*)3.019 E
-F1 3.019(,t)C .518(he pattern remo)-3.019 F -.25(va)-.15 G 3.018(lo).25
-G .518
-(peration is applied to each positional parameter in turn, and the e)
--3.018 F(xpan-)-.15 E .303(sion is the resultant list.)144 268.8 R(If)
-5.303 E F0(par)4.053 E(ameter)-.15 E F1 .303(is an array v)3.533 F .303
-(ariable subscripted with)-.25 F F2(@)2.804 E F1(or)2.804 E F2(*)2.804 E
-F1 2.804(,t)C .304(he pattern re-)-2.804 F(mo)144 280.8 Q -.25(va)-.15 G
-2.988(lo).25 G .487
-(peration is applied to each member of the array in turn, and the e)
--2.988 F .487(xpansion is the resultant)-.15 F(list.)144 292.8 Q(${)108
-309.6 Q F0(par)A(ameter)-.15 E F2(%)A F0(wor)A(d)-.37 E F1(})A(${)108
-321.6 Q F0(par)A(ameter)-.15 E F2(%%)A F0(wor)A(d)-.37 E F1(})A F2(Remo)
-144 333.6 Q .346 -.1(ve m)-.1 H .146(atching suf\214x patter).1 F(n)-.15
-E F1 5.146(.T)C(he)-5.146 E F0(wor)2.646 E(d)-.37 E F1 .147(is e)2.647 F
-.147(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144
-345.6 S .459(pansion, and matched ag).15 F .459(ainst the e)-.05 F .459
-(xpanded v)-.15 F .458(alue of)-.25 F F0(par)4.208 E(ameter)-.15 E F1
-.458(using the rules described under)3.688 F F2 -.1(Pa)144 357.6 S(tter)
-.1 E 2.731(nM)-.15 G(atching)-2.731 E F1(belo)2.731 E 4.031 -.65(w. I)
--.25 H 2.731(ft).65 G .231
-(he pattern matches a trailing portion of the e)-2.731 F .232(xpanded v)
--.15 F .232(alue of)-.25 F F0(par)3.982 E(a-)-.15 E(meter)144 369.6 Q F1
-4.4(,t).73 G 1.9(hen the result of the e)-4.4 F 1.899(xpansion is the e)
--.15 F 1.899(xpanded v)-.15 F 1.899(alue of)-.25 F F0(par)5.649 E
-(ameter)-.15 E F1 1.899(with the shortest)5.129 F .019(matching pattern\
- \(the \231%\232 case\) or the longest matching pattern \(the \231%%\
-\232 case\) deleted.)144 381.6 R(If)5.02 E F0(par)3.77 E(a-)-.15 E
-(meter)144 393.6 Q F1(is)3.56 E F2(@)2.83 E F1(or)2.83 E F2(*)2.83 E F1
-2.83(,t)C .33(he pattern remo)-2.83 F -.25(va)-.15 G 2.829(lo).25 G .329
-(peration is applied to each positional parameter in turn, and)-2.829 F
-.64(the e)144 405.6 R .64(xpansion is the resultant list.)-.15 F(If)5.64
-E F0(par)4.39 E(ameter)-.15 E F1 .64(is an array v)3.87 F .64
-(ariable subscripted with)-.25 F F2(@)3.14 E F1(or)3.14 E F2(*)3.14 E F1
-3.14(,t)C(he)-3.14 E .423(pattern remo)144 417.6 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 the)-.15 F(resultant list.)144 429.6 Q(${)108
-446.4 Q F0(par)A(ameter)-.15 E F2(/)A F0(pattern)A F2(/)A F0(string)A F1
-(})A(${)108 458.4 Q F0(par)A(ameter)-.15 E F2(//)A F0(pattern)A F2(/)A
-F0(string)A F1(})A(${)108 470.4 Q F0(par)A(ameter)-.15 E F2(/#)A F0
-(pattern)A F2(/)A F0(string)A F1(})A(${)108 482.4 Q F0(par)A(ameter)-.15
-E F2(/%)A F0(pattern)A F2(/)A F0(string)A F1(})A F2 -.1(Pa)144 494.4 S
-(tter).1 E 2.653(ns)-.15 G(ubstitution)-2.653 E F1 5.153(.T)C(he)-5.153
-E F0(pattern)2.653 E F1 .153(is e)2.653 F .154
-(xpanded to produce a pattern just as in pathname e)-.15 F(xpansion)-.15
-E 1.453(and matched ag)144 506.4 R 1.453(ainst the e)-.05 F 1.452
-(xpanded v)-.15 F 1.452(alue of)-.25 F F0(par)3.952 E(ameter)-.15 E F1
-1.452(using the rules described under)3.952 F F2 -.1(Pa)3.952 G(tter).1
-E(n)-.15 E(Matching)144 518.4 Q F1(belo)4.036 E 5.336 -.65(w. T)-.25 H
-1.536(he longest match of).65 F F0(pattern)4.036 E F1 1.536(in the e)
-4.036 F 1.537(xpanded v)-.15 F 1.537(alue is replaced with)-.25 F F0
-(string)4.037 E F1(.)A F0(string)144 530.4 Q F1(under)3.778 E 1.278
-(goes tilde e)-.18 F 1.278(xpansion, parameter and v)-.15 F 1.278
-(ariable e)-.25 F 1.278(xpansion, arithmetic e)-.15 F 1.278
-(xpansion, com-)-.15 F(mand and process substitution, and quote remo)144
-542.4 Q -.25(va)-.15 G(l.).25 E .651(In the \214rst form abo)144 559.2 R
--.15(ve)-.15 G 3.151(,o).15 G .651(nly the \214rst match is replaced.)
--3.151 F .651(If there are tw)5.651 F 3.152(os)-.1 G .652
-(lashes separating)-3.152 F F0(par)3.152 E(a-)-.15 E(meter)144 571.2 Q
-F1(and)2.674 E F0(pattern)2.674 E F1 .173(\(the second form abo)2.673 F
--.15(ve)-.15 G .173(\), all matches of).15 F F0(pattern)2.673 E F1 .173
-(are replaced with)2.673 F F0(string)2.673 E F1 5.173(.I)C(f)-5.173 E F0
-(pat-)2.673 E(tern)144 583.2 Q F1 .276(is preceded by)2.776 F F2(#)2.776
-E F1 .276(\(the third form abo)2.776 F -.15(ve)-.15 G .276
-(\), it must match at the be).15 F .276(ginning of the e)-.15 F .277
-(xpanded v)-.15 F(alue)-.25 E(of)144 595.2 Q F0(par)2.639 E(ameter)-.15
-E F1 5.139(.I)C(f)-5.139 E F0(pattern)2.639 E F1 .139(is preceded by)
-2.639 F F2(%)2.639 E F1 .138(\(the fourth form abo)2.639 F -.15(ve)-.15
-G .138(\), it must match at the end of the).15 F -.15(ex)144 607.2 S
-(panded v).15 E(alue of)-.25 E F0(par)2.5 E(ameter)-.15 E F1(.)A .033
-(If the e)144 624 R .034(xpansion of)-.15 F F0(string)2.534 E F1 .034
-(is null, matches of)2.534 F F0(pattern)2.534 E F1 .034
-(are deleted and the)2.534 F F2(/)2.534 E F1(follo)2.534 E(wing)-.25 E
-F0(pattern)2.534 E F1 .034(may be)2.534 F(omitted.)144 636 Q .95(If the)
-144 652.8 R F2(patsub_r)3.45 E(eplacement)-.18 E F1 .95
-(shell option is enabled using)3.45 F F2(shopt)3.45 E F1 3.45(,a)C 1.25
--.15(ny u)-3.45 H .95(nquoted instances of).15 F F2(&)3.45 E F1(in)3.45
-E F0(string)144 664.8 Q F1(are replaced with the matching portion of)2.5
-E F0(pattern)2.5 E F1(.)A .749(Quoting an)144 681.6 R 3.249(yp)-.15 G
-.749(art of)-3.249 F F0(string)3.249 E F1 .749
-(inhibits replacement in the e)3.249 F .75
-(xpansion of the quoted portion, including)-.15 F .767
-(replacement strings stored in shell v)144 693.6 R 3.267
-(ariables. Backslash)-.25 F .767(will escape)3.267 F F2(&)3.267 E F1(in)
-3.267 E F0(string)3.267 E F1 3.267(;t)C .767(he backslash is)-3.267 F
-(remo)144 705.6 Q -.15(ve)-.15 G 2.668(di).15 G 2.668(no)-2.668 G .169
-(rder to permit a literal)-2.668 F F2(&)2.669 E F1 .169
-(in the replacement string.)2.669 F .169
-(Backslash can also be used to es-)5.169 F 1.429(cape a backslash;)144
-717.6 R F2(\\\\)3.928 E F1 1.428
-(results in a literal backslash in the replacement.)3.928 F 1.428
-(Users should tak)6.428 F 3.928(ec)-.1 G 1.428(are if)-3.928 F F0
-(string)144 729.6 Q F1 .292(is double-quoted to a)2.791 F -.2(vo)-.2 G
-.292(id unw).2 F .292
-(anted interactions between the backslash and double-quoting,)-.1 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(26)190.395 E 0 Cg EP
-%%Page: 27 27
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .054
-(since backslash has special meaning within double quotes.)144 84 R -.15
-(Pa)5.053 G .053(ttern substitution performs the check).15 F .069
-(for unquoted)144 96 R/F2 10/Times-Bold@0 SF(&)2.569 E F1 .069(after e)
-2.569 F(xpanding)-.15 E F0(string)2.569 E F1 2.569(;s)C .069
-(hell programmers should quote an)-2.569 F 2.57(yo)-.15 G .07
-(ccurrences of)-2.57 F F2(&)2.57 E F1(the)2.57 E(y)-.15 E -.1(wa)144 108
-S 1.113(nt to be tak).1 F 1.112
-(en literally in the replacement and ensure an)-.1 F 3.612(yi)-.15 G
-1.112(nstances of)-3.612 F F2(&)3.612 E F1(the)3.612 E 3.612(yw)-.15 G
-1.112(ant to be re-)-3.712 F(placed are unquoted.)144 120 Q(Lik)144
-136.8 Q 2.546(et)-.1 G .047(he pattern remo)-2.546 F -.25(va)-.15 G
-2.547(lo).25 G .047
-(perators, double quotes surrounding the replacement string quote the e)
--2.547 F(x-)-.15 E 1.061(panded characters, while double quotes enclosi\
-ng the entire parameter substitution do not, since)144 148.8 R(the e)144
-160.8 Q(xpansion is performed in a conte)-.15 E(xt that doesn')-.15 E
-2.5(tt)-.18 G(ak)-2.5 E 2.5(ea)-.1 G .3 -.15(ny e)-2.5 H
-(nclosing double quotes into account.).15 E .686(If the)144 177.6 R F2
-(nocasematch)3.186 E F1 .687
-(shell option is enabled, the match is performed without re)3.187 F -.05
-(ga)-.15 G .687(rd to the case of).05 F(alphabetic characters.)144 189.6
-Q(If)144 206.4 Q F0(par)4.335 E(ameter)-.15 E F1(is)3.815 E F2(@)3.085 E
-F1(or)3.085 E F2(*)3.085 E F1 3.085(,t)C .584(he substitution operation\
- is applied to each positional parameter in turn,)-3.085 F .509
-(and the e)144 218.4 R .509(xpansion is the resultant list.)-.15 F(If)
-5.509 E F0(par)4.259 E(ameter)-.15 E F1 .51(is an array v)3.739 F .51
-(ariable subscripted with)-.25 F F2(@)3.01 E F1(or)3.01 E F2(*)3.01 E F1
-(,)A .495(the substitution operation is applied to each member of the a\
-rray in turn, and the e)144 230.4 R .495(xpansion is the)-.15 F
-(resultant list.)144 242.4 Q(${)108 259.2 Q F0(par)A(ameter)-.15 E F2
-<00>A F0(pattern)A F1(})A(${)108 271.2 Q F0(par)A(ameter)-.15 E F2<0000>
-A F0(pattern)A F1(})A(${)108 283.2 Q F0(par)A(ameter)-.15 E F2(,)A F0
-(pattern)A F1(})A(${)108 295.2 Q F0(par)A(ameter)-.15 E F2(,,)A F0
-(pattern)A F1(})A F2 .437(Case modi\214cation)144 307.2 R F1 5.437(.T)C
-.437(his e)-5.437 F .438
-(xpansion modi\214es the case of alphabetic characters in)-.15 F F0(par)
-2.938 E(ameter)-.15 E F1 5.438(.T)C(he)-5.438 E F0(pattern)144 319.2 Q
-F1 .374(is e)2.874 F .374
-(xpanded to produce a pattern just as in pathname e)-.15 F 2.874
-(xpansion. Each)-.15 F .373(character in the e)2.873 F(x-)-.15 E .513
-(panded v)144 331.2 R .513(alue of)-.25 F F0(par)3.013 E(ameter)-.15 E
-F1 .513(is tested ag)3.013 F(ainst)-.05 E F0(pattern)3.013 E F1 3.013
-(,a)C .514(nd, if it matches the pattern, its case is con-)-3.013 F -.15
-(ve)144 343.2 S 2.5(rted. The).15 F
-(pattern should not attempt to match more than one character)2.5 E(.)
--.55 E(The)144 360 Q F2<00>3.524 E F1 1.023(operator con)3.523 F -.15
-(ve)-.4 G 1.023(rts lo).15 F 1.023(wercase letters matching)-.25 F F0
-(pattern)3.523 E F1 1.023(to uppercase; the)3.523 F F2(,)3.523 E F1
-1.023(operator con)3.523 F -.15(ve)-.4 G(rts).15 E .013
-(matching uppercase letters to lo)144 372 R 2.513(wercase. The)-.25 F F2
-<0000>2.513 E F1(and)2.513 E F2(,,)2.513 E F1 -.15(ex)2.513 G .013
-(pansions con).15 F -.15(ve)-.4 G .013(rt each matched character).15 F
-.347(in the e)144 384 R .347(xpanded v)-.15 F .347(alue; the)-.25 F F2
-<00>2.847 E F1(and)2.847 E F2(,)2.847 E F1 -.15(ex)2.847 G .347
-(pansions match and con).15 F -.15(ve)-.4 G .346
-(rt only the \214rst character in the e).15 F(x-)-.15 E(panded v)144 396
-Q 2.5(alue. If)-.25 F F0(pattern)2.5 E F1(is omitted, it is treated lik)
-2.5 E 2.5(ea)-.1 G F2(?)A F1 2.5(,w)C(hich matches e)-2.5 E -.15(ve)-.25
-G(ry character).15 E(.)-.55 E(If)144 412.8 Q F0(par)4.179 E(ameter)-.15
-E F1(is)3.659 E F2(@)2.929 E F1(or)2.929 E F2(*)2.929 E F1 2.929(,t)C
-.43(he case modi\214cation operation is applied to each positional para\
-meter in)-2.929 F .524(turn, and the e)144 424.8 R .524
-(xpansion is the resultant list.)-.15 F(If)5.524 E F0(par)4.274 E
-(ameter)-.15 E F1 .524(is an array v)3.754 F .523
-(ariable subscripted with)-.25 F F2(@)3.023 E F1(or)144 436.8 Q F2(*)
-2.568 E F1 2.568(,t)C .068(he case modi\214cation operation is applied \
-to each member of the array in turn, and the e)-2.568 F(xpan-)-.15 E
-(sion is the resultant list.)144 448.8 Q(${)108 465.6 Q F0(par)A(ameter)
--.15 E F2(@)A F0(oper)A(ator)-.15 E F1(})A F2 -.1(Pa)144 477.6 S .86
-(rameter transf).1 F(ormation)-.25 E F1 5.86(.T)C .86(he e)-5.86 F .86
-(xpansion is either a transformation of the v)-.15 F .86(alue of)-.25 F
-F0(par)3.36 E(ameter)-.15 E F1 .153(or information about)144 489.6 R F0
-(par)2.653 E(ameter)-.15 E F1 .153(itself, depending on the v)2.653 F
-.153(alue of)-.25 F F0(oper)2.653 E(ator)-.15 E F1 5.154(.E)C(ach)-5.154
-E F0(oper)2.654 E(ator)-.15 E F1 .154(is a sin-)2.654 F(gle letter:)144
-501.6 Q F2(U)144 513.6 Q F1 .143(The e)180 513.6 R .142
-(xpansion is a string that is the v)-.15 F .142(alue of)-.25 F F0(par)
-2.642 E(ameter)-.15 E F1 .142(with lo)2.642 F .142
-(wercase alphabetic charac-)-.25 F(ters con)180 525.6 Q -.15(ve)-.4 G
-(rted to uppercase.).15 E F2(u)144 537.6 Q F1 .429(The e)180 537.6 R
-.429(xpansion is a string that is the v)-.15 F .429(alue of)-.25 F F0
-(par)2.929 E(ameter)-.15 E F1 .43(with the \214rst character con)2.93 F
--.15(ve)-.4 G(rted).15 E(to uppercase, if it is alphabetic.)180 549.6 Q
-F2(L)144 561.6 Q F1 .125(The e)180 561.6 R .124
-(xpansion is a string that is the v)-.15 F .124(alue of)-.25 F F0(par)
-2.624 E(ameter)-.15 E F1 .124(with uppercase alphabetic charac-)2.624 F
-(ters con)180 573.6 Q -.15(ve)-.4 G(rted to lo).15 E(wercase.)-.25 E F2
-(Q)144 585.6 Q F1 1.064(The e)180 585.6 R 1.064
-(xpansion is a string that is the v)-.15 F 1.065(alue of)-.25 F F0(par)
-3.565 E(ameter)-.15 E F1 1.065(quoted in a format that can be)3.565 F
-(reused as input.)180 597.6 Q F2(E)144 609.6 Q F1 .441(The e)180 609.6 R
-.441(xpansion is a string that is the v)-.15 F .441(alue of)-.25 F F0
-(par)2.941 E(ameter)-.15 E F1 .44(with backslash escape sequences)2.94 F
--.15(ex)180 621.6 S(panded as with the).15 E F2<2408>2.5 E F1 1.666(...)
-C F2<08>-1.666 E F1(quoting mechanism.)2.5 E F2(P)144 633.6 Q F1 1.072
-(The e)180 633.6 R 1.073(xpansion is a string that is the result of e)
--.15 F 1.073(xpanding the v)-.15 F 1.073(alue of)-.25 F F0(par)3.573 E
-(ameter)-.15 E F1 1.073(as if it)3.573 F(were a prompt string \(see)180
-645.6 Q F2(PR)2.5 E(OMPTING)-.3 E F1(belo)2.5 E(w\).)-.25 E F2(A)144
-657.6 Q F1 1.138(The e)180 657.6 R 1.138
-(xpansion is a string in the form of an assignment statement or)-.15 F
-F2(declar)3.637 E(e)-.18 E F1(command)3.637 E(that, if e)180 669.6 Q
--.25(va)-.25 G(luated, will recreate).25 E F0(par)2.5 E(ameter)-.15 E F1
-(with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F2(K)144 681.6 Q F1
-1.339(Produces a possibly-quoted v)180 681.6 R 1.339(ersion of the v)
--.15 F 1.339(alue of)-.25 F F0(par)3.839 E(ameter)-.15 E F1 3.839(,e)C
-1.34(xcept that it prints the)-3.989 F -.25(va)180 693.6 S .258
-(lues of inde).25 F -.15(xe)-.15 G 2.757(da).15 G .257(nd associati)
--2.757 F .557 -.15(ve a)-.25 H .257(rrays as a sequence of quoted k).15
-F -.15(ey)-.1 G(-v).15 E .257(alue pairs \(see)-.25 F F2(Ar)2.757 E(-)
--.37 E(rays)180 705.6 Q F1(abo)2.5 E -.15(ve)-.15 G 2.5(\). The).15 F
--.1(ke)2.5 G(ys and v)-.05 E
-(alues are quoted in a format that can be reused as input.)-.25 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(27)190.395 E 0 Cg EP
-%%Page: 28 28
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(a)144 84 Q F1(The e)180 84 Q
-(xpansion is a string consisting of \215ag v)-.15 E(alues representing)
--.25 E F0(par)2.5 E(ameter)-.15 E F1 1.1 -.55('s a)D(ttrib).55 E(utes.)
--.2 E F2(k)144 96 Q F1(Lik)180 96 Q 2.657(et)-.1 G .157
-(he K transformation, b)-2.657 F .157(ut e)-.2 F .157(xpands the k)-.15
-F -.15(ey)-.1 G 2.657(sa).15 G .157(nd v)-2.657 F .157(alues of inde)
--.25 F -.15(xe)-.15 G 2.657(da).15 G .158(nd associati)-2.657 F .458
--.15(ve a)-.25 H -.2(r-).15 G(rays to separate w)180 108 Q(ords after w)
--.1 E(ord splitting.)-.1 E(If)144 124.8 Q F0(par)4.403 E(ameter)-.15 E
-F1(is)3.883 E F2(@)3.153 E F1(or)3.153 E F2(*)3.153 E F1 3.153(,t)C .653
-(he operation is applied to each positional parameter in turn, and the \
-e)-3.153 F(x-)-.15 E .403(pansion is the resultant list.)144 136.8 R(If)
-5.403 E F0(par)4.153 E(ameter)-.15 E F1 .403(is an array v)3.633 F .403
-(ariable subscripted with)-.25 F F2(@)2.903 E F1(or)2.903 E F2(*)2.903 E
-F1 2.903(,t)C .403(he opera-)-2.903 F
-(tion is applied to each member of the array in turn, and the e)144
-148.8 Q(xpansion is the resultant list.)-.15 E .708(The result of the e)
-144 165.6 R .708(xpansion is subject to w)-.15 F .708
-(ord splitting and pathname e)-.1 F .708(xpansion as described be-)-.15
-F(lo)144 177.6 Q -.65(w.)-.25 G F2(Command Substitution)87 194.4 Q F0
-.323(Command substitution)108 206.4 R F1(allo)2.823 E .324
-(ws the output of a command to replace the command itself.)-.25 F .324
-(There are tw)5.324 F 2.824(os)-.1 G(tan-)-2.824 E(dard forms:)108 218.4
-Q F2($\()144 235.2 Q F0(command)A F2(\))1.666 E F1(or \(deprecated\))108
-247.2 Q F2<92>144 259.2 Q F0(command)A F2<92>A F1(.)A F2(Bash)108 276 Q
-F1 .089(performs the e)2.589 F .089(xpansion by e)-.15 F -.15(xe)-.15 G
-(cuting).15 E F0(command)2.589 E F1 .088(in a subshell en)2.589 F .088
-(vironment and replacing the command)-.4 F .41
-(substitution with the standard output of the command, with an)108 288 R
-2.91(yt)-.15 G .41(railing ne)-2.91 F .41(wlines deleted.)-.25 F .41
-(Embedded ne)5.41 F(w-)-.25 E .192(lines are not deleted, b)108 300 R
-.192(ut the)-.2 F 2.692(ym)-.15 G .192(ay be remo)-2.692 F -.15(ve)-.15
-G 2.692(dd).15 G .192(uring w)-2.692 F .192(ord splitting.)-.1 F .192
-(The command substitution)5.192 F F2($\(cat)2.691 E F0(\214le)2.691 E F2
-(\))A F1(can be replaced by the equi)108 312 Q -.25(va)-.25 G(lent b).25
-E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F0(\214le)2.5 E F2(\))A F1(.)A
--.4(Wi)108 328.8 S 1.237(th the old-style backquote form of substitutio\
-n, backslash retains its literal meaning e).4 F 1.238(xcept when fol-)
--.15 F(lo)108 340.8 Q .528(wed by)-.25 F F2($)3.028 E F1(,)A F2<92>3.028
-E F1 3.028(,o)C(r)-3.028 E F2(\\)3.028 E F1 5.528(.T)C .527(he \214rst \
-backquote not preceded by a backslash terminates the command substituti\
-on.)-5.528 F .092(When using the $\()108 352.8 R F0(command).833 E F1
-2.592(\)f)1.666 G .092(orm, all characters between the parentheses mak)
--2.592 F 2.592(eu)-.1 G 2.592(pt)-2.592 G .092(he command; none are)
--2.592 F(treated specially)108 364.8 Q(.)-.65 E
-(There is an alternate form of command substitution:)108 381.6 Q F2(${)
-144 398.4 Q F0 2.5(cc)C(ommand)-2.5 E F2 1.666(;})C F1 .64(which e)108
-415.2 R -.15(xe)-.15 G(cutes).15 E F0(command)3.14 E F1 .639
-(in the current e)3.14 F -.15(xe)-.15 G .639(cution en).15 F .639
-(vironment and captures its output, ag)-.4 F .639(ain with trailing)-.05
-F(ne)108 427.2 Q(wlines remo)-.25 E -.15(ve)-.15 G(d.).15 E .27
-(The character)108 444 R F0(c)2.771 E F1(follo)2.771 E .271
-(wing the open brace must be a space, tab, ne)-.25 F .271(wline, or)-.25
-F F2(|)2.771 E F1 2.771(,a)C .271(nd the close brace must be in)-2.771 F
-2.822(ap)108 456 S .322(osition where a reserv)-2.822 F .321(ed w)-.15 F
-.321(ord may appear \(i.e., preceded by a command terminator such as se\
-micolon\).)-.1 F F2(Bash)108 468 Q F1(allo)2.709 E .209
-(ws the close brace to be joined to the remaining characters in the w)
--.25 F .21(ord without being follo)-.1 F .21(wed by)-.25 F 2.5(as)108
-480 S(hell metacharacter as a reserv)-2.5 E(ed w)-.15 E(ord w)-.1 E
-(ould usually require.)-.1 E(An)108 496.8 Q 3.384(ys)-.15 G .884(ide ef)
--3.384 F .884(fects of)-.25 F F0(command)3.384 E F1(tak)3.384 E 3.384
-(ee)-.1 G -.25(ff)-3.384 G .884(ect immediately in the current e).25 F
--.15(xe)-.15 G .884(cution en).15 F .884(vironment and persist in)-.4 F
-(the current en)108 508.8 Q
-(vironment after the command completes \(e.g., the)-.4 E F2(exit)2.5 E
-F1 -.2(bu)2.5 G(iltin will e).2 E(xit the shell\).)-.15 E .221
-(This type of command substitution super\214cially resembles e)108 525.6
-R -.15(xe)-.15 G .221(cuting an unnamed shell function: local v).15 F
-(ari-)-.25 E .172(ables are created as when a shell function is e)108
-537.6 R -.15(xe)-.15 G .172(cuting, and the).15 F F2 -.18(re)2.672 G
-(tur).18 E(n)-.15 E F1 -.2(bu)2.672 G .171(iltin forces).2 F F0(command)
-2.671 E F1 .171(to complete;)2.671 F(ho)108 549.6 Q(we)-.25 E -.15(ve)
--.25 G 2.52 -.4(r, t).15 H 1.72(he rest of the e).4 F -.15(xe)-.15 G
-1.721(cution en).15 F 1.721
-(vironment, including the positional parameters, is shared with the)-.4
-F(caller)108 561.6 Q(.)-.55 E .392(If the \214rst character follo)108
-578.4 R .392(wing the open brace is a)-.25 F F2(|)2.892 E F1 2.892(,t)C
-.392(he construct e)-2.892 F .392(xpands to the v)-.15 F .392
-(alue of the)-.25 F F2(REPL)2.892 E(Y)-.92 E F1(shell)2.892 E -.25(va)
-108 590.4 S .505(riable after).25 F F0(command)3.005 E F1 -.15(exe)3.005
-G .505(cutes, without remo).15 F .505(ving an)-.15 F 3.005(yt)-.15 G
-.505(railing ne)-3.005 F .505(wlines, and the standard output of)-.25 F
-F0(com-)3.005 E(mand)108 602.4 Q F1 1.208
-(remains the same as in the calling shell.)3.709 F F2(Bash)6.208 E F1
-(creates)3.708 E F2(REPL)3.708 E(Y)-.92 E F1 1.208
-(as an initially-unset local v)3.708 F(ariable)-.25 E(when)108 614.4 Q
-F0(command)3.514 E F1 -.15(exe)3.514 G 1.014(cutes, and restores).15 F
-F2(REPL)3.514 E(Y)-.92 E F1 1.014(to the v)3.514 F 1.014
-(alue it had before the command substitution after)-.25 F F0(command)108
-626.4 Q F1(completes, as with an)2.5 E 2.5(yl)-.15 G(ocal v)-2.5 E
-(ariable.)-.25 E .894(Command substitutions may be nested.)108 643.2 R
-2.494 -.8(To n)5.894 H .894
-(est when using the backquoted form, escape the inner back-).8 F
-(quotes with backslashes.)108 655.2 Q .004
-(If the substitution appears within double quotes,)108 672 R F2(bash)
-2.504 E F1 .004(does not perform w)2.504 F .004
-(ord splitting and pathname e)-.1 F(xpan-)-.15 E(sion on the results.)
-108 684 Q F2(Arithmetic Expansion)87 700.8 Q F1 1.14(Arithmetic e)108
-712.8 R 1.14(xpansion e)-.15 F -.25(va)-.25 G 1.139
-(luates an arithmetic e).25 F 1.139
-(xpression and substitutes the result.)-.15 F 1.139
-(The format for arith-)6.139 F(metic e)108 724.8 Q(xpansion is:)-.15 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(28)190.395 E 0 Cg EP
-%%Page: 29 29
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF($\(\()144 84 Q F0 -.2(ex)C
-(pr).2 E(ession)-.37 E F2(\)\))A F1(The)108 100.8 Q F0 -.2(ex)2.735 G
-(pr).2 E(ession)-.37 E F1(under)2.975 E .235(goes the same e)-.18 F .236
-(xpansions as if it were within double quotes, b)-.15 F .236
-(ut double quote charac-)-.2 F .421(ters in)108 112.8 R F0 -.2(ex)2.921
-G(pr).2 E(ession)-.37 E F1 .421(are not treated specially and are remo)
-2.921 F -.15(ve)-.15 G 2.921(d. All).15 F(tok)2.92 E .42(ens in the e)
--.1 F .42(xpression under)-.15 F .42(go parame-)-.18 F 1.209(ter and v)
-108 124.8 R 1.209(ariable e)-.25 F 1.209
-(xpansion, command substitution, and quote remo)-.15 F -.25(va)-.15 G
-3.709(l. The).25 F 1.21(result is treated as the arith-)3.709 F(metic e)
-108 136.8 Q(xpression to be e)-.15 E -.25(va)-.25 G 2.5
-(luated. Arithmetic).25 F -.15(ex)2.5 G(pansions may be nested.).15 E
-1.379(The e)108 153.6 R -.25(va)-.25 G 1.378
-(luation is performed according to the rules listed belo).25 F 3.878(wu)
--.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F
-(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)A F1
-(If)5.878 E F0 -.2(ex)108 165.6 S(pr).2 E(ession)-.37 E F1 .021(is in)
-2.761 F -.25(va)-.4 G(lid,).25 E F2(bash)2.522 E F1 .022
-(prints a message to standard error indicating f)2.522 F .022
-(ailure, does not perform the substi-)-.1 F(tution, and does not e)108
-177.6 Q -.15(xe)-.15 G(cute the command associated with the e).15 E
-(xpansion.)-.15 E F2(Pr)87 194.4 Q(ocess Substitution)-.18 E F0(Pr)108
-206.4 Q .405(ocess substitution)-.45 F F1(allo)2.905 E .405
-(ws a process')-.25 F 2.905(si)-.55 G .405
-(nput or output to be referred to using a \214lename.)-2.905 F .405
-(It tak)5.405 F .405(es the form)-.1 F(of)108 218.4 Q F2(<\()3.25 E F0
-(list)A F2(\)).833 E F1(or)3.25 E F2(>\()3.25 E F0(list)A F2(\)).833 E
-F1 5.75(.T)C .751(he process)-5.75 F F0(list)3.251 E F1 .751
-(is run asynchronously)3.251 F 3.251(,a)-.65 G .751
-(nd its input or output appears as a \214lename.)-3.251 F
-(This \214lename is passed as an ar)108 230.4 Q
-(gument to the current command as the result of the e)-.18 E(xpansion.)
--.15 E .474(If the)108 247.2 R F2(>\()2.974 E F0(list)A F2(\)).833 E F1
-.474(form is used, writing to the \214le will pro)2.974 F .473
-(vide input for)-.15 F F0(list)2.973 E F1 5.473(.I)C 2.973(ft)-5.473 G
-(he)-2.973 E F2(<\()2.973 E F0(list)A F2(\)).833 E F1 .473
-(form is used, reading)2.973 F .163
-(the \214le will obtain the output of)108 259.2 R F0(list)2.664 E F1
-5.164(.N)C 2.664(os)-5.164 G .164(pace may appear between the)-2.664 F
-F2(<)2.664 E F1(or)2.664 E F2(>)2.664 E F1 .164
-(and the left parenthesis, oth-)2.664 F(erwise the construct w)108 271.2
-Q(ould be interpreted as a redirection.)-.1 E 1.015(Process substitutio\
-n is supported on systems that support named pipes \()108 288 R F0
-(FIFOs)A F1 3.514(\)o)C 3.514(rt)-3.514 G(he)-3.514 E F2(/de)3.514 E
-(v/fd)-.15 E F1 1.014(method of)3.514 F(naming open \214les.)108 300 Q
-.896(When a)108 316.8 R -.25(va)-.2 G .896(ilable, process substitution\
- is performed simultaneously with parameter and v).25 F .897(ariable e)
--.25 F(xpansion,)-.15 E(command substitution, and arithmetic e)108 328.8
-Q(xpansion.)-.15 E F2 -.75(Wo)87 345.6 S(rd Splitting).75 E F1 1.143
-(The shell scans the results of parameter e)108 357.6 R 1.142
-(xpansion, command substitution, and arithmetic e)-.15 F 1.142
-(xpansion that)-.15 F(did not occur within double quotes for)108 369.6 Q
-F0(wor)2.84 E 2.5(ds)-.37 G(plitting)-2.5 E F1(.).22 E .063
-(The shell treats each character of)108 386.4 R F3(IFS)2.563 E F1 .063
-(as a delimiter)2.313 F 2.563(,a)-.4 G .063
-(nd splits the results of the other e)-2.563 F .063(xpansions into w)
--.15 F(ords)-.1 E(using these characters as \214eld terminators.)108
-398.4 Q(If)108 415.2 Q F3(IFS)3.083 E F1 .583(is unset, or its v)2.833 F
-.582(alue is e)-.25 F(xactly)-.15 E F2(<space><tab><newline>)3.082 E F1
-3.082(,t)C .582(he def)-3.082 F .582(ault, then sequences of)-.1 F F2
-(space)3.082 E F1(,)A F2(tab)3.082 E F1(,)A(and)108 427.2 Q F2(newline)
-3.626 E F1 1.126(at the be)3.626 F 1.126
-(ginning and end of the results of the pre)-.15 F 1.126(vious e)-.25 F
-1.126(xpansions are ignored, and an)-.15 F 3.627(ys)-.15 G(e-)-3.627 E
-.616(quence of)108 439.2 R F3(IFS)3.116 E F1 .615
-(characters not at the be)2.865 F .615(ginning or end delimits w)-.15 F
-3.115(ords. If)-.1 F F3(IFS)3.115 E F1 .615(has a v)2.865 F .615
-(alue other than the de-)-.25 F -.1(fa)108 451.2 S .642
-(ult, then sequences of the whitespace characters).1 F F2(space)3.142 E
-F1(,)A F2(tab)3.142 E F1 3.142(,a)C(nd)-3.142 E F2(newline)3.142 E F1
-.642(present in the v)3.142 F .642(alue of)-.25 F F3(IFS)3.143 E F1
-(\(an)2.893 E F3(IFS)108 463.2 Q F1 .834
-(whitespace character\) are ignored at the be)3.084 F .833
-(ginning and end of the w)-.15 F 3.333(ord. An)-.1 F 3.333(yc)-.15 G
-.833(haracter in)-3.333 F F3(IFS)3.333 E F1 .833(that is)3.083 F(not)108
-475.2 Q F3(IFS)2.753 E F1 .253(whitespace, along with an)2.503 F 2.753
-(ya)-.15 G(djacent)-2.753 E F3(IFS)2.754 E F1 .254
-(whitespace characters, delimits a \214eld.)2.504 F 2.754(As)5.254 G
-.254(equence of)-2.754 F F3(IFS)2.754 E F1
-(whitespace characters is also treated as a delimiter)108 487.2 Q(.)-.55
-E .162(If the v)108 504 R .161(alue of)-.25 F F3(IFS)2.661 E F1 .161
-(is null, no w)2.411 F .161(ord splitting occurs.)-.1 F(If)5.161 E F3
-(IFS)2.661 E F1 .161(is unset, w)2.411 F .161(ord splitting beha)-.1 F
--.15(ve)-.2 G 2.661(sa).15 G 2.661(si)-2.661 G 2.661(fi)-2.661 G 2.661
-(tc)-2.661 G(ontained)-2.661 E(the def)108 516 Q(ault v)-.1 E(alue of)
--.25 E F2(<space><tab><newline>)2.5 E F1(.)A .782(Explicit null ar)108
-532.8 R .782(guments \()-.18 F F2 .833("").833 G F1(or)2.449 E F2 .833
-<0808>4.115 G F1 3.282(\)a)C .782
-(re retained and passed to commands as empty strings.)-3.282 F .783
-(Unquoted im-)5.783 F .179(plicit null ar)108 544.8 R .179
-(guments, resulting from the e)-.18 F .179
-(xpansion of parameters that ha)-.15 F .479 -.15(ve n)-.2 H 2.679(ov).15
-G .179(alues, are remo)-2.929 F -.15(ve)-.15 G 2.678(d. If).15 F 2.678
-(ap)2.678 G(a-)-2.678 E .318(rameter with no v)108 556.8 R .319
-(alue is e)-.25 F .319(xpanded within double quotes, a null ar)-.15 F
-.319(gument results and is retained and passed)-.18 F .001
-(to a command as an empty string.)108 568.8 R .001
-(When a quoted null ar)5.001 F(gument appears as part of a w)-.18 E
-(ord whose e)-.1 E(xpansion)-.15 E .592(is non-null, the null ar)108
-580.8 R .593(gument is remo)-.18 F -.15(ve)-.15 G 3.093(d. That).15 F
-.593(is, the w)3.093 F .593<6f72642099ad6408>-.1 F .593
-(\010\232 becomes \231\255d\232 after w).833 F .593(ord splitting and)
--.1 F(null ar)108 592.8 Q(gument remo)-.18 E -.25(va)-.15 G(l.).25 E
-(Note that if no e)108 609.6 Q
-(xpansion occurs, no splitting is performed.)-.15 E F2 -.1(Pa)87 626.4 S
-(thname Expansion).1 E F1 .371(After w)108 638.4 R .371
-(ord splitting, unless the)-.1 F F2<ad66>2.871 E F1 .371
-(option has been set,)2.871 F F2(bash)2.871 E F1 .37(scans each w)2.87 F
-.37(ord for the characters)-.1 F F2(*)2.87 E F1(,)A F2(?)2.87 E F1 2.87
-(,a)C(nd)-2.87 E F2([)2.87 E F1(.)A .633
-(If one of these characters appears, and is not quoted, then the w)108
-650.4 R .634(ord is re)-.1 F -.05(ga)-.15 G .634(rded as a).05 F F0
-(pattern)4.384 E F1 3.134(,a).24 G .634(nd replaced)-3.134 F .282
-(with a sorted list of \214lenames matching the pattern \(see)108 662.4
-R F3 -.09(Pa)2.781 G(tter).09 E 2.531(nM)-.135 G(atching)-2.531 E F1
-(belo)2.531 E .281(w\) subject to the v)-.25 F .281(alue of the)-.25 F
-F2(GLOBSOR)108 674.4 Q(T)-.4 E F1(shell v)2.5 E(ariable.)-.25 E 1.754
-(If no matching \214lenames are found, and the shell option)108 691.2 R
-F2(nullglob)4.254 E F1 1.754(is not enabled, the w)4.254 F 1.754
-(ord is left un-)-.1 F 2.614(changed. If)108 703.2 R(the)2.614 E F2
-(nullglob)2.614 E F1 .114
-(option is set, and no matches are found, the w)2.614 F .113
-(ord is remo)-.1 F -.15(ve)-.15 G 2.613(d. If).15 F(the)2.613 E F2
-(failglob)2.613 E F1(shell)2.613 E .579
-(option is set, and no matches are found,)108 715.2 R F2(bash)3.079 E F1
-.579(prints an error message and does not e)3.079 F -.15(xe)-.15 G .579
-(cute the command.).15 F .689(If the shell option)108 727.2 R F2
-(nocaseglob)3.189 E F1 .689
-(is enabled, the match is performed without re)3.189 F -.05(ga)-.15 G
-.688(rd to the case of alphabetic).05 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(29)190.395 E 0 Cg EP
-%%Page: 30 30
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(characters.)108 84 Q .309
-(When a pattern is used for pathname e)108 100.8 R .309(xpansion, the c\
-haracter \231.\232 at the start of a name or immediately fol-)-.15 F(lo)
-108 112.8 Q .191(wing a slash must be matched e)-.25 F(xplicitly)-.15 E
-2.691(,u)-.65 G .191(nless the shell option)-2.691 F/F2 10/Times-Bold@0
-SF(dotglob)2.69 E F1 .19(is set.)2.69 F .19
-(In order to match the \214le-)5.19 F(names)108 124.8 Q F0(.)4.359 E F1
-(and)4.359 E F0(..)4.359 E F1 2.693(,t)1.666 G .193(he pattern must be)
--2.693 F .193(gin with \231.\232 \(for e)-.15 F .193
-(xample, \231.?\232\), e)-.15 F -.15(ve)-.25 G 2.693(ni).15 G(f)-2.693 E
-F2(dotglob)2.694 E F1 .194(is set.)2.694 F .194(If the)5.194 F F2
-(globskip-)2.694 E(dots)108 136.8 Q F1 1.445
-(shell option is enabled, the \214lenames)3.946 F F0(.)5.611 E F1(and)
-5.611 E F0(..)5.611 E F1(ne)5.611 E -.15(ve)-.25 G 3.945(rm).15 G 1.445
-(atch, e)-3.945 F -.15(ve)-.25 G 3.945(ni).15 G 3.945(ft)-3.945 G 1.445
-(he pattern be)-3.945 F 1.445(gins with a \231.\232.)-.15 F(When not ma\
-tching pathnames, the \231.\232 character is not treated specially)108
-148.8 Q(.)-.65 E .061
-(When matching a pathname, the slash character must al)108 165.6 R -.1
-(wa)-.1 G .061(ys be matched e).1 F .061
-(xplicitly by a slash in the pattern,)-.15 F -.2(bu)108 177.6 S 3.395
-(ti).2 G 3.395(no)-3.395 G .894(ther matching conte)-3.395 F .894
-(xts it can be matched by a special pattern character as described belo)
--.15 F 3.394(wu)-.25 G(nder)-3.394 E/F3 9/Times-Bold@0 SF -.09(Pa)108
-189.6 S(tter).09 E 2.25(nM)-.135 G(atching)-2.25 E/F4 9/Times-Roman@0 SF
-(.)A F1 .711(See the description of)108 206.4 R F2(shopt)3.211 E F1
-(belo)3.212 E 3.212(wu)-.25 G(nder)-3.212 E F3 .712(SHELL B)3.212 F(UIL)
--.09 E .712(TIN COMMANDS)-.828 F F1 .712(for a description of the)2.962
-F F2(nocase-)3.212 E(glob)108 218.4 Q F1(,)A F2(nullglob)2.5 E F1(,)A F2
-(globskipdots)2.5 E F1(,)A F2(failglob)2.5 E F1 2.5(,a)C(nd)-2.5 E F2
-(dotglob)2.5 E F1(shell options.)2.5 E(The)108 235.2 Q F3(GLOBIGNORE)
-2.562 E F1 .062(shell v)2.312 F .061
-(ariable may be used to restrict the set of \214le names matching a)-.25
-F F0(pattern)3.811 E F1 5.061(.I).24 G(f)-5.061 E F3(GLO-)2.561 E
-(BIGNORE)108 247.2 Q F1 1.096(is set, each matching \214le name that al\
-so matches one of the patterns in)3.346 F F3(GLOBIGNORE)3.597 E F1 1.097
-(is re-)3.347 F(mo)108 259.2 Q -.15(ve)-.15 G 2.851(df).15 G .351
-(rom the list of matches.)-2.851 F .351(If the)5.351 F F2(nocaseglob)
-2.851 E F1 .351(option is set, the matching ag)2.851 F .351
-(ainst the patterns in)-.05 F F3(GLO-)2.85 E(BIGNORE)108 271.2 Q F1 .096
-(is performed without re)2.346 F -.05(ga)-.15 G .097(rd to case.).05 F
-.097(The \214lenames)5.097 F F0(.)4.263 E F1(and)4.263 E F0(..)4.263 E
-F1 .097(are al)4.263 F -.1(wa)-.1 G .097(ys ignored when).1 F F3
-(GLOBIG-)2.597 E(NORE)108 283.2 Q F1 .754(is set and not null.)3.004 F
-(Ho)5.753 E(we)-.25 E -.15(ve)-.25 G 1.553 -.4(r, s).15 H(etting).4 E F3
-(GLOBIGNORE)3.253 E F1 .753(to a non-null v)3.003 F .753
-(alue has the ef)-.25 F .753(fect of enabling)-.25 F(the)108 295.2 Q F2
-(dotglob)2.827 E F1 .328(shell option, so all other \214lenames be)2.827
-F .328(ginning with a \231.\232 will match.)-.15 F 1.928 -.8(To g)5.328
-H .328(et the old beha).8 F .328(vior of)-.2 F .068
-(ignoring \214lenames be)108 307.2 R .068(ginning with a \231.\232, mak)
--.15 F 2.568<6599>-.1 G 2.568(.*\232 one)-2.568 F .068
-(of the patterns in)2.568 F F3(GLOBIGNORE)2.568 E F4(.)A F1(The)4.568 E
-F2(dotglob)2.567 E F1(op-)2.567 E .021(tion is disabled when)108 319.2 R
-F3(GLOBIGNORE)2.521 E F1 .021(is unset.)2.271 F(The)5.021 E F2
-(GLOBIGNORE)2.521 E F1 .021(pattern matching honors the setting of)2.521
-F(the)108 331.2 Q F2(extglob)2.5 E F1(shell option.)2.5 E(The)108 348 Q
-F3(GLOBSOR)3.912 E(T)-.36 E F1 1.412(shell v)3.662 F 1.412
-(ariable controls ho)-.25 F 3.912(wt)-.25 G 1.412
-(he results of pathname e)-3.912 F 1.411
-(xpansion are sorted, as described)-.15 F(abo)108 360 Q -.15(ve)-.15 G
-(.).15 E F2 -.1(Pa)108 376.8 S(tter).1 E 2.5(nM)-.15 G(atching)-2.5 E F1
-(An)108 393.6 Q 3.138(yc)-.15 G .638(haracter that appears in a pattern\
-, other than the special pattern characters described belo)-3.138 F
-1.938 -.65(w, m)-.25 H(atches).65 E 2.722(itself. The)108 405.6 R .221
-(NUL character may not occur in a pattern.)2.722 F 2.721(Ab)5.221 G .221
-(ackslash escapes the follo)-2.721 F .221(wing character; the es-)-.25 F
-.418(caping backslash is discarded when matching.)108 417.6 R .418
-(The special pattern characters must be quoted if the)5.418 F 2.919(ya)
--.15 G .419(re to)-2.919 F(be matched literally)108 429.6 Q(.)-.65 E
-(The special pattern characters ha)108 446.4 Q .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F2(*)144 463.2 Q F1 .377
-(Matches an)180 463.2 R 2.877(ys)-.15 G .376
-(tring, including the null string.)-2.877 F .376(When the)5.376 F F2
-(globstar)2.876 E F1 .376(shell option is enabled,)2.876 F(and)180 475.2
-Q F2(*)3.275 E F1 .775(is used in a pathname e)3.275 F .775
-(xpansion conte)-.15 F .775(xt, tw)-.15 F 3.275(oa)-.1 G(djacent)-3.275
-E F2(*)3.275 E F1 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058
-(will match all \214les and zero or more directories and subdirectories\
-.)180 487.2 R 1.058(If follo)6.058 F 1.058(wed by a)-.25 F F2(/)3.558 E
-F1(,)A(tw)180 499.2 Q 2.5(oa)-.1 G(djacent)-2.5 E F2(*)2.5 E F1 2.5(sw)C
-(ill match only directories and subdirectories.)-2.5 E F2(?)144 511.2 Q
-F1(Matches an)180 511.2 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E
-F2([)144 523.2 Q F1 1.666(...)C F2(])-1.666 E F1 .578(Matches an)180
-523.2 R 3.078(yo)-.15 G .578(ne of the enclosed characters.)-3.078 F
-3.079(Ap)5.579 G .579(air of characters separated by a h)-3.079 F(yphen)
--.05 E .685(denotes a)180 535.2 R F0 -.15(ra)3.185 G(ng).15 E 3.184(ee)
--.1 G(xpr)-3.384 E(ession)-.37 E F1 3.184(;a)C .984 -.15(ny c)-3.184 H
-.684(haracter that f).15 F .684(alls between those tw)-.1 F 3.184(oc)-.1
-G .684(haracters, inclu-)-3.184 F(si)180 547.2 Q -.15(ve)-.25 G 3.113
-(,u).15 G .614(sing the current locale')-3.113 F 3.114(sc)-.55 G .614
-(ollating sequence and character set, matches.)-3.114 F .614
-(If the \214rst)5.614 F .153(character follo)180 559.2 R .153(wing the)
--.25 F F2([)2.653 E F1 .152(is a)2.653 F F2(!)2.652 E F1 .152(or a)5.152
-F F2<00>2.652 E F1 .152(then an)2.652 F 2.652(yc)-.15 G .152
-(haracter not within the range matches.)-2.652 F(A)5.152 E F2<ad>180
-571.2 Q F1 1.296(may be matched by including it as the \214rst or last \
-character in the set.)3.796 F(A)6.297 E F2(])3.797 E F1 1.297(may be)
-3.797 F(matched by including it as the \214rst character in the set.)180
-583.2 Q 1.045(The sorting order of characters in range e)180 600 R 1.044
-(xpressions, and the characters included in the)-.15 F 2.34
-(range, are determined by the current locale and the v)180 612 R 2.341
-(alues of the)-.25 F F3(LC_COLLA)4.841 E(TE)-.855 E F1(or)4.591 E F3
-(LC_ALL)180 624 Q F1 1.079(shell v)3.329 F 1.079(ariables, if set.)-.25
-F 2.679 -.8(To o)6.079 H 1.079
-(btain the traditional interpretation of range e).8 F(xpres-)-.15 E
-2.407(sions, where)180 636 R F2([a\255d])4.907 E F1 2.407(is equi)4.907
-F -.25(va)-.25 G 2.408(lent to).25 F F2([abcd])4.908 E F1 4.908(,s)C
-2.408(et the v)-4.908 F 2.408(alue of the)-.25 F F2(LC_COLLA)4.908 E(TE)
--.95 E F1(or)4.908 E F2(LC_ALL)180 648 Q F1(shell v)2.5 E(ariables to)
--.25 E F2(C)2.5 E F1 2.5(,o)C 2.5(re)-2.5 G(nable the)-2.5 E F2
-(globasciiranges)2.5 E F1(shell option.)2.5 E -.4(Wi)180 664.8 S(thin).4
-E F2([)3.071 E F1(and)3.071 E F2(])3.071 E F1(,)A F0 -.15(ch)3.071 G(ar)
-.15 E .571(acter classes)-.15 F F1 .571
-(can be speci\214ed using the syntax)3.071 F F2([:)3.07 E F0(class)A F2
-(:])A F1 3.07(,w)C(here)-3.07 E F0(class)3.07 E F1(is one of the follo)
-180 676.8 Q(wing classes de\214ned in the POSIX standard:)-.25 E F2
-5.889(alnum alpha ascii blank cntrl digit graph lo)180 693.6 R 5.889
-(wer print punct space up-)-.1 F 5(per w)180 705.6 R 5(ord xdigit)-.1 F
-F1(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(30)190.395 E 0 Cg EP
-%%Page: 31 31
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 4.29(Ac)180 84 S 1.789(haracter class matches an)
--4.29 F 4.289(yc)-.15 G 1.789(haracter belonging to that class.)-4.289 F
-(The)6.789 E/F2 10/Times-Bold@0 SF -.1(wo)4.289 G(rd).1 E F1(character)
-4.289 E(class matches letters, digits, and the character _.)180 96 Q -.4
-(Wi)180 112.8 S(thin).4 E F2([)4.536 E F1(and)4.536 E F2(])4.536 E F1
-4.536(,a)C(n)-4.536 E F0 2.036(equivalence class)4.536 F F1 2.037
-(can be speci\214ed using the syntax)4.536 F F2([=)4.537 E F0(c)A F2(=])
-A F1 4.537(,w)C(hich)-4.537 E .125(matches all characters with the same\
- collation weight \(as de\214ned by the current locale\) as)180 124.8 R
-(the character)180 136.8 Q F0(c)2.5 E F1(.)A -.4(Wi)180 153.6 S(thin).4
-E F2([)2.5 E F1(and)2.5 E F2(])2.5 E F1 2.5(,t)C(he syntax)-2.5 E F2([.)
-2.5 E F0(symbol)A F2(.])A F1(matches the collating symbol)2.5 E F0
-(symbol)2.5 E F1(.)A .539(If the)108 170.4 R F2(extglob)3.039 E F1 .539
-(shell option is enabled using the)3.039 F F2(shopt)3.039 E F1 -.2(bu)
-3.039 G .54(iltin, the shell recognizes se).2 F -.15(ve)-.25 G .54
-(ral e).15 F .54(xtended pattern)-.15 F .038(matching operators.)108
-182.4 R .038(In the follo)5.038 F .038(wing description, a)-.25 F F0
-(pattern-list)2.538 E F1 .037
-(is a list of one or more patterns separated by)2.538 F(a)108 194.4 Q F2
-(|)2.5 E F1 5(.C)C
-(omposite patterns may be formed using one or more of the follo)-5 E
-(wing sub-patterns:)-.25 E F2(?\()144 211.2 Q F0(pattern-list).833 E F2
-(\)).833 E F1(Matches zero or one occurrence of the gi)180 223.2 Q -.15
-(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(*\()144 235.2 Q F0
-(pattern-list).833 E F2(\)).833 E F1
-(Matches zero or more occurrences of the gi)180 247.2 Q -.15(ve)-.25 G
-2.5(np).15 G(atterns.)-2.5 E F2(+\()144 259.2 Q F0(pattern-list).833 E
-F2(\)).833 E F1(Matches one or more occurrences of the gi)180 271.2 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(@\()144 283.2 Q F0
-(pattern-list).833 E F2(\)).833 E F1(Matches one of the gi)180 295.2 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(!\()144 307.2 Q F0
-(pattern-list).833 E F2(\)).833 E F1(Matches an)180 319.2 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 336 Q F2(extglob)2.791 E F1 .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 348 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
-F2(extglob)108 360 Q F1 1.355(is enabled before parsing constructs cont\
-aining the patterns, including shell functions and com-)3.854 F
-(mand substitutions.)108 372 Q .988(When matching \214lenames, the)108
-388.8 R F2(dotglob)3.488 E F1 .988
-(shell option determines the set of \214lenames that are tested: when)
-3.488 F F2(dotglob)108 400.8 Q F1 .344
-(is enabled, the set of \214lenames includes all \214les be)2.844 F .345
-(ginning with \231.\232, b)-.15 F(ut)-.2 E F0(.)4.511 E F1(and)4.511 E
-F0(..)4.511 E F1 .345(must be matched)4.511 F .076
-(by a pattern or sub-pattern that be)108 412.8 R .075
-(gins with a dot; when it is disabled, the set does not include an)-.15
-F 2.575<798c>-.15 G(lenames)-2.575 E(be)108 424.8 Q .806
-(ginning with \231.\232 unless the pattern or sub-pattern be)-.15 F .807
-(gins with a \231.\232.)-.15 F .807(If the)5.807 F F2(globskipdots)3.307
-E F1 .807(shell option is)3.307 F 1.01(enabled, the \214lenames)108
-436.8 R F0(.)5.176 E F1(and)5.176 E F0(..)5.176 E F1(ne)5.176 E -.15(ve)
--.25 G 3.51(ra).15 G 1.01(ppear in the set.)-3.51 F 1.01(As abo)6.01 F
--.15(ve)-.15 G 3.51<2c99>.15 G 1.009
-(.\232 only has a special meaning when)-3.51 F(matching \214lenames.)108
-448.8 Q .968(Complicated e)108 465.6 R .968(xtended pattern matching ag)
--.15 F .968(ainst long strings is slo)-.05 F 2.269 -.65(w, e)-.25 H .969
-(specially when the patterns contain).65 F .091
-(alternations and the strings contain multiple matches.)108 477.6 R .091
-(Using separate matches ag)5.091 F .09(ainst shorter strings, or us-)
--.05 F(ing arrays of strings instead of a single long string, may be f)
-108 489.6 Q(aster)-.1 E(.)-.55 E F2(Quote Remo)87 506.4 Q -.1(va)-.1 G
-(l).1 E F1 1.112(After the preceding e)108 518.4 R 1.112
-(xpansions, all unquoted occurrences of the characters)-.15 F F2(\\)
-3.613 E F1(,)A F2<08>3.613 E F1 3.613(,a)C(nd)-3.613 E F2(")4.446 E F1
-1.113(that did not result)4.446 F(from one of the abo)108 530.4 Q .3
--.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F3
-10.95/Times-Bold@0 SF(REDIRECTION)72 547.2 Q F1 .545
-(Before a command is e)108 559.2 R -.15(xe)-.15 G .545
-(cuted, its input and output may be).15 F F0 -.37(re)3.045 G(dir).37 E
-(ected)-.37 E F1 .545(using a special notation interpreted)3.815 F .428
-(by the shell.)108 571.2 R F0(Redir)5.428 E(ection)-.37 E F1(allo)2.928
-E .428(ws commands' \214le handles to be duplicated, opened, closed, ma\
-de to refer to)-.25 F(dif)108 583.2 Q .763(ferent \214les, and can chan\
-ge the \214les the command reads from and writes to.)-.25 F .762
-(When used with the)5.763 F F2(exec)3.262 E F1 -.2(bu)108 595.2 S .418
-(iltin, redirections modify \214le handles in the current shell e).2 F
--.15(xe)-.15 G .418(cution en).15 F 2.918(vironment. The)-.4 F(follo)
-2.918 E .418(wing redirec-)-.25 F 1.695
-(tion operators may precede or appear an)108 607.2 R 1.695
-(ywhere within a)-.15 F F0 1.695(simple command)4.535 F F1 1.694
-(or may follo)4.964 F 4.194(wa)-.25 G F0(command).2 E F1(.).77 E
-(Redirections are processed in the order the)108 619.2 Q 2.5(ya)-.15 G
-(ppear)-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each redirect\
-ion that may be preceded by a \214le descriptor number may instead be p\
-receded by a w)108 636 R .772(ord of)-.1 F .293(the form {)108 648 R F0
-(varname)A F1 2.793(}. In)B .293
-(this case, for each redirection operator e)2.793 F .293
-(xcept >&- and <&-, the shell will allocate)-.15 F 3.09<618c>108 660 S
-.59(le descriptor greater than or equal to 10 and assign it to)-3.09 F
-F0(varname)3.09 E F1 5.59(.I)C 3.09(f{)-5.59 G F0(varname)-3.09 E F1
-3.09(}p)C .59(recedes >&- or <&-,)-3.09 F .535(the v)108 672 R .535
-(alue of)-.25 F F0(varname)3.035 E F1 .534
-(de\214nes the \214le descriptor to close.)3.035 F .534(If {)5.534 F F0
-(varname)A F1 3.034(}i)C 3.034(ss)-3.034 G .534
-(upplied, the redirection persists)-3.034 F(be)108 684 Q .449
-(yond the scope of the command, which allo)-.15 F .45
-(ws the shell programmer to manage the \214le descriptor')-.25 F 2.95
-(sl)-.55 G(ife-)-2.95 E(time manually without using the)108 696 Q F2
-(exec)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. The).2 F F2 -.1(va)2.5 G(rr).1 E
-(edir_close)-.18 E F1(shell option manages this beha)2.5 E(vior)-.2 E(.)
--.55 E .448(In the follo)108 712.8 R .447(wing descriptions, if the \
-\214le descriptor number is omitted, and the \214rst character of the r\
-edirec-)-.25 F .365(tion operator is)108 724.8 R F2(<)2.865 E F1 2.865
-(,t)C .366
-(he redirection refers to the standard input \(\214le descriptor 0\).)
--2.865 F .366(If the \214rst character of the)5.366 F(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(31)190.395 E 0 Cg EP
-%%Page: 32 32
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(redirection operator is)108 84 Q/F2 10/Times-Bold@0
-SF(>)2.5 E F1 2.5(,t)C
-(he redirection refers to the standard output \(\214le descriptor 1\).)
--2.5 E(The)108 100.8 Q F0(wor)3.343 E(d)-.37 E F1(follo)3.343 E .843
-(wing the redirection operator in the follo)-.25 F .843
-(wing descriptions, unless otherwise noted, is sub-)-.25 F .462
-(jected to brace e)108 112.8 R .462(xpansion, tilde e)-.15 F .463
-(xpansion, parameter and v)-.15 F .463(ariable e)-.25 F .463
-(xpansion, command substitution, arith-)-.15 F .867(metic e)108 124.8 R
-.867(xpansion, quote remo)-.15 F -.25(va)-.15 G .867(l, pathname e).25 F
-.867(xpansion, and w)-.15 F .867(ord splitting.)-.1 F .867(If it e)5.867
-F .866(xpands to more than one)-.15 F -.1(wo)108 136.8 S(rd,).1 E F2
-(bash)2.5 E F1(reports an error)2.5 E(.)-.55 E
-(The order of redirections is signi\214cant.)108 153.6 Q -.15(Fo)5 G 2.5
-(re).15 G(xample, the command)-2.65 E(ls)144 170.4 Q F2(>)2.5 E F1
-(dirlist 2)2.5 E F2(>&)A F1(1)A
-(directs both standard output and standard error to the \214le)108 187.2
-Q F0(dirlist)2.85 E F1 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 204
-Q F2(>&)A F1(1)A F2(>)2.5 E F1(dirlist)2.5 E .066
-(directs only the standard output to \214le)108 220.8 R F0(dirlist)2.916
-E F1 2.566(,b).68 G .067(ecause the standard error w)-2.566 F .067
-(as directed to the standard output)-.1 F(before the standard output w)
-108 232.8 Q(as redirected to)-.1 E F0(dirlist)2.85 E F1(.).68 E F2(Bash)
-108 249.6 Q F1 .599(handles se)3.099 F -.15(ve)-.25 G .599
-(ral \214lenames specially when the).15 F 3.099(ya)-.15 G .598
-(re used in redirections, as described in the follo)-3.099 F(wing)-.25 E
-3.378(table. If)108 261.6 R .879(the operating system on which)3.378 F
-F2(bash)3.379 E F1 .879(is running pro)3.379 F .879
-(vides these special \214les,)-.15 F F2(bash)3.379 E F1 .879
-(will use them;)3.379 F
-(otherwise it will emulate them internally with the beha)108 273.6 Q
-(vior described belo)-.2 E -.65(w.)-.25 G F2(/de)144 290.4 Q(v/fd/)-.15
-E F0(fd)A F1(If)180 302.4 Q F0(fd)2.5 E F1(is a v)2.5 E(alid inte)-.25 E
-(ger)-.15 E 2.5(,d)-.4 G(uplicate \214le descriptor)-2.5 E F0(fd)2.5 E
-F1(.)A F2(/de)144 314.4 Q(v/stdin)-.15 E F1
-(File descriptor 0 is duplicated.)180 326.4 Q F2(/de)144 338.4 Q
-(v/stdout)-.15 E F1(File descriptor 1 is duplicated.)180 350.4 Q F2(/de)
-144 362.4 Q(v/stderr)-.15 E F1(File descriptor 2 is duplicated.)180
-374.4 Q F2(/de)144 386.4 Q(v/tcp/)-.15 E F0(host)A F2(/)A F0(port)A F1
-(If)180 398.4 Q F0(host)2.997 E F1 .497(is a v)2.997 F .497
-(alid hostname or Internet address, and)-.25 F F0(port)2.996 E F1 .496
-(is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 410.4 Q F2(bash)2.5 E F1
-(attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E F2(/de)144
-422.4 Q(v/udp/)-.15 E F0(host)A F2(/)A F0(port)A F1(If)180 434.4 Q F0
-(host)2.996 E F1 .496(is a v)2.996 F .496
-(alid hostname or Internet address, and)-.25 F F0(port)2.997 E F1 .497
-(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 446.4 Q F2(bash)2.5 E F1
-(attempts to open the corresponding UDP sock)2.5 E(et.)-.1 E 2.5(Af)108
-463.2 S(ailure to open or create a \214le causes the redirection to f)
--2.6 E(ail.)-.1 E .046(Redirections using \214le descriptors greater th\
-an 9 should be used with care, as the)108 480 R 2.545(ym)-.15 G .045
-(ay con\215ict with \214le de-)-2.545 F
-(scriptors the shell uses internally)108 492 Q(.)-.65 E F2(Redir)87
-508.8 Q(ecting Input)-.18 E F1 .135
-(Redirecting input opens the \214le whose name results from the e)108
-520.8 R .135(xpansion of)-.15 F F0(wor)2.975 E(d)-.37 E F1 .136
-(for reading on \214le descrip-)3.406 F(tor)108 532.8 Q F0(n)2.86 E F1
-2.5(,o).24 G 2.5(rt)-2.5 G(he standard input \(\214le descriptor 0\) if)
--2.5 E F0(n)2.86 E F1(is not speci\214ed.)2.74 E
-(The general format for redirecting input is:)108 549.6 Q([)144 566.4 Q
-F0(n)A F1(])A F2(<)A F0(wor)A(d)-.37 E F2(Redir)87 583.2 Q
-(ecting Output)-.18 E F1 1.05
-(Redirecting output opens the \214le whose name results from the e)108
-595.2 R 1.049(xpansion of)-.15 F F0(wor)3.889 E(d)-.37 E F1 1.049
-(for writing on \214le de-)4.319 F(scriptor)108 607.2 Q F0(n)3.448 E F1
-3.088(,o).24 G 3.088(rt)-3.088 G .588
-(he standard output \(\214le descriptor 1\) if)-3.088 F F0(n)3.448 E F1
-.588(is not speci\214ed.)3.328 F .588(If the \214le does not e)5.588 F
-.589(xist it is cre-)-.15 F(ated; if it does e)108 619.2 Q
-(xist it is truncated to zero size.)-.15 E
-(The general format for redirecting output is:)108 636 Q([)144 652.8 Q
-F0(n)A F1(])A F2(>)A F0(wor)A(d)-.37 E F1 .155
-(If the redirection operator is)108 669.6 R F2(>)2.655 E F1 2.655(,a)C
-.155(nd the)-2.655 F F2(noclob)2.655 E(ber)-.1 E F1 .154(option to the)
-2.654 F F2(set)2.654 E F1 -.2(bu)2.654 G .154
-(iltin has been enabled, the redirection).2 F .076(will f)108 681.6 R
-.076(ail if the \214le whose name results from the e)-.1 F .076
-(xpansion of)-.15 F F0(wor)2.576 E(d)-.37 E F1 -.15(ex)2.576 G .076
-(ists and is a re).15 F .077(gular \214le.)-.15 F .077(If the redirec-)
-5.077 F .548(tion operator is)108 693.6 R F2(>|)3.048 E F1 3.048(,o)C
-3.048(rt)-3.048 G .548(he redirection operator is)-3.048 F F2(>)3.047 E
-F1 .547(and the)3.047 F F2(noclob)3.047 E(ber)-.1 E F1 .547
-(option to the)3.047 F F2(set)3.047 E F1 -.2(bu)3.047 G .547
-(iltin command is).2 F(not enabled,)108 705.6 Q F2(bash)2.5 E F1
-(attempts the redirection e)2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)
--2.5 G(he \214le named by)-2.5 E F0(wor)2.5 E(d)-.37 E F1 -.15(ex)2.5 G
-(ists.).15 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(32)190.395
-E 0 Cg EP
-%%Page: 33 33
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF -.25(Ap)87 84 S
-(pending Redir).25 E(ected Output)-.18 E F1 3.408(Redirecting output)108
-96 R .908(in this f)3.408 F .908
-(ashion opens the \214le whose name results from the e)-.1 F .909
-(xpansion of)-.15 F F0(wor)3.749 E(d)-.37 E F1 .909(for ap-)4.179 F .64
-(pending on \214le descriptor)108 108 R F0(n)3.5 E F1 3.14(,o).24 G 3.14
-(rt)-3.14 G .64(he standard output \(\214le descriptor 1\) if)-3.14 F F0
-(n)3.499 E F1 .639(is not speci\214ed.)3.379 F .639(If the \214le does)
-5.639 F(not e)108 120 Q(xist it is created.)-.15 E
-(The general format for appending output is:)108 136.8 Q([)144 153.6 Q
-F0(n)A F1(])A F2(>>)A F0(wor)A(d)-.37 E F2(Redir)87 170.4 Q
-(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F1 .928(This \
-construct redirects both the standard output \(\214le descriptor 1\) an\
-d the standard error output \(\214le de-)108 182.4 R
-(scriptor 2\) to the \214le whose name is the e)108 194.4 Q(xpansion of)
--.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E(There are tw)108 211.2 Q 2.5
-(of)-.1 G(ormats for redirecting standard output and standard error:)
--2.5 E F2(&>)144 228 Q F0(wor)A(d)-.37 E F1(and)108 240 Q F2(>&)144 252
-Q F0(wor)A(d)-.37 E F1(Of the tw)108 268.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 F2(>)144 285.6 Q F0(wor)A(d)-.37 E F1(2)2.5
-E F2(>&)A F1(1)A .115(When using the second form,)108 302.4 R F0(wor)
-2.614 E(d)-.37 E F1 .114(may not e)2.614 F .114(xpand to a number or)
--.15 F F2<ad>2.614 E F1 5.114(.I)C 2.614(fi)-5.114 G 2.614(td)-2.614 G
-.114(oes, other redirection operators)-2.614 F(apply \(see)108 314.4 Q
-F2(Duplicating File Descriptors)2.5 E F1(belo)2.5 E
-(w\) for compatibility reasons.)-.25 E F2 -.25(Ap)87 331.2 S
-(pending Standard Output and Standard Err).25 E(or)-.18 E F1 1.032(This\
- construct appends both the standard output \(\214le descriptor 1\) and\
- the standard error output \(\214le de-)108 343.2 R
-(scriptor 2\) to the \214le whose name is the e)108 355.2 Q(xpansion of)
--.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E
-(The format for appending standard output and standard error is:)108 372
-Q F2(&>>)144 388.8 Q F0(wor)A(d)-.37 E F1(This is semantically equi)108
-405.6 Q -.25(va)-.25 G(lent to).25 E F2(>>)144 422.4 Q F0(wor)A(d)-.37 E
-F1(2)2.5 E F2(>&)A F1(1)A(\(see)108 439.2 Q F2
-(Duplicating File Descriptors)2.5 E F1(belo)2.5 E(w\).)-.25 E F2(Her)87
-456 Q 2.5(eD)-.18 G(ocuments)-2.5 E F1 .211(This type of redirection in\
-structs the shell to read input from the current source until it reads \
-a line contain-)108 468 R .269(ing only)108 480 R F0(delimiter)3.119 E
-F1 .269(\(with no trailing blanks\).)3.499 F .27
-(All of the lines read up to that point then become the standard)5.269 F
-(input \(or \214le descriptor)108 492 Q F0(n)2.5 E F1(if)2.5 E F0(n)2.5
-E F1(is speci\214ed\) for a command.)2.5 E
-(The format of here-documents is:)108 508.8 Q([)144 525.6 Q F0(n)A F1(])
-A F2(<<)A F1([)A F2<ad>A F1(])A F0(wor)A(d)-.37 E(her)164 537.6 Q
-(e-document)-.37 E(delimiter)144 549.6 Q F1 .241
-(The shell does not perform parameter and v)108 566.4 R .241(ariable e)
--.25 F .241(xpansion, command substitution, arithmetic e)-.15 F
-(xpansion,)-.15 E(or pathname e)108 578.4 Q(xpansion is performed on)
--.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E .052(If an)108 595.2 R 2.552
-(yp)-.15 G .052(art of)-2.552 F F0(wor)2.892 E(d)-.37 E F1 .052
-(is quoted, the)3.322 F F0(delimiter)2.902 E F1 .052
-(is the result of quote remo)3.282 F -.25(va)-.15 G 2.552(lo).25 G(n)
--2.552 E F0(wor)2.892 E(d)-.37 E F1 2.553(,a).77 G .053
-(nd the lines in the here-)-2.553 F .102(document are not e)108 607.2 R
-2.602(xpanded. If)-.15 F F0(wor)2.602 E(d)-.37 E F1 .102
-(is unquoted, the)2.602 F F0(delimiter)2.952 E F1(is)3.332 E F0(wor)
-2.602 E(d)-.37 E F1 .101(itself, and the here-document te)2.602 F .101
-(xt is)-.15 F .131(treated similarly to a double-quoted string: all lin\
-es of the here-document are subjected to parameter e)108 619.2 R(xpan-)
--.15 E .894(sion, command substitution, and arithmetic e)108 631.2 R
-.894(xpansion, the character sequence)-.15 F F2(\\<newline>)3.394 E F1
-.894(is treated liter)3.394 F(-)-.2 E(ally)108 643.2 Q 2.624(,a)-.65 G
-(nd)-2.624 E F2(\\)2.624 E F1 .124(must be used to quote the characters)
-2.624 F F2(\\)2.624 E F1(,)A F2($)2.624 E F1 2.624(,a)C(nd)-2.624 E F2
-<92>2.624 E F1 2.624(;h)C -.25(ow)-2.624 G -2.15 -.25(ev e).25 H .924
--.4(r, d).25 H .124(ouble quote characters ha).4 F .424 -.15(ve n)-.2 H
-2.624(os).15 G(pecial)-2.624 E(meaning.)108 655.2 Q .971
-(If the redirection operator is)108 672 R F2(<<\255)3.471 E F1 3.471(,t)
-C .97(hen the shell strips all leading tab characters from input lines \
-and the)-3.471 F .365(line containing)108 684 R F0(delimiter)3.215 E F1
-5.365(.T).73 G .365(his allo)-5.365 F .365
-(ws here-documents within shell scripts to be indented in a natural f)
--.25 F(ash-)-.1 E(ion.)108 696 Q .798
-(If the delimiter is not quoted, the)108 712.8 R F2(\\<newline>)3.298 E
-F1 .798(sequence is treated as a line continuation: the tw)3.298 F 3.297
-(ol)-.1 G .797(ines are)-3.297 F .972(joined and the backslash-ne)108
-724.8 R .972(wline is remo)-.25 F -.15(ve)-.15 G 3.472(d. This).15 F
-.973(happens while reading the here-document, before the)3.472 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(33)190.395 E 0 Cg EP
-%%Page: 34 34
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(check for the ending delimiter)108 84 Q 2.5(,s)-.4
-G 2.5(oj)-2.5 G(oined lines can form the end delimiter)-2.5 E(.)-.55 E
-/F2 10/Times-Bold@0 SF(Her)87 100.8 Q 2.5(eS)-.18 G(trings)-2.5 E F1 2.5
-(Av)108 112.8 S(ariant of here documents, the format is:)-2.75 E([)144
-129.6 Q F0(n)A F1(])A F2(<<<)A F0(wor)A(d)-.37 E F1(The)108 146.4 Q F0
-(wor)3.292 E(d)-.37 E F1(under)3.292 E .792(goes tilde e)-.18 F .792
-(xpansion, parameter and v)-.15 F .792(ariable e)-.25 F .791
-(xpansion, command substitution, arithmetic)-.15 F -.15(ex)108 158.4 S
-1.187(pansion, and quote remo).15 F -.25(va)-.15 G 3.687(l. P).25 F
-1.187(athname e)-.15 F 1.187(xpansion and w)-.15 F 1.187
-(ord splitting are not performed.)-.1 F 1.188(The result is)6.187 F .375
-(supplied as a single string, with a ne)108 170.4 R .374(wline appended\
-, to the command on its standard input \(or \214le descrip-)-.25 F(tor)
-108 182.4 Q F0(n)2.5 E F1(if)2.5 E F0(n)2.5 E F1(is speci\214ed\).)2.5 E
-F2(Duplicating File Descriptors)87 199.2 Q F1(The redirection operator)
-108 211.2 Q([)144 228 Q F0(n)A F1(])A F2(<&)A F0(wor)A(d)-.37 E F1 .512
-(is used to duplicate input \214le descriptors.)108 244.8 R(If)5.512 E
-F0(wor)3.352 E(d)-.37 E F1 -.15(ex)3.782 G .512
-(pands to one or more digits, \214le descriptor).15 F F0(n)3.372 E F1
-.513(is made)3.253 F .098(to be a cop)108 256.8 R 2.598(yo)-.1 G 2.598
-(ft)-2.598 G .098(hat \214le descriptor)-2.598 F 5.098(.I)-.55 G 2.598
-(ti)-5.098 G 2.598(sar)-2.598 G .098(edirection error if the digits in)
--2.598 F F0(wor)2.938 E(d)-.37 E F1 .097
-(do not specify a \214le descrip-)3.368 F 1.04(tor open for input.)108
-268.8 R(If)6.04 E F0(wor)3.88 E(d)-.37 E F1 -.25(eva)4.31 G 1.04
-(luates to).25 F F2<ad>3.54 E F1 3.54<2c8c>C 1.04(le descriptor)-3.54 F
-F0(n)3.9 E F1 1.04(is closed.)3.78 F(If)6.04 E F0(n)3.9 E F1 1.04
-(is not speci\214ed, this uses the)3.78 F
-(standard input \(\214le descriptor 0\).)108 280.8 Q(The operator)108
-297.6 Q([)144 314.4 Q F0(n)A F1(])A F2(>&)A F0(wor)A(d)-.37 E F1 .31
-(is used similarly to duplicate output \214le descriptors.)108 331.2 R
-(If)5.31 E F0(n)3.17 E F1 .31
-(is not speci\214ed, this uses the standard output \(\214le)3.05 F .552
-(descriptor 1\).)108 343.2 R .552
-(It is a redirection error if the digits in)5.552 F F0(wor)3.392 E(d)
--.37 E F1 .552(do not specify a \214le descriptor open for output.)3.822
-F(If)108 355.2 Q F0(wor)3.228 E(d)-.37 E F1 -.25(eva)3.658 G .388
-(luates to).25 F F2<ad>2.888 E F1 2.888<2c8c>C .388(le descriptor)-2.888
-F F0(n)3.248 E F1 .388(is closed.)3.128 F .388(As a special case, if)
-5.388 F F0(n)2.888 E F1 .387(is omitted, and)2.888 F F0(wor)2.887 E(d)
--.37 E F1 .387(does not e)2.887 F(x-)-.15 E 1.062
-(pand to one or more digits or)108 367.2 R F2<ad>3.563 E F1 3.563(,t)C
-1.063
-(his redirects the standard output and standard error as described pre)
--3.563 F(vi-)-.25 E(ously)108 379.2 Q(.)-.65 E F2(Mo)87 396 Q
-(ving File Descriptors)-.1 E F1(The redirection operator)108 408 Q([)144
-424.8 Q F0(n)A F1(])A F2(<&)A F0(digit)A F2<ad>A F1(mo)108 441.6 Q -.15
-(ve)-.15 G 3.018(st).15 G .518(he \214le descriptor)-3.018 F F0(digit)
-3.018 E F1 .518(to \214le descriptor)3.018 F F0(n)3.378 E F1 3.018(,o)
-.24 G 3.018(rt)-3.018 G .517
-(he standard input \(\214le descriptor 0\) if)-3.018 F F0(n)3.017 E F1
-.517(is not speci-)3.017 F(\214ed.)108 453.6 Q F0(digit)5 E F1
-(is closed after being duplicated to)2.5 E F0(n)2.5 E F1(.)A(Similarly)
-108 470.4 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 487.2 Q
-F0(n)A F1(])A F2(>&)A F0(digit)A F2<ad>A F1(mo)108 504 Q -.15(ve)-.15 G
-2.767(st).15 G .267(he \214le descriptor)-2.767 F F0(digit)2.767 E F1
-.267(to \214le descriptor)2.767 F F0(n)3.127 E F1 2.767(,o).24 G 2.767
-(rt)-2.767 G .268(he standard output \(\214le descriptor 1\) if)-2.767 F
-F0(n)2.768 E F1 .268(is not speci-)2.768 F(\214ed.)108 516 Q F2
-(Opening File Descriptors f)87 532.8 Q(or Reading and Writing)-.25 E F1
-(The redirection operator)108 544.8 Q([)144 561.6 Q F0(n)A F1(])A F2(<>)
-A F0(wor)A(d)-.37 E F1 .279(opens the \214le whose name is the e)108
-578.4 R .279(xpansion of)-.15 F F0(wor)3.119 E(d)-.37 E F1 .279
-(for both reading and writing on \214le descriptor)3.549 F F0(n)3.139 E
-F1 2.779(,o).24 G 2.779(ro)-2.779 G(n)-2.779 E(\214le descriptor 0 if)
-108 590.4 Q F0(n)2.86 E F1(is not speci\214ed.)2.74 E
-(If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95
-/Times-Bold@0 SF(ALIASES)72 607.2 Q F0(Aliases)108 619.2 Q F1(allo)3.001
-E 3.001(was)-.25 G .501(tring to be substituted for a w)-3.001 F .502
-(ord that is in a position in the input where it can be the \214rst)-.1
-F -.1(wo)108 631.2 S .409(rd of a simple command.).1 F .408(Aliases ha)
-5.408 F .708 -.15(ve n)-.2 H .408(ames and corresponding v).15 F .408
-(alues that are set and unset using the)-.25 F F2(alias)108 643.2 Q F1
-(and)2.5 E F2(unalias)2.5 E F1 -.2(bu)2.5 G(iltin commands \(see).2 E/F4
-9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)
-2.25 E(w\).)-.25 E 1.033(If the shell reads an unquoted w)108 660 R
-1.033(ord in the right position, it checks the w)-.1 F 1.034
-(ord to see if it matches an alias)-.1 F 3.039(name. If)108 672 R .538
-(it matches, the shell replaces the w)3.039 F .538(ord with the alias v)
--.1 F .538(alue, and reads that v)-.25 F .538(alue as if it had been)
--.25 F 1.081(read instead of the w)108 684 R 3.582(ord. The)-.1 F 1.082
-(shell doesn')3.582 F 3.582(tl)-.18 G 1.082(ook at an)-3.582 F 3.582(yc)
--.15 G 1.082(haracters follo)-3.582 F 1.082(wing the w)-.25 F 1.082
-(ord before attempting)-.1 F(alias substitution.)108 696 Q .265
-(The characters)108 712.8 R F2(/)2.765 E F1(,)A F2($)2.765 E F1(,)A F2
-<92>2.765 E F1 2.764(,a)C(nd)-2.764 E F2(=)2.764 E F1 .264(and an)2.764
-F 2.764(yo)-.15 G 2.764(ft)-2.764 G .264(he shell)-2.764 F F0(metac)
-2.764 E(har)-.15 E(acter)-.15 E(s)-.1 E F1 .264
-(or quoting characters listed abo)2.764 F .564 -.15(ve m)-.15 H .264
-(ay not).15 F 3.136(appear in an alias name.)108 724.8 R 3.137
-(The replacement te)8.136 F 3.137(xt may contain an)-.15 F 5.637(yv)-.15
-G 3.137(alid shell input, including shell)-5.887 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(34)190.395 E 0 Cg EP
-%%Page: 35 35
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 2.61(metacharacters. The)108 84 R .11(\214rst w)
-2.61 F .11(ord of the replacement te)-.1 F .109
-(xt is tested for aliases, b)-.15 F .109(ut a w)-.2 F .109
-(ord that is identical to an)-.1 F 1.207(alias being e)108 96 R 1.207
-(xpanded is not e)-.15 F 1.207(xpanded a second time.)-.15 F 1.208
-(This means that one may alias)6.207 F/F2 10/Times-Bold@0 SF(ls)3.708 E
-F1(to)3.708 E F2 1.208(ls \255F)3.708 F F1 3.708(,f)C 1.208(or in-)
--3.708 F(stance, and)108 108 Q F2(bash)2.5 E F1(does not try to recursi)
-2.5 E -.15(ve)-.25 G(ly e).15 E(xpand the replacement te)-.15 E(xt.)-.15
-E 1.036(If the last character of the alias v)108 124.8 R 1.035
-(alue is a)-.25 F F0(blank)3.805 E F1 3.535(,t).67 G 1.035
-(he shell checks the ne)-3.535 F 1.035(xt command w)-.15 F 1.035
-(ord follo)-.1 F 1.035(wing the)-.25 F(alias for alias e)108 136.8 Q
-(xpansion.)-.15 E(Aliases are created and listed with the)108 153.6 Q F2
-(alias)2.5 E F1(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G
-(ith the)-2.5 E F2(unalias)2.5 E F1(command.)2.5 E .741
-(There is no mechanism for using ar)108 170.4 R .741
-(guments in the replacement te)-.18 F 3.241(xt. If)-.15 F(ar)3.241 E
-.742(guments are needed, use a shell)-.18 F(function \(see)108 182.4 Q
-/F3 9/Times-Bold@0 SF(FUNCTIONS)2.5 E F1(belo)2.25 E(w\) instead.)-.25 E
-.283(Aliases are not e)108 199.2 R .283
-(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 2.782(,u)
-.15 G .282(nless the)-2.782 F F2(expand_aliases)2.782 E F1 .282
-(shell option is set us-)2.782 F(ing)108 211.2 Q F2(shopt)2.5 E F1
-(\(see the description of)2.5 E F2(shopt)2.5 E F1(under)2.5 E F3
-(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25
-E .435
-(The rules concerning the de\214nition and use of aliases are some)108
-228 R .436(what confusing.)-.25 F F2(Bash)5.436 E F1(al)2.936 E -.1(wa)
--.1 G .436(ys reads at least).1 F .67
-(one complete line of input, and all lines that mak)108 240 R 3.17(eu)
--.1 G 3.17(pac)-3.17 G .67(ompound command, before e)-3.17 F -.15(xe)
--.15 G .67(cuting an).15 F 3.17(yo)-.15 G 3.17(ft)-3.17 G(he)-3.17 E
-1.058(commands on that line or the compound command.)108 252 R 1.059
-(Aliases are e)6.059 F 1.059(xpanded when a command is read, not)-.15 F
-.075(when it is e)108 264 R -.15(xe)-.15 G 2.575(cuted. Therefore,).15 F
-.075(an alias de\214nition appearing on the same line as another comman\
-d does not)2.575 F(tak)108 276 Q 2.838(ee)-.1 G -.25(ff)-2.838 G .339
-(ect until the shell reads the ne).25 F .339
-(xt line of input, and an alias de\214nition in a compound command does)
--.15 F .032(not tak)108 288 R 2.532(ee)-.1 G -.25(ff)-2.532 G .032
-(ect until the shell parses and e).25 F -.15(xe)-.15 G .031
-(cutes the entire compound command.).15 F .031(The commands follo)5.031
-F(wing)-.25 E .725(the alias de\214nition on that line, or in the rest \
-of a compound command, are not af)108 300 R .726(fected by the ne)-.25 F
-3.226(wa)-.25 G(lias.)-3.226 E .658(This beha)108 312 R .658
-(vior is also an issue when functions are e)-.2 F -.15(xe)-.15 G 3.157
-(cuted. Aliases).15 F .657(are e)3.157 F .657
-(xpanded when a function de\214ni-)-.15 F .08
-(tion is read, not when the function is e)108 324 R -.15(xe)-.15 G .081
-(cuted, because a function de\214nition is itself a command.).15 F .081
-(As a con-)5.081 F .265
-(sequence, aliases de\214ned in a function are not a)108 336 R -.25(va)
--.2 G .264(ilable until after that function is e).25 F -.15(xe)-.15 G
-2.764(cuted. T).15 F 2.764(ob)-.8 G 2.764(es)-2.764 G .264(afe, al-)
--2.764 F -.1(wa)108 348 S
-(ys put alias de\214nitions on a separate line, and do not use).1 E F2
-(alias)2.5 E F1(in compound commands.)2.5 E -.15(Fo)108 364.8 S 2.5(ra)
-.15 G(lmost e)-2.5 E -.15(ve)-.25 G
-(ry purpose, shell functions are preferable to aliases.).15 E/F4 10.95
-/Times-Bold@0 SF(FUNCTIONS)72 381.6 Q F1 3.467(As)108 393.6 S .967
-(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15
-H(nder).15 E F3 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F1
-.968(stores a series of commands for)3.217 F .535(later e)108 405.6 R
--.15(xe)-.15 G 3.035(cution. When).15 F .534(the name of a shell functi\
-on is used as a simple command name, the shell e)3.035 F -.15(xe)-.15 G
-(cutes).15 E .294
-(the list of commands associated with that function name.)108 417.6 R
-.295(Functions are e)5.295 F -.15(xe)-.15 G .295(cuted in the conte).15
-F .295(xt of the call-)-.15 F 1.627(ing shell; there is no ne)108 429.6
-R 4.127(wp)-.25 G 1.627
-(rocess created to interpret them \(contrast this with the e)-4.127 F
--.15(xe)-.15 G 1.626(cution of a shell).15 F(script\).)108 441.6 Q .255
-(When a function is e)108 458.4 R -.15(xe)-.15 G .255(cuted, the ar).15
-F .256
-(guments to the function become the positional parameters during its e)
--.18 F(x-)-.15 E 2.508(ecution. The)108 470.4 R .008(special parameter)
-2.508 F F2(#)2.508 E F1 .008(is updated to re\215ect the ne)2.508 F
-2.507(wp)-.25 G .007(ositional parameters.)-2.507 F .007
-(Special parameter)5.007 F F2(0)2.507 E F1(is)2.507 E 2.637
-(unchanged. The)108 482.4 R .138(\214rst element of the)2.637 F F3
-(FUNCN)2.638 E(AME)-.18 E F1 -.25(va)2.388 G .138
-(riable is set to the name of the function while the func-).25 F
-(tion is e)108 494.4 Q -.15(xe)-.15 G(cuting.).15 E 1.25
-(All other aspects of the shell e)108 511.2 R -.15(xe)-.15 G 1.25
-(cution en).15 F 1.25
-(vironment are identical between a function and its caller with)-.4 F
-1.214(these e)108 523.2 R 1.214(xceptions: the)-.15 F F3(DEB)3.714 E(UG)
--.09 E F1(and)3.464 E F2(RETURN)3.715 E F1 1.215
-(traps \(see the description of the)3.715 F F2(trap)3.715 E F1 -.2(bu)
-3.715 G 1.215(iltin under).2 F F3(SHELL)3.715 E -.09(BU)108 535.2 S(IL)
-.09 E .479(TIN COMMANDS)-.828 F F1(belo)2.729 E .479
-(w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
--.25 G 2.978(nt).15 G(he)-2.978 E F2(trace)2.978 E F1(attrib)2.978 E
-.478(ute \(see)-.2 F .42(the description of the)108 547.2 R F3(declar)
-2.92 E(e)-.162 E F1 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)
--.25 F F2 .42(\255o functrace)2.92 F F1 .42
-(shell option has been enabled with the)2.92 F F2(set)2.921 E F1 -.2(bu)
-108 559.2 S .072(iltin \(in which case all functions inherit the).2 F F2
-(DEB)2.572 E(UG)-.1 E F1(and)2.572 E F2(RETURN)2.572 E F1 .072
-(traps\), and the)2.572 F F3(ERR)2.571 E F1 .071(trap is not inher)2.321
-F(-)-.2 E(ited unless the)108 571.2 Q F2(\255o errtrace)2.5 E F1
-(shell option has been enabled.)2.5 E -1.11(Va)108 588 S .942
-(riables local to the function are declared with the)1.11 F F2(local)
-3.442 E F1 -.2(bu)3.442 G .942(iltin command \().2 F F0 .943
-(local variables)B F1 3.443(\). Ordinarily)B(,)-.65 E -.25(va)108 600 S
-.391(riables and their v).25 F .391
-(alues are shared between the function and its caller)-.25 F 5.39(.I)
--.55 G 2.89(fav)-5.39 G .39(ariable is declared)-3.14 F F2(local)2.89 E
-F1 2.89(,t)C(he)-2.89 E -.25(va)108 612 S(riable').25 E 2.5(sv)-.55 G(i\
-sible scope is restricted to that function and its children \(including\
- the functions it calls\).)-2.5 E .726(In the follo)108 628.8 R .726
-(wing description, the)-.25 F F0(curr)3.226 E .726(ent scope)-.37 F F1
-.727(is a currently- e)3.226 F -.15(xe)-.15 G .727(cuting function.).15
-F(Pre)5.727 E .727(vious scopes consist)-.25 F .966(of that function')
-108 640.8 R 3.466(sc)-.55 G .966(aller and so on, back to the \231globa\
-l\232 scope, where the shell is not e)-3.466 F -.15(xe)-.15 G .965
-(cuting an).15 F 3.465(ys)-.15 G(hell)-3.465 E 3.158(function. A)108
-652.8 R .658(local v)3.158 F .658(ariable at the current scope is a v)
--.25 F .658(ariable declared using the)-.25 F F2(local)3.159 E F1(or)
-3.159 E F2(declar)3.159 E(e)-.18 E F1 -.2(bu)3.159 G .659(iltins in).2 F
-(the function that is currently e)108 664.8 Q -.15(xe)-.15 G(cuting.).15
-E .588(Local v)108 681.6 R .588(ariables \231shado)-.25 F .588(w\232 v)
--.25 F .587(ariables with the same name declared at pre)-.25 F .587
-(vious scopes.)-.25 F -.15(Fo)5.587 G 3.087(ri).15 G .587
-(nstance, a local)-3.087 F -.25(va)108 693.6 S .782
-(riable declared in a function hides v).25 F .782
-(ariables with the same name declared at pre)-.25 F .782
-(vious scopes, including)-.25 F 1.248(global v)108 705.6 R 1.248
-(ariables: references and assignments refer to the local v)-.25 F 1.248
-(ariable, lea)-.25 F 1.248(ving the v)-.2 F 1.247(ariables at pre)-.25 F
-(vious)-.25 E(scopes unmodi\214ed.)108 717.6 Q
-(When the function returns, the global v)5 E(ariable is once ag)-.25 E
-(ain visible.)-.05 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(35)
-190.395 E 0 Cg EP
-%%Page: 36 36
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .726(The shell uses)108 84 R F0 .726
-(dynamic scoping)3.226 F F1 .726(to control a v)3.226 F(ariable')-.25 E
-3.227(sv)-.55 G .727(isibility within functions.)-3.227 F -.4(Wi)5.727 G
-.727(th dynamic scoping,).4 F .008(visible v)108 96 R .008
-(ariables and their v)-.25 F .007
-(alues are a result of the sequence of function calls that caused e)-.25
-F -.15(xe)-.15 G .007(cution to reach).15 F .813(the current function.)
-108 108 R .813(The v)5.813 F .813(alue of a v)-.25 F .813
-(ariable that a function sees depends on its v)-.25 F .814
-(alue within its caller)-.25 F 3.314(,i)-.4 G(f)-3.314 E(an)108 120 Q
-1.427 -.65(y, w)-.15 H .127
-(hether that caller is the global scope or another shell function.).65 F
-.127(This is also the v)5.127 F .127(alue that a local v)-.25 F(ari-)
--.25 E(able declaration shado)108 132 Q(ws, and the v)-.25 E
-(alue that is restored when the function returns.)-.25 E -.15(Fo)108
-148.8 S 2.723(re).15 G .223(xample, if a v)-2.873 F(ariable)-.25 E F0
-(var)2.723 E F1 .223(is declared as local in function)2.723 F F0(func1)
-2.723 E F1 2.724(,a)C(nd)-2.724 E F0(func1)2.724 E F1 .224
-(calls another function)2.724 F F0(func2)2.724 E F1(,)A .464
-(references to)108 160.8 R F0(var)2.964 E F1 .464(made from within)2.964
-F F0(func2)2.964 E F1 .464(will resolv)2.964 F 2.964(et)-.15 G 2.963(ot)
--2.964 G .463(he local v)-2.963 F(ariable)-.25 E F0(var)2.963 E F1(from)
-2.963 E F0(func1)2.963 E F1 2.963(,s)C(hado)-2.963 E .463(wing an)-.25 F
-(y)-.15 E(global v)108 172.8 Q(ariable named)-.25 E F0(var)2.5 E F1(.)A
-(The)108 189.6 Q/F2 10/Times-Bold@0 SF(unset)2.982 E F1 -.2(bu)2.982 G
-.482(iltin also acts using the same dynamic scope: if a v).2 F .483
-(ariable is local to the current scope,)-.25 F F2(unset)2.983 E F1 .19
-(will unset it; otherwise the unset will refer to the v)108 201.6 R .19
-(ariable found in an)-.25 F 2.69(yc)-.15 G .19
-(alling scope as described abo)-2.69 F -.15(ve)-.15 G 5.19(.I).15 G(f)
--5.19 E 3.324(av)108 213.6 S .824(ariable at the current local scope is\
- unset, it will remain so \(appearing as unset\) until it is reset in t\
-hat)-3.574 F 1.142(scope or until the function returns.)108 225.6 R
-1.141(Once the function returns, an)6.141 F 3.641(yi)-.15 G 1.141
-(nstance of the v)-3.641 F 1.141(ariable at a pre)-.25 F(vious)-.25 E
-.976(scope will become visible.)108 237.6 R .976
-(If the unset acts on a v)5.976 F .976(ariable at a pre)-.25 F .977
-(vious scope, an)-.25 F 3.477(yi)-.15 G .977(nstance of a v)-3.477 F
-(ariable)-.25 E .008(with that name that had been shado)108 249.6 R .007
-(wed will become visible \(see belo)-.25 F 2.507(wh)-.25 G .507 -.25
-(ow t)-2.507 H(he).25 E F2(localv)2.507 E(ar_unset)-.1 E F1 .007
-(shell option)2.507 F(changes this beha)108 261.6 Q(vior\).)-.2 E(The)
-108 278.4 Q F2(FUNCNEST)3.528 E F1 -.25(va)3.528 G 1.028
-(riable, if set to a numeric v).25 F 1.028
-(alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108
-290.4 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
-(cations that e).2 E(xceed the limit cause the entire command to abort.)
--.15 E .044(If the b)108 307.2 R .043(uiltin command)-.2 F F2 -.18(re)
-2.543 G(tur).18 E(n)-.15 E F1 .043(is e)2.543 F -.15(xe)-.15 G .043
-(cuted in a function, the function completes and e).15 F -.15(xe)-.15 G
-.043(cution resumes with).15 F .682(the ne)108 319.2 R .683
-(xt command after the function call.)-.15 F(If)5.683 E F2 -.18(re)3.183
-G(tur).18 E(n)-.15 E F1 .683(is supplied a numeric ar)3.183 F .683
-(gument, that is the function')-.18 F(s)-.55 E .852
-(return status; otherwise the function')108 331.2 R 3.351(sr)-.55 G .851
-(eturn status is the e)-3.351 F .851(xit status of the last command e)
--.15 F -.15(xe)-.15 G .851(cuted before).15 F(the)108 343.2 Q F2 -.18
-(re)4.666 G(tur).18 E(n)-.15 E F1 7.166(.A)C 2.466 -.15(ny c)-7.166 H
-2.166(ommand associated with the).15 F F2(RETURN)4.666 E F1 2.166
-(trap is e)4.666 F -.15(xe)-.15 G 2.166(cuted before e).15 F -.15(xe)
--.15 G 2.167(cution resumes.).15 F .13(When a function completes, the v)
-108 355.2 R .13
-(alues of the positional parameters and the special parameter)-.25 F F2
-(#)2.63 E F1 .13(are restored)2.63 F(to the v)108 367.2 Q(alues the)-.25
-E 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
--2.65 G(cution.).15 E(The)108 384 Q F2<ad66>2.804 E F1 .304
-(option to the)2.804 F F2(declar)2.804 E(e)-.18 E F1(or)2.804 E F2
-(typeset)2.804 E F1 -.2(bu)2.804 G .304
-(iltin commands will list function names and de\214nitions.).2 F(The)
-5.305 E F2<ad46>2.805 E F1 .432(option to)108 396 R F2(declar)2.932 E(e)
--.18 E F1(or)2.932 E F2(typeset)2.932 E F1 .432(will list the function \
-names only \(and optionally the source \214le and line num-)2.932 F(ber)
-108 408 Q 2.533(,i)-.4 G 2.533(ft)-2.533 G(he)-2.533 E F2(extdeb)2.533 E
-(ug)-.2 E F1 .033(shell option is enabled\).)2.533 F .034
-(Functions may be e)5.033 F .034
-(xported so that child shell processes \(those)-.15 F .638
-(created when e)108 420 R -.15(xe)-.15 G .638
-(cuting a separate shell in).15 F -.2(vo)-.4 G .638
-(cation\) automatically ha).2 F .938 -.15(ve t)-.2 H .638
-(hem de\214ned with the).15 F F2<ad66>3.138 E F1 .638(option to)3.138 F
-(the)108 432 Q F2(export)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. The).2 F F2
-<ad66>2.5 E F1(option to the)2.5 E F2(unset)2.5 E F1 -.2(bu)2.5 G
-(iltin will delete a function de\214nition.).2 E .371
-(Functions may be recursi)108 448.8 R -.15(ve)-.25 G 5.371(.T).15 G(he)
--5.371 E F2(FUNCNEST)2.871 E F1 -.25(va)2.871 G .371
-(riable may be used to limit the depth of the function call).25 F .422
-(stack and restrict the number of function in)108 460.8 R -.2(vo)-.4 G
-2.922(cations. By).2 F(def)2.922 E(ault,)-.1 E F2(bash)2.922 E F1 .421
-(imposes no limit on the number of)2.922 F(recursi)108 472.8 Q .3 -.15
-(ve c)-.25 H(alls.).15 E/F3 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 489.6
-Q(ALU)-1.478 E -1.04(AT)-.657 G(ION)1.04 E F1 1.088(The shell allo)108
-501.6 R 1.088(ws arithmetic e)-.25 F 1.089(xpressions to be e)-.15 F
--.25(va)-.25 G 1.089(luated, under certain circumstances \(see the).25 F
-F2(let)3.589 E F1(and)3.589 E F2(de-)3.589 E(clar)108 513.6 Q(e)-.18 E
-F1 -.2(bu)3.188 G .688(iltin commands, the).2 F F2(\(\()3.188 E F1 .688
-(compound command, the arithmetic)3.188 F F2 -.25(fo)3.188 G(r).25 E F1
-.688(command, the)3.188 F F2([[)3.188 E F1 .687(conditional com-)3.187 F
-(mand, and)108 525.6 Q F2(Arithmetic Expansion)2.5 E F1(\).)A(Ev)108
-542.4 Q .256(aluation is done in the lar)-.25 F .256(gest \214x)-.18 F
-.256(ed-width inte)-.15 F .256(gers a)-.15 F -.25(va)-.2 G .256
-(ilable, with no check for o).25 F -.15(ve)-.15 G(r\215o).15 E 1.556
--.65(w, t)-.25 H .256(hough di).65 F(vision)-.25 E .058
-(by 0 is trapped and \215agged as an error)108 554.4 R 5.058(.T)-.55 G
-.058(he operators and their precedence, associati)-5.058 F(vity)-.25 E
-2.557(,a)-.65 G .057(nd v)-2.557 F .057(alues are the)-.25 F .221
-(same as in the C language.)108 566.4 R .222(The follo)5.222 F .222
-(wing list of operators is grouped into le)-.25 F -.15(ve)-.25 G .222
-(ls of equal-precedence oper).15 F(-)-.2 E 2.5(ators. The)108 578.4 R
-(le)2.5 E -.15(ve)-.25 G
-(ls are listed in order of decreasing precedence.).15 E F0(id)108 595.2
-Q F2(++)A F0(id)2.5 E F2<adad>A F1 -.25(va)144 607.2 S
-(riable post-increment and post-decrement).25 E F2(++)108 619.2 Q F0(id)
-A F2<adad>2.5 E F0(id)A F1 -.25(va)144 631.2 S
-(riable pre-increment and pre-decrement).25 E F2 2.5<ad2b>108 643.2 S F1
-(unary minus and plus)144 643.2 Q F2 2.5<2101>108 655.2 S F1
-(logical and bitwise ne)144 655.2 Q -.05(ga)-.15 G(tion).05 E F2(**)108
-667.2 Q F1 -.15(ex)144 667.2 S(ponentiation).15 E F2 2.5(*/%)108 679.2 S
-F1(multiplication, di)144 679.2 Q(vision, remainder)-.25 E F2 2.5<2bad>
-108 691.2 S F1(addition, subtraction)144 691.2 Q F2(<< >>)108 703.2 Q F1
-(left and right bitwise shifts)144 703.2 Q(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(36)190.395 E 0 Cg EP
-%%Page: 37 37
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(<= >= < >)108 84 Q F1
-(comparison)144 96 Q F2(== !=)108 108 Q F1(equality and inequality)144
-108 Q F2(&)108 120 Q F1(bitwise AND)144 120 Q F2<00>108 132 Q F1
-(bitwise e)144 132 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108
-144 Q F1(bitwise OR)144 144 Q F2(&&)108 156 Q F1(logical AND)144 156 Q
-F2(||)108 168 Q F1(logical OR)144 168 Q F0 -.2(ex)108 180 S(pr).2 E F2
-(?)A F0 -.2(ex)C(pr).2 E F2(:)A F0 -.2(ex)C(pr).2 E F1
-(conditional operator)144 192 Q F2 2.5(=*)108 204 S 2.5(=/)-2.5 G 2.5
-(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G
-(<= >>= &= \000= |=)-2.5 E F1(assignment)144 216 Q F0 -.2(ex)108 228 S
-(pr1).2 E F2(,)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1(comma)144 240 Q .68
-(Shell v)108 256.8 R .68(ariables are allo)-.25 F .68
-(wed as operands; parameter e)-.25 F .68
-(xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F
--.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 268.8 R 1.007(ithin an e)-.4
-F 1.007(xpression, shell v)-.15 F 1.007
-(ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 280.8 S .681(pansion syntax.).15 F .681
-(This means you can use "x", where)5.681 F F0(x)3.181 E F1 .68
-(is a shell v)3.181 F .68(ariable name, in an arithmetic e)-.25 F
-(xpres-)-.15 E .205(sion, and the shell will e)108 292.8 R -.25(va)-.25
-G .205(luate its v).25 F .205(alue as an e)-.25 F .205
-(xpression and use the result.)-.15 F 2.705(As)5.205 G .206(hell v)
--2.705 F .206(ariable that is null or)-.25 F(unset e)108 304.8 Q -.25
-(va)-.25 G(luates to 0 when referenced by name in an e).25 E(xpression.)
--.15 E .829(The v)108 321.6 R .829(alue of a v)-.25 F .829(ariable is e)
--.25 F -.25(va)-.25 G .828(luated as an arithmetic e).25 F .828
-(xpression when it is referenced, or when a v)-.15 F(ariable)-.25 E .191
-(which has been gi)108 333.6 R -.15(ve)-.25 G 2.691(nt).15 G(he)-2.691 E
-F0(inte)2.691 E -.1(ge)-.4 G(r).1 E F1(attrib)2.691 E .191(ute using)-.2
-F F2(declar)2.691 E 2.692<65ad>-.18 G(i)-2.692 E F1 .192
-(is assigned a v)2.692 F 2.692(alue. A)-.25 F .192(null v)2.692 F .192
-(alue e)-.25 F -.25(va)-.25 G .192(luates to 0.).25 F 2.5(As)108 345.6 S
-(hell v)-2.5 E(ariable need not ha)-.25 E .3 -.15(ve i)-.2 H(ts).15 E F0
-(inte)2.5 E -.1(ge)-.4 G(r).1 E F1(attrib)2.5 E
-(ute turned on to be used in an e)-.2 E(xpression.)-.15 E(Inte)108 362.4
-Q .518(ger constants follo)-.15 F 3.018(wt)-.25 G .518
-(he C language de\214nition, without suf)-3.018 F<8c78>-.25 E .517
-(es or character constants.)-.15 F .517(Constants with)5.517 F 3.282(al)
-108 374.4 S .782(eading 0 are interpreted as octal numbers.)-3.282 F
-3.283(Al)5.782 G .783(eading 0x or 0X denotes he)-3.283 F 3.283
-(xadecimal. Otherwise,)-.15 F(num-)3.283 E .816(bers tak)108 386.4 R
-3.316(et)-.1 G .816(he form [)-3.316 F F0(base#)A F1 .815
-(]n, where the optional)B F0(base)3.315 E F1 .815
-(is a decimal number between 2 and 64 representing)3.315 F .349
-(the arithmetic base, and)108 398.4 R F0(n)2.849 E F1 .349
-(is a number in that base.)2.849 F(If)5.35 E F0(base#)2.85 E F1 .35
-(is omitted, then base 10 is used.)2.85 F .35(When speci-)5.35 F(fying)
-108 410.4 Q F0(n)2.975 E F1 2.975(,i)C 2.975(fan)-2.975 G .474(on-digit\
- is required, the digits greater than 9 are represented by the lo)-2.975
-F .474(wercase letters, the up-)-.25 F .518
-(percase letters, @, and _, in that order)108 422.4 R 5.518(.I)-.55 G(f)
--5.518 E F0(base)3.018 E F1 .518(is less than or equal to 36, lo)3.018 F
-.518(wercase and uppercase letters)-.25 F
-(may be used interchangeably to represent numbers between 10 and 35.)108
-434.4 Q 1.128(Operators are e)108 451.2 R -.25(va)-.25 G 1.128
-(luated in precedence order).25 F 6.128(.S)-.55 G(ub-e)-6.128 E 1.128
-(xpressions in parentheses are e)-.15 F -.25(va)-.25 G 1.127
-(luated \214rst and may).25 F -.15(ove)108 463.2 S
-(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
-/Times-Bold@0 SF(CONDITION)72 480 Q(AL EXPRESSIONS)-.219 E F1 .255
-(Conditional e)108 492 R .255(xpressions are used by the)-.15 F F2([[)
-2.755 E F1 .255(compound command and the)2.755 F F2(test)2.755 E F1(and)
-2.755 E F2([)2.756 E F1 -.2(bu)2.756 G .256(iltin commands to test).2 F
-.134(\214le attrib)108 504 R .134
-(utes and perform string and arithmetic comparisons.)-.2 F(The)5.133 E
-F2(test)2.633 E F1(and)2.633 E F2([)2.633 E F1 .133
-(commands determine their be-)2.633 F(ha)108 516 Q .197
-(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 528 Q .414
-(Expressions are formed from the unary or binary primaries listed belo)
-108 544.8 R 4.213 -.65(w. U)-.25 H .413(nary e).65 F .413
-(xpressions are often used)-.15 F .7(to e)108 556.8 R .7
-(xamine the status of a \214le or shell v)-.15 F 3.201(ariable. Binary)
--.25 F .701(operators are used for string, numeric, and \214le at-)3.201
-F(trib)108 568.8 Q(ute comparisons.)-.2 E F2(Bash)108 585.6 Q F1 1.203
-(handles se)3.703 F -.15(ve)-.25 G 1.203
-(ral \214lenames specially when the).15 F 3.703(ya)-.15 G 1.203
-(re used in e)-3.703 F 3.702(xpressions. If)-.15 F 1.202
-(the operating system on)3.702 F(which)108 597.6 Q F2(bash)2.639 E F1
-.139(is running pro)2.639 F .14(vides these special \214les, bash will \
-use them; otherwise it will emulate them inter)-.15 F(-)-.2 E .991
-(nally with this beha)108 609.6 R .991(vior: If an)-.2 F(y)-.15 E F0
-(\214le)3.491 E F1(ar)3.491 E .991
-(gument to one of the primaries is of the form)-.18 F F0(/de)5.157 E
-(v/fd/n)-.15 E F1 3.491(,t)1.666 G(hen)-3.491 E F2(bash)3.49 E F1 1.19
-(checks \214le descriptor)108 621.6 R F0(n)3.691 E F1 6.191(.I)C 3.691
-(ft)-6.191 G(he)-3.691 E F0(\214le)3.691 E F1(ar)3.691 E 1.191
-(gument to one of the primaries is one of)-.18 F F0(de)5.357 E(v/stdin)
--.15 E F1(,)1.666 E F0(de)5.357 E(v/stdout)-.15 E F1 3.691(,o)1.666 G(r)
--3.691 E F0(de)109.666 633.6 Q(v/stderr)-.15 E F1(,)1.666 E F2(bash)2.5
-E F1(checks \214le descriptor 0, 1, or 2, respecti)2.5 E -.15(ve)-.25 G
-(ly).15 E(.)-.65 E .722
-(Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 650.4 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(of the link, rather than the link itself.)108 662.4
-Q .641(When used with)108 679.2 R F2([[)3.141 E F1 3.141(,o)C 3.141(rw)
--3.141 G .642(hen the shell is in posix mode, the)-3.141 F F2(<)3.142 E
-F1(and)3.142 E F2(>)3.142 E F1 .642(operators sort le)3.142 F .642
-(xicographically using)-.15 F(the current locale.)108 691.2 Q
-(When the shell is not in posix mode, the)5 E F2(test)2.5 E F1
-(command sorts using ASCII ordering.)2.5 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(37)190.395 E 0 Cg EP
-%%Page: 38 38
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<ad61>108 84 Q F0(\214le)2.5 E
-F1 -.35(Tr)144 84 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G(ists.)
-.15 E F2<ad62>108 96 Q F0(\214le)2.5 E F1 -.35(Tr)144 96 S(ue if).35 E
-F0(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is a block special \214le.).15
-E F2<ad63>108 108 Q F0(\214le)2.5 E F1 -.35(Tr)144 108 S(ue if).35 E F0
-(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is a character special \214le.)
-.15 E F2<ad64>108 120 Q F0(\214le)2.5 E F1 -.35(Tr)144 120 S(ue if).35 E
-F0(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is a directory).15 E(.)-.65 E
-F2<ad65>108 132 Q F0(\214le)2.5 E F1 -.35(Tr)144 132 S(ue if).35 E F0
-(\214le)2.5 E F1 -.15(ex)2.5 G(ists.).15 E F2<ad66>108 144 Q F0(\214le)
-2.5 E F1 -.35(Tr)144 144 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and is a re).15 E(gular \214le.)-.15 E F2<ad67>108 156 Q F0
-(\214le)2.5 E F1 -.35(Tr)144 156 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is set-group-id.).15 E F2<ad68>108 168 Q F0(\214le)
-2.5 E F1 -.35(Tr)144 168 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F2<ad6b>108 180 Q F0(\214le)2.5 E F1
--.35(Tr)144 180 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and its \231stick).15 E(y\232 bit is set.)-.15 E F2<ad70>108 192 Q
-F0(\214le)2.5 E F1 -.35(Tr)144 192 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is a named pipe \(FIFO\).).15 E F2<ad72>108 204 Q F0
-(\214le)2.5 E F1 -.35(Tr)144 204 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is readable.).15 E F2<ad73>108 216 Q F0(\214le)2.5 E
-F1 -.35(Tr)144 216 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and has a size greater than zero.).15 E F2<ad74>108 228 Q F0(fd)
-2.5 E F1 -.35(Tr)144 228 S(ue if \214le descriptor).35 E F0(fd)4.47 E F1
-(is open and refers to a terminal.)3.27 E F2<ad75>108 240 Q F0(\214le)
-2.5 E F1 -.35(Tr)144 240 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and its set-user).15 E(-id bit is set.)-.2 E F2<ad77>108 252 Q F0
-(\214le)2.5 E F1 -.35(Tr)144 252 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is writable.).15 E F2<ad78>108 264 Q F0(\214le)2.5 E
-F1 -.35(Tr)144 264 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2<ad47>108 276 Q F0
-(\214le)2.5 E F1 -.35(Tr)144 276 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15
-(ve g)-.25 H(roup id.).15 E F2<ad4c>108 288 Q F0(\214le)2.5 E F1 -.35
-(Tr)144 288 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F2<ad4e>108 300 Q F0(\214le)2.5 E F1
--.35(Tr)144 300 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G
-(ists and has been modi\214ed since it w).15 E(as last accessed.)-.1 E
-F2<ad4f>108 312 Q F0(\214le)2.5 E F1 -.35(Tr)144 312 S(ue if).35 E F0
-(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E
-(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2<ad53>108 324 Q F0
-(\214le)2.5 E F1 -.35(Tr)144 324 S(ue if).35 E F0(\214le)2.5 E F1 -.15
-(ex)2.5 G(ists and is a sock).15 E(et.)-.1 E F2<ad6f>108 336 Q F0
-(optname)2.5 E F1 -.35(Tr)144 348 S .263(ue if the shell option).35 F F0
-(optname)2.992 E F1 .262(is enabled.)2.942 F .262
-(See the list of options under the description of the)5.262 F F2<ad6f>
-2.762 E F1(option to the)144 360 Q F2(set)2.5 E F1 -.2(bu)2.5 G
-(iltin belo).2 E -.65(w.)-.25 G F2<ad76>108 372 Q F0(varname)2.5 E F1
--.35(Tr)144 384 S .326(ue if the shell v).35 F(ariable)-.25 E F0
-(varname)3.116 E F1 .326(is set \(has been assigned a v)3.006 F 2.826
-(alue\). If)-.25 F F0(varname)2.826 E F1 .326(is an inde)2.826 F -.15
-(xe)-.15 G 2.827(da).15 G -.2(r-)-2.827 G .132(ray v)144 396 R .131
-(ariable name subscripted by)-.25 F F0(@)2.631 E F1(or)2.631 E F0(*)
-2.631 E F1 2.631(,t)C .131(his returns true if the array has an)-2.631 F
-2.631(ys)-.15 G .131(et elements.)-2.631 F(If)5.131 E F0(var)2.631 E(-)
--.2 E(name)144 408 Q F1 .737(is an associati)3.237 F 1.037 -.15(ve a)
--.25 H .737(rray v).15 F .737(ariable name subscripted by)-.25 F F0(@)
-3.237 E F1(or)3.237 E F0(*)3.237 E F1 3.237(,t)C .737
-(his returns true if an element)-3.237 F(with that k)144 420 Q .3 -.15
-(ey i)-.1 H 2.5(ss).15 G(et.)-2.5 E F2<ad52>108 432 Q F0(varname)2.5 E
-F1 -.35(Tr)144 444 S(ue if the shell v).35 E(ariable)-.25 E F0(varname)
-2.79 E F1(is set and is a name reference.)2.68 E F2<ad7a>108 456 Q F0
-(string)2.5 E F1 -.35(Tr)144 468 S(ue if the length of).35 E F0(string)
-2.5 E F1(is zero.)2.5 E F0(string)108 480 Q F2<ad6e>108 492 Q F0(string)
-2.5 E F1 -.35(Tr)144 504 S(ue if the length of).35 E F0(string)2.84 E F1
-(is non-zero.)2.72 E F0(string1)108 520.8 Q F2(==)2.5 E F0(string2)2.5 E
-(string1)108 532.8 Q F2(=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 544.8 S
-.862(ue if the strings are equal.).35 F F2(=)5.861 E F1 .861
-(should be used with the)3.361 F F2(test)3.361 E F1 .861
-(command for POSIX conformance.)3.361 F .446(When used with the)144
-556.8 R F2([[)2.946 E F1 .446
-(command, this performs pattern matching as described abo)2.946 F .747
--.15(ve \()-.15 H F2(Compound).15 E(Commands)144 568.8 Q F1(\).)A F0
-(string1)108 580.8 Q F2(!=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 592.8 S
-(ue if the strings are not equal.).35 E F0(string1)108 604.8 Q F2(<)2.5
-E F0(string2)2.5 E F1 -.35(Tr)144 616.8 S(ue if).35 E F0(string1)2.5 E
-F1(sorts before)2.5 E F0(string2)2.5 E F1(le)2.5 E(xicographically)-.15
-E(.)-.65 E F0(string1)108 628.8 Q F2(>)2.5 E F0(string2)2.5 E F1 -.35
-(Tr)144 640.8 S(ue if).35 E F0(string1)2.5 E F1(sorts after)2.5 E F0
-(string2)2.5 E F1(le)2.5 E(xicographically)-.15 E(.)-.65 E F0(\214le1)
-108 657.6 Q F2(\255ef)2.5 E F0(\214le2)2.5 E F1 -.35(Tr)144 669.6 S
-(ue if).35 E F0(\214le1)2.5 E F1(and)2.5 E F0(\214le2)2.5 E F1
-(refer to the same de)2.5 E(vice and inode numbers.)-.25 E F0(\214le1)
-108 681.6 Q F1<ad>2.5 E F2(nt)A F0(\214le2)2.5 E F1 -.35(Tr)144 693.6 S
-(ue if).35 E F0(\214le1)2.5 E F1(is ne)2.5 E
-(wer \(according to modi\214cation date\) than)-.25 E F0(\214le2)2.5 E
-F1 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F0(\214le1)2.5 E F1 -.15(ex)2.5 G
-(ists and).15 E F0(\214le2)2.5 E F1(does not.)2.5 E F0(\214le1)108 705.6
-Q F1<ad>2.5 E F2(ot)A F0(\214le2)2.5 E F1 -.35(Tr)144 717.6 S(ue if).35
-E F0(\214le1)2.5 E F1(is older than)2.5 E F0(\214le2)2.5 E F1 2.5(,o)C
-2.5(ri)-2.5 G(f)-2.5 E F0(\214le2)2.5 E F1 -.15(ex)2.5 G(ists and).15 E
-F0(\214le1)2.5 E F1(does not.)2.5 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(38)190.395 E 0 Cg EP
-%%Page: 39 39
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E F0(ar)108.33 84 Q(g1)-.37 E/F2 10/Times-Bold@0 SF
-(OP)2.5 E F0(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP)144 96 Q F1 .385
-(is one of)2.635 F F2(\255eq)2.885 E F1(,)A F2(\255ne)2.885 E F1(,)A F2
-(\255lt)2.885 E F1(,)A F2(\255le)2.885 E F1(,)A F2(\255gt)2.885 E F1
-2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F1 5.385(.T)C .385
-(hese arithmetic binary operators return true if)-5.385 F F0(ar)2.884 E
-(g1)-.37 E F1 .845(is equal to, not equal to, less than, less than or e\
-qual to, greater than, or greater than or equal to)144 108 R F0(ar)144
-120 Q(g2)-.37 E F1 3.709(,r)C(especti)-3.709 E -.15(ve)-.25 G(ly).15 E
-(.)-.65 E F0(ar)6.539 E(g1)-.37 E F1(and)3.709 E F0(ar)4.039 E(g2)-.37 E
-F1 1.209(may be positi)3.729 F 1.509 -.15(ve o)-.25 H 3.709(rn).15 G
--2.25 -.15(eg a)-3.709 H(ti).15 E 1.509 -.15(ve i)-.25 H(nte).15 E 3.708
-(gers. When)-.15 F 1.208(used with the)3.708 F F2([[)3.708 E F1
-(command,)144 132 Q F0(ar)4.092 E(g1)-.37 E F1(and)3.762 E F0(ar)4.092 E
-(g2)-.37 E F1 1.262(are e)3.782 F -.25(va)-.25 G 1.263
-(luated as arithmetic e).25 F 1.263(xpressions \(see)-.15 F F3 1.263
-(ARITHMETIC EV)3.763 F(ALU)-1.215 E(A-)-.54 E(TION)144 144 Q F1(abo)2.25
-E -.15(ve)-.15 G(\).).15 E/F4 10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)
-72 160.8 Q(ANSION)-.81 E F1 .773(When the shell e)108 172.8 R -.15(xe)
--.15 G .772(cutes a simple command, it performs the follo).15 F .772
-(wing e)-.25 F .772(xpansions, assignments, and redi-)-.15 F
-(rections, from left to right, in the follo)108 184.8 Q(wing order)-.25
-E(.)-.55 E(1.)108 201.6 Q 1.848(The w)144 201.6 R 1.848
-(ords that the parser has mark)-.1 F 1.848(ed as v)-.1 F 1.849
-(ariable assignments \(those preceding the command)-.25 F
-(name\) and redirections are sa)144 213.6 Q -.15(ve)-.2 G 2.5(df).15 G
-(or later processing.)-2.5 E(2.)108 230.4 Q .18(The w)144 230.4 R .18
-(ords that are not v)-.1 F .179
-(ariable assignments or redirections are e)-.25 F 2.679(xpanded. If)-.15
-F(an)2.679 E 2.679(yw)-.15 G .179(ords remain af-)-2.779 F .346(ter e)
-144 242.4 R .346(xpansion, the \214rst w)-.15 F .346(ord is tak)-.1 F
-.347(en to be the name of the command and the remaining w)-.1 F .347
-(ords are)-.1 F(the ar)144 254.4 Q(guments.)-.18 E(3.)108 271.2 Q
-(Redirections are performed as described abo)144 271.2 Q .3 -.15(ve u)
--.15 H(nder).15 E F3(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F1(4.)
-108 288 Q .717(The te)144 288 R .717(xt after the)-.15 F F2(=)3.217 E F1
-.717(in each v)3.217 F .717(ariable assignment under)-.25 F .717
-(goes tilde e)-.18 F .717(xpansion, parameter e)-.15 F(xpansion,)-.15 E
-.339(command substitution, arithmetic e)144 300 R .339
-(xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339
-(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 312 Q .587
-(If no command name results, the v)108 328.8 R .586
-(ariable assignments af)-.25 F .586(fect the current shell en)-.25 F
-3.086(vironment. In)-.4 F .586(the case of)3.086 F .371(such a command \
-\(one that consists only of assignment statements and redirections\), a\
-ssignment statements)108 340.8 R .835
-(are performed before redirections.)108 352.8 R .835(Otherwise, the v)
-5.835 F .835(ariables are added to the en)-.25 F .835
-(vironment of the e)-.4 F -.15(xe)-.15 G(cuted).15 E .838
-(command and do not af)108 364.8 R .838(fect the current shell en)-.25 F
-3.338(vironment. If)-.4 F(an)3.338 E 3.338(yo)-.15 G 3.338(ft)-3.338 G
-.839(he assignments attempts to assign a)-3.338 F -.25(va)108 376.8 S
-(lue to a readonly v).25 E(ariable, an error occurs, and the command e)
--.25 E(xits with a non-zero status.)-.15 E .15
-(If no command name results, redirections are performed, b)108 393.6 R
-.149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649
-(vironment. A)-.4 F(redirection error causes the command to e)108 405.6
-Q(xit with a non-zero status.)-.15 E 1.064
-(If there is a command name left after e)108 422.4 R 1.064(xpansion, e)
--.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F
-4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .069(command e)108
-434.4 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069
-(xpansions contained a command substitution, the e)-.15 F .068
-(xit status of the command)-.15 F .466(is the e)108 446.4 R .466
-(xit status of the last command substitution performed.)-.15 F .467
-(If there were no command substitutions, the)5.466 F(command e)108 458.4
-Q(xits with a zero status.)-.15 E F4(COMMAND EXECUTION)72 475.2 Q F1
-.547(After a command has been split into w)108 487.2 R .546
-(ords, if it results in a simple command and an optional list of ar)-.1
-F(gu-)-.18 E(ments, the shell performs the follo)108 499.2 Q
-(wing actions.)-.25 E .379(If the command name contains no slashes, the\
- shell attempts to locate it.)108 516 R .379(If there e)5.379 F .379
-(xists a shell function by)-.15 F .246(that name, that function is in)
-108 528 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G .246
-(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)2.746
-E F5(.)A F1 .246(If the name does not match a func-)4.746 F
-(tion, the shell searches for it in the list of shell b)108 540 Q 2.5
-(uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E
-(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .309
-(If the name is neither a shell function nor a b)108 556.8 R .31
-(uiltin, and contains no slashes,)-.2 F F2(bash)2.81 E F1 .31
-(searches each element of)2.81 F(the)108 568.8 Q F3 -.666(PA)3.163 G(TH)
--.189 E F1 .662(for a directory containing an e)2.913 F -.15(xe)-.15 G
-.662(cutable \214le by that name.).15 F F2(Bash)5.662 E F1 .662
-(uses a hash table to remember)3.162 F .858(the full pathnames of e)108
-580.8 R -.15(xe)-.15 G .858(cutable \214les \(see).15 F F2(hash)3.358 E
-F1(under)3.358 E F3 .858(SHELL B)3.358 F(UIL)-.09 E .859(TIN COMMANDS)
--.828 F F1(belo)3.109 E 3.359(w\). Bash)-.25 F(per)3.359 E(-)-.2 E .884
-(forms a full search of the directories in)108 592.8 R F3 -.666(PA)3.383
-G(TH)-.189 E F1 .883
-(only if the command is not found in the hash table.)3.133 F .883
-(If the)5.883 F .956(search is unsuccessful, the shell searches for a d\
-e\214ned shell function named)108 604.8 R F2(command_not_f)3.456 E
-(ound_han-)-.25 E(dle)108 616.8 Q F1 6.006(.I)C 3.506(ft)-6.006 G 1.006
-(hat function e)-3.506 F 1.006(xists, it is in)-.15 F -.2(vo)-.4 G -.1
-(ke).2 G 3.506(di).1 G 3.506(nas)-3.506 G 1.005(eparate e)-3.506 F -.15
-(xe)-.15 G 1.005(cution en).15 F 1.005
-(vironment with the original command)-.4 F .255
-(and the original command')108 628.8 R 2.755(sa)-.55 G -.18(rg)-2.755 G
-.255(uments as its ar).18 F .256(guments, and the function')-.18 F 2.756
-(se)-.55 G .256(xit status becomes the e)-2.906 F .256(xit sta-)-.15 F
-.263(tus of that subshell.)108 640.8 R .263(If that function is not de\
-\214ned, the shell prints an error message and returns an e)5.263 F .263
-(xit sta-)-.15 F(tus of 127.)108 652.8 Q 1.089(If the search is success\
-ful, or if the command name contains one or more slashes, the shell e)
-108 669.6 R -.15(xe)-.15 G 1.09(cutes the).15 F .198
-(named program in a separate e)108 681.6 R -.15(xe)-.15 G .198
-(cution en).15 F 2.698(vironment. Ar)-.4 F .198
-(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .197
-(n, and the remain-).15 F(ing ar)108 693.6 Q
-(guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15
-(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.048(If this e)108 710.4 R
--.15(xe)-.15 G 1.048(cution f).15 F 1.048
-(ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.049
-(cutable format, and the \214le is not a directory).15 F 3.549(,i)-.65 G
-3.549(ti)-3.549 G 3.549(sa)-3.549 G(s-)-3.549 E .143(sumed to be a)108
-722.4 R F0 .143(shell script)2.643 F F1 2.643(,a\214)C .143
-(le containing shell commands, and the shell creates a ne)-2.643 F 2.643
-(wi)-.25 G .143(nstance of itself to)-2.643 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(39)190.395 E 0 Cg EP
-%%Page: 40 40
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E -.15(exe)108 84 S .321(cute it.).15 F .321
-(Bash tries to determine whether the \214le is a te)5.321 F .321
-(xt \214le or a binary)-.15 F 2.822(,a)-.65 G .322(nd will not e)-2.822
-F -.15(xe)-.15 G .322(cute \214les it de-).15 F .503
-(termines to be binaries.)108 96 R .503
-(This subshell reinitializes itself, so that the ef)5.503 F .503
-(fect is as if a ne)-.25 F 3.003(ws)-.25 G .503(hell had been in-)-3.003
-F -.2(vo)108 108 S -.1(ke).2 G 3.473(dt).1 G 3.473(oh)-3.473 G .973
-(andle the script, with the e)-3.473 F .973
-(xception that the locations of commands remembered by the parent)-.15 F
-(\(see)108 120 Q/F2 10/Times-Bold@0 SF(hash)2.5 E F1(belo)2.5 E 2.5(wu)
--.25 G(nder)-2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E
-(TIN COMMANDS)-.828 E F1(are retained by the child.)2.25 E .348
-(If the program is a \214le be)108 136.8 R .348(ginning with)-.15 F F2
-(#!)2.848 E F1 2.848(,t)C .347(he remainder of the \214rst line speci\
-\214es an interpreter for the pro-)-2.848 F 3.178(gram. The)108 148.8 R
-.678(shell e)3.178 F -.15(xe)-.15 G .678(cutes the speci\214ed interpre\
-ter on operating systems that do not handle this e).15 F -.15(xe)-.15 G
-(cutable).15 E .206(format themselv)108 160.8 R 2.706(es. The)-.15 F(ar)
-2.706 E .206(guments to the interpreter consist of a single optional ar)
--.18 F .206(gument follo)-.18 F .206(wing the in-)-.25 F .267
-(terpreter name on the \214rst line of the program, follo)108 172.8 R
-.268(wed by the name of the program, follo)-.25 F .268(wed by the com-)
--.25 F(mand ar)108 184.8 Q(guments, if an)-.18 E -.65(y.)-.15 G/F4 10.95
-/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 201.6 Q(ONMENT)-.329 E F1
-(The shell has an)108 213.6 Q F0 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E
-(onment)-.45 E F1 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25
-E<83>108 230.4 Q 1.258(Open \214les inherited by the shell at in)144
-230.4 R -.2(vo)-.4 G 1.257
-(cation, as modi\214ed by redirections supplied to the).2 F F2(exec)
-3.757 E F1 -.2(bu)144 242.4 S(iltin.).2 E<83>108 259.2 Q(The current w)
-144 259.2 Q(orking directory as set by)-.1 E F2(cd)2.5 E F1(,)A F2
-(pushd)2.5 E F1 2.5(,o)C(r)-2.5 E F2(popd)2.5 E F1 2.5(,o)C 2.5(ri)-2.5
-G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation.).2 E<83>108
-276 Q(The \214le creation mode mask as set by)144 276 Q F2(umask)2.5 E
-F1(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent.)-2.5 E<83>108
-292.8 Q(Current traps set by)144 292.8 Q F2(trap)2.5 E F1(.)A<83>108
-309.6 Q .152(Shell parameters that are set by v)144 309.6 R .152
-(ariable assignment or with)-.25 F F2(set)2.652 E F1 .152
-(or inherited from the shell')2.652 F 2.652(sp)-.55 G(arent)-2.652 E
-(in the en)144 321.6 Q(vironment.)-.4 E<83>108 338.4 Q
-(Shell functions de\214ned during e)144 338.4 Q -.15(xe)-.15 G
-(cution or inherited from the shell').15 E 2.5(sp)-.55 G
-(arent in the en)-2.5 E(vironment.)-.4 E<83>108 355.2 Q
-(Options enabled at in)144 355.2 Q -.2(vo)-.4 G(cation \(either by def)
-.2 E(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F2(set)
-2.5 E F1(.)A<83>108 372 Q(Options enabled by)144 372 Q F2(shopt)2.5 E F1
-(.)A<83>108 388.8 Q(Shell aliases de\214ned with)144 388.8 Q F2(alias)
-2.5 E F1(.)A<83>108 405.6 Q -1.11(Va)144 405.6 S
-(rious process IDs, including those of background jobs, the v)1.11 E
-(alue of)-.25 E F2($$)2.5 E F1 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
-F3(PPID)2.5 E/F5 9/Times-Roman@0 SF(.)A F1 .427
-(When a simple command other than a b)108 422.4 R .426
-(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426
-(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas)
--2.926 G(eparate)-2.926 E -.15(exe)108 434.4 S .133(cution en).15 F .133
-(vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F
-.134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F
-(the shell.)108 446.4 Q<83>108 463.2 Q .818(The shell')144 463.2 R 3.318
-(so)-.55 G .818(pen \214les, plus an)-3.318 F 3.318(ym)-.15 G .818
-(odi\214cations and additions speci\214ed by redirections to the com-)
--3.318 F(mand.)144 475.2 Q<83>108 492 Q(The current w)144 492 Q
-(orking directory)-.1 E(.)-.65 E<83>108 508.8 Q
-(The \214le creation mode mask.)144 508.8 Q<83>108 525.6 Q .728(Shell v)
-144 525.6 R .728(ariables and functions mark)-.25 F .728(ed for e)-.1 F
-.729(xport, along with v)-.15 F .729(ariables e)-.25 F .729
-(xported for the command,)-.15 F(passed in the en)144 537.6 Q
-(vironment.)-.4 E<83>108 554.4 Q -.35(Tr)144 554.4 S .131
-(aps caught by the shell are reset to the v).35 F .131
-(alues inherited from the shell')-.25 F 2.631(sp)-.55 G .131
-(arent, and traps ignored)-2.631 F(by the shell are ignored.)144 566.4 Q
-2.5(Ac)108 583.2 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
-2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E
-(fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E
-(vironment.)-.4 E(A)108 600 Q F0(subshell)2.5 E F1(is a cop)2.5 E 2.5
-(yo)-.1 G 2.5(ft)-2.5 G(he shell process.)-2.5 E .577(Command substitut\
-ion, commands grouped with parentheses, and asynchronous commands are i\
-n)108 616.8 R -.2(vo)-.4 G -.1(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745
-(as)108 628.8 S .245(ubshell en)-2.745 F .245
-(vironment that is a duplicate of the shell en)-.4 F .244(vironment, e)
--.4 F .244(xcept that traps caught by the shell are)-.15 F .358
-(reset to the v)108 640.8 R .358
-(alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4
-G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo)
--.4 G -.1(ke).2 G(d).1 E .114(as part of a pipeline, e)108 652.8 R .114
-(xcept possibly in the last element depending on the v)-.15 F .113
-(alue of the)-.25 F F2(lastpipe)2.613 E F1 .113(shell option,)2.613 F
-.691(are also e)108 664.8 R -.15(xe)-.15 G .691(cuted in a subshell en)
-.15 F 3.191(vironment. Changes)-.4 F .691(made to the subshell en)3.191
-F .692(vironment cannot af)-.4 F .692(fect the)-.25 F(shell')108 676.8 Q
-2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .535
-(When the shell is in posix mode, subshells spa)108 693.6 R .535
-(wned to e)-.15 F -.15(xe)-.15 G .535
-(cute command substitutions inherit the v).15 F .535(alue of)-.25 F(the)
-108 705.6 Q F2<ad65>2.635 E F1 .135(option from their parent shell.)
-2.635 F .135(When not in posix mode,)5.135 F F2(bash)2.635 E F1 .135
-(clears the)2.635 F F2<ad65>2.636 E F1 .136(option in such subshells.)
-2.636 F .614(See the description of the)108 717.6 R F2(inherit_err)3.114
-E(exit)-.18 E F1 .614(shell option belo)3.114 F 3.114(wf)-.25 G .613
-(or ho)-3.114 F 3.113(wt)-.25 G 3.113(oc)-3.113 G .613(ontrol this beha)
--3.113 F .613(vior when not in)-.2 F(posix mode.)108 729.6 Q
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(40)190.395 E 0 Cg EP
-%%Page: 41 41
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .404(If a command is follo)108 84 R .404(wed by a)
--.25 F/F2 10/Times-Bold@0 SF(&)2.904 E F1 .405
-(and job control is not acti)2.904 F -.15(ve)-.25 G 2.905(,t).15 G .405
-(he def)-2.905 F .405(ault standard input for the command)-.1 F 1.415
-(is the empty \214le)108 96 R F0(/de)5.581 E(v/null)-.15 E F1 6.415(.O)
-1.666 G 1.415(therwise, the in)-6.415 F -.2(vo)-.4 G -.1(ke).2 G 3.915
-(dc).1 G 1.414(ommand inherits the \214le descriptors of the calling)
--3.915 F(shell as modi\214ed by redirections.)108 108 Q/F3 10.95
-/Times-Bold@0 SF(ENVIR)72 124.8 Q(ONMENT)-.329 E F1 2.343
-(When a program is in)108 136.8 R -.2(vo)-.4 G -.1(ke).2 G 4.843(di).1 G
-4.843(ti)-4.843 G 4.843(sg)-4.843 G -2.15 -.25(iv e)-4.843 H 4.843(na)
-.25 G 4.843(na)-4.843 G 2.343(rray of strings called the)-4.843 F F0(en)
-5.033 E(vir)-.4 E(onment)-.45 E F1 7.343(.T).68 G 2.344
-(his is a list of)-7.343 F F0(name)108 148.8 Q F1<ad>A F0(value)A F1
-(pairs, of the form)2.5 E F0(name)2.86 E F1(=)A F0(value)A F1(.).18 E
-.439(The shell pro)108 165.6 R .438(vides se)-.15 F -.15(ve)-.25 G .438
-(ral w).15 F .438(ays to manipulate the en)-.1 F 2.938(vironment. On)-.4
-F(in)2.938 E -.2(vo)-.4 G .438(cation, the shell scans its o).2 F .438
-(wn en-)-.25 F 2.033(vironment and creates a parameter for each name fo\
-und, automatically marking it for)108 177.6 R F0 -.2(ex)4.534 G(port).2
-E F1 2.034(to child)5.214 F 3.694(processes. Ex)108 189.6 R 1.194
-(ecuted commands inherit the en)-.15 F 3.693(vironment. The)-.4 F F2
-(export)3.693 E F1(,)A F2(declar)3.693 E 3.693<65ad>-.18 G(x)-3.693 E F1
-3.693(,a)C(nd)-3.693 E F2(unset)3.693 E F1(commands)3.693 E .046
-(modify the en)108 201.6 R .046
-(vironment by adding and deleting parameters and functions.)-.4 F .047
-(If the v)5.047 F .047(alue of a parameter in the)-.25 F(en)108 213.6 Q
-.657(vironment is modi\214ed, the ne)-.4 F 3.157(wv)-.25 G .656
-(alue automatically becomes part of the en)-3.407 F .656
-(vironment, replacing the old.)-.4 F .154(The en)108 225.6 R .154
-(vironment inherited by an)-.4 F 2.654(ye)-.15 G -.15(xe)-2.804 G .154
-(cuted command consists of the shell').15 F 2.655(si)-.55 G .155
-(nitial en)-2.655 F .155(vironment, whose v)-.4 F(al-)-.25 E .789
-(ues may be modi\214ed in the shell, less an)108 237.6 R 3.289(yp)-.15 G
-.789(airs remo)-3.289 F -.15(ve)-.15 G 3.289(db).15 G 3.289(yt)-3.289 G
-(he)-3.289 E F2(unset)3.289 E F1(or)3.289 E F2 .789(export \255n)3.289 F
-F1 .789(commands, plus an)3.289 F(y)-.15 E(additions via the)108 249.6 Q
-F2(export)2.5 E F1(and)2.5 E F2(declar)2.5 E 2.5<65ad>-.18 G(x)-2.5 E F1
-(commands.)2.5 E .349(If an)108 266.4 R 2.849(yp)-.15 G .349
-(arameter assignments, as described abo)-2.849 F .649 -.15(ve i)-.15 H
-(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.849 G(RAMETERS).666 E/F5 9
-/Times-Roman@0 SF(,)A F1 .349(appear before a)2.599 F F0 .349
-(simple command)3.189 F F1 2.849(,t).77 G(he)-2.849 E -.25(va)108 278.4
-S .442(riable assignments are part of that command').25 F 2.942(se)-.55
-G -.4(nv)-2.942 G .442(ironment for as long as it e).4 F -.15(xe)-.15 G
-2.942(cutes. These).15 F(assignment)2.942 E .013(statements af)108 290.4
-R .013(fect only the en)-.25 F .013(vironment seen by that command.)-.4
-F .014(If these assignments precede a call to a shell)5.014 F
-(function, the v)108 302.4 Q(ariables are local to the function and e)
--.25 E(xported to that function')-.15 E 2.5(sc)-.55 G(hildren.)-2.5 E
-.81(If the)108 319.2 R F2<ad6b>3.31 E F1 .81(option is set \(see the)
-3.31 F F2(set)3.31 E F1 -.2(bu)3.31 G .81(iltin command belo).2 F .81
-(w\), then)-.25 F F0(all)3.64 E F1 .81
-(parameter assignments are placed in)3.82 F(the en)108 331.2 Q
-(vironment for a command, not just those that precede the command name.)
--.4 E(When)108 348 Q F2(bash)3.338 E F1(in)3.338 E -.2(vo)-.4 G -.1(ke)
-.2 G 3.339(sa).1 G 3.339(ne)-3.339 G .839(xternal command, the v)-3.489
-F(ariable)-.25 E F2(_)3.339 E F1 .839
-(is set to the full pathname of the command and)3.339 F
-(passed to that command in its en)108 360 Q(vironment.)-.4 E F3(EXIT ST)
-72 376.8 Q -1.04(AT)-.986 G(US)1.04 E F1 .151(The e)108 388.8 R .151
-(xit status of an e)-.15 F -.15(xe)-.15 G .151(cuted command is the v)
-.15 F .15(alue returned by the)-.25 F F0(waitpid)2.65 E F1 .15
-(system call or equi)2.65 F -.25(va)-.25 G .15(lent func-).25 F 2.847
-(tion. Exit)108 400.8 R .347(statuses f)2.847 F .347
-(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F
-1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .348(alues abo)-.25
-F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 412.8 Q 5.507(.E)-.65 G
-.507(xit statuses from shell b)-5.507 F .507
-(uiltins and compound commands are also limited to this range.)-.2 F
-(Under)5.506 E(certain circumstances, the shell will use special v)108
-424.8 Q(alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15
-(Fo)108 441.6 S 3.434(rt).15 G .934(he shell')-3.434 F 3.434(sp)-.55 G
-.934(urposes, a command which e)-3.434 F .934(xits with a zero e)-.15 F
-.935(xit status has succeeded.)-.15 F .935(So while an e)5.935 F(xit)
--.15 E(status of zero indicates success, a non-zero e)108 453.6 Q
-(xit status indicates f)-.15 E(ailure.)-.1 E
-(When a command terminates on a f)108 470.4 Q(atal signal)-.1 E F0(N)2.5
-E F1(,)A F2(bash)2.5 E F1(uses the v)2.5 E(alue of 128+)-.25 E F0(N)A F1
-(as the e)2.5 E(xit status.)-.15 E .405
-(If a command is not found, the child process created to e)108 487.2 R
--.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .404
-(If a command is)5.404 F(found b)108 499.2 Q(ut is not e)-.2 E -.15(xe)
--.15 G(cutable, the return status is 126.).15 E(If a command f)108 516 Q
-(ails because of an error during e)-.1 E(xpansion or redirection, the e)
--.15 E(xit status is greater than zero.)-.15 E .08(Shell b)108 532.8 R
-.08(uiltin commands return a status of 0 \()-.2 F F0(true)A F1 2.581
-(\)i)C 2.581(fs)-2.581 G .081(uccessful, and non-zero \()-2.581 F F0
-(false)A F1 2.581(\)i)C 2.581(fa)-2.581 G 2.581(ne)-2.581 G .081
-(rror occurs while)-2.581 F(the)108 544.8 Q 2.968(ye)-.15 G -.15(xe)
--3.118 G 2.968(cute. All).15 F -.2(bu)2.968 G .468(iltins return an e).2
-F .468(xit status of 2 to indicate incorrect usage, generally in)-.15 F
--.25(va)-.4 G .467(lid options or).25 F(missing ar)108 556.8 Q(guments.)
--.18 E(The e)108 573.6 Q(xit status of the last command is a)-.15 E -.25
-(va)-.2 G(ilable in the special parameter $?.).25 E F2(Bash)108 590.4 Q
-F1 .201(itself returns the e)2.701 F .202
-(xit status of the last command e)-.15 F -.15(xe)-.15 G .202
-(cuted, unless a syntax error occurs, in which case).15 F(it e)108 602.4
-Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F2
-(exit)2.5 E F1 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F3
-(SIGN)72 619.2 Q(ALS)-.219 E F1(When)108 631.2 Q F2(bash)2.503 E F1 .002
-(is interacti)2.502 F -.15(ve)-.25 G 2.502(,i).15 G 2.502(nt)-2.502 G
-.002(he absence of an)-2.502 F 2.502(yt)-.15 G .002(raps, it ignores)
--2.502 F F4(SIGTERM)2.502 E F1 .002(\(so that)2.252 F F2 .002(kill 0)
-2.502 F F1 .002(does not kill an in-)2.502 F(teracti)108 643.2 Q .925
--.15(ve s)-.25 H .625(hell\), and catches and handles).15 F F4(SIGINT)
-3.126 E F1 .626(\(so that the)2.876 F F2(wait)3.126 E F1 -.2(bu)3.126 G
-.626(iltin is interruptible\).).2 F(When)5.626 E F2(bash)3.126 E F1(re-)
-3.126 E(cei)108 655.2 Q -.15(ve)-.25 G(s).15 E F4(SIGINT)2.95 E F5(,)A
-F1 .45(it breaks out of an)2.7 F 2.95(ye)-.15 G -.15(xe)-3.1 G .45
-(cuting loops.).15 F .45(In all cases,)5.45 F F2(bash)2.95 E F1(ignores)
-2.95 E F4(SIGQ)2.95 E(UIT)-.09 E F5(.)A F1 .45(If job control is)4.95 F
-(in ef)108 667.2 Q(fect,)-.25 E F2(bash)2.5 E F1(ignores)2.5 E F4
-(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F1(and)2.25 E F4
-(SIGTSTP)2.5 E F5(.)A F1(The)108 684 Q F2(trap)2.5 E F1 -.2(bu)2.5 G
-(iltin modi\214es the shell').2 E 2.5(ss)-.55 G
-(ignal handling, as described belo)-2.5 E -.65(w.)-.25 G(Non-b)108 700.8
-Q .612(uiltin commands)-.2 F F2(bash)3.112 E F1 -.15(exe)3.112 G .612
-(cutes ha).15 F .912 -.15(ve s)-.2 H .612(ignal handlers set to the v)
-.15 F .613(alues inherited by the shell from its)-.25 F .065
-(parent, unless)108 712.8 R F2(trap)2.565 E F1 .065(sets them to be ign\
-ored, in which case the child process will ignore them as well.)2.565 F
-(When)5.064 E 1.634(job control is not in ef)108 724.8 R 1.635
-(fect, asynchronous commands ignore)-.25 F F4(SIGINT)4.135 E F1(and)
-3.885 E F4(SIGQ)4.135 E(UIT)-.09 E F1 1.635(in addition to these)3.885 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(41)190.395 E 0 Cg EP
-%%Page: 42 42
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .541(inherited handlers.)108 84 R .541
-(Commands run as a result of command substitution ignore the k)5.541 F
--.15(ey)-.1 G .54(board-generated job).15 F(control signals)108 96 Q/F2
-9/Times-Bold@0 SF(SIGTTIN)2.5 E/F3 9/Times-Roman@0 SF(,)A F2(SIGTT)2.25
-E(OU)-.162 E F3(,)A F1(and)2.25 E F2(SIGTSTP)2.5 E F3(.)A F1 2.045
-(The shell e)108 112.8 R 2.045(xits by def)-.15 F 2.045
-(ault upon receipt of a)-.1 F F2(SIGHUP)4.545 E F3(.)A F1 2.045
-(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346 -.15(ve s)-.25
-H 2.046(hell resends the).15 F F2(SIGHUP)108 124.8 Q F1 .54
-(to all jobs, running or stopped.)2.79 F .54(The shell sends)5.54 F F2
-(SIGCONT)3.04 E F1 .54(to stopped jobs to ensure that the)2.79 F 3.039
-(yr)-.15 G(e-)-3.039 E(cei)108 136.8 Q 1.045 -.15(ve t)-.25 H(he).15 E
-F2(SIGHUP)3.245 E F1(\(see)2.995 E F2 .745(JOB CONTR)3.245 F(OL)-.27 E
-F1(belo)2.995 E 3.245(wf)-.25 G .745
-(or more information about running and stopped jobs\).)-3.245 F -.8(To)
-5.745 G(pre)108 148.8 Q -.15(ve)-.25 G .442
-(nt the shell from sending the signal to a particular job, remo).15 F
-.741 -.15(ve i)-.15 H 2.941(tf).15 G .441(rom the jobs table with the)
--2.941 F/F4 10/Times-Bold@0 SF(diso)2.941 E(wn)-.1 E F1 -.2(bu)108 160.8
-S(iltin \(see).2 E F2(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1
-(belo)2.25 E(w\) or mark it not to recei)-.25 E -.15(ve)-.25 G F2
-(SIGHUP)2.65 E F1(using)2.25 E F4(diso)2.5 E(wn \255h)-.1 E F1(.)A .554
-(If the)108 177.6 R F4(huponexit)3.054 E F1 .554
-(shell option has been set using)3.054 F F4(shopt)3.054 E F1(,)A F4
-(bash)3.054 E F1 .555(sends a)3.054 F F2(SIGHUP)3.055 E F1 .555
-(to all jobs when an interac-)2.805 F(ti)108 189.6 Q .3 -.15(ve l)-.25 H
-(ogin shell e).15 E(xits.)-.15 E(If)108 206.4 Q F4(bash)3.047 E F1 .547
-(is w)3.047 F .546(aiting for a command to complete and recei)-.1 F -.15
-(ve)-.25 G 3.046(sas).15 G .546
-(ignal for which a trap has been set, the trap)-3.046 F .777
-(will not be e)108 218.4 R -.15(xe)-.15 G .777
-(cuted until the command completes.).15 F(If)5.777 E F4(bash)3.278 E F1
-.778(is w)3.278 F .778(aiting for an asynchronous command via)-.1 F(the)
-108 230.4 Q F4(wait)3.032 E F1 -.2(bu)3.032 G .532(iltin, and it recei)
-.2 F -.15(ve)-.25 G 3.032(sas).15 G .531
-(ignal for which a trap has been set, the)-3.032 F F4(wait)3.031 E F1
--.2(bu)3.031 G .531(iltin will return immedi-).2 F(ately with an e)108
-242.4 Q
-(xit status greater than 128, immediately after which the shell e)-.15 E
--.15(xe)-.15 G(cutes the trap.).15 E .498
-(When job control is not enabled, and)108 259.2 R F4(bash)2.998 E F1
-.498(is w)2.998 F .498(aiting for a fore)-.1 F .499
-(ground command to complete, the shell re-)-.15 F(cei)108 271.2 Q -.15
-(ve)-.25 G 3.214(sk).15 G -.15(ey)-3.314 G .713
-(board-generated signals such as).15 F F2(SIGINT)3.213 E F1 .713
-(\(usually generated by)2.963 F F4<0043>3.213 E F1 3.213(\)t)C .713
-(hat users commonly intend)-3.213 F .454(to send to that command.)108
-283.2 R .455(This happens because the shell and the command are in the \
-same process group)5.454 F .83(as the terminal, and)108 295.2 R F4<0043>
-3.33 E F1(sends)3.33 E F2(SIGINT)3.33 E F1 .829
-(to all processes in that process group.)3.08 F(See)5.829 E F2 .829
-(JOB CONTR)3.329 F(OL)-.27 E F1(belo)3.079 E(w)-.25 E
-(for more information about process groups.)108 307.2 Q(When)108 324 Q
-F4(bash)3.8 E F1 1.3(is running without job control enabled and recei)
-3.8 F -.15(ve)-.25 G(s).15 E F2(SIGINT)3.8 E F1 1.3(while w)3.55 F 1.3
-(aiting for a fore)-.1 F(ground)-.15 E .81(command, it w)108 336 R .81
-(aits until that fore)-.1 F .81
-(ground command terminates and then decides what to do about the)-.15 F
-F2(SIG-)3.309 E(INT)108 348 Q F3(:)A F1(1.)108 364.8 Q .002
-(If the command terminates due to the)144 364.8 R F2(SIGINT)2.502 E F3
-(,)A F4(bash)2.252 E F1 .003
-(concludes that the user meant to end the entire)2.502 F
-(script, and acts on the)144 376.8 Q F2(SIGINT)2.5 E F1
-(\(e.g., by running a)2.25 E F2(SIGINT)2.5 E F1(trap or e)2.25 E
-(xiting itself\);)-.15 E(2.)108 393.6 Q .289
-(If the command does not terminate due to)144 393.6 R F2(SIGINT)2.788 E
-F3(,)A F1 .288(the program handled the)2.538 F F2(SIGINT)2.788 E F1 .288
-(itself and did)2.538 F .728(not treat it as a f)144 405.6 R .728
-(atal signal.)-.1 F .728(In that case,)5.728 F F4(bash)3.228 E F1 .728
-(does not treat)3.228 F F2(SIGINT)3.228 E F1 .728(as a f)2.978 F .728
-(atal signal, either)-.1 F 3.229(,i)-.4 G(n-)-3.229 E .772
-(stead assuming that the)144 417.6 R F2(SIGINT)3.272 E F1 -.1(wa)3.022 G
-3.272(su).1 G .771(sed as part of the program')-3.272 F 3.271(sn)-.55 G
-.771(ormal operation \(e.g., emacs)-3.271 F .409
-(uses it to abort editing commands\) or deliberately discarded.)144
-429.6 R(Ho)5.409 E(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G F4(bash)3.309 E
-F1 .41(will run an)2.91 F 2.91(yt)-.15 G .41(rap set)-2.91 F(on)144
-441.6 Q F2(SIGINT)3.789 E F3(,)A F1 1.289(as it does with an)3.539 F
-3.789(yo)-.15 G 1.288(ther trapped signal it recei)-3.789 F -.15(ve)-.25
-G 3.788(sw).15 G 1.288(hile it is w)-3.788 F 1.288(aiting for the fore-)
--.1 F(ground command to complete, for compatibility)144 453.6 Q(.)-.65 E
-/F5 10.95/Times-Bold@0 SF(JOB CONTR)72 470.4 Q(OL)-.329 E F0 -.25(Jo)108
-482.4 S 3.368(bc).25 G(ontr)-3.368 E(ol)-.45 E F1 .868
-(refers to the ability to selecti)3.878 F -.15(ve)-.25 G .868
-(ly stop \().15 F F0(suspend)A F1 3.368(\)t)C .868(he e)-3.368 F -.15
-(xe)-.15 G .868(cution of processes and continue \().15 F F0 -.37(re)C
-(-).37 E(sume)108 494.4 Q F1 2.665(\)t)C .165(heir e)-2.665 F -.15(xe)
--.15 G .165(cution at a later point.).15 F 2.665(Au)5.165 G .165
-(ser typically emplo)-2.665 F .165(ys this f)-.1 F .164
-(acility via an interacti)-.1 F .464 -.15(ve i)-.25 H(nterf).15 E .164
-(ace sup-)-.1 F(plied jointly by the operating system k)108 506.4 Q
-(ernel')-.1 E 2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15
-G(nd)-2.5 E F4(bash)2.5 E F1(.)A .598(The shell associates a)108 523.2 R
-F0(job)4.839 E F1 .599(with each pipeline.)3.329 F .599(It k)5.599 F
-.599(eeps a table of currently e)-.1 F -.15(xe)-.15 G .599
-(cuting jobs, which the).15 F F4(jobs)3.099 E F1 1.002
-(command will display)108 535.2 R 6.002(.E)-.65 G 1.002(ach job has a)
--6.002 F F0 1.001(job number)3.501 F F1 3.501(,w)C(hich)-3.501 E F4
-(jobs)3.501 E F1 1.001(displays between brack)3.501 F 3.501(ets. Job)-.1
-F(numbers)3.501 E(start at 1.)108 547.2 Q(When)5 E F4(bash)2.5 E F1
-(starts a job asynchronously \(in the)2.5 E F0(bac)2.77 E(kgr)-.2 E
-(ound)-.45 E F1(\), it prints a line that looks lik).77 E(e:)-.1 E
-([1] 25647)144 564 Q .241(indicating that this job is job number 1 and \
-that the process ID of the last process in the pipeline associated)108
-580.8 R .733(with this job is 25647.)108 592.8 R .732
-(All of the processes in a single pipeline are members of the same job)
-5.733 F(.)-.4 E F4(Bash)5.732 E F1(uses)3.232 E(the)108 604.8 Q F0(job)
-4.24 E F1(abstraction as the basis for job control.)2.73 E 2.373 -.8
-(To f)108 621.6 T .773(acilitate the implementation of the user interf)
-.7 F .774(ace to job control, each process has a)-.1 F F0(pr)3.274 E
-.774(ocess gr)-.45 F .774(oup ID)-.45 F F1(,)A .368
-(and the operating system maintains the notion of a)108 633.6 R F0(curr)
-2.868 E .368(ent terminal pr)-.37 F .368(ocess gr)-.45 F .368(oup ID)
--.45 F F1 5.368(.P)C .368(rocesses that ha)-5.368 F -.15(ve)-.2 G 1.529
-(the same process group ID are said to be part of the same)108 645.6 R
-F0(pr)4.03 E 1.53(ocess gr)-.45 F(oup)-.45 E F1 6.53(.M)C 1.53
-(embers of the)-6.53 F F0(for)4.03 E -.4(eg)-.37 G -.45(ro).4 G(und).45
-E F1 .123(process group \(processes whose process group ID is equal to \
-the current terminal process group ID\) recei)108 657.6 R -.15(ve)-.25 G
--.1(ke)108 669.6 S .138(yboard-generated signals such as)-.05 F F2
-(SIGINT)2.638 E F3(.)A F1 .139(Processes in the fore)4.639 F .139
-(ground process group are said to be)-.15 F F0(for)4.609 E(e-)-.37 E(gr)
-108 681.6 Q(ound)-.45 E F1(processes.)4.504 E F0(Bac)6.814 E(kgr)-.2 E
-(ound)-.45 E F1 1.234(processes are those whose process group ID dif)
-4.504 F 1.233(fers from the terminal')-.25 F(s;)-.55 E .533
-(such processes are immune to k)108 693.6 R -.15(ey)-.1 G .533
-(board-generated signals.).15 F .533(Only fore)5.533 F .533
-(ground processes are allo)-.15 F .533(wed to read)-.25 F .717(from or)
-108 705.6 R 3.217(,i)-.4 G 3.217(ft)-3.217 G .717(he user so speci\214e\
-s with \231stty tostop\232, write to the terminal.)-3.217 F .716
-(Background processes which at-)5.716 F .377
-(tempt to read from \(write to when \231tostop\232 is in ef)108 717.6 R
-.378(fect\) the terminal are sent a)-.25 F F2 .378(SIGTTIN \(SIGTT)2.878
-F(OU\))-.162 E F1(signal)2.628 E(by the k)108 729.6 Q(ernel')-.1 E 2.5
-(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G .8 -.4(r, w).15 H
-(hich, unless caught, suspends the process.).4 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(42)190.395 E 0 Cg EP
-%%Page: 43 43
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.088(If the operating system on which)108 84 R/F2
-10/Times-Bold@0 SF(bash)3.588 E F1 1.088
-(is running supports job control,)3.588 F F2(bash)3.587 E F1 1.087
-(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 96 S
-.877(ping the).8 F F0(suspend)3.717 E F1 .877(character \(typically)
-4.147 F F2<005a>3.377 E F1 3.377(,C)C .878
-(ontrol-Z\) while a process is running stops that process and)-3.377 F
-.008(returns control to)108 108 R F2(bash)2.508 E F1 5.008(.T)C .008
-(yping the)-5.808 F F0 .008(delayed suspend)2.858 F F1 .008
-(character \(typically)3.278 F F2<0059>2.508 E F1 2.508(,C)C .007
-(ontrol-Y\) causes the process)-2.508 F .56(stop when it attempts to re\
-ad input from the terminal, and returns control to)108 120 R F2(bash)
-3.061 E F1 5.561(.T)C .561(he user then manipu-)-5.561 F .407
-(lates the state of this job, using the)108 132 R F2(bg)2.907 E F1 .407
-(command to continue it in the background, the)2.907 F F2(fg)2.907 E F1
-.407(command to con-)2.907 F .727(tinue it in the fore)108 144 R .727
-(ground, or the)-.15 F F2(kill)3.228 E F1 .728(command to kill it.)3.228
-F .728(The suspend character tak)5.728 F .728(es ef)-.1 F .728
-(fect immediately)-.25 F(,)-.65 E .553(and has the additional side ef)
-108 156 R .553(fect of discarding an)-.25 F 3.053(yp)-.15 G .553
-(ending output and typeahead.)-3.053 F 2.153 -.8(To f)5.553 H .553
-(orce a background).8 F 2.26(process to stop, or stop a process that')
-108 168 R 4.761(sn)-.55 G 2.261
-(ot associated with the current terminal session, send it the)-4.761 F
-/F3 9/Times-Bold@0 SF(SIGST)108 180 Q(OP)-.162 E F1(signal using)2.25 E
-F2(kill)2.5 E F1(.)A .777(There are a number of w)108 196.8 R .777
-(ays to refer to a job in the shell.)-.1 F(The)5.777 E F2(%)3.277 E F1
-.777(character introduces a job speci\214cation)3.277 F(\(jobspec\).)108
-208.8 Q .414(Job number)108 225.6 R F0(n)3.274 E F1 .414
-(may be referred to as)3.154 F F2(%n)2.915 E F1 5.415(.A)C .415
-(job may also be referred to using a pre\214x of the name used to)-2.5 F
-.035(start it, or using a substring that appears in its command line.)
-108 237.6 R -.15(Fo)5.034 G 2.534(re).15 G(xample,)-2.684 E F2(%ce)2.534
-E F1 .034(refers to a job whose com-)2.534 F .229(mand name be)108 249.6
-R .229(gins with)-.15 F F2(ce)2.729 E F1 5.229(.U)C(sing)-5.229 E F2
-(%?ce)2.729 E F1 2.729(,o)C 2.729(nt)-2.729 G .229
-(he other hand, refers to an)-2.729 F 2.729(yj)-.15 G .229
-(ob containing the string)-2.729 F F2(ce)2.729 E F1 .229(in its)2.729 F
-(command line.)108 261.6 Q
-(If the pre\214x or substring matches more than one job,)5 E F2(bash)2.5
-E F1(reports an error)2.5 E(.)-.55 E .442(The symbols)108 278.4 R F2(%%)
-2.941 E F1(and)2.941 E F2(%+)2.941 E F1 .441(refer to the shell')2.941 F
-2.941(sn)-.55 G .441(otion of the)-2.941 F F0(curr)3.141 E .441(ent job)
--.37 F F1 5.441(.A).23 G .441(single % \(with no accompan)-2.5 F(y-)-.15
-E .207(ing job speci\214cation\) also refers to the current job)108
-290.4 R(.)-.4 E F2<25ad>5.207 E F1 .207(refers to the)2.707 F F0(pr)
-3.957 E -.15(ev)-.37 G .207(ious job).15 F F1 5.207(.W).23 G .207
-(hen a job starts in the)-5.207 F .186
-(background, a job stops while in the fore)108 302.4 R .186
-(ground, or a job is resumed in the background, it becomes the cur)-.15
-F(-)-.2 E .533(rent job)108 314.4 R 5.533(.T)-.4 G .534(he job that w)
--5.533 F .534(as the current job becomes the pre)-.1 F .534(vious job)
--.25 F 5.534(.W)-.4 G .534(hen the current job terminates, the)-5.534 F
-(pre)108 326.4 Q .124(vious job becomes the current job)-.25 F 5.123(.I)
--.4 G 2.623(ft)-5.123 G .123(here is only a single job,)-2.623 F F2(%+)
-2.623 E F1(and)2.623 E F2<25ad>2.623 E F1 .123
-(can both be used to refer to)2.623 F 1.473(that job)108 338.4 R 6.473
-(.I)-.4 G 3.973(no)-6.473 G 1.473
-(utput pertaining to jobs \(e.g., the output of the)-3.973 F F2(jobs)
-3.973 E F1 1.474(command\), the current job is al)3.974 F -.1(wa)-.1 G
-(ys).1 E(mark)108 350.4 Q(ed with a)-.1 E F2(+)2.5 E F1 2.5(,a)C
-(nd the pre)-2.5 E(vious job with a)-.25 E F2<ad>2.5 E F1(.)A .686
-(Simply naming a job can be used to bring it into the fore)108 367.2 R
-(ground:)-.15 E F2(%1)3.186 E F1 .686(is a synon)3.186 F .686
-(ym for \231fg %1\232, bringing)-.15 F .068
-(job 1 from the background into the fore)108 379.2 R 2.568
-(ground. Similarly)-.15 F 2.568<2c99>-.65 G .068
-(%1 &\232 resumes job 1 in the background, equi)-2.568 F(v-)-.25 E
-(alent to \231bg %1\232.)108 391.2 Q .131
-(The shell learns immediately whene)108 408 R -.15(ve)-.25 G 2.631(raj)
-.15 G .131(ob changes state.)-2.631 F(Normally)5.131 E(,)-.65 E F2(bash)
-2.631 E F1 -.1(wa)2.63 G .13(its until it is about to print a).1 F 1.279
-(prompt before notifying the user about changes in a job')108 420 R
-3.779(ss)-.55 G 1.279(tatus so as to not interrupt an)-3.779 F 3.779(yo)
--.15 G 1.279(ther output,)-3.779 F .016
-(though it will notify of changes in a job')108 432 R 2.515(ss)-.55 G
-.015(tatus after a fore)-2.515 F .015
-(ground command in a list completes, before e)-.15 F -.15(xe)-.15 G(-)
-.15 E .672(cuting the ne)108 444 R .672(xt command in the list.)-.15 F
-.672(If the)5.672 F F2<ad62>3.172 E F1 .672(option to the)3.172 F F2
-(set)3.172 E F1 -.2(bu)3.172 G .672(iltin command is enabled,).2 F F2
-(bash)3.173 E F1(reports)3.173 E(such changes immediately)108 456 Q(.)
--.65 E F2(Bash)5 E F1 -.15(exe)2.5 G(cutes an).15 E 2.5(yt)-.15 G
-(rap on)-2.5 E F3(SIGCHLD)2.5 E F1(for each child that terminates.)2.25
-E .352(When a job terminates and)108 472.8 R F2(bash)2.852 E F1 .352
-(noti\214es the user about it,)2.852 F F2(bash)2.852 E F1(remo)2.852 E
--.15(ve)-.15 G 2.852(st).15 G .352(he job from the table.)-2.852 F .352
-(It will not)5.352 F .52(appear in)108 484.8 R F2(jobs)3.02 E F1 .52
-(output, b)3.02 F(ut)-.2 E F2(wait)3.02 E F1 .52(will report its e)3.02
-F .52(xit status, as long as it')-.15 F 3.02(ss)-.55 G .52
-(upplied the process ID associated)-3.02 F(with the job as an ar)108
-496.8 Q 2.5(gument. When)-.18 F(the table is empty)2.5 E 2.5(,j)-.65 G
-(ob numbers start o)-2.5 E -.15(ve)-.15 G 2.5(ra).15 G 2.5(t1)-2.5 G(.)
--2.5 E .061(If a user attempts to e)108 513.6 R(xit)-.15 E F2(bash)2.561
-E F1 .061(while jobs are stopped \(or)2.561 F 2.56(,i)-.4 G 2.56(ft)
--2.56 G(he)-2.56 E F2(checkjobs)2.56 E F1 .06
-(shell option has been enabled us-)2.56 F .3(ing the)108 525.6 R F2
-(shopt)2.8 E F1 -.2(bu)2.8 G .3(iltin, running\), the shell prints a w)
-.2 F .3(arning message, and, if the)-.1 F F2(checkjobs)2.8 E F1 .3
-(option is enabled,)2.8 F .074(lists the jobs and their statuses.)108
-537.6 R(The)5.074 E F2(jobs)2.574 E F1 .074
-(command may then be used to inspect their status.)2.574 F .074
-(If the user im-)5.074 F 1.03(mediately attempts to e)108 549.6 R 1.03
-(xit ag)-.15 F 1.03(ain, without an interv)-.05 F 1.03(ening command,)
--.15 F F2(bash)3.53 E F1 1.03(does not print another w)3.53 F(arning,)
--.1 E(and terminates an)108 561.6 Q 2.5(ys)-.15 G(topped jobs.)-2.5 E
-.645(When the shell is w)108 578.4 R .645
-(aiting for a job or process using the)-.1 F F2(wait)3.144 E F1 -.2(bu)
-3.144 G .644(iltin, and job control is enabled,).2 F F2(wait)3.144 E F1
-(will)3.144 E .15(return when the job changes state.)108 590.4 R(The)
-5.15 E F2<ad66>2.65 E F1 .15(option causes)2.65 F F2(wait)2.651 E F1
-.151(to w)2.651 F .151(ait until the job or process terminates be-)-.1 F
-(fore returning.)108 602.4 Q/F4 10.95/Times-Bold@0 SF(PR)72 619.2 Q
-(OMPTING)-.329 E F1 .645(When e)108 631.2 R -.15(xe)-.15 G .645
-(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)-.65 E F2(bash)3.145 E
-F1 .645(displays the primary prompt)3.145 F F3(PS1)3.145 E F1 .645
-(when it is ready to read a command,)2.895 F(and the secondary prompt)
-108 643.2 Q F3(PS2)2.5 E F1
-(when it needs more input to complete a command.)2.25 E F2(Bash)108 660
-Q F1 -.15(ex)3.182 G .682(amines the v).15 F .682(alue of the array v)
--.25 F(ariable)-.25 E F2(PR)3.182 E(OMPT_COMMAND)-.3 E F1 .683
-(just before printing each primary)3.182 F 2.576(prompt. If)108 672 R
-(an)2.576 E 2.576(ye)-.15 G .076(lements in)-2.576 F F2(PR)2.576 E
-(OMPT_COMMAND)-.3 E F1 .076(are set and non-null, Bash e)2.576 F -.15
-(xe)-.15 G .076(cutes each v).15 F .076(alue, in nu-)-.25 F .343
-(meric order)108 684 R 2.843(,j)-.4 G .343
-(ust as if it had been typed on the command line.)-2.843 F F2(Bash)5.343
-E F1(displays)2.844 E F3(PS0)2.844 E F1 .344(after it reads a command)
-2.594 F -.2(bu)108 696 S 2.5(tb).2 G(efore e)-2.5 E -.15(xe)-.15 G
-(cuting it.).15 E F2(Bash)108 712.8 Q F1(displays)2.5 E F3(PS4)2.5 E F1
-(as described abo)2.25 E .3 -.15(ve b)-.15 H
-(efore tracing each command when the).15 E F2<ad78>2.5 E F1
-(option is enabled.)2.5 E F2(Bash)108 729.6 Q F1(allo)4.414 E 1.914
-(ws the prompt strings)-.25 F F2(PS0)4.414 E F1(,)A F2(PS1)4.414 E F1(,)
-A F2(PS2)4.414 E F1 4.414(,a)C(nd)-4.414 E F2(PS4)4.414 E F1 4.413(,t)C
-4.413(ob)-4.413 G 4.413(ec)-4.413 G 1.913
-(ustomized by inserting a number of)-4.413 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(43)190.395 E 0 Cg EP
-%%Page: 44 44
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E
-(backslash-escaped special characters that are decoded as follo)108 84 Q
-(ws:)-.25 E/F2 10/Times-Bold@0 SF(\\a)144 100.8 Q F1
-(An ASCII bell character \(07\).)180 100.8 Q F2(\\d)144 112.8 Q F1
-(The date in \231W)180 112.8 Q
-(eekday Month Date\232 format \(e.g., \231T)-.8 E(ue May 26\232\).)-.45
-E F2(\\D{)144 124.8 Q F0(format)A F2(})A F1(The)180 136.8 Q F0(format)
-3.67 E F1 1.17(is passed to)3.67 F F0(strftime)4.01 E F1 1.17
-(\(3\) and the result is inserted into the prompt string; an).18 F
-(empty)180 148.8 Q F0(format)2.5 E F1
-(results in a locale-speci\214c time representation.)2.5 E
-(The braces are required.)5 E F2(\\e)144 160.8 Q F1
-(An ASCII escape character \(033\).)180 160.8 Q F2(\\h)144 172.8 Q F1
-(The hostname up to the \214rst \231.)180 172.8 Q<9a2e>-.7 E F2(\\H)144
-184.8 Q F1(The hostname.)180 184.8 Q F2(\\j)144 196.8 Q F1
-(The number of jobs currently managed by the shell.)180 196.8 Q F2(\\l)
-144 208.8 Q F1(The basename of the shell')180 208.8 Q 2.5(st)-.55 G
-(erminal de)-2.5 E(vice name \(e.g., \231ttys0\232\).)-.25 E F2(\\n)144
-220.8 Q F1 2.5(An)180 220.8 S -.25(ew)-2.5 G(line.).25 E F2(\\r)144
-232.8 Q F1 2.5(Ac)180 232.8 S(arriage return.)-2.5 E F2(\\s)144 244.8 Q
-F1(The name of the shell: the basename of)180 244.8 Q F2($0)2.5 E F1
-(\(the portion follo)2.5 E(wing the \214nal slash\).)-.25 E F2(\\t)144
-256.8 Q F1(The current time in 24-hour HH:MM:SS format.)180 256.8 Q F2
-(\\T)144 268.8 Q F1(The current time in 12-hour HH:MM:SS format.)180
-268.8 Q F2(\\@)144 280.8 Q F1(The current time in 12-hour am/pm format.)
-180 280.8 Q F2(\\A)144 292.8 Q F1
-(The current time in 24-hour HH:MM format.)180 292.8 Q F2(\\u)144 304.8
-Q F1(The username of the current user)180 304.8 Q(.)-.55 E F2(\\v)144
-316.8 Q F1(The)180 316.8 Q F2(bash)2.5 E F1 -.15(ve)2.5 G
-(rsion \(e.g., 2.00\).).15 E F2(\\V)144 328.8 Q F1(The)180 328.8 Q F2
-(bash)2.5 E F1(release, v)2.5 E(ersion + patch le)-.15 E -.15(ve)-.25 G
-2.5(l\().15 G(e.g., 2.00.0\))-2.5 E F2(\\w)144 340.8 Q F1 1.646(The v)
-180 340.8 R 1.646(alue of the)-.25 F F2(PWD)4.145 E F1 1.645(shell v)
-4.145 F 1.645(ariable \()-.25 F F2($PWD)A F1 1.645(\), with)B/F3 9
-/Times-Bold@0 SF($HOME)4.145 E F1(abbre)3.895 E 1.645
-(viated with a tilde)-.25 F(\(uses the v)180 352.8 Q(alue of the)-.25 E
-F3(PR)2.5 E(OMPT_DIR)-.27 E(TRIM)-.36 E F1 -.25(va)2.25 G(riable\).).25
-E F2(\\W)144 364.8 Q F1(The basename of)180 364.8 Q F2($PWD)2.5 E F1 2.5
-(,w)C(ith)-2.5 E F3($HOME)2.5 E F1(abbre)2.25 E(viated with a tilde.)
--.25 E F2(\\!)144 376.8 Q F1(The history number of this command.)180
-376.8 Q F2(\\#)144 388.8 Q F1(The command number of this command.)180
-388.8 Q F2(\\$)144 400.8 Q F1(If the ef)180 400.8 Q(fecti)-.25 E .3 -.15
-(ve U)-.25 H(ID is 0, a).15 E F2(#)2.5 E F1 2.5(,o)C(therwise a)-2.5 E
-F2($)2.5 E F1(.)A F2(\\)144 412.8 Q F0(nnn)A F1
-(The character corresponding to the octal number)180 412.8 Q F0(nnn)2.5
-E F1(.)A F2(\\\\)144 424.8 Q F1 2.5(Ab)180 424.8 S(ackslash.)-2.5 E F2
-(\\[)144 436.8 Q F1(Be)180 436.8 Q 1.128(gin a sequence of non-printing\
- characters, which could be used to embed a terminal)-.15 F
-(control sequence into the prompt.)180 448.8 Q F2(\\])144 460.8 Q F1
-(End a sequence of non-printing characters.)180 460.8 Q .12
-(The command number and the history number are usually dif)108 477.6 R
-.119(ferent: the history number of a command is its)-.25 F .547(positio\
-n in the history list, which may include commands restored from the his\
-tory \214le \(see)108 489.6 R F3(HIST)3.047 E(OR)-.162 E(Y)-.315 E F1
-(be-)2.797 E(lo)108 501.6 Q .354(w\), while the command number is the p\
-osition in the sequence of commands e)-.25 F -.15(xe)-.15 G .354
-(cuted during the current).15 F .822(shell session.)108 513.6 R .822
-(After the string is decoded, it is e)5.822 F .822
-(xpanded via parameter e)-.15 F .823(xpansion, command substitution,)
--.15 F .683(arithmetic e)108 525.6 R .683(xpansion, and quote remo)-.15
-F -.25(va)-.15 G .683(l, subject to the v).25 F .682(alue of the)-.25 F
-F2(pr)3.182 E(omptv)-.18 E(ars)-.1 E F1 .682(shell option \(see the de-)
-3.182 F 1.197(scription of the)108 537.6 R F2(shopt)3.697 E F1 1.197
-(command under)3.697 F F3 1.197(SHELL B)3.697 F(UIL)-.09 E 1.197
-(TIN COMMANDS)-.828 F F1(belo)3.448 E 3.698(w\). This)-.25 F 1.198
-(can ha)3.698 F 1.498 -.15(ve u)-.2 H(nw).15 E(anted)-.1 E .322(side ef)
-108 549.6 R .322(fects if escaped portions of the string appear within \
-command substitution or contain characters spe-)-.25 F(cial to w)108
-561.6 Q(ord e)-.1 E(xpansion.)-.15 E/F4 10.95/Times-Bold@0 SF(READLINE)
-72 578.4 Q F1 .15
-(This is the library that handles reading input when using an interacti)
-108 590.4 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F2
-(\255\255noediting)2.651 E F1(option)2.651 E .574
-(is supplied at shell in)108 602.4 R -.2(vo)-.4 G 3.073(cation. Line).2
-F .573(editing is also used when using the)3.073 F F2<ad65>3.073 E F1
-.573(option to the)3.073 F F2 -.18(re)3.073 G(ad).18 E F1 -.2(bu)3.073 G
-3.073(iltin. By).2 F(def)108 614.4 Q 1.243(ault, the line editing comma\
-nds are similar to those of emacs; a vi-style line editing interf)-.1 F
-1.244(ace is also)-.1 F -.2(av)108 626.4 S 3.35(ailable. Line)-.05 F .85
-(editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the)
--3.35 F F2 .85(\255o emacs)3.35 F F1(or)3.35 E F2 .85(\255o vi)3.35 F F1
-.85(options to the)3.35 F F2(set)3.35 E F1 -.2(bu)3.35 G(iltin).2 E
-(\(see)108 638.4 Q F3 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS)
--.828 F F1(belo)3.012 E 3.262(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of)
--3.263 F 3.263(fl)-.25 G .763
-(ine editing after the shell is running, use the)-3.263 F F2(+o)3.263 E
-(emacs)108 650.4 Q F1(or)2.5 E F2(+o vi)2.5 E F1(options to the)2.5 E F2
-(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E F2(Readline Notation)87 667.2 Q
-F1 .862(This section uses Emacs-style editing concepts and uses its not\
-ation for k)108 679.2 R -.15(ey)-.1 G(strok).15 E 3.362(es. Control)-.1
-F -.1(ke)3.362 G .862(ys are de-)-.05 F .55(noted by C\255)108 691.2 R
-F0 -.1(ke)C(y)-.2 E F1 3.05(,e)C .55(.g., C\255n means Control\255N.)
--3.05 F(Similarly)5.55 E(,)-.65 E F0(meta)3.43 E F1 -.1(ke)3.31 G .55
-(ys are denoted by M\255)-.05 F F0 -.1(ke)C(y)-.2 E F1 3.05(,s)C 3.05
-(oM)-3.05 G .55(\255x means)-3.05 F 2.5(Meta\255X. The)108 703.2 R
-(Meta k)2.5 E .3 -.15(ey i)-.1 H 2.5(so).15 G(ften labeled \231)-2.5 E
-(Alt\232 or \231Option\232.)-.8 E .15(On k)108 720 R -.15(ey)-.1 G .15
-(boards without a).15 F F0(Meta)3.33 E F1 -.1(ke)2.91 G 1.45 -.65(y, M)
--.05 H<ad>.65 E F0(x)A F1 .15(means ESC)2.65 F F0(x)2.65 E F1 2.649(,i)C
-.149(.e., press and release the Escape k)-2.649 F -.15(ey)-.1 G 2.649
-(,t)-.5 G .149(hen press and)-2.649 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(44)190.395 E 0 Cg EP
-%%Page: 45 45
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 2.686(release the)108 84 R F0(x)5.956 E F1 -.1(ke)
-5.716 G 3.986 -.65(y, i)-.05 H 5.186(ns).65 G 5.187(equence. This)-5.186
-F(mak)5.187 E 2.687(es ESC the)-.1 F F0 2.687(meta pr)5.187 F(e\214x)
--.37 E F1 7.687(.T)C 2.687(he combination M\255C\255)-7.687 F F0(x)A F1
-(means)5.187 E(ESC\255Control\255)108 96 Q F0(x)A F1 2.636(:p)C .136
-(ress and release the Escape k)-2.636 F -.15(ey)-.1 G 2.635(,t)-.5 G
-.135(hen press and hold the Control k)-2.635 F .435 -.15(ey w)-.1 H .135
-(hile pressing the).15 F F0(x)3.405 E F1 -.1(ke)108 108 S 1.3 -.65(y, t)
--.05 H(hen release both.).65 E .216(On some k)108 124.8 R -.15(ey)-.1 G
-.216(boards, the Meta k).15 F .516 -.15(ey m)-.1 H .217
-(odi\214er produces characters with the eighth bit \(0200\) set.).15 F
--1.1(Yo)5.217 G 2.717(uc)1.1 G .217(an use)-2.717 F(the)108 136.8 Q/F2
-10/Times-Bold@0 SF(enable\255meta\255k)3.316 E(ey)-.1 E F1 -.25(va)3.316
-G .816(riable to control whether or not it does this, if the k).25 F
--.15(ey)-.1 G .816(board allo).15 F .816(ws it.)-.25 F .815(On man)5.815
-F(y)-.15 E .568(others, the terminal or terminal emulator con)108 148.8
-R -.15(ve)-.4 G .568(rts the meta\214ed k).15 F .868 -.15(ey t)-.1 H
-3.068(oak).15 G .868 -.15(ey s)-3.168 H .568(equence be).15 F .569
-(ginning with ESC)-.15 F(as described in the preceding paragraph.)108
-160.8 Q .03(If your)108 177.6 R F0(Meta)2.53 E F1 -.1(ke)2.53 G 2.53(yp)
--.05 G .03(roduces a k)-2.53 F .33 -.15(ey s)-.1 H .029
-(equence with the ESC meta pre\214x, you can mak).15 F 2.529(eM)-.1 G(-)
--2.529 E F0 -.1(ke)C(y)-.2 E F1 -.1(ke)2.529 G 2.529(yb)-.05 G .029
-(indings you)-2.529 F(specify \(see)108 189.6 Q F2(Readline K)2.5 E
-(ey Bindings)-.25 E F1(belo)2.5 E(w\) do the same thing by setting the)
--.25 E F2 -.25(fo)2.5 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)-.18
-E F1 -.25(va)2.5 G(riable.).25 E F2(Readline)108 206.4 Q F1 .436
-(commands may be gi)2.936 F -.15(ve)-.25 G 2.936(nn).15 G(umeric)-2.936
-E F0(ar)3.266 E(guments)-.37 E F1 2.936(,w).27 G .437
-(hich normally act as a repeat count.)-2.936 F(Sometimes,)5.437 E(ho)108
-218.4 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G
-3.119(st)-3.119 G .619(he sign of the ar)-3.119 F .619
-(gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
-.15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
-(ument to a command that).18 F .296(acts in the forw)108 230.4 R .296
-(ard direction \(e.g.,)-.1 F F2(kill\255line)2.796 E F1 2.796(\)m)C(ak)
--2.796 E .296(es that command act in a backw)-.1 F .296(ard direction.)
--.1 F(Commands)5.296 E(whose beha)108 242.4 Q(vior with ar)-.2 E
-(guments de)-.18 E(viates from this are noted belo)-.25 E -.65(w.)-.25 G
-(The)108 259.2 Q F0(point)3.245 E F1 .745
-(is the current cursor position, and)3.245 F F0(mark)3.245 E F1 .745
-(refers to a sa)3.245 F -.15(ve)-.2 G 3.245(dc).15 G .745
-(ursor position.)-3.245 F .745(The te)5.745 F .745(xt between the)-.15 F
-.447(point and mark is referred to as the)108 271.2 R F0 -.37(re)2.947 G
-(gion)-.03 E F1(.)A F2(Readline)5.447 E F1 .447(has the concept of an)
-2.947 F F0 .447(active r)2.947 F -.4(eg)-.37 G(ion).4 E F1 2.947(:w)C
-.447(hen the re)-2.947 F(gion)-.15 E .305(is acti)108 283.2 R -.15(ve)
--.25 G(,).15 E F2 -.18(re)2.805 G(adline).18 E F1 .305
-(redisplay highlights the re)2.805 F .305(gion using the v)-.15 F .304
-(alue of the)-.25 F F2(acti)2.804 E -.1(ve)-.1 G(-r).1 E
-(egion-start-color)-.18 E F1 -.25(va)2.804 G(riable.).25 E(The)108 295.2
-Q F2(enable\255acti)2.758 E -.1(ve)-.1 G<ad72>.1 E(egion)-.18 E F1 -.25
-(va)2.758 G .258(riable turns this on and of).25 F 2.759(f. Se)-.25 F
--.15(ve)-.25 G .259(ral commands set the re).15 F .259(gion to acti)-.15
-F -.15(ve)-.25 G 2.759(;t).15 G(hose)-2.759 E(are noted belo)108 307.2 Q
--.65(w.)-.25 G .812(When a command is described as)108 324 R F0(killing)
-3.311 E F1(te)3.311 E .811(xt, the te)-.15 F .811(xt deleted is sa)-.15
-F -.15(ve)-.2 G 3.311(df).15 G .811(or possible future retrie)-3.311 F
--.25(va)-.25 G 3.311(l\().25 G F0(yank-)-3.311 E(ing)108 336 Q F1 3.673
-(\). The)B 1.174(killed te)3.673 F 1.174(xt is sa)-.15 F -.15(ve)-.2 G
-3.674(di).15 G 3.674(na)-3.674 G F0 1.174(kill ring)B F1 6.174(.C)C
-(onsecuti)-6.174 E 1.474 -.15(ve k)-.25 H 1.174
-(ills accumulate the deleted te).15 F 1.174(xt into one unit,)-.15 F
-.567(which can be yank)108 348 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 360 Q F2(Readline Initialization)87 376.8 Q(Readline)108 388.8 Q F1
-.912
-(is customized by putting commands in an initialization \214le \(the)
-3.412 F F0(inputr)3.413 E(c)-.37 E F1 3.413(\214le\). The)3.413 F .913
-(name of this)3.413 F 2.518(\214le is tak)108 400.8 R 2.518
-(en from the v)-.1 F 2.518(alue of the)-.25 F/F3 9/Times-Bold@0 SF
-(INPUTRC)5.018 E F1 2.517(shell v)4.768 F 5.017(ariable. If)-.25 F 2.517
-(that v)5.017 F 2.517(ariable is unset, the def)-.25 F 2.517(ault is)-.1
-F F0(\001/.inputr)109.666 412.8 Q(c)-.37 E F1 5.388(.I)1.666 G 2.888(ft)
--5.388 G .388(hat \214le)-2.888 F .388(does not e)5.388 F .389
-(xist or cannot be read,)-.15 F F2 -.18(re)2.889 G(adline).18 E F1 .389
-(looks for)2.889 F F0(/etc/inputr)4.555 E(c)-.37 E F1 5.389(.W)1.666 G
-.389(hen a program)-5.389 F .254(which uses the)108 424.8 R F2 -.18(re)
-2.754 G(adline).18 E F1 .254(library starts up,)2.754 F F2 -.18(re)2.754
-G(adline).18 E F1 .253(reads the initialization \214le and sets the k)
-2.754 F .553 -.15(ey b)-.1 H .253(indings and).15 F -.25(va)108 436.8 S
-(riables found there, before reading an).25 E 2.5(yu)-.15 G(ser input.)
--2.5 E .34(There are only a fe)108 453.6 R 2.84(wb)-.25 G .34
-(asic constructs allo)-2.84 F .34(wed in the inputrc \214le.)-.25 F .34
-(Blank lines are ignored.)5.34 F .34(Lines be)5.34 F(ginning)-.15 E .779
-(with a)108 465.6 R F2(#)3.279 E F1 .778(are comments.)3.278 F .778
-(Lines be)5.778 F .778(ginning with a)-.15 F F2($)3.278 E F1 .778
-(indicate conditional constructs.)3.278 F .778(Other lines denote k)
-5.778 F -.15(ey)-.1 G(bindings and v)108 477.6 Q(ariable settings.)-.25
-E .775(The def)108 494.4 R .775(ault k)-.1 F -.15(ey)-.1 G .775
-(-bindings in this section may be changed using k).15 F 1.075 -.15(ey b)
--.1 H .775(inding commands in the).15 F F0(inputr)3.285 E(c)-.37 E F1
-(\214le.)3.585 E(Programs that use the)108 506.4 Q F2 -.18(re)2.5 G
-(adline).18 E F1(library)2.5 E 2.5(,i)-.65 G(ncluding)-2.5 E F2(bash)2.5
-E F1 2.5(,m)C(ay add their o)-2.5 E(wn commands and bindings.)-.25 E
--.15(Fo)108 523.2 S 2.5(re).15 G(xample, placing)-2.65 E
-(M\255Control\255u: uni)144 540 Q -.15(ve)-.25 G(rsal\255ar).15 E
-(gument)-.18 E(or)108 552 Q(C\255Meta\255u: uni)144 564 Q -.15(ve)-.25 G
-(rsal\255ar).15 E(gument)-.18 E(into the)108 580.8 Q F0(inputr)2.51 E(c)
--.37 E F1 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G(\255C\255u e)-2.5 E
--.15(xe)-.15 G(cute the).15 E F2 -.18(re)2.5 G(adline).18 E F1(command)
-2.5 E F0(univer)2.58 E(sal\255ar)-.1 E(gument)-.37 E F1(.).68 E -2.15
--.25(Ke y)108 597.6 T 1.443(bindings may contain the follo)4.193 F 1.442
-(wing symbolic character names:)-.25 F F0(DEL)4.522 E F1(,).53 E F0(ESC)
-4.452 E F1(,).72 E F0(ESCAPE)4.452 E F1(,).73 E F0(LFD)4.522 E F1(,).28
-E F0(NEW)4.642 E(-)-.37 E(LINE)108 609.6 Q F1(,).73 E F0(RET)3.13 E F1
-(,)1.27 E F0(RETURN)3.13 E F1(,)1.1 E F0 -.4(RU)2.5 G(BOUT).4 E F1(\(a)
-1.27 E F0(destructive).35 E F1(backspace\),).18 E F0(SP)2.83 E -.3(AC)
--.9 G(E).3 E F1(,).73 E F0(SPC)2.83 E F1 2.5(,a).72 G(nd)-2.5 E F0 -.5
-(TA)2.5 G(B).5 E F1(.).27 E .078(In addition to command names,)108 626.4
-R F2 -.18(re)2.578 G(adline).18 E F1(allo)2.578 E .078(ws k)-.25 F -.15
-(ey)-.1 G 2.578(st).15 G 2.578(ob)-2.578 G 2.578(eb)-2.578 G .079
-(ound to a string that is inserted when the k)-2.578 F .379 -.15(ey i)
--.1 H(s).15 E .193(pressed \(a)108 638.4 R F0(macr)2.693 E(o)-.45 E F1
-2.692(\). The)B(dif)2.692 E .192(ference between a macro and a command \
-is that a macro is enclosed in single or)-.25 F(double quotes.)108 650.4
-Q F2(Readline K)87 667.2 Q(ey Bindings)-.25 E F1 .366
-(The syntax for controlling k)108 679.2 R .666 -.15(ey b)-.1 H .366
-(indings in the).15 F F0(inputr)2.876 E(c)-.37 E F1 .366
-(\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .012(command or the te)108 691.2 R .012(xt of a macro and a k)
--.15 F .311 -.15(ey s)-.1 H .011(equence to which it should be bound.)
-.15 F .011(The k)5.011 F .311 -.15(ey s)-.1 H .011(equence may be).15 F
-.694(speci\214ed in one of tw)108 703.2 R 3.194(ow)-.1 G .695
-(ays: as a symbolic k)-3.294 F .995 -.15(ey n)-.1 H .695
-(ame, possibly with).15 F F0(Meta\255)3.195 E F1(or)3.195 E F0(Contr)
-3.195 E(ol\255)-.45 E F1(pre\214x)3.195 E .695(es, or as a)-.15 F -.1
-(ke)108 715.2 S 2.803(ys)-.05 G .303
-(equence composed of one or more characters enclosed in double quotes.)
--2.803 F .302(The k)5.302 F .602 -.15(ey s)-.1 H .302(equence and name)
-.15 F(are separated by a colon.)108 727.2 Q
-(There can be no whitespace between the name and the colon.)5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(45)190.395 E 0 Cg EP
-%%Page: 46 46
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .16(When using the form)108 84 R/F2 10/Times-Bold@0
-SF -.1(ke)2.66 G(yname).1 E F1(:)A F0(function\255name).833 E F1(or)2.66
-E F0(macr)2.66 E(o)-.45 E F1(,)A F0 -.1(ke)2.66 G(yname)-.2 E F1 .161
-(is the name of a k)2.84 F .461 -.15(ey s)-.1 H .161(pelled out in Eng-)
-.15 F 2.5(lish. F)108 96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF
-(Control-u: universal\255argument)144 112.8 Q
-(Meta-Rubout: backward\255kill\255word)144 124.8 Q
-(Control-o: "> output")144 136.8 Q F1 .699(In the abo)108 153.6 R .998
--.15(ve ex)-.15 H(ample,).15 E F0(C\255u)3.038 E F1 .698
-(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve)-.1 G
-(rsal\255ar).1 E(gument)-.1 E F1(,)A F0(M\255DEL)3.878 E F1 .698
-(is bound to the func-)3.728 F(tion)108 165.6 Q F2
-(backward\255kill\255w)2.758 E(ord)-.1 E F1 2.758(,a)C(nd)-2.758 E F0
-(C\255o)2.598 E F1 .258(is bound to run the macro e)2.938 F .259
-(xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
-177.6 Q(xt \231> output\232 into the line\).)-.15 E .056
-(In the second form,)108 194.4 R F2("k)2.556 E(eyseq")-.1 E F1(:)A F0
-(function\255name).833 E F1(or)2.556 E F0(macr)2.556 E(o)-.45 E F1(,)A
-F2 -.1(ke)2.556 G(yseq).1 E F1(dif)2.555 E .055(fers from)-.25 F F2 -.1
-(ke)2.555 G(yname).1 E F1(abo)2.555 E .355 -.15(ve i)-.15 H 2.555(nt).15
-G .055(hat strings)-2.555 F 1.284(denoting an entire k)108 206.4 R 1.584
--.15(ey s)-.1 H 1.284(equence may be speci\214ed by placing the sequenc\
-e within double quotes.).15 F(Some)6.284 E .102(GNU Emacs style k)108
-218.4 R .402 -.15(ey e)-.1 H .102(scapes can be used, as in the follo)
-.15 F .102(wing e)-.25 F .101(xample, b)-.15 F .101
-(ut none of the symbolic character)-.2 F(names are recognized.)108 230.4
-Q F3("\\C\255u": universal\255argument)144 247.2 Q
-("\\C\255x\\C\255r": re\255read\255init\255file)144 259.2 Q
-("\\e[11\001": "Function Key 1")144 271.2 Q F1 .314(In this e)108 288 R
-(xample,)-.15 E F0(C\255u)2.654 E F1 .314(is ag)3.064 F .315
-(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1 G
-(rsal\255ar).1 E(gument)-.1 E F1(.)A F0 .315(C\255x C\255r)5.155 F F1
-.315(is bound to the func-)3.545 F(tion)108 300 Q F2 -.18(re)2.5 G<ad72>
-.18 E(ead\255init\255\214le)-.18 E F1 2.5(,a)C(nd)-2.5 E F0
-(ESC [ 1 1 \001)3.01 E F1(is bound to insert the te)2.61 E
-(xt \231Function K)-.15 E .3 -.15(ey 1)-.25 H<9a2e>.15 E
-(The full set of GNU Emacs style escape sequences a)108 316.8 Q -.25(va)
--.2 G(ilable when specifying k).25 E .3 -.15(ey s)-.1 H(equences is).15
-E F2<5c43ad>144 328.8 Q F1 2.5(Ac)180 328.8 S(ontrol pre\214x.)-2.5 E F2
-<5c4dad>144 340.8 Q F1 .747(Adding the meta pre\214x or con)180 340.8 R
--.15(ve)-.4 G .747(rting the follo).15 F .747
-(wing character to a meta character)-.25 F 3.247(,a)-.4 G 3.247(sd)
--3.247 G(e-)-3.247 E(scribed belo)180 352.8 Q 2.5(wu)-.25 G(nder)-2.5 E
-F2 -.25(fo)2.5 G -.18(rc).25 G(e-meta-pr).18 E(e\214x)-.18 E F1(.)A F2
-(\\e)144 364.8 Q F1(An escape character)180 364.8 Q(.)-.55 E F2(\\\\)144
-376.8 Q F1(Backslash.)180 376.8 Q F2(\\")144 388.8 Q F1
-(Literal ", a double quote.)180 388.8 Q F2<5c08>144 400.8 Q F1
-(Literal \010, a single quote.)180 400.8 Q(In addition to the GNU Emacs\
- style escape sequences, a second set of backslash escapes is a)108
-417.6 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 429.6 Q F1
-(alert \(bell\))180 429.6 Q F2(\\b)144 441.6 Q F1(backspace)180 441.6 Q
-F2(\\d)144 453.6 Q F1(delete)180 453.6 Q F2(\\f)144 465.6 Q F1
-(form feed)180 465.6 Q F2(\\n)144 477.6 Q F1(ne)180 477.6 Q(wline)-.25 E
-F2(\\r)144 489.6 Q F1(carriage return)180 489.6 Q F2(\\t)144 501.6 Q F1
-(horizontal tab)180 501.6 Q F2(\\v)144 513.6 Q F1 -.15(ve)180 513.6 S
-(rtical tab).15 E F2(\\)144 525.6 Q F0(nnn)A F1
-(The eight-bit character whose v)180 525.6 Q(alue is the octal v)-.25 E
-(alue)-.25 E F0(nnn)2.5 E F1(\(one to three digits\).)2.5 E F2(\\x)144
-537.6 Q F0(HH)A F1(The eight-bit character whose v)180 537.6 Q
-(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F0(HH)2.5 E F1
-(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\).).15 E 1.141
-(When entering the te)108 554.4 R 1.141(xt of a macro, single or double\
- quotes must be used to indicate a macro de\214nition.)-.15 F .447
-(Unquoted te)108 566.4 R .446(xt is assumed to be a function name.)-.15
-F .446(Tthe backslash escapes described abo)5.446 F .746 -.15(ve a)-.15
-H .446(re e).15 F .446(xpanded in)-.15 F(the macro body)108 578.4 Q 5
-(.B)-.65 G(ackslash will quote an)-5 E 2.5(yo)-.15 G
-(ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E
-F2(Bash)108 595.2 Q F1 1.196(will display or modify the current)3.696 F
-F2 -.18(re)3.696 G(adline).18 E F1 -.1(ke)3.696 G 3.696(yb)-.05 G 1.196
-(indings with the)-3.696 F F2(bind)3.696 E F1 -.2(bu)3.697 G 1.197
-(iltin command.).2 F(The)6.197 E F2<ad6f>3.697 E(emacs)108 607.2 Q F1
-(or)2.543 E F2 .042(\255o vi)2.543 F F1 .042(options to the)2.542 F F2
-(set)2.542 E F1 -.2(bu)2.542 G .042(iltin \(see).2 F/F4 9/Times-Bold@0
-SF .042(SHELL B)2.542 F(UIL)-.09 E .042(TIN COMMANDS)-.828 F F1(belo)
-2.292 E .042(w\) will change the editing)-.25 F(mode during interacti)
-108 619.2 Q .3 -.15(ve u)-.25 H(se.).15 E F2(Readline V)87 636 Q
-(ariables)-.92 E(Readline)108 648 Q F1 .452(has v)2.952 F .452
-(ariables that can be used to further customize its beha)-.25 F(vior)-.2
-E 5.452(.A)-.55 G -.25(va)-2.5 G .452(riable may be set in the).25 F F0
-(in-)2.963 E(putr)108 660 Q(c)-.37 E F1
-(\214le with a statement of the form)2.81 E F2(set)144 676.8 Q F0
-(variable\255name value)2.5 E F1(or using the)108 688.8 Q F2(bind)2.5 E
-F1 -.2(bu)2.5 G(iltin command \(see).2 E F4(SHELL B)2.5 E(UIL)-.09 E
-(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25 E .627
-(Except where noted,)108 705.6 R F2 -.18(re)3.127 G(adline).18 E F1 -.25
-(va)3.127 G .627(riables can tak).25 F 3.127(et)-.1 G .627(he v)-3.127 F
-(alues)-.25 E F2(On)3.127 E F1(or)3.127 E F2(Off)3.127 E F1 .627
-(\(without re)3.127 F -.05(ga)-.15 G .627(rd to case\).).05 F(Unrecog-)
-5.626 E .345(nized v)108 717.6 R .345(ariable names are ignored.)-.25 F
-(When)5.345 E F2 -.18(re)2.845 G(adline).18 E F1 .345(reads a v)2.845 F
-.345(ariable v)-.25 F .345(alue, empty or null v)-.25 F .345
-(alues, \231on\232 \(case-)-.25 F(insensiti)108 729.6 Q -.15(ve)-.25 G
-(\), and \2311\232 are equi).15 E -.25(va)-.25 G(lent to).25 E F2(On)2.5
-E F1 5(.A)C(ll other v)-5 E(alues are equi)-.25 E -.25(va)-.25 G
-(lent to).25 E F2(Off)2.5 E F1(.)A(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(46)190.395 E 0 Cg EP
-%%Page: 47 47
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(The)108 84 Q/F2 10/Times-Bold@0 SF .547(bind \255V)
-3.047 F F1 .547(command lists the current)3.047 F F2 -.18(re)3.047 G
-(adline).18 E F1 -.25(va)3.047 G .547(riable names and v).25 F 3.047
-(alues \(see)-.25 F/F3 9/Times-Bold@0 SF .546(SHELL B)3.047 F(UIL)-.09 E
-.546(TIN COM-)-.828 F(MANDS)108 96 Q F1(belo)2.25 E(w\).)-.25 E(The v)
-108 112.8 Q(ariables and their def)-.25 E(ault v)-.1 E(alues are:)-.25 E
-F2(acti)108 129.6 Q -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18
-E F1 2.729(As)144 141.6 S .229(tring v)-2.729 F .229
-(ariable that controls the te)-.25 F .229
-(xt color and background when displaying the te)-.15 F .23
-(xt in the acti)-.15 F -.15(ve)-.25 G(re)144 153.6 Q 1.527
-(gion \(see the description of)-.15 F F2(enable\255acti)4.026 E -.1(ve)
--.1 G<ad72>.1 E(egion)-.18 E F1(belo)4.026 E 4.026(w\). This)-.25 F
-1.526(string must not tak)4.026 F 4.026(eu)-.1 G 4.026(pa)-4.026 G -.15
-(ny)-4.026 G(ph)144 165.6 Q .283
-(ysical character positions on the display)-.05 F 2.783(,s)-.65 G 2.784
-(oi)-2.783 G 2.784(ts)-2.784 G .284
-(hould consist only of terminal escape sequences.)-2.784 F .45
-(It is output to the terminal before displaying the te)144 177.6 R .45
-(xt in the acti)-.15 F .75 -.15(ve r)-.25 H -.15(eg).15 G 2.95
-(ion. This).15 F -.25(va)2.95 G .45(riable is reset to).25 F .378
-(the def)144 189.6 R .378(ault v)-.1 F .378(alue whene)-.25 F -.15(ve)
--.25 G 2.878(rt).15 G .379(he terminal type changes.)-2.878 F .379
-(The def)5.379 F .379(ault v)-.1 F .379
-(alue is the string that puts the)-.25 F .655
-(terminal in standout mode, as obtained from the terminal')144 201.6 R
-3.154(st)-.55 G .654(erminfo description.)-3.154 F 3.154(As)5.654 G .654
-(ample v)-3.154 F(alue)-.25 E(might be \231\\e[01;33m\232.)144 213.6 Q
-F2(acti)108 225.6 Q -.1(ve)-.1 G<ad72>.1 E(egion\255end\255color)-.18 E
-F1 3.777(As)144 237.6 S 1.277(tring v)-3.777 F 1.277
-(ariable that \231undoes\232 the ef)-.25 F 1.277(fects of)-.25 F F2
-(acti)3.777 E -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18 E F1
-1.278(and restores \231normal\232)3.778 F .216
-(terminal display appearance after displaying te)144 249.6 R .216
-(xt in the acti)-.15 F .516 -.15(ve r)-.25 H -.15(eg).15 G 2.716
-(ion. This).15 F .216(string must not tak)2.716 F 2.716(eu)-.1 G(p)
--2.716 E(an)144 261.6 Q 3.737(yp)-.15 G -.05(hy)-3.737 G 1.237
-(sical character positions on the display).05 F 3.737(,s)-.65 G 3.737
-(oi)-3.737 G 3.737(ts)-3.737 G 1.238
-(hould consist only of terminal escape se-)-3.737 F 2.928(quences. It)
-144 273.6 R .428(is output to the terminal after displaying the te)2.928
-F .427(xt in the acti)-.15 F .727 -.15(ve r)-.25 H -.15(eg).15 G 2.927
-(ion. This).15 F -.25(va)2.927 G .427(riable is).25 F .518
-(reset to the def)144 285.6 R .518(ault v)-.1 F .518(alue whene)-.25 F
--.15(ve)-.25 G 3.018(rt).15 G .518(he terminal type changes.)-3.018 F
-.518(The def)5.518 F .518(ault v)-.1 F .518(alue is the string that)-.25
-F .252(restores the terminal from standout mode, as obtained from the t\
-erminal')144 297.6 R 2.751(st)-.55 G .251(erminfo description.)-2.751 F
-(A)5.251 E(sample v)144 309.6 Q(alue might be \231\\e[0m\232.)-.25 E F2
-(bell\255style \(audible\))108 321.6 Q F1 1.284
-(Controls what happens when)144 333.6 R F2 -.18(re)3.784 G(adline).18 E
-F1 -.1(wa)3.784 G 1.284(nts to ring the terminal bell.).1 F 1.284
-(If set to)6.284 F F2(none)3.784 E F1(,)A F2 -.18(re)3.784 G(adline).18
-E F1(ne)144 345.6 Q -.15(ve)-.25 G 2.645(rr).15 G .145(ings the bell.)
--2.645 F .145(If set to)5.145 F F2(visible)2.645 E F1(,)A F2 -.18(re)
-2.645 G(adline).18 E F1 .144(uses a visible bell if one is a)2.645 F
--.25(va)-.2 G 2.644(ilable. If).25 F .144(set to)2.644 F F2(audi-)2.644
-E(ble)144 357.6 Q F1(,)A F2 -.18(re)2.5 G(adline).18 E F1
-(attempts to ring the terminal')2.5 E 2.5(sb)-.55 G(ell.)-2.5 E F2
-(bind\255tty\255special\255chars \(On\))108 369.6 Q F1 .515(If set to)
-144 381.6 R F2(On)3.016 E F1(,)A F2 -.18(re)3.016 G(adline).18 E F1 .516
-(attempts to bind the control characters that are treated specially by \
-the k)3.016 F(er)-.1 E(-)-.2 E(nel')144 393.6 Q 3.605(st)-.55 G 1.105
-(erminal dri)-3.605 F -.15(ve)-.25 G 3.605(rt).15 G 3.605(ot)-3.605 G
-(heir)-3.605 E F2 -.18(re)3.605 G(adline).18 E F1(equi)3.605 E -.25(va)
--.25 G 3.605(lents. These).25 F -.15(ove)3.605 G 1.105(rride the def).15
-F(ault)-.1 E F2 -.18(re)3.605 G(adline).18 E F1(bindings)3.605 E .858
-(described here.)144 405.6 R -.8(Ty)5.858 G .858
-(pe \231stty \255a\232 at a).8 F F2(bash)3.359 E F1 .859
-(prompt to see your current terminal settings, including)3.359 F
-(the special control characters \(usually)144 417.6 Q F2(cchars)2.5 E F1
-(\).)A F2(blink\255matching\255par)108 429.6 Q(en \(Off\))-.18 E F1 .057
-(If set to)144 441.6 R F2(On)2.557 E F1(,)A F2 -.18(re)2.557 G(adline)
-.18 E F1 .057(attempts to brie\215y mo)2.557 F .356 -.15(ve t)-.15 H
-.056(he cursor to an opening parenthesis when a closing).15 F
-(parenthesis is inserted.)144 453.6 Q F2(color)108 465.6 Q
-(ed\255completion\255pr)-.18 E(e\214x \(Off\))-.18 E F1 .351(If set to)
-144 477.6 R F2(On)2.852 E F1 2.852(,w)C .352(hen listing completions,)
--2.852 F F2 -.18(re)2.852 G(adline).18 E F1 .352
-(displays the common pre\214x of the set of possible)2.852 F 2.936
-(completions using a dif)144 489.6 R 2.936(ferent color)-.25 F 7.936(.T)
--.55 G 2.936(he color de\214nitions are tak)-7.936 F 2.935
-(en from the v)-.1 F 2.935(alue of the)-.25 F F2(LS_COLORS)144 501.6 Q
-F1(en)3.076 E .577(vironment v)-.4 F 3.077(ariable. If)-.25 F .577
-(there is a color de\214nition in)3.077 F F2($LS_COLORS)3.077 E F1 .577
-(for the cus-)3.077 F 1.176(tom suf)144 513.6 R 1.176
-(\214x \231readline-colored-completion-pre\214x\232,)-.25 F F2 -.18(re)
-3.676 G(adline).18 E F1 1.176(uses this color for the common pre\214x)
-3.676 F(instead of its def)144 525.6 Q(ault.)-.1 E F2(color)108 537.6 Q
-(ed\255stats \(Off\))-.18 E F1 1.392(If set to)144 549.6 R F2(On)3.893 E
-F1(,)A F2 -.18(re)3.893 G(adline).18 E F1 1.393
-(displays possible completions using dif)3.893 F 1.393
-(ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 561.6 R
-(color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25
-E F2(LS_COLORS)2.5 E F1(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E F2
-(comment\255begin \()108 573.6 Q F1<99>A F2(#)A F1<9a>A F2(\))A F1 .477
-(The string that the)144 585.6 R F2 -.18(re)2.977 G .477
-(adline insert\255comment).18 F F1 .477(command inserts.)2.977 F .477
-(This command is bound to)5.477 F F2(M\255#)2.976 E F1
-(in emacs mode and to)144 597.6 Q F2(#)2.5 E F1(in vi command mode.)2.5
-E F2(completion\255display\255width \(\2551\))108 609.6 Q F1 1.453(The \
-number of screen columns used to display possible matches when performi\
-ng completion.)144 621.6 R .194(The v)144 633.6 R .193(alue is ignored \
-if it is less than 0 or greater than the terminal screen width.)-.25 F
-2.693(Av)5.193 G .193(alue of 0 will)-2.943 F
-(cause matches to be displayed one per line.)144 645.6 Q(The def)5 E
-(ault v)-.1 E(alue is \2551.)-.25 E F2(completion\255ignor)108 657.6 Q
-(e\255case \(Off\))-.18 E F1(If set to)144 669.6 Q F2(On)2.5 E F1(,)A F2
--.18(re)2.5 G(adline).18 E F1
-(performs \214lename matching and completion in a case\255insensiti)2.5
-E .3 -.15(ve f)-.25 H(ashion.).05 E F2
-(completion\255map\255case \(Off\))108 681.6 Q F1 1.573(If set to)144
-693.6 R F2(On)4.074 E F1 4.074(,a)C(nd)-4.074 E F2(completion\255ignor)
-4.074 E(e\255case)-.18 E F1 1.574(is enabled,)4.074 F F2 -.18(re)4.074 G
-(adline).18 E F1 1.574(treats h)4.074 F 1.574(yphens \()-.05 F F0<ad>A
-F1 4.074(\)a)C 1.574(nd under)-4.074 F(-)-.2 E(scores \()144 705.6 Q F0
-(_)A F1 2.5(\)a)C 2.5(se)-2.5 G(qui)-2.5 E -.25(va)-.25 G
-(lent when performing case\255insensiti).25 E .3 -.15(ve \214)-.25 H
-(lename matching and completion.).15 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(47)190.395 E 0 Cg EP
-%%Page: 48 48
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(completion\255pr)108 84 Q
-(e\214x\255display\255length \(0\))-.18 E F1 .689(The maximum length in\
- characters of the common pre\214x of a list of possible completions th\
-at is)144 96 R .243(displayed without modi\214cation.)144 108 R .243
-(When set to a v)5.243 F .243(alue greater than zero,)-.25 F F2 -.18(re)
-2.743 G(adline).18 E F1 .244(replaces common)2.743 F(pre\214x)144 120 Q
-(es longer than this v)-.15 E
-(alue with an ellipsis when displaying possible completions.)-.25 E F2
-(completion\255query\255items \(100\))108 132 Q F1 .53
-(This determines when the user is queried about vie)144 144 R .529
-(wing the number of possible completions gen-)-.25 F .56(erated by the)
-144 156 R F2(possible\255completions)3.06 E F1 3.06(command. It)3.06 F
-.561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v)
--.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 168 R
-.783(If the number of possible completions is greater than or equal to \
-the v)5.783 F .782(alue of this)-.25 F -.25(va)144 180 S(riable,).25 E
-F2 -.18(re)2.515 G(adline).18 E F1 .015
-(will ask whether or not the user wishes to vie)2.515 F 2.516(wt)-.25 G
-.016(hem; otherwise)-2.516 F F2 -.18(re)2.516 G(adline).18 E F1(simply)
-2.516 E 1.35(lists them on the terminal.)144 192 R 3.849(Az)6.35 G 1.349
-(ero v)-3.849 F 1.349(alue means)-.25 F F2 -.18(re)3.849 G(adline).18 E
-F1 1.349(should ne)3.849 F -.15(ve)-.25 G 3.849(ra).15 G 1.349(sk; ne)
--3.849 F -.05(ga)-.15 G(ti).05 E 1.649 -.15(ve v)-.25 H 1.349(alues are)
--.1 F(treated as zero.)144 204 Q F2(con)108 216 Q -.1(ve)-.4 G
-(rt\255meta \(On\)).1 E F1 .534(If set to)144 228 R F2(On)3.034 E F1(,)A
-F2 -.18(re)3.034 G(adline).18 E F1 .535(will con)3.034 F -.15(ve)-.4 G
-.535(rt characters it reads that ha).15 F .835 -.15(ve t)-.2 H .535
-(he eighth bit set to an ASCII k).15 F -.15(ey)-.1 G .475(sequence by c\
-learing the eighth bit and pre\214xing it with an escape character \(co\
-n)144 240 R -.15(ve)-.4 G .475(rting the char).15 F(-)-.2 E .617
-(acter to ha)144 252 R .917 -.15(ve t)-.2 H .617(he meta pre\214x\).).15
-F .617(The def)5.617 F .617(ault is)-.1 F F0(On)3.117 E F1 3.117(,b)C
-(ut)-3.317 E F2 -.18(re)3.117 G(adline).18 E F1 .617(will set it to)
-3.117 F F0(Of)3.117 E(f)-.18 E F1 .617(if the locale con-)3.117 F .957(\
-tains characters whose encodings may include bytes with the eighth bit \
-set.)144 264 R .957(This v)5.957 F .957(ariable is de-)-.25 F .37
-(pendent on the)144 276 R F2(LC_CTYPE)2.87 E F1 .371(locale cate)2.87 F
-(gory)-.15 E 2.871(,a)-.65 G .371(nd may change if the locale changes.)
--2.871 F .371(This v)5.371 F(ariable)-.25 E(also af)144 288 Q(fects k)
--.25 E .3 -.15(ey b)-.1 H(indings; see the description of).15 E F2 -.25
-(fo)2.5 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)-.18 E F1(belo)2.5
-E -.65(w.)-.25 G F2(disable\255completion \(Off\))108 300 Q F1 .906
-(If set to)144 312 R F2(On)3.406 E F1(,)A F2 -.18(re)3.406 G(adline).18
-E F1 .906(will inhibit w)3.406 F .906(ord completion.)-.1 F .905
-(Completion characters will be inserted into)5.906 F(the line as if the)
-144 324 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F2(self-insert)2.5 E F1
-(.)A F2(echo\255contr)108 336 Q(ol\255characters \(On\))-.18 E F1 1.036
-(When set to)144 348 R F2(On)3.536 E F1 3.536(,o)C 3.536(no)-3.536 G
-1.037(perating systems that indicate the)-3.536 F 3.537(ys)-.15 G 1.037
-(upport it,)-3.537 F F2 -.18(re)3.537 G(adline).18 E F1 1.037
-(echoes a character)3.537 F
-(corresponding to a signal generated from the k)144 360 Q -.15(ey)-.1 G
-(board.).15 E F2(editing\255mode \(emacs\))108 372 Q F1 .014
-(Controls whether)144 384 R F2 -.18(re)2.514 G(adline).18 E F1 .013
-(uses a set of k)2.513 F .313 -.15(ey b)-.1 H .013(indings similar to)
-.15 F F0(Emacs)2.513 E F1(or)2.513 E F0(vi)2.513 E F1(.)A F2
-(editing\255mode)5.013 E F1 .013(can be)2.513 F(set to either)144 396 Q
-F2(emacs)2.5 E F1(or)2.5 E F2(vi)2.5 E F1(.)A F2
-(emacs\255mode\255string \(@\))108 408 Q F1 .517(If the)144 420 R F0
-(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F1 -.25(va)3.017 G .518
-(riable is enabled, this string is displayed immediately before the).25
-F .622(last line of the primary prompt when emacs editing mode is acti)
-144 432 R -.15(ve)-.25 G 5.622(.T).15 G .622(he v)-5.622 F .621
-(alue is e)-.25 F .621(xpanded lik)-.15 F 3.121(ea)-.1 G -.1(ke)144 444
-S 3.117(yb)-.05 G .617
-(inding, so the standard set of meta- and control- pre\214x)-3.117 F
-.618(es and backslash escape sequences is)-.15 F -.2(av)144 456 S 2.577
-(ailable. The)-.05 F .077(\\1 and \\2 escapes be)2.577 F .076
-(gin and end sequences of non-printing characters, which can be)-.15 F
-(used to embed a terminal control sequence into the mode string.)144 468
-Q F2(enable\255acti)108 480 Q -.1(ve)-.1 G<ad72>.1 E(egion \(On\))-.18 E
-F1 .621(When this v)144 492 R .621(ariable is set to)-.25 F F0(On)3.121
-E F1(,)A F2 -.18(re)3.121 G(adline).18 E F1(allo)3.121 E .621
-(ws certain commands to designate the re)-.25 F .622(gion as)-.15 F F0
-(ac-)3.122 E(tive)144 504 Q F1 5.083(.W)C .083(hen the re)-5.083 F .083
-(gion is acti)-.15 F -.15(ve)-.25 G(,).15 E F2 -.18(re)2.583 G(adline)
-.18 E F1 .083(highlights the te)2.583 F .083(xt in the re)-.15 F .083
-(gion using the v)-.15 F .082(alue of the)-.25 F F2(ac-)2.582 E(ti)144
-516 Q -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18 E F1 3.432(,w)
-C .932(hich def)-3.432 F .933
-(aults to the string that enables the terminal')-.1 F 3.433(ss)-.55 G
-.933(tandout mode.)-3.433 F .033(The acti)144 528 R .333 -.15(ve r)-.25
-H -.15(eg).15 G .033(ion sho).15 F .033(ws the te)-.25 F .033
-(xt inserted by brack)-.15 F .033(eted-paste and an)-.1 F 2.532(ym)-.15
-G .032(atching te)-2.532 F .032(xt found by incre-)-.15 F
-(mental and non-incremental history searches.)144 540 Q F2
-(enable\255brack)108 552 Q(eted\255paste \(On\))-.1 E F1 .687
-(When set to)144 564 R F2(On)3.187 E F1(,)A F2 -.18(re)3.187 G(adline)
-.18 E F1 .687
-(con\214gures the terminal to insert each paste into the editing b)3.187
-F(uf)-.2 E .687(fer as a)-.25 F .799(single string of characters, inste\
-ad of treating each character as if it had been read from the k)144 576
-R -.15(ey)-.1 G(-).15 E 2.624(board. This)144 588 R .124(is called)2.624
-F F0(br)2.624 E(ac)-.15 E -.1(ke)-.2 G .124(ted\255paste mode).1 F F1
-2.625(;i)C 2.625(tp)-2.625 G(re)-2.625 E -.15(ve)-.25 G(nts).15 E F2
--.18(re)2.625 G(adline).18 E F1 .125(from e)2.625 F -.15(xe)-.15 G .125
-(cuting an).15 F 2.625(ye)-.15 G .125(diting com-)-2.625 F
-(mands bound to k)144 600 Q .3 -.15(ey s)-.1 H
-(equences appearing in the pasted te).15 E(xt.)-.15 E F2(enable\255k)108
-612 Q(eypad \(Off\))-.1 E F1 .74(When set to)144 624 R F2(On)3.24 E F1
-(,)A F2 -.18(re)3.24 G(adline).18 E F1 .739
-(will try to enable the application k)3.24 F -.15(ey)-.1 G .739
-(pad when it is called.).15 F .739(Some sys-)5.739 F
-(tems need this to enable the arro)144 636 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F2(enable\255meta\255k)108 648 Q(ey \(On\))-.1 E F1 .339
-(When set to)144 660 R F2(On)2.839 E F1(,)A F2 -.18(re)2.839 G(adline)
-.18 E F1 .339(will try to enable an)2.839 F 2.839(ym)-.15 G .34
-(eta modi\214er k)-2.839 F .64 -.15(ey t)-.1 H .34
-(he terminal claims to support.).15 F .577(On man)144 672 R 3.077(yt)
--.15 G .577(erminals, the Meta k)-3.077 F .876 -.15(ey i)-.1 H 3.076(su)
-.15 G .576(sed to send eight-bit characters; this v)-3.076 F .576
-(ariable checks for the)-.25 F .867(terminal capability that indicates \
-the terminal can enable and disable a mode that sets the eighth)144 684
-R .363(bit of a character \(0200\) if the Meta k)144 696 R .663 -.15
-(ey i)-.1 H 2.863(sh).15 G .363(eld do)-2.863 F .363
-(wn when the character is typed \(a meta charac-)-.25 F(ter\).)144 708 Q
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(48)190.395 E 0 Cg EP
-%%Page: 49 49
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(expand\255tilde \(Off\))108
-84 Q F1(If set to)144 96 Q F2(On)2.5 E F1(,)A F2 -.18(re)2.5 G(adline)
-.18 E F1(performs tilde e)2.5 E(xpansion when it attempts w)-.15 E
-(ord completion.)-.1 E F2 -.25(fo)108 108 S -.18(rc).25 G
-(e\255meta\255pr).18 E(e\214x \(Off\))-.18 E F1 .481(If set to)144 120 R
-F2(On)2.981 E F1(,)A F2 -.18(re)2.981 G(adline).18 E F1 .481
-(modi\214es its beha)2.981 F .481(vior when binding k)-.2 F .782 -.15
-(ey s)-.1 H .482(equences containing \\M- or Meta-).15 F(\(see)144 132 Q
-F2 -.25(Ke)2.785 G 2.785(yB).25 G(indings)-2.785 E F1(abo)2.784 E -.15
-(ve)-.15 G 2.784(\)b).15 G 2.784(yc)-2.784 G(on)-2.784 E -.15(ve)-.4 G
-.284(rting a k).15 F .584 -.15(ey s)-.1 H .284
-(equence of the form \\M\255).15 F F0(C)A F1 .284(or Meta\255)2.784 F F0
-(C)A F1 .284(to the tw)2.784 F(o-)-.1 E .78(character sequence)144 144 R
-F2(ESC)3.28 E F0(C)3.28 E F1 .78(\(adding the meta pre\214x\).)3.28 F
-(If)5.78 E F2 -.25(fo)3.28 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)
--.18 E F1 .78(is set to)3.28 F F2(Off)3.28 E F1 .78(\(the de-)3.28 F -.1
-(fa)144 156 S(ult\),).1 E F2 -.18(re)2.917 G(adline).18 E F1 .417
-(uses the v)2.917 F .417(alue of the)-.25 F F2(con)2.916 E -.1(ve)-.4 G
-(rt\255meta).1 E F1 -.25(va)2.916 G .416
-(riable to determine whether to perform this).25 F(con)144 168 Q -.15
-(ve)-.4 G .095(rsion: if).15 F F2(con)2.595 E -.1(ve)-.4 G(rt\255meta).1
-E F1(is)2.595 E F2(On)2.595 E F1(,)A F2 -.18(re)2.595 G(adline).18 E F1
-.095(performs the con)2.595 F -.15(ve)-.4 G .095(rsion described abo).15
-F -.15(ve)-.15 G 2.595(;i).15 G 2.595(fi)-2.595 G 2.595(ti)-2.595 G(s)
--2.595 E F2(Off)2.595 E F1(,)A F2 -.18(re)144 180 S(adline).18 E F1(con)
-2.5 E -.15(ve)-.4 G(rts).15 E F0(C)2.5 E F1
-(to a meta character by setting the eighth bit \(0200\).)2.5 E F2
-(history\255pr)108 192 Q(eser)-.18 E -.1(ve)-.1 G(\255point \(Off\)).1 E
-F1 .553(If set to)144 204 R F2(On)3.052 E F1 3.052(,t)C .552(he history\
- code attempts to place point at the same location on each history line\
- re-)-3.052 F(trie)144 216 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F2
-(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F1(or)2.5 E F2(next-history)
-2.5 E F1(.)A F2(history\255size \(unset\))108 228 Q F1 .948
-(Set the maximum number of history entries sa)144 240 R -.15(ve)-.2 G
-3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)-3.448 F .949
-(If set to zero, an)5.948 F 3.449(ye)-.15 G(xisting)-3.599 E .483
-(history entries are deleted and no ne)144 252 R 2.983(we)-.25 G .483
-(ntries are sa)-2.983 F -.15(ve)-.2 G 2.983(d. If).15 F .482(set to a v)
-2.983 F .482(alue less than zero, the num-)-.25 F .228
-(ber of history entries is not limited.)144 264 R .229(By def)5.229 F
-(ault,)-.1 E F2(bash)2.729 E F1 .229
-(sets the the maximum number of history en-)2.729 F 1.192
-(tries to the v)144 276 R 1.192(alue of the)-.25 F F2(HISTSIZE)3.692 E
-F1 1.191(shell v)3.691 F 3.691(ariable. Setting)-.25 F F0
-(history\255size)3.691 E F1 1.191(to a non-numeric v)3.691 F(alue)-.25 E
-(will set the maximum number of history entries to 500.)144 288 Q F2
-(horizontal\255scr)108 300 Q(oll\255mode \(Off\))-.18 E F1 .848
-(Setting this v)144 312 R .848(ariable to)-.25 F F2(On)3.348 E F1(mak)
-3.349 E(es)-.1 E F2 -.18(re)3.349 G(adline).18 E F1 .849
-(use a single line for display)3.349 F 3.349(,s)-.65 G .849
-(crolling the input hori-)-3.349 F .068(zontally on a single screen lin\
-e when it becomes longer than the screen width rather than wrapping)144
-324 R(to a ne)144 336 Q 2.5(wl)-.25 G 2.5(ine. This)-2.5 F
-(setting is automatically enabled for terminals of height 1.)2.5 E F2
-(input\255meta \(Off\))108 348 Q F1 .236(If set to)144 360 R F2(On)2.736
-E F1(,)A F2 -.18(re)2.736 G(adline).18 E F1 .237(will enable eight-bit \
-input \(that is, it will not clear the eighth bit in the char)2.736 F(-)
--.2 E .196(acters it reads\), re)144 372 R -.05(ga)-.15 G .195
-(rdless of what the terminal claims it can support.).05 F .195(The def)
-5.195 F .195(ault is)-.1 F F0(Of)2.695 E(f)-.18 E F1 2.695(,b)C(ut)
--2.895 E F2 -.18(re)2.695 G(ad-).18 E(line)144 384 Q F1 .339
-(will set it to)2.839 F F0(On)2.839 E F1 .34(if the locale contains cha\
-racters whose encodings may include bytes with the)2.839 F .786
-(eighth bit set.)144 396 R .786(This v)5.786 F .786
-(ariable is dependent on the)-.25 F F2(LC_CTYPE)3.286 E F1 .786
-(locale cate)3.286 F(gory)-.15 E 3.286(,a)-.65 G .786(nd its v)-3.286 F
-.786(alue may)-.25 F(change if the locale changes.)144 408 Q(The name)5
-E F2(meta\255\215ag)2.5 E F1(is a synon)2.5 E(ym for)-.15 E F2
-(input\255meta)2.5 E F1(.)A F2(isear)108 420 Q(ch\255terminators \()-.18
-E F1<99>A F2(C\255[C\255J)A F1<9a>A F2(\))A F1 .439(The string of chara\
-cters that should terminate an incremental search without subsequently \
-e)144 432 R -.15(xe)-.15 G(cut-).15 E .935
-(ing the character as a command.)144 444 R .935(If this v)5.935 F .935
-(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
-(alue, the characters)-3.684 F F0(ESC)3.434 E F1(and)144 456 Q F0
-(C\255J)2.5 E F1(will terminate an incremental search.)2.5 E F2 -.1(ke)
-108 468 S(ymap \(emacs\)).1 E F1 1.82(Set the current)144 480 R F2 -.18
-(re)4.32 G(adline).18 E F1 -.1(ke)4.32 G 4.32(ymap. The)-.05 F 1.82
-(set of v)4.32 F 1.82(alid k)-.25 F -.15(ey)-.1 G 1.82(map names is).15
-F F0 1.82(emacs, emacs\255standar)4.32 F(d,)-.37 E .042
-(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 492 R F1 2.542(,a)C
-(nd)-2.542 E F0(vi\255insert)2.832 E F1(.).68 E F0(vi)5.042 E F1 .042
-(is equi)2.542 F -.25(va)-.25 G .042(lent to).25 F F0(vi\255command)
-2.541 E F1(;)A F0(emacs)2.541 E F1 .481(is equi)144 504 R -.25(va)-.25 G
-.481(lent to).25 F F0(emacs\255standar)2.981 E(d)-.37 E F1 5.481(.T)C
-.481(he def)-5.481 F .481(ault v)-.1 F .481(alue is)-.25 F F0(emacs)
-2.981 E F1 2.982(;t)C .482(he v)-2.982 F .482(alue of)-.25 F F2
-(editing\255mode)2.982 E F1 .482(also af-)2.982 F(fects the def)144 516
-Q(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F2 -.1(ke)108 528 S
-(yseq\255timeout \(500\)).1 E F1 .235(Speci\214es the duration)144 540 R
-F2 -.18(re)2.735 G(adline).18 E F1 .234(will w)2.735 F .234
-(ait for a character when reading an ambiguous k)-.1 F .534 -.15(ey s)
--.1 H(equence).15 E .524(\(one that can form a complete k)144 552 R .824
--.15(ey s)-.1 H .524(equence using the input read so f).15 F(ar)-.1 E
-3.025(,o)-.4 G 3.025(rc)-3.025 G .525(an tak)-3.025 F 3.025(ea)-.1 G
-.525(dditional in-)-3.025 F .18(put to complete a longer k)144 564 R .48
--.15(ey s)-.1 H 2.679(equence\). If).15 F F2 -.18(re)2.679 G(adline).18
-E F1 .179(does not recei)2.679 F .479 -.15(ve a)-.25 H .479 -.15(ny i)
-.15 H .179(nput within the timeout,).15 F 1.445
-(it will use the shorter b)144 576 R 1.445(ut complete k)-.2 F 1.746
--.15(ey s)-.1 H 3.946(equence. The).15 F -.25(va)3.946 G 1.446
-(lue is speci\214ed in milliseconds, so a).25 F -.25(va)144 588 S .32
-(lue of 1000 means that).25 F F2 -.18(re)2.82 G(adline).18 E F1 .32
-(will w)2.82 F .319(ait one second for additional input.)-.1 F .319
-(If this v)5.319 F .319(ariable is set)-.25 F .904(to a v)144 600 R .904
-(alue less than or equal to zero, or to a non-numeric v)-.25 F(alue,)
--.25 E F2 -.18(re)3.405 G(adline).18 E F1 .905(will w)3.405 F .905
-(ait until another)-.1 F -.1(ke)144 612 S 2.5(yi)-.05 G 2.5(sp)-2.5 G
-(ressed to decide which k)-2.5 E .3 -.15(ey s)-.1 H
-(equence to complete.).15 E F2(mark\255dir)108 624 Q(ectories \(On\))
--.18 E F1(If set to)144 636 Q F2(On)2.5 E F1 2.5(,c)C
-(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
-.15 E F2(mark\255modi\214ed\255lines \(Off\))108 648 Q F1(If set to)144
-660 Q F2(On)2.5 E F1(,)A F2 -.18(re)2.5 G(adline).18 E F1
-(displays history lines that ha)2.5 E .3 -.15(ve b)-.2 H
-(een modi\214ed with a preceding asterisk \().15 E F2(*)A F1(\).)A F2
-(mark\255symlink)108 672 Q(ed\255dir)-.1 E(ectories \(Off\))-.18 E F1
-.227(If set to)144 684 R F2(On)2.727 E F1 2.727(,c)C .227
-(ompleted names which are symbolic links to directories ha)-2.727 F .527
--.15(ve a s)-.2 H .226(lash appended, sub-).15 F(ject to the v)144 696 Q
-(alue of)-.25 E F2(mark\255dir)2.5 E(ectories)-.18 E F1(.)A
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(49)190.395 E 0 Cg EP
-%%Page: 50 50
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF
-(match\255hidden\255\214les \(On\))108 84 Q F1 .512(This v)144 96 R .513
-(ariable, when set to)-.25 F F2(On)3.013 E F1 3.013(,f)C(orces)-3.013 E
-F2 -.18(re)3.013 G(adline).18 E F1 .513(to match \214les whose names be)
-3.013 F .513(gin with a \231.)-.15 F 5.513<9a28>-.7 G(hid-)-5.513 E .737
-(den \214les\) when performing \214lename completion.)144 108 R .737
-(If set to)5.737 F F2(Off)3.237 E F1 3.237(,t)C .736
-(he user must include the leading)-3.237 F<992e>144 120 Q 5<9a69>-.7 G
-2.5(nt)-5 G(he \214lename to be completed.)-2.5 E F2
-(menu\255complete\255display\255pr)108 132 Q(e\214x \(Off\))-.18 E F1
-1.585(If set to)144 144 R F2(On)4.085 E F1 4.085(,m)C 1.585(enu complet\
-ion displays the common pre\214x of the list of possible completions)
--4.085 F(\(which may be empty\) before c)144 156 Q
-(ycling through the list.)-.15 E F2(output\255meta \(Off\))108 168 Q F1
-.362(If set to)144 180 R F2(On)2.862 E F1(,)A F2 -.18(re)2.862 G(adline)
-.18 E F1 .362(will display characters with the eighth bit set directly \
-rather than as a meta-)2.862 F(pre\214x)144 192 Q .73
-(ed escape sequence.)-.15 F .73(The def)5.73 F .73(ault is)-.1 F F0(Of)
-3.23 E(f)-.18 E F1 3.23(,b)C(ut)-3.43 E F2 -.18(re)3.231 G(adline).18 E
-F1 .731(will set it to)3.231 F F0(On)3.231 E F1 .731
-(if the locale contains)3.231 F .53
-(characters whose encodings may include bytes with the eighth bit set.)
-144 204 R .53(This v)5.53 F .53(ariable is dependent)-.25 F(on the)144
-216 Q F2(LC_CTYPE)2.5 E F1(locale cate)2.5 E(gory)-.15 E 2.5(,a)-.65 G
-(nd its v)-2.5 E(alue may change if the locale changes.)-.25 E F2
-(page\255completions \(On\))108 228 Q F1 .645(If set to)144 240 R F2(On)
-3.145 E F1(,)A F2 -.18(re)3.145 G(adline).18 E F1 .645(uses an internal)
-3.145 F F0(mor)3.145 E(e)-.37 E F1(-lik)A 3.145(ep)-.1 G .645
-(ager to display a screenful of possible comple-)-3.145 F
-(tions at a time.)144 252 Q F2(pr)108 264 Q(efer\255visible\255bell)-.18
-E F1(See)144 276 Q F2(bell\255style)2.5 E F1(.)A F2
-(print\255completions\255horizontally \(Off\))108 288 Q F1 .041
-(If set to)144 300 R F2(On)2.541 E F1(,)A F2 -.18(re)2.541 G(adline).18
-E F1 .041(will display completions with matches sorted horizontally in \
-alphabetical or)2.541 F(-)-.2 E(der)144 312 Q 2.5(,r)-.4 G
-(ather than do)-2.5 E(wn the screen.)-.25 E F2 -2.29 -.18(re v)108 324 T
-(ert\255all\255at\255newline \(Off\)).08 E F1 .772(If set to)144 336 R
-F2(On)3.272 E F1(,)A F2 -.18(re)3.272 G(adline).18 E F1 .773
-(will undo all changes to history lines before returning when e)3.272 F
--.15(xe)-.15 G(cuting).15 E F2(ac-)3.273 E(cept\255line)144 348 Q F1
-5.663(.B)C 3.163(yd)-5.663 G(ef)-3.163 E .663
-(ault, history lines may be modi\214ed and retain indi)-.1 F .663
-(vidual undo lists across calls)-.25 F(to)144 360 Q F2 -.18(re)2.5 G
-(adline).18 E F1(.)A F2(sear)108 372 Q(ch\255ignor)-.18 E
-(e\255case \(Off\))-.18 E F1 .102(If set to)144 384 R F2(On)2.603 E F1
-(,)A F2 -.18(re)2.603 G(adline).18 E F1 .103(performs incremental and n\
-on-incremental history list searches in a case\255in-)2.603 F(sensiti)
-144 396 Q .3 -.15(ve f)-.25 H(ashion.).05 E F2(sho)108 408 Q
-(w\255all\255if\255ambiguous \(Off\))-.1 E F1 .304(This alters the def)
-144 420 R .304(ault beha)-.1 F .304(vior of the completion functions.)
--.2 F .304(If set to)5.304 F F2(On)2.804 E F1 2.803(,w)C .303
-(ords which ha)-2.903 F .603 -.15(ve m)-.2 H(ore).15 E 1.264(than one p\
-ossible completion cause the matches to be listed immediately instead o\
-f ringing the)144 432 R(bell.)144 444 Q F2(sho)108 456 Q
-(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F1 5.346
-(This alters the def)144 468 R 5.346(ault beha)-.1 F 5.345
-(vior of the completion functions in a f)-.2 F 5.345(ashion similar to)
--.1 F F2(sho)144 480 Q(w\255all\255if\255ambiguous)-.1 E F1 6.69(.I)C
-4.19(fs)-6.69 G 1.691(et to)-4.19 F F2(On)4.191 E F1 4.191(,w)C 1.691
-(ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691
-(ore than one possible completion).15 F 1.04(without an)144 492 R 3.54
-(yp)-.15 G 1.039
-(ossible partial completion \(the possible completions don')-3.54 F
-3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\
-es to be listed immediately instead of ringing the bell.)144 504 Q F2
-(sho)108 516 Q(w\255mode\255in\255pr)-.1 E(ompt \(Off\))-.18 E F1 1.021
-(If set to)144 528 R F2(On)3.521 E F1 3.521(,a)C 1.022
-(dd a string to the be)-3.521 F 1.022
-(ginning of the prompt indicating the editing mode: emacs, vi)-.15 F
-(command, or vi insertion.)144 540 Q(The mode strings are user)5 E
-(-settable \(e.g.,)-.2 E F0(emacs\255mode\255string)2.5 E F1(\).)A F2
-(skip\255completed\255text \(Off\))108 552 Q F1 .095(If set to)144 564 R
-F2(On)2.595 E F1 2.595(,t)C .095(his alters the def)-2.595 F .095
-(ault completion beha)-.1 F .094
-(vior when inserting a single match into the line.)-.2 F(It')144 576 Q
-3.393(so)-.55 G .893(nly acti)-3.393 F 1.193 -.15(ve w)-.25 H .893
-(hen performing completion in the middle of a w).15 F 3.394(ord. If)-.1
-F(enabled,)3.394 E F2 -.18(re)3.394 G(adline).18 E F1(does)3.394 E .283
-(not insert characters from the completion that match characters after \
-point in the w)144 588 R .282(ord being com-)-.1 F
-(pleted, so portions of the w)144 600 Q(ord follo)-.1 E
-(wing the cursor are not duplicated.)-.25 E F2
-(vi\255cmd\255mode\255string \(\(cmd\)\))108 612 Q F1 .517(If the)144
-624 R F0(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F1 -.25(va)3.017 G
-.518(riable is enabled, this string is displayed immediately before the)
-.25 F .475(last line of the primary prompt when vi editing mode is acti)
-144 636 R .775 -.15(ve a)-.25 H .475(nd in command mode.).15 F .475
-(The v)5.475 F(alue)-.25 E .134(is e)144 648 R .134(xpanded lik)-.15 F
-2.634(eak)-.1 G .434 -.15(ey b)-2.734 H .134
-(inding, so the standard set of meta- and control- pre\214x).15 F .135
-(es and backslash es-)-.15 F .405(cape sequences is a)144 660 R -.25(va)
--.2 G 2.905(ilable. The).25 F .405(\\1 and \\2 escapes be)2.905 F .404
-(gin and end sequences of non-printing char)-.15 F(-)-.2 E(acters, whic\
-h can be used to embed a terminal control sequence into the mode string\
-.)144 672 Q F2(vi\255ins\255mode\255string \(\(ins\)\))108 684 Q F1 .517
-(If the)144 696 R F0(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F1
--.25(va)3.017 G .518
-(riable is enabled, this string is displayed immediately before the).25
-F .186(last line of the primary prompt when vi editing mode is acti)144
-708 R .486 -.15(ve a)-.25 H .186(nd in insertion mode.).15 F .186(The v)
-5.186 F .186(alue is)-.25 F -.15(ex)144 720 S 1.707(panded lik).15 F
-4.207(eak)-.1 G 2.007 -.15(ey b)-4.307 H 1.707
-(inding, so the standard set of meta- and control- pre\214x).15 F 1.708
-(es and backslash)-.15 F(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E
-(50)190.395 E 0 Cg EP
-%%Page: 51 51
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.47(escape sequences is a)144 84 R -.25(va)-.2 G
-3.97(ilable. The).25 F 1.47(\\1 and \\2 escapes be)3.97 F 1.47
-(gin and end sequences of non-printing)-.15 F(characters, which can be \
-used to embed a terminal control sequence into the mode string.)144 96 Q
-/F2 10/Times-Bold@0 SF(visible\255stats \(Off\))108 108 Q F1 .846
-(If set to)144 120 R F2(On)3.346 E F1 3.346(,ac)C .846
-(haracter denoting a \214le')-3.346 F 3.346(st)-.55 G .846
-(ype as reported by)-3.346 F F0(stat)3.346 E F1 .846
-(\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 132 Q F2
-(Readline Conditional Constructs)87 148.8 Q(Readline)108 160.8 Q F1 .494
-(implements a f)2.994 F .494(acility similar in spirit to the condition\
-al compilation features of the C preproces-)-.1 F .774(sor which allo)
-108 172.8 R .774(ws k)-.25 F 1.074 -.15(ey b)-.1 H .774(indings and v)
-.15 F .775(ariable settings to be performed as the result of tests.)-.25
-F .775(There are four)5.775 F(parser directi)108 184.8 Q -.15(ve)-.25 G
-2.5(sa).15 G -.25(va)-2.7 G(ilable.).25 E F2($if)108 201.6 Q F1(The)144
-201.6 Q F2($if)2.963 E F1 .463(construct allo)2.963 F .462(ws bindings \
-to be made based on the editing mode, the terminal being used,)-.25 F
-.787(or the application using)144 213.6 R F2 -.18(re)3.287 G(adline).18
-E F1 5.787(.T)C .787(he te)-5.787 F .787(xt of the test, after an)-.15 F
-3.288(yc)-.15 G .788(omparison operator)-3.288 F 3.288(,e)-.4 G .788
-(xtends to)-3.438 F(the end of the line; unless otherwise noted, no cha\
-racters are required to isolate it.)144 225.6 Q F2(mode)144 242.4 Q F1
-(The)180 242.4 Q F2(mode=)3.558 E F1 1.058(form of the)3.558 F F2($if)
-3.558 E F1(directi)3.558 E 1.358 -.15(ve i)-.25 H 3.558(su).15 G 1.058
-(sed to test whether)-3.558 F F2 -.18(re)3.557 G(adline).18 E F1 1.057
-(is in emacs or vi)3.557 F 3.065(mode. This)180 254.4 R .565
-(may be used in conjunction with the)3.065 F F2 .565(set k)3.065 F
-(eymap)-.1 E F1 .565(command, for instance, to)3.065 F .518
-(set bindings in the)180 266.4 R F0(emacs\255standar)3.018 E(d)-.37 E F1
-(and)3.018 E F0(emacs\255ctlx)3.018 E F1 -.1(ke)3.017 G .517
-(ymaps only if)-.05 F F2 -.18(re)3.017 G(adline).18 E F1 .517
-(is starting)3.017 F(out in emacs mode.)180 278.4 Q F2(term)144 295.2 Q
-F1(The)180 295.2 Q F2(term=)3.196 E F1 .696
-(form may be used to include terminal-speci\214c k)3.196 F .996 -.15
-(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 307.2 R
-.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
-(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 319.2 Q F2(=)3.231
-E F1 .731(is tested ag)3.231 F .732(ainst both the full name of the ter\
-minal and the portion of the terminal)-.05 F .16
-(name before the \214rst)180 331.2 R F2<ad>2.66 E F1 5.159(.T)C .159
-(his allo)-5.159 F(ws)-.25 E F0(xterm)3.429 E F1 .159(to match both)
-2.979 F F0(xterm)3.429 E F1(and)2.979 E F0(xterm\255256color)3.429 E F1
-2.659(,f).73 G(or)-2.659 E(instance.)180 343.2 Q F2 -.1(ve)144 360 S
-(rsion).1 E F1(The)180 372 Q F2 -.1(ve)2.89 G(rsion).1 E F1 .391
-(test may be used to perform comparisons ag)2.89 F .391
-(ainst speci\214c)-.05 F F2 -.18(re)2.891 G(adline).18 E F1 -.15(ve)
-2.891 G(rsions.).15 E(The)180 384 Q F2 -.1(ve)2.571 G(rsion).1 E F1 -.15
-(ex)2.571 G .071(pands to the current).15 F F2 -.18(re)2.571 G(adline)
-.18 E F1 -.15(ve)2.571 G 2.571(rsion. The).15 F .07
-(set of comparison operators in-)2.571 F(cludes)180 396 Q F2(=)3.063 E
-F1 3.063(,\()C(and)-3.063 E F2(==)3.063 E F1(\),)A F2(!=)3.063 E F1(,)A
-F2(<=)3.063 E F1(,)A F2(>=)3.063 E F1(,)A F2(<)3.063 E F1 3.063(,a)C(nd)
--3.063 E F2(>)3.064 E F1 5.564(.T)C .564(he v)-5.564 F .564
-(ersion number supplied on the right side)-.15 F .318
-(of the operator consists of a major v)180 408 R .318(ersion number)-.15
-F 2.818(,a)-.4 G 2.818(no)-2.818 G .318
-(ptional decimal point, and an op-)-2.818 F .46(tional minor v)180 420 R
-.46(ersion \(e.g.,)-.15 F F2(7.1)2.96 E F1 2.96(\). If)B .461
-(the minor v)2.96 F .461(ersion is omitted, it def)-.15 F .461(aults to)
--.1 F F2(0)2.961 E F1 5.461(.T)C .461(he op-)-5.461 F .83
-(erator may be separated from the string)180 432 R F2 -.1(ve)3.329 G
-(rsion).1 E F1 .829(and from the v)3.329 F .829(ersion number ar)-.15 F
-(gument)-.18 E(by whitespace.)180 444 Q F0(application)144.33 460.8 Q F1
-(The)180 472.8 Q F0(application)3.226 E F1 .726
-(construct is used to include application-speci\214c settings.)3.226 F
-.726(Each program)5.726 F .432(using the)180 484.8 R F2 -.18(re)2.932 G
-(adline).18 E F1 .432(library sets the)2.932 F F0 .431(application name)
-2.932 F F1 2.931(,a)C .431(nd an initialization \214le can test for)
--2.931 F 2.535(ap)180 496.8 S .035(articular v)-2.535 F 2.535
-(alue. This)-.25 F .036(could be used to bind k)2.535 F .336 -.15(ey s)
--.1 H .036(equences to functions useful for a spe-).15 F .397
-(ci\214c program.)180 508.8 R -.15(Fo)5.397 G 2.896(ri).15 G .396
-(nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15
-(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 520.8
-Q(vious w)-.25 E(ord in)-.1 E F2(bash)2.5 E F1(:)A/F3 10/Courier-Bold@0
-SF($if)180 537.6 Q/F4 10/Courier@0 SF(Bash)6 E 6(#Q)180 549.6 S
-(uote the current or previous word)-6 E("\\C-xq": "\\eb\\"\\ef\\"")180
-561.6 Q F3($endif)180 573.6 Q F0(variable)144.29 590.4 Q F1(The)180
-602.4 Q F0(variable)3.539 E F1 1.039(construct pro)3.539 F 1.039
-(vides simple equality tests for)-.15 F F2 -.18(re)3.539 G(adline).18 E
-F1 -.25(va)3.539 G 1.039(riables and v).25 F(alues.)-.25 E .08
-(The permitted comparison operators are)180 614.4 R F0(=)2.579 E F1(,)A
-F0(==)2.579 E F1 2.579(,a)C(nd)-2.579 E F0(!=)2.579 E F1 5.079(.T)C .079
-(he v)-5.079 F .079(ariable name must be sepa-)-.25 F .98(rated from th\
-e comparison operator by whitespace; the operator may be separated from)
-180 626.4 R 1.588(the v)180 638.4 R 1.587
-(alue on the right hand side by whitespace.)-.25 F 1.587
-(String and boolean v)6.587 F 1.587(ariables may be)-.25 F 2.5
-(tested. Boolean)180 650.4 R -.25(va)2.5 G(riables must be tested ag).25
-E(ainst the v)-.05 E(alues)-.25 E F0(on)2.5 E F1(and)2.5 E F0(of)2.5 E
-(f)-.18 E F1(.)A F2($else)108 667.2 Q F1(Commands in this branch of the)
-144 667.2 Q F2($if)2.5 E F1(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E
--.15(xe)-.15 G(cuted if the test f).15 E(ails.)-.1 E F2($endif)108 684 Q
-F1(This command, as seen in the pre)144 684 Q(vious e)-.25 E
-(xample, terminates an)-.15 E F2($if)2.5 E F1(command.)2.5 E F2
-($include)108 700.8 Q F1 .41(This directi)144 712.8 R .71 -.15(ve t)-.25
-H(ak).15 E .41(es a single \214lename as an ar)-.1 F .411
-(gument and reads commands and k)-.18 F .711 -.15(ey b)-.1 H .411
-(indings from).15 F(that \214le.)144 724.8 Q -.15(Fo)5 G 2.5(re).15 G
-(xample, the follo)-2.65 E(wing directi)-.25 E .3 -.15(ve w)-.25 H
-(ould read).05 E F0(/etc/inputr)4.166 E(c)-.37 E F1(:)1.666 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(51)190.395 E 0 Cg EP
-%%Page: 52 52
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF($include)144 84 Q F0
-(/etc/inputr)5.833 E(c)-.37 E F2(Sear)87 100.8 Q(ching)-.18 E(Readline)
-108 112.8 Q F1(pro)3.163 E .663
-(vides commands for searching through the command history \(see)-.15 F
-/F3 9/Times-Bold@0 SF(HIST)3.163 E(OR)-.162 E(Y)-.315 E F1(belo)2.913 E
-.663(w\) for lines)-.25 F(containing a speci\214ed string.)108 124.8 Q
-(There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F0(incr)2.51 E
-(emental)-.37 E F1(and)3.01 E F0(non-incr)2.86 E(emental)-.37 E F1(.).51
-E .697(Incremental searches be)108 141.6 R .697
-(gin before the user has \214nished typing the search string.)-.15 F
-.698(As each character of the)5.698 F .979(search string is typed,)108
-153.6 R F2 -.18(re)3.479 G(adline).18 E F1 .978(displays the ne)3.478 F
-.978(xt entry from the history matching the string typed so f)-.15 F(ar)
--.1 E(.)-.55 E .528(An incremental search requires only as man)108 165.6
-R 3.029(yc)-.15 G .529
-(haracters as needed to \214nd the desired history entry)-3.029 F 5.529
-(.W)-.65 G(hen)-5.529 E .517(using emacs editing mode, type)108 177.6 R
-F2(C\255r)3.017 E F1 .517(to search backw)3.017 F .517
-(ard in the history for a particular string.)-.1 F -.8(Ty)5.517 G(ping)
-.8 E F2(C\255s)3.017 E F1 .452(searches forw)108 189.6 R .452
-(ard through the history)-.1 F 5.452(.T)-.65 G .452
-(he characters present in the v)-5.452 F .452(alue of the)-.25 F F2
-(isear)2.953 E(ch-terminators)-.18 E F1 -.25(va)2.953 G(ri-).25 E .747
-(able are used to terminate an incremental search.)108 201.6 R .747
-(If that v)5.747 F .746(ariable has not been assigned a v)-.25 F(alue,)
--.25 E F0(ESC)3.246 E F1(and)3.246 E F0(C\255J)108 213.6 Q F1 .961
-(will terminate an incremental search.)3.461 F F0(C\255g)5.961 E F1 .962
-(will abort an incremental search and restore the original)3.461 F 2.5
-(line. When)108 225.6 R(the search is terminated, the history entry con\
-taining the search string becomes the current line.)2.5 E 2.407 -.8
-(To \214)108 242.4 T .806
-(nd other matching entries in the history list, type).8 F F2(C\255r)
-3.306 E F1(or)3.306 E F2(C\255s)3.306 E F1 .806(as appropriate.)3.306 F
-.806(This will search back-)5.806 F -.1(wa)108 254.4 S .258(rd or forw)
-.1 F .258(ard in the history for the ne)-.1 F .258
-(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.258
-(.A)-.55 G .558 -.15(ny o)-5.258 H .258(ther k).15 F .558 -.15(ey s)-.1
-H(e-).15 E .222(quence bound to a)108 266.4 R F2 -.18(re)2.722 G(adline)
-.18 E F1 .221(command will terminate the search and e)2.721 F -.15(xe)
--.15 G .221(cute that command.).15 F -.15(Fo)5.221 G 2.721(ri).15 G .221
-(nstance, a)-2.721 F(ne)108 278.4 Q .337
-(wline will terminate the search and accept the line, thereby e)-.25 F
--.15(xe)-.15 G .338(cuting the command from the history list.).15 F
-2.998(Am)108 290.4 S -.15(ove)-2.998 G .497
-(ment command will terminate the search, mak).15 F 2.997(et)-.1 G .497
-(he last line found the current line, and be)-2.997 F .497(gin edit-)
--.15 F(ing.)108 302.4 Q F2(Readline)108 319.2 Q F1 1.475
-(remembers the last incremental search string.)3.975 F 1.476(If tw)6.476
-F(o)-.1 E F2(C\255r)3.976 E F1 3.976(sa)C 1.476(re typed without an)
--3.976 F 3.976(yi)-.15 G(nterv)-3.976 E(ening)-.15 E
-(characters de\214ning a ne)108 331.2 Q 2.5(ws)-.25 G(earch string,)-2.5
-E F2 -.18(re)2.5 G(adline).18 E F1(uses an)2.5 E 2.5(yr)-.15 G
-(emembered search string.)-2.5 E .012(Non-incremental searches read the\
- entire search string before starting to search for matching history en\
-tries.)108 348 R(The search string may be typed by the user or be part \
-of the contents of the current line.)108 360 Q F2
-(Readline Command Names)87 376.8 Q F1 1.391(The follo)108 388.8 R 1.391
-(wing is a list of the names of the commands and the def)-.25 F 1.391
-(ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.892(ya)-.15 G(re)-3.892 E 2.5(bound. Command)108 400.8 R
-(names without an accompan)2.5 E(ying k)-.15 E .3 -.15(ey s)-.1 H
-(equence are unbound by def).15 E(ault.)-.1 E .055(In the follo)108
-417.6 R .055(wing descriptions,)-.25 F F0(point)2.555 E F1 .055
-(refers to the current cursor position, and)2.555 F F0(mark)2.555 E F1
-.054(refers to a cursor position)2.554 F(sa)108 429.6 Q -.15(ve)-.2 G
-2.678(db).15 G 2.678(yt)-2.678 G(he)-2.678 E F2(set\255mark)2.678 E F1
-2.678(command. The)2.678 F(te)2.678 E .178
-(xt between the point and mark is referred to as the)-.15 F F0 -.37(re)
-2.679 G(gion)-.03 E F1(.)A F2(Read-)5.179 E(line)108 441.6 Q F1 .406
-(has the concept of an)2.906 F F0 .406(active r)2.906 F -.4(eg)-.37 G
-(ion).4 E F1 2.906(:w)C .406(hen the re)-2.906 F .406(gion is acti)-.15
-F -.15(ve)-.25 G(,).15 E F2 -.18(re)2.906 G(adline).18 E F1 .405
-(redisplay uses the v)2.906 F .405(alue of the)-.25 F F2(acti)108 453.6
-Q -.1(ve)-.1 G<ad72>.1 E .707(egion\255start\255color v)-.18 F .707
-(ariable to denote the r)-.1 F 3.207(egion. Se)-.18 F -.1(ve)-.15 G .708
-(ral commands set the r).1 F .708(egion to acti)-.18 F -.1(ve)-.1 G(;).1
-E(those ar)108 465.6 Q 2.5(en)-.18 G(oted belo)-2.5 E -.7(w.)-.1 G
-(Commands f)87 482.4 Q(or Mo)-.25 E(ving)-.1 E
-(beginning\255of\255line \(C\255a\))108 494.4 Q F1(Mo)144 506.4 Q .3
--.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E
-(This may also be bound to the Home k)5 E .3 -.15(ey o)-.1 H 2.5(ns).15
-G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F2
-(end\255of\255line \(C\255e\))108 518.4 Q F1(Mo)144 530.4 Q .3 -.15
-(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E
-(This may also be bound to the End k)5 E .3 -.15(ey o)-.1 H 2.5(ns).15 G
-(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F2 -.25(fo)108 542.4 S
-(rward\255char \(C\255f\)).25 E F1(Mo)144 554.4 Q .3 -.15(ve f)-.15 H
-(orw).15 E(ard a character)-.1 E(.)-.55 E F2
-(backward\255char \(C\255b\))108 566.4 Q F1(Mo)144 578.4 Q .3 -.15(ve b)
--.15 H(ack a character).15 E(.)-.55 E F2 -.25(fo)108 590.4 S(rward\255w)
-.25 E(ord \(M\255f\))-.1 E F1(Mo)144 602.4 Q .823 -.15(ve f)-.15 H(orw)
-.15 E .523(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)
--.1 F .522(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 614.4 Q F2(backward\255w)108 626.4 Q
-(ord \(M\255b\))-.1 E F1(Mo)144 638.4 Q 1.71 -.15(ve b)-.15 H 1.41
-(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
-(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 650.4 Q F2(shell\255f)108 662.4
-Q(orward\255w)-.25 E(ord)-.1 E F1(Mo)144 674.4 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 686.4 Q F2(shell\255backward\255w)108 698.4 Q(ord)-.1 E
-F1(Mo)144 710.4 Q .908 -.15(ve b)-.15 H .609
-(ack to the start of the current or pre).15 F .609(vious w)-.25 F 3.109
-(ord. W)-.1 F .609(ords are delimited by non-quoted shell)-.8 F
-(metacharacters.)144 722.4 Q(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(52)190.395 E 0 Cg EP
-%%Page: 53 53
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(pr)108 84 Q -.15(ev)-.18 G
-(ious\255scr).15 E(een\255line)-.18 E F1 .891(Attempt to mo)144 96 R
-1.191 -.15(ve p)-.15 H .891(oint to the same ph).15 F .891
-(ysical screen column on the pre)-.05 F .89(vious ph)-.25 F .89
-(ysical screen line.)-.05 F .91(This will not ha)144 108 R 1.21 -.15
-(ve t)-.2 H .91(he desired ef).15 F .91(fect if the current)-.25 F F2
--.18(re)3.411 G(adline).18 E F1 .911(line does not tak)3.411 F 3.411(eu)
--.1 G 3.411(pm)-3.411 G .911(ore than one)-3.411 F(ph)144 120 Q(ysical \
-line or if point is not greater than the length of the prompt plus the \
-screen width.)-.05 E F2(next\255scr)108 132 Q(een\255line)-.18 E F1 .482
-(Attempt to mo)144 144 R .782 -.15(ve p)-.15 H .481(oint to the same ph)
-.15 F .481(ysical screen column on the ne)-.05 F .481(xt ph)-.15 F .481
-(ysical screen line.)-.05 F(This)5.481 E .049(will not ha)144 156 R .349
--.15(ve t)-.2 H .049(he desired ef).15 F .049(fect if the current)-.25 F
-F2 -.18(re)2.549 G(adline).18 E F1 .05(line does not tak)2.549 F 2.55
-(eu)-.1 G 2.55(pm)-2.55 G .05(ore than one ph)-2.55 F(ysical)-.05 E .034
-(line or if the length of the current)144 168 R F2 -.18(re)2.534 G
-(adline).18 E F1 .033
-(line is not greater than the length of the prompt plus the)2.534 F
-(screen width.)144 180 Q F2(clear\255display \(M\255C\255l\))108 192 Q
-F1 1.498(Clear the screen and, if possible, the terminal')144 204 R
-3.999(ss)-.55 G 1.499(crollback b)-3.999 F(uf)-.2 E(fer)-.25 E 3.999(,t)
--.4 G 1.499(hen redra)-3.999 F 3.999(wt)-.15 G 1.499(he current line,)
--3.999 F(lea)144 216 Q(ving the current line at the top of the screen.)
--.2 E F2(clear\255scr)108 228 Q(een \(C\255l\))-.18 E F1 1.36
-(Clear the screen, then redra)144 240 R 3.86(wt)-.15 G 1.36
-(he current line, lea)-3.86 F 1.36
-(ving the current line at the top of the screen.)-.2 F -.4(Wi)144 252 S
-(th an ar).4 E
-(gument, refresh the current line without clearing the screen.)-.18 E F2
--.18(re)108 264 S(draw\255curr).18 E(ent\255line)-.18 E F1
-(Refresh the current line.)144 276 Q F2(Commands f)87 292.8 Q
-(or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108
-304.8 Q(n\))-.15 E F1 .158(Accept the line re)144 316.8 R -.05(ga)-.15 G
-.158(rdless of where the cursor is.).05 F .158
-(If this line is non-empty)5.158 F 2.659(,a)-.65 G .159
-(dd it to the history list)-2.659 F .338(according to the state of the)
-144 328.8 R/F3 9/Times-Bold@0 SF(HISTCONTR)2.838 E(OL)-.27 E F1(and)
-2.588 E F2(HISTIGNORE)2.838 E F1 -.25(va)2.838 G 2.838(riables. If).25 F
-.337(the line is a modi-)2.838 F
-(\214ed history line, restore the history line to its original state.)
-144 340.8 Q F2(pr)108 352.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\))
-.15 E F1(Fetch the pre)144 364.8 Q
-(vious command from the history list, mo)-.25 E(ving back in the list.)
--.15 E F2(next\255history \(C\255n\))108 376.8 Q F1(Fetch the ne)144
-388.8 Q(xt command from the history list, mo)-.15 E(ving forw)-.15 E
-(ard in the list.)-.1 E F2(beginning\255of\255history \(M\255<\))108
-400.8 Q F1(Mo)144 412.8 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G
-(he \214rst line in the history)-2.5 E(.)-.65 E F2
-(end\255of\255history \(M\255>\))108 424.8 Q F1(Mo)144 436.8 Q .3 -.15
-(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65
-G(.e., the line currently being entered.)-2.5 E F2
-(operate\255and\255get\255next \(C\255o\))108 448.8 Q F1 .24
-(Accept the current line for e)144 460.8 R -.15(xe)-.15 G .24
-(cution as if a ne).15 F .24(wline had been entered, and fetch the ne)
--.25 F .24(xt line rela-)-.15 F(ti)144 472.8 Q .61 -.15(ve t)-.25 H 2.81
-(ot).15 G .31(he current line from the history for editing.)-2.81 F 2.81
-(An)5.31 G .31(umeric ar)-2.81 F .31
-(gument, if supplied, speci\214es the)-.18 F
-(history entry to use instead of the current line.)144 484.8 Q F2
-(fetch\255history)108 496.8 Q F1 -.4(Wi)144 508.8 S .256
-(th a numeric ar).4 F .256
-(gument, fetch that entry from the history list and mak)-.18 F 2.757(ei)
--.1 G 2.757(tt)-2.757 G .257(he current line.)-2.757 F -.4(Wi)5.257 G
-(th-).4 E(out an ar)144 520.8 Q(gument, mo)-.18 E .3 -.15(ve b)-.15 H
-(ack to the \214rst entry in the history list.).15 E F2 -2.29 -.18(re v)
-108 532.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F1 1.313
-(Search backw)144 544.8 R 1.312(ard starting at the current line and mo)
--.1 F 1.312(ving \231up\232 through the history as necessary)-.15 F(.)
--.65 E .29(This is an incremental search.)144 556.8 R .29
-(This command sets the re)5.29 F .29(gion to the matched te)-.15 F .29
-(xt and acti)-.15 F -.25(va)-.25 G .29(tes the).25 F(re)144 568.8 Q
-(gion.)-.15 E F2 -.25(fo)108 580.8 S(rward\255sear).25 E
-(ch\255history \(C\255s\))-.18 E F1 .973(Search forw)144 592.8 R .973
-(ard starting at the current line and mo)-.1 F .973(ving \231do)-.15 F
-.973(wn\232 through the history as necessary)-.25 F(.)-.65 E .29
-(This is an incremental search.)144 604.8 R .29
-(This command sets the re)5.29 F .29(gion to the matched te)-.15 F .29
-(xt and acti)-.15 F -.25(va)-.25 G .29(tes the).25 F(re)144 616.8 Q
-(gion.)-.15 E F2(non\255incr)108 628.8 Q(emental\255r)-.18 E -2.3 -.15
-(ev e)-.18 H(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F1 .165
-(Search backw)144 640.8 R .164(ard through the history starting at the \
-current line using a non-incremental search for)-.1 F 2.5(as)144 652.8 S
-(tring supplied by the user)-2.5 E 5(.T)-.55 G
-(he search string may match an)-5 E(ywhere in a history line.)-.15 E F2
-(non\255incr)108 664.8 Q(emental\255f)-.18 E(orward\255sear)-.25 E
-(ch\255history \(M\255n\))-.18 E F1 1.353(Search forw)144 676.8 R 1.354
-(ard through the history using a non-incremental search for a string su\
-pplied by the)-.1 F(user)144 688.8 Q 5(.T)-.55 G
-(he search string may match an)-5 E(ywhere in a history line.)-.15 E F2
-(history\255sear)108 700.8 Q(ch\255backward)-.18 E F1 .951(Search backw)
-144 712.8 R .951(ard through the history for the string of characters b\
-etween the start of the current)-.1 F .34(line and the point.)144 724.8
-R .34(The search string must match at the be)5.34 F .34
-(ginning of a history line.)-.15 F .34(This is a non-)5.34 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(53)190.395 E 0 Cg EP
-%%Page: 54 54
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(incremental search.)144 84 Q
-(This may be bound to the P)5 E(age Up k)-.15 E .3 -.15(ey o)-.1 H 2.5
-(ns).15 G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E/F2 10/Times-Bold@0 SF
-(history\255sear)108 96 Q(ch\255f)-.18 E(orward)-.25 E F1 .249
-(Search forw)144 108 R .249(ard through the history for the string of c\
-haracters between the start of the current line)-.1 F .035
-(and the point.)144 120 R .035(The search string must match at the be)
-5.035 F .036(ginning of a history line.)-.15 F .036
-(This is a non-incre-)5.036 F(mental search.)144 132 Q
-(This may be bound to the P)5 E(age Do)-.15 E(wn k)-.25 E .3 -.15(ey o)
--.1 H 2.5(ns).15 G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F2
-(history\255substring\255sear)108 144 Q(ch\255backward)-.18 E F1 .951
-(Search backw)144 156 R .951(ard through the history for the string of \
-characters between the start of the current)-.1 F .675
-(line and the point.)144 168 R .676(The search string may match an)5.676
-F .676(ywhere in a history line.)-.15 F .676(This is a non-incre-)5.676
-F(mental search.)144 180 Q F2(history\255substring\255sear)108 192 Q
-(ch\255f)-.18 E(orward)-.25 E F1 .249(Search forw)144 204 R .249(ard th\
-rough the history for the string of characters between the start of the\
- current line)-.1 F .318(and the point.)144 216 R .319
-(The search string may match an)5.318 F .319(ywhere in a history line.)
--.15 F .319(This is a non-incremental)5.319 F(search.)144 228 Q F2
-(yank\255nth\255ar)108 240 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F1 .622
-(Insert the \214rst ar)144 252 R .622(gument to the pre)-.18 F .622
-(vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
-.622(vious line\))-.25 F .772(at point.)144 264 R -.4(Wi)5.773 G .773
-(th an ar).4 F(gument)-.18 E F0(n)3.633 E F1 3.273(,i).24 G .773
-(nsert the)-3.273 F F0(n)3.273 E F1 .773(th w)B .773(ord from the pre)
--.1 F .773(vious command \(the w)-.25 F .773(ords in the)-.1 F(pre)144
-276 Q .292(vious command be)-.25 F .292(gin with w)-.15 F .291(ord 0\).)
--.1 F 2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a)
--.25 H -.18(rg).15 G .291(ument inserts the).18 F F0(n)2.791 E F1 .291
-(th w)B .291(ord from the end of)-.1 F .698(the pre)144 288 R .698
-(vious command.)-.25 F .698(Once the ar)5.698 F(gument)-.18 E F0(n)3.198
-E F1 .699(is computed, this uses the history e)3.199 F .699(xpansion f)
--.15 F(acili-)-.1 E(ties to e)144 300 Q(xtract the)-.15 E F0(n)2.5 E F1
-(th w)A(ord, as if the \231!)-.1 E F0(n)A F1 2.5<9a68>C(istory e)-2.5 E
-(xpansion had been speci\214ed.)-.15 E F2(yank\255last\255ar)108 312 Q
-2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F1 1.308
-(Insert the last ar)144 324 R 1.308(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307
-(vious history entry\).)-.25 F -.4(Wi)144 336 S .203(th a numeric ar).4
-F .203(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e)
--.1 E F2(yank\255nth\255ar)2.704 E(g)-.1 E F1 5.204(.S)C(uccessi)-5.204
-E .504 -.15(ve c)-.25 H .204(alls to).15 F F2(yank\255last\255ar)2.704 E
-(g)-.1 E F1(mo)144 348 Q .807 -.15(ve b)-.15 H .507
-(ack through the history list, inserting the last w).15 F .507
-(ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E
-.416(to the \214rst call\) of each line in turn.)144 360 R(An)5.416 E
-2.916(yn)-.15 G .416(umeric ar)-2.916 F .416
-(gument supplied to these successi)-.18 F .716 -.15(ve c)-.25 H .416
-(alls de-).15 F 1.218(termines the direction to mo)144 372 R 1.518 -.15
-(ve t)-.15 H 1.218(hrough the history).15 F 6.218(.A)-.65 G(ne)-2.5 E
--.05(ga)-.15 G(ti).05 E 1.517 -.15(ve a)-.25 H -.18(rg).15 G 1.217
-(ument switches the direction).18 F .418
-(through the history \(back or forw)144 384 R 2.919(ard\). This)-.1 F
-.419(uses the history e)2.919 F .419(xpansion f)-.15 F .419
-(acilities to e)-.1 F .419(xtract the last)-.15 F -.1(wo)144 396 S
-(rd, as if the \231!$\232 history e).1 E(xpansion had been speci\214ed.)
--.15 E F2(shell\255expand\255line \(M\255C\255e\))108 408 Q F1 .368
-(Expand the line by performing shell w)144 420 R .368(ord e)-.1 F 2.868
-(xpansions. This)-.15 F .367(performs alias and history e)2.868 F
-(xpansion,)-.15 E F2($)144 432 Q F1<08>A F0(string)A F1 3.357<0861>C(nd)
--3.357 E F2($)3.357 E F1(")A F0(string)A F1 3.357("q)C .857
-(uoting, tilde e)-3.357 F .857(xpansion, parameter and v)-.15 F .858
-(ariable e)-.25 F .858(xpansion, arithmetic e)-.15 F(x-)-.15 E .549
-(pansion, command and process substitution, w)144 444 R .548
-(ord splitting, and quote remo)-.1 F -.25(va)-.15 G 3.048(l. An).25 F
--.15(ex)3.048 G .548(plicit ar).15 F(gu-)-.18 E .609
-(ment suppresses command and process substitution.)144 456 R(See)5.609 E
-/F3 9/Times-Bold@0 SF(HIST)3.11 E(OR)-.162 E 2.86(YE)-.315 G(XP)-2.86 E
-(ANSION)-.666 E F1(belo)2.86 E 3.11(wf)-.25 G .61(or a de-)-3.11 F
-(scription of history e)144 468 Q(xpansion.)-.15 E F2
-(history\255expand\255line \(M\255\000\))108 480 Q F1 .939
-(Perform history e)144 492 R .939(xpansion on the current line.)-.15 F
-(See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
-(ANSION)-.666 E F1(belo)3.189 E 3.438(wf)-.25 G .938(or a descrip-)
--3.438 F(tion of history e)144 504 Q(xpansion.)-.15 E F2(magic\255space)
-108 516 Q F1 .437(Perform history e)144 528 R .437
-(xpansion on the current line and insert a space.)-.15 F(See)5.438 E F3
-(HIST)2.938 E(OR)-.162 E 2.688(YE)-.315 G(XP)-2.688 E(ANSION)-.666 E F1
-(be-)2.688 E(lo)144 540 Q 2.5(wf)-.25 G(or a description of history e)
--2.5 E(xpansion.)-.15 E F2(alias\255expand\255line)108 552 Q F1 .395
-(Perform alias e)144 564 R .395(xpansion on the current line.)-.15 F
-(See)5.395 E F3(ALIASES)2.895 E F1(abo)2.645 E .694 -.15(ve f)-.15 H
-.394(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 576 Q F2
-(history\255and\255alias\255expand\255line)108 588 Q F1
-(Perform history and alias e)144 600 Q(xpansion on the current line.)
--.15 E F2(insert\255last\255ar)108 612 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F1 2.5(As)144 624 S(ynon)-2.5 E(ym for)
--.15 E F2(yank\255last\255ar)2.5 E(g)-.1 E F1(.)A F2
-(edit\255and\255execute\255command \(C\255x C\255e\))108 636 Q F1(In)144
-648 Q -.2(vo)-.4 G .346 -.1(ke a).2 H 2.646(ne).1 G .146
-(ditor on the current command line, and e)-2.646 F -.15(xe)-.15 G .146
-(cute the result as shell commands.).15 F F2(Bash)5.147 E F1(at-)2.647 E
-(tempts to in)144 660 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL)-.54
-E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F1(and)
-2.25 E F0(emacs)2.5 E F1(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt)-2.5 G
-(hat order)-2.5 E(.)-.55 E F2(Commands f)87 676.8 Q(or Changing T)-.25 E
-(ext)-.92 E F0(end\255of\255\214le)108 688.8 Q F2(\(usually C\255d\))2.5
-E F1 .652(The character indicating end-of-\214le as set, for e)144 700.8
-R .651(xample, by)-.15 F F0(stty)3.491 E F1 3.151(\(1\). If).32 F .651
-(this character is read when)3.151 F .029
-(there are no characters on the line, and point is at the be)144 712.8 R
-.03(ginning of the line,)-.15 F F2 -.18(re)2.53 G(adline).18 E F1 .03
-(interprets it as)2.53 F(the end of input and returns)144 724.8 Q F3
-(EOF)2.5 E F4(.)A F1(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(54)
-190.395 E 0 Cg EP
-%%Page: 55 55
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(delete\255char \(C\255d\))108
-84 Q F1 .442(Delete the character at point.)144 96 R .442
-(If this function is bound to the same character as the tty)5.442 F F2
-(EOF)2.941 E F1(char)2.941 E(-)-.2 E(acter)144 108 Q 2.538(,a)-.4 G(s)
--2.538 E F2(C\255d)2.539 E F1 .039(commonly is, see abo)2.539 F .339
--.15(ve f)-.15 H .039(or the ef).15 F 2.539(fects. This)-.25 F .039
-(may also be bound to the Delete k)2.539 F .339 -.15(ey o)-.1 H(n).15 E
-(some k)144 120 Q -.15(ey)-.1 G(boards.).15 E F2
-(backward\255delete\255char \(Rubout\))108 132 Q F1 .553
-(Delete the character behind the cursor)144 144 R 5.553(.W)-.55 G .553
-(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
-.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F
-.552(xt on)-.15 F(the kill ring.)144 156 Q F2 -.25(fo)108 168 S
-(rward\255backward\255delete\255char).25 E F1 .473
-(Delete the character under the cursor)144 180 R 2.973(,u)-.4 G .474
-(nless the cursor is at the end of the line, in which case the)-2.973 F
-(character behind the cursor is deleted.)144 192 Q F2
-(quoted\255insert \(C\255q, C\255v\))108 204 Q F1 .779(Add the ne)144
-216 R .779(xt character typed to the line v)-.15 F 3.279(erbatim. This)
--.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279 G .779
-(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.278 E F1 3.278(,f)C
-(or)-3.278 E -.15(ex)144 228 S(ample.).15 E F2(tab\255insert \(C\255v T)
-108 240 Q(AB\))-.9 E F1(Insert a tab character)144 252 Q(.)-.55 E F2
-(self\255insert \(a, b, A, 1, !,)108 264 Q F1 1.666(...)2.5 G F2(\))
--1.666 E F1(Insert the character typed.)144 276 Q F2(brack)108 288 Q
-(eted\255paste\255begin)-.1 E F1 .572
-(This function is intended to be bound to the \231brack)144 300 R .573
-(eted paste\232 escape sequence sent by some ter)-.1 F(-)-.2 E .45
-(minals, and such a binding is assigned by def)144 312 R 2.95(ault. It)
--.1 F(allo)2.95 E(ws)-.25 E F2 -.18(re)2.95 G(adline).18 E F1 .45
-(to insert the pasted te)2.95 F .45(xt as a)-.15 F .952(single unit wit\
-hout treating each character as if it had been read from the k)144 324 R
--.15(ey)-.1 G 3.452(board. The).15 F(pasted)3.452 E 1.119
-(characters are inserted as if each one w)144 336 R 1.119(as bound to)
--.1 F F2(self\255insert)3.619 E F1 1.118(instead of e)3.618 F -.15(xe)
--.15 G 1.118(cuting an).15 F 3.618(ye)-.15 G(diting)-3.618 E(commands.)
-144 348 Q(Brack)144 360 Q(eted paste sets the re)-.1 E
-(gion to the inserted te)-.15 E(xt and acti)-.15 E -.25(va)-.25 G
-(tes the re).25 E(gion.)-.15 E F2(transpose\255chars \(C\255t\))108 372
-Q F1 .321(Drag the character before point forw)144 384 R .321(ard o)-.1
-F -.15(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F
-.322(ving point forw)-.15 F .322(ard as well.)-.1 F .372
-(If point is at the end of the line, then this transposes the tw)144 396
-R 2.872(oc)-.1 G .372(haracters before point.)-2.872 F(Ne)5.372 E -.05
-(ga)-.15 G(ti).05 E .672 -.15(ve a)-.25 H -.2(r-).15 G(guments ha)144
-408 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F2
-(transpose\255w)108 420 Q(ords \(M\255t\))-.1 E F1 .023(Drag the w)144
-432 R .023(ord before point past the w)-.1 F .023(ord after point, mo)
--.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
--2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
-(is at the end of the line, this transposes the last tw)144 444 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F2(shell\255transpose\255w)108 456 Q
-(ords \(M-C-t\))-.1 E F1 .563(Drag the w)144 468 R .562
-(ord before point past the w)-.1 F .562(ord after point, mo)-.1 F .562
-(ving point past that w)-.15 F .562(ord as well.)-.1 F .562(If the)5.562
-F .019
-(insertion point is at the end of the line, this transposes the last tw)
-144 480 R 2.519(ow)-.1 G .019(ords on the line.)-2.619 F -.8(Wo)5.019 G
-.019(rd bound-).8 F(aries are the same as)144 492 Q F2(shell\255f)2.5 E
-(orward\255w)-.25 E(ord)-.1 E F1(and)2.5 E F2(shell\255backward\255w)2.5
-E(ord)-.1 E F1(.)A F2(upcase\255w)108 504 Q(ord \(M\255u\))-.1 E F1
-1.699(Uppercase the current \(or follo)144 516 R 1.698(wing\) w)-.25 F
-4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.998
--.15(ve a)-.25 H -.18(rg).15 G 1.698(ument, uppercase the pre).18 F
-(vious)-.25 E -.1(wo)144 528 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15
-(ve p)-.15 H(oint.).15 E F2(do)108 540 Q(wncase\255w)-.1 E
-(ord \(M\255l\))-.1 E F1(Lo)144 552 Q 1.647
-(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147
-(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15
-(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 564 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F2(capitalize\255w)108 576 Q
-(ord \(M\255c\))-.1 E F1 1.975(Capitalize the current \(or follo)144 588
-R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
--.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.974
-(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 600 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2 -.1(ove)108 612
-S(rwrite\255mode).1 E F1 -.8(To)144 624 S .437(ggle o).8 F -.15(ve)-.15
-G .437(rwrite mode.).15 F -.4(Wi)5.437 G .437(th an e).4 F .437
-(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438(umeric ar).15 F .438
-(gument, switches to o)-.18 F -.15(ve)-.15 G .438(rwrite mode.).15 F -.4
-(Wi)144 636 S .781(th an e).4 F .781(xplicit non-positi)-.15 F 1.081
--.15(ve n)-.25 H .781(umeric ar).15 F .781
-(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F
-(fects)-.25 E(only)144 648 Q F2(emacs)4.394 E F1(mode;)4.394 E F2(vi)
-4.394 E F1 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15
-F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F F0 -.37(re)
-4.395 G(adline\(\)).37 E F1 1.895(starts in insert)4.395 F(mode.)144 660
-Q .093(In o)144 672 R -.15(ve)-.15 G .093
-(rwrite mode, characters bound to).15 F F2(self\255insert)2.593 E F1
-.093(replace the te)2.593 F .092(xt at point rather than pushing the)
--.15 F(te)144 684 Q .773(xt to the right.)-.15 F .773
-(Characters bound to)5.773 F F2(backward\255delete\255char)3.273 E F1
-.774(replace the character before point)3.273 F .52(with a space.)144
-696 R .52(By def)5.52 F .52(ault, this command is unbound, b)-.1 F .52
-(ut may be bound to the Insert k)-.2 F .82 -.15(ey o)-.1 H 3.02(ns).15 G
-(ome)-3.02 E -.1(ke)144 708 S(yboards.)-.05 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(55)190.395 E 0 Cg EP
-%%Page: 56 56
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(Killing and Y)87 84 Q(anking)
--.85 E(kill\255line \(C\255k\))108 96 Q F1 1.414(Kill the te)144 108 R
-1.414(xt from point to the end of the current line.)-.15 F -.4(Wi)6.414
-G 1.414(th a ne).4 F -.05(ga)-.15 G(ti).05 E 1.714 -.15(ve n)-.25 H
-1.415(umeric ar).15 F 1.415(gument, kill)-.18 F(backw)144 120 Q
-(ard from the cursor to the be)-.1 E(ginning of the line.)-.15 E F2
-(backward\255kill\255line \(C\255x Rubout\))108 132 Q F1 .026
-(Kill backw)144 144 R .026(ard to the be)-.1 F .025
-(ginning of the current line.)-.15 F -.4(Wi)5.025 G .025(th a ne).4 F
--.05(ga)-.15 G(ti).05 E .325 -.15(ve n)-.25 H .025(umeric ar).15 F .025
-(gument, kill forw)-.18 F(ard)-.1 E
-(from the cursor to the end of the line.)144 156 Q F2
-(unix\255line\255discard \(C\255u\))108 168 Q F1(Kill backw)144 180 Q
-(ard from point to the be)-.1 E(ginning of the line, sa)-.15 E
-(ving the killed te)-.2 E(xt on the kill-ring.)-.15 E F2
-(kill\255whole\255line)108 192 Q F1
-(Kill all characters on the current line, no matter where point is.)144
-204 Q F2(kill\255w)108 216 Q(ord \(M\255d\))-.1 E F1 .728
-(Kill from point to the end of the current w)144 228 R .729
-(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 240 S
-(rd boundaries are the same as those used by).8 E F2 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F1(.)A F2(backward\255kill\255w)108 252 Q
-(ord \(M\255Rubout\))-.1 E F1(Kill the w)144 264 Q(ord behind point.)-.1
-E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F2
-(backward\255w)2.5 E(ord)-.1 E F1(.)A F2(shell\255kill\255w)108 276 Q
-(ord \(M\255C\255d\))-.1 E F1 .729
-(Kill from point to the end of the current w)144 288 R .728
-(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 300 S
-(rd boundaries are the same as those used by).8 E F2(shell\255f)2.5 E
-(orward\255w)-.25 E(ord)-.1 E F1(.)A F2(shell\255backward\255kill\255w)
-108 312 Q(ord)-.1 E F1 3.025(Kill the w)144 324 R 3.025
-(ord behind point.)-.1 F -.8(Wo)8.025 G 3.025
-(rd boundaries are the same as those used by).8 F F2(shell\255back-)
-5.525 E(ward\255w)144 336 Q(ord)-.1 E F1(.)A F2(unix\255w)108 348 Q
-(ord\255rubout \(C\255w\))-.1 E F1 1.063(Kill the w)144 360 R 1.063
-(ord behind point, using white space as a w)-.1 F 1.063(ord boundary)-.1
-F 3.563(,s)-.65 G -.2(av)-3.563 G 1.063(ing the killed te).2 F 1.063
-(xt on the)-.15 F(kill-ring.)144 372 Q F2(unix\255\214lename\255rubout)
-108 384 Q F1 .265(Kill the w)144 396 R .266
-(ord behind point, using white space and the slash character as the w)
--.1 F .266(ord boundaries, sa)-.1 F(v-)-.2 E(ing the killed te)144 408 Q
-(xt on the kill-ring.)-.15 E F2
-(delete\255horizontal\255space \(M\255\\\))108 420 Q F1
-(Delete all spaces and tabs around point.)144 432 Q F2(kill\255r)108 444
-Q(egion)-.18 E F1(Kill the te)144 456 Q(xt in the current re)-.15 E
-(gion.)-.15 E F2(copy\255r)108 468 Q(egion\255as\255kill)-.18 E F1(Cop)
-144 480 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
-(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E 2.5(,s)-.4 G 2.5(oi)-2.5
-G 2.5(tc)-2.5 G(an be yank)-2.5 E(ed immediately)-.1 E(.)-.65 E F2
-(copy\255backward\255w)108 492 Q(ord)-.1 E F1(Cop)144 504 Q 4.801(yt)-.1
-G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F(uf)-.2
-E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3
-(ord boundaries are the same as)-.1 F F2(back-)4.8 E(ward\255w)144 516 Q
-(ord)-.1 E F1(.)A F2(copy\255f)108 528 Q(orward\255w)-.25 E(ord)-.1 E F1
-(Cop)144 540 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)-.1 F
-2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008(.T)-.55
-G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1 F F2 -.25
-(fo)4.508 G -.37(r-).25 G(ward\255w)144 552 Q(ord)-.1 E F1(.)A F2
-(yank \(C\255y\))108 564 Q F1 -1(Ya)144 576 S
-(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
-E F2(yank\255pop \(M\255y\))108 588 Q F1
-(Rotate the kill ring, and yank the ne)144 600 Q 2.5(wt)-.25 G 2.5
-(op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F2(yank)2.5 E
-F1(or)2.5 E F2(yank\255pop)2.5 E F1(.)A F2(Numeric Ar)87 616.8 Q
-(guments)-.1 E(digit\255ar)108 628.8 Q(gument \(M\2550, M\2551,)-.1 E F1
-1.666(...)2.5 G F2 2.5(,M)-1.666 G<adad29>-2.5 E F1 .367
-(Add this digit to the ar)144 640.8 R .367
-(gument already accumulating, or start a ne)-.18 F 2.867(wa)-.25 G -.18
-(rg)-2.867 G 2.867(ument. M\255\255).18 F .366(starts a ne)2.867 F -.05
-(ga)-.15 G(-).05 E(ti)144 652.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G
-(ument.).18 E F2(uni)108 664.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1
-E F1 .778(This is another w)144 676.8 R .779(ay to specify an ar)-.1 F
-3.279(gument. If)-.18 F .779(this command is follo)3.279 F .779
-(wed by one or more digits,)-.25 F 1.376
-(optionally with a leading minus sign, those digits de\214ne the ar)144
-688.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-700.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F2(uni)
-3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F1(ag)3.67 E 1.17
-(ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
--.2 F(-)-.2 E .899(wise ignored.)144 712.8 R .898
-(As a special case, if this command is immediately follo)5.899 F .898
-(wed by a character that is)-.25 F 1.23
-(neither a digit nor minus sign, the ar)144 724.8 R 1.23
-(gument count for the ne)-.18 F 1.23(xt command is multiplied by four)
--.15 F(.)-.55 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(56)
-190.395 E 0 Cg EP
-%%Page: 57 57
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .823(The ar)144 84 R .823
-(gument count is initially one, so e)-.18 F -.15(xe)-.15 G .823
-(cuting this function the \214rst time mak).15 F .822(es the ar)-.1 F
-(gument)-.18 E(count four)144 96 Q 2.5(,as)-.4 G(econd time mak)-2.5 E
-(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E/F2 10
-/Times-Bold@0 SF(Completing)87 112.8 Q(complete \(T)108 124.8 Q(AB\))-.9
-E F1 .203(Attempt to perform completion on the te)144 136.8 R .203
-(xt before point.)-.15 F F2(Bash)5.203 E F1 .203
-(attempts completion by \214rst check-)2.703 F .768(ing for an)144 148.8
-R 3.268(yp)-.15 G .767(rogrammable completions for the command w)-3.268
-F .767(ord \(see)-.1 F F2(Pr)3.267 E .767(ogrammable Completion)-.18 F
-F1(belo)144 160.8 Q .059(w\), otherwise treating the te)-.25 F .059
-(xt as a v)-.15 F .059(ariable \(if the te)-.25 F .06(xt be)-.15 F .06
-(gins with)-.15 F F2($)2.56 E F1 .06(\), username \(if the te)B .06
-(xt be-)-.15 F .474(gins with)144 172.8 R F2<01>2.974 E F1 .474
-(\), hostname \(if the te)B .474(xt be)-.15 F .474(gins with)-.15 F F2
-(@)2.974 E F1 .474(\), or command \(including aliases, functions, and)B
--.2(bu)144 184.8 S(iltins\) in turn.).2 E
-(If none of these produces a match, it f)5 E
-(alls back to \214lename completion.)-.1 E F2
-(possible\255completions \(M\255?\))108 196.8 Q F1 .06
-(List the possible completions of the te)144 208.8 R .061
-(xt before point.)-.15 F .061(When displaying completions,)5.061 F F2
--.18(re)2.561 G(adline).18 E F1(sets)2.561 E 1.002
-(the number of columns used for display to the v)144 220.8 R 1.002
-(alue of)-.25 F F2(completion-display-width)3.502 E F1 3.502(,t)C 1.002
-(he v)-3.502 F 1.002(alue of)-.25 F(the shell v)144 232.8 Q(ariable)-.25
-E/F3 9/Times-Bold@0 SF(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(,)A F1
-(or the screen width, in that order)2.25 E(.)-.55 E F2
-(insert\255completions \(M\255*\))108 244.8 Q F1 .783
-(Insert all completions of the te)144 256.8 R .783
-(xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H
-.783(een generated by).15 F F2(possible\255com-)3.283 E(pletions)144
-268.8 Q F1 2.5(,s)C(eparated by a space.)-2.5 E F2(menu\255complete)108
-280.8 Q F1 .929(Similar to)144 292.8 R F2(complete)3.429 E F1 3.429(,b)C
-.929(ut replaces the w)-3.629 F .929
-(ord to be completed with a single match from the list of)-.1 F 1.618
-(possible completions.)144 304.8 R 1.618(Repeatedly e)6.618 F -.15(xe)
--.15 G(cuting).15 E F2(menu\255complete)4.118 E F1 1.618
-(steps through the list of possible)4.118 F .421
-(completions, inserting each match in turn.)144 316.8 R .421
-(At the end of the list of completions,)5.421 F F2(menu\255complete)2.92
-E F1 .219(rings the bell \(subject to the setting of)144 328.8 R F2
-(bell\255style)2.719 E F1 2.719(\)a)C .22(nd restores the original te)
--2.719 F 2.72(xt. An)-.15 F(ar)2.72 E .22(gument of)-.18 F F0(n)2.72 E
-F1(mo)144 340.8 Q -.15(ve)-.15 G(s).15 E F0(n)2.546 E F1 .046
-(positions forw)2.546 F .046(ard in the list of matches; a ne)-.1 F -.05
-(ga)-.15 G(ti).05 E .346 -.15(ve a)-.25 H -.18(rg).15 G .046(ument mo)
-.18 F -.15(ve)-.15 G 2.546(sb).15 G(ackw)-2.546 E .046(ard through the)
--.1 F 2.5(list. This)144 352.8 R(command is intended to be bound to)2.5
-E F2 -.9(TA)2.5 G(B).9 E F1 2.5(,b)C(ut is unbound by def)-2.7 E(ault.)
--.1 E F2(menu\255complete\255backward)108 364.8 Q F1 .82(Identical to)
-144 376.8 R F2(menu\255complete)3.32 E F1 3.32(,b)C .82(ut mo)-3.52 F
--.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82
-(ard through the list of possible completions, as if)-.1 F F2
-(menu\255complete)144 388.8 Q F1(had been gi)2.5 E -.15(ve)-.25 G 2.5
-(nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
-.15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E
-F2(delete\255char\255or\255list)108 400.8 Q F1 .234
-(Deletes the character under the cursor if not at the be)144 412.8 R
-.234(ginning or end of the line \(lik)-.15 F(e)-.1 E F2(delete\255char)
-2.734 E F1(\).)A .305(At the end of the line, it beha)144 424.8 R -.15
-(ve)-.2 G 2.805(si).15 G .305(dentically to)-2.805 F F2
-(possible\255completions)2.805 E F1 5.305(.T)C .305
-(his command is unbound)-5.305 F(by def)144 436.8 Q(ault.)-.1 E F2
-(complete\255\214lename \(M\255/\))108 448.8 Q F1
-(Attempt \214lename completion on the te)144 460.8 Q(xt before point.)
--.15 E F2(possible\255\214lename\255completions \(C\255x /\))108 472.8 Q
-F1(List the possible completions of the te)144 484.8 Q
-(xt before point, treating it as a \214lename.)-.15 E F2
-(complete\255user)108 496.8 Q(name \(M\255\001\))-.15 E F1
-(Attempt completion on the te)144 508.8 Q
-(xt before point, treating it as a username.)-.15 E F2(possible\255user)
-108 520.8 Q(name\255completions \(C\255x \001\))-.15 E F1
-(List the possible completions of the te)144 532.8 Q
-(xt before point, treating it as a username.)-.15 E F2(complete\255v)108
-544.8 Q(ariable \(M\255$\))-.1 E F1(Attempt completion on the te)144
-556.8 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
-F2(possible\255v)108 568.8 Q(ariable\255completions \(C\255x $\))-.1 E
-F1(List the possible completions of the te)144 580.8 Q
-(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F2
-(complete\255hostname \(M\255@\))108 592.8 Q F1
-(Attempt completion on the te)144 604.8 Q
-(xt before point, treating it as a hostname.)-.15 E F2
-(possible\255hostname\255completions \(C\255x @\))108 616.8 Q F1
-(List the possible completions of the te)144 628.8 Q
-(xt before point, treating it as a hostname.)-.15 E F2
-(complete\255command \(M\255!\))108 640.8 Q F1 .581
-(Attempt completion on the te)144 652.8 R .581
-(xt before point, treating it as a command name.)-.15 F .58
-(Command comple-)5.58 F .715(tion attempts to match the te)144 664.8 R
-.715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F
-.715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F
-(\214nally e)144 676.8 Q -.15(xe)-.15 G
-(cutable \214lenames, in that order).15 E(.)-.55 E F2
-(possible\255command\255completions \(C\255x !\))108 688.8 Q F1
-(List the possible completions of the te)144 700.8 Q
-(xt before point, treating it as a command name.)-.15 E(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(57)190.395 E 0 Cg EP
-%%Page: 58 58
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF
-(dynamic\255complete\255history \(M\255T)108 84 Q(AB\))-.9 E F1 .092
-(Attempt completion on the te)144 96 R .092
-(xt before point, comparing the te)-.15 F .092(xt ag)-.15 F .092
-(ainst history list entries for pos-)-.05 F(sible completion matches.)
-144 108 Q F2(dab)108 120 Q(br)-.1 E -.15(ev)-.18 G(\255expand).15 E F1
-.61(Attempt menu completion on the te)144 132 R .611
-(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .611
-(ainst lines from the his-)-.05 F
-(tory list for possible completion matches.)144 144 Q F2
-(complete\255into\255braces \(M\255{\))108 156 Q F1 .4(Perform \214lena\
-me completion and insert the list of possible completions enclosed with\
-in braces so)144 168 R(the list is a)144 180 Q -.25(va)-.2 G
-(ilable to the shell \(see).25 E F2(Brace Expansion)2.5 E F1(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F2 -.25(Ke)87 196.8 S(yboard Macr).25 E(os)-.18
-E(start\255kbd\255macr)108 208.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
-.833 E F1(Be)144 220.8 Q(gin sa)-.15 E
-(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
-(board macro.).15 E F2(end\255kbd\255macr)108 232.8 Q 2.5(o\()-.18 G
-(C\255x \))-2.5 E(\)).833 E F1(Stop sa)144 244.8 Q
-(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
-(board macro and store the de\214nition.).15 E F2
-(call\255last\255kbd\255macr)108 256.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F1(Re-e)144 268.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
--.1 G .999(board macro de\214ned, by making the characters in the macro\
- appear as if).15 F(typed at the k)144 280.8 Q -.15(ey)-.1 G(board.).15
-E F2(print\255last\255kbd\255macr)108 292.8 Q 2.5(o\()-.18 G(\))-2.5 E
-F1(Print the last k)144 304.8 Q -.15(ey)-.1 G
-(board macro de\214ned in a format suitable for the).15 E F0(inputr)2.5
-E(c)-.37 E F1(\214le.)2.5 E F2(Miscellaneous)87 321.6 Q -.18(re)108
-333.6 S<ad72>.18 E(ead\255init\255\214le \(C\255x C\255r\))-.18 E F1
-1.777(Read in the contents of the)144 345.6 R F0(inputr)4.277 E(c)-.37 E
-F1 1.776(\214le, and incorporate an)4.276 F 4.276(yb)-.15 G 1.776
-(indings or v)-4.276 F 1.776(ariable assignments)-.25 F(found there.)144
-357.6 Q F2(abort \(C\255g\))108 369.6 Q F1 3.248
-(Abort the current editing command and ring the terminal')144 381.6 R
-5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F2
-(bell\255style)144 393.6 Q F1(\).)A F2(do\255lo)108 405.6 Q(wer)-.1 E
-(case\255v)-.18 E(ersion \(M\255A, M\255B, M\255)-.1 E F0(x)A F2(,)A F1
-1.666(...)2.5 G F2(\))-1.666 E F1 1.739(If the meta\214ed character)144
-417.6 R F0(x)4.239 E F1 1.739
-(is uppercase, run the command that is bound to the corresponding)4.239
-F(meta\214ed lo)144 429.6 Q(wercase character)-.25 E 5(.T)-.55 G
-(he beha)-5 E(vior is unde\214ned if)-.2 E F0(x)2.5 E F1(is already lo)
-2.5 E(wercase.)-.25 E F2(pr)108 441.6 Q(e\214x\255meta \(ESC\))-.18 E F1
-(Metafy the ne)144 453.6 Q(xt character typed.)-.15 E/F3 9/Times-Bold@0
-SF(ESC)5 E F2(f)2.25 E F1(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2
-(Meta\255f)2.5 E F1(.)A F2(undo \(C\255_, C\255x C\255u\))108 465.6 Q F1
-(Incremental undo, separately remembered for each line.)144 477.6 Q F2
--2.29 -.18(re v)108 489.6 T(ert\255line \(M\255r\)).08 E F1 .23
-(Undo all changes made to this line.)144 501.6 R .231(This is lik)5.23 F
-2.731(ee)-.1 G -.15(xe)-2.881 G .231(cuting the).15 F F2(undo)2.731 E F1
-.231(command enough times to re-)2.731 F
-(turn the line to its initial state.)144 513.6 Q F2
-(tilde\255expand \(M\255&\))108 525.6 Q F1(Perform tilde e)144 537.6 Q
-(xpansion on the current w)-.15 E(ord.)-.1 E F2
-(set\255mark \(C\255@, M\255<space>\))108 549.6 Q F1
-(Set the mark to the point.)144 561.6 Q(If a numeric ar)5 E
-(gument is supplied, set the mark to that position.)-.18 E F2
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 573.6 Q F1(Sw)
-144 585.6 Q .872(ap the point with the mark.)-.1 F .871
-(Set the current cursor position to the sa)5.871 F -.15(ve)-.2 G 3.371
-(dp).15 G .871(osition, then set the)-3.371 F
-(mark to the old cursor position.)144 597.6 Q F2(character\255sear)108
-609.6 Q(ch \(C\255]\))-.18 E F1 1.1(Read a character and mo)144 621.6 R
-1.4 -.15(ve p)-.15 H 1.101(oint to the ne).15 F 1.101
-(xt occurrence of that character)-.15 F 6.101(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E 1.401 -.15(ve a)-.25 H -.18(rg).15 G(ument).18 E
-(searches for pre)144 633.6 Q(vious occurrences.)-.25 E F2
-(character\255sear)108 645.6 Q(ch\255backward \(M\255C\255]\))-.18 E F1
-1.071(Read a character and mo)144 657.6 R 1.371 -.15(ve p)-.15 H 1.071
-(oint to the pre).15 F 1.071(vious occurrence of that character)-.25 F
-6.07(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E 1.37 -.15(ve a)-.25 H
--.18(rg).15 G(u-).18 E(ment searches for subsequent occurrences.)144
-669.6 Q F2(skip\255csi\255sequence)108 681.6 Q F1 1.826
-(Read enough characters to consume a multi-k)144 693.6 R 2.126 -.15
-(ey s)-.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)
--.1 G 4.327(sl).15 G(ik)-4.327 E(e)-.1 E .219(Home and End.)144 705.6 R
-.219(CSI sequences be)5.219 F .218
-(gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
-(If)5.218 E .137(this sequence is bound to \231\\e[\232, k)144 717.6 R
--.15(ey)-.1 G 2.637(sp).15 G .137(roducing CSI sequences will ha)-2.637
-F .438 -.15(ve n)-.2 H 2.638(oe).15 G -.25(ff)-2.638 G .138
-(ect unless e).25 F(xplicitly)-.15 E .297(bound to a)144 729.6 R F2 -.18
-(re)2.797 G(adline).18 E F1 .297
-(command, instead of inserting stray characters into the editing b)2.797
-F(uf)-.2 E(fer)-.25 E 5.296(.T)-.55 G .296(his is)-5.296 F(GNU Bash 5.3)
-72 768 Q(2024 October 15)141.235 E(58)190.395 E 0 Cg EP
-%%Page: 59 59
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(unbound by def)144 84 Q(ault, b)-.1 E
-(ut usually bound to ESC\255[.)-.2 E/F2 10/Times-Bold@0 SF
-(insert\255comment \(M\255#\))108 96 Q F1 -.4(Wi)144 108 S .532
-(thout a numeric ar).4 F .533(gument, insert the v)-.18 F .533
-(alue of the)-.25 F F2 -.18(re)3.033 G .533(adline comment\255begin).18
-F F1 -.25(va)3.033 G .533(riable at the be-).25 F .792
-(ginning of the current line.)144 120 R .791(If a numeric ar)5.791 F
-.791(gument is supplied, this command acts as a toggle: if)-.18 F .863
-(the characters at the be)144 132 R .864
-(ginning of the line do not match the v)-.15 F .864(alue of)-.25 F F2
-(comment\255begin)3.364 E F1 3.364(,i)C .864(nsert the)-3.364 F -.25(va)
-144 144 S .305(lue; otherwise delete the characters in).25 F F2
-(comment-begin)2.804 E F1 .304(from the be)2.804 F .304
-(ginning of the line.)-.15 F .304(In either)5.304 F .947
-(case, the line is accepted as if a ne)144 156 R .948
-(wline had been typed.)-.25 F .948(The def)5.948 F .948(ault v)-.1 F
-.948(alue of)-.25 F F2(comment\255begin)3.448 E F1 .363
-(causes this command to mak)144 168 R 2.863(et)-.1 G .363
-(he current line a shell comment.)-2.863 F .362(If a numeric ar)5.362 F
-.362(gument causes the)-.18 F(comment character to be remo)144 180 Q
--.15(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
-(cuted by the shell.).15 E F2(spell\255corr)108 192 Q(ect\255w)-.18 E
-(ord \(C\255x s\))-.1 E F1 .42
-(Perform spelling correction on the current w)144 204 R .421
-(ord, treating it as a directory or \214lename, in the same)-.1 F -.1
-(wa)144 216 S 4.718(ya).1 G 4.718(st)-4.718 G(he)-4.718 E F2(cdspell)
-4.718 E F1 2.218(shell option.)4.718 F -.8(Wo)7.217 G 2.217
-(rd boundaries are the same as those used by).8 F F2(shell\255f)4.717 E
-(or)-.25 E(-)-.37 E(ward\255w)144 228 Q(ord)-.1 E F1(.)A F2
-(glob\255complete\255w)108 240 Q(ord \(M\255g\))-.1 E F1 -.35(Tr)144 252
-S 1.037(eat the w).35 F 1.037
-(ord before point as a pattern for pathname e)-.1 F 1.038
-(xpansion, with an asterisk implicitly ap-)-.15 F(pended, then use the \
-pattern to generate a list of matching \214le names for possible comple\
-tions.)144 264 Q F2(glob\255expand\255w)108 276 Q(ord \(C\255x *\))-.1 E
-F1 -.35(Tr)144 288 S .033(eat the w).35 F .033
-(ord before point as a pattern for pathname e)-.1 F .033
-(xpansion, and insert the list of matching \214le)-.15 F .083
-(names, replacing the w)144 300 R 2.583(ord. If)-.1 F 2.583(an)2.583 G
-.083(umeric ar)-2.583 F .083(gument is supplied, append a)-.18 F F2(*)
-2.584 E F1 .084(before pathname e)2.584 F(xpan-)-.15 E(sion.)144 312 Q
-F2(glob\255list\255expansions \(C\255x g\))108 324 Q F1 .689
-(Display the list of e)144 336 R .689(xpansions that w)-.15 F .688
-(ould ha)-.1 F .988 -.15(ve b)-.2 H .688(een generated by).15 F F2
-(glob\255expand\255w)3.188 E(ord)-.1 E F1 .688(and redis-)3.188 F
-(play the line.)144 348 Q(If a numeric ar)5 E
-(gument is supplied, append a)-.18 E F2(*)2.5 E F1(before pathname e)2.5
-E(xpansion.)-.15 E F2(dump\255functions)108 360 Q F1 .473
-(Print all of the functions and their k)144 372 R .773 -.15(ey b)-.1 H
-.473(indings to the).15 F F2 -.18(re)2.973 G(adline).18 E F1 .473
-(output stream.)2.973 F .473(If a numeric ar)5.473 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 384 Q
-(ay that it can be made part of an)-.1 E F0(inputr)2.5 E(c)-.37 E F1
-(\214le.)2.5 E F2(dump\255v)108 396 Q(ariables)-.1 E F1 .456
-(Print all of the settable)144 408 R F2 -.18(re)2.956 G(adline).18 E F1
--.25(va)2.955 G .455(riables and their v).25 F .455(alues to the)-.25 F
-F2 -.18(re)2.955 G(adline).18 E F1 .455(output stream.)2.955 F .455
-(If a nu-)5.455 F .108(meric ar)144 420 R .108
-(gument is supplied, the output is formatted in such a w)-.18 F .109
-(ay that it can be made part of an)-.1 F F0(in-)2.609 E(putr)144 432 Q
-(c)-.37 E F1(\214le.)2.5 E F2(dump\255macr)108 444 Q(os)-.18 E F1 .089
-(Print all of the)144 456 R F2 -.18(re)2.589 G(adline).18 E F1 -.1(ke)
-2.589 G 2.589(ys)-.05 G .089
-(equences bound to macros and the strings the)-2.589 F 2.589(yo)-.15 G
-.088(utput to the)-2.589 F F2 -.18(re)2.588 G(adline).18 E F1 .243
-(output stream.)144 468 R .243(If a numeric ar)5.243 F .243
-(gument is supplied, the output is formatted in such a w)-.18 F .244
-(ay that it can)-.1 F(be made part of an)144 480 Q F0(inputr)2.5 E(c)
--.37 E F1(\214le.)2.5 E F2(execute\255named\255command \(M-x\))108 492 Q
-F1 1.084(Read a bindable)144 504 R F2 -.18(re)3.584 G(adline).18 E F1
-1.083(command name from the input and e)3.584 F -.15(xe)-.15 G 1.083
-(cute the function to which it').15 F(s)-.55 E .278(bound, as if the k)
-144 516 R .578 -.15(ey s)-.1 H .278(equence to which it w).15 F .279
-(as bound appeared in the input.)-.1 F .279(If this function is sup-)
-5.279 F(plied with a numeric ar)144 528 Q(gument, it passes that ar)-.18
-E(gument to the function it e)-.18 E -.15(xe)-.15 G(cutes.).15 E F2
-(display\255shell\255v)108 540 Q(ersion \(C\255x C\255v\))-.1 E F1
-(Display v)144 552 Q(ersion information about the current instance of)
--.15 E F2(bash)2.5 E F1(.)A F2(Pr)87 568.8 Q(ogrammable Completion)-.18
-E F1 .078(When a user attempts w)108 580.8 R .078
-(ord completion for an ar)-.1 F .077
-(gument to a command for which a completion speci\214cation)-.18 F(\(a)
-108 592.8 Q F0(compspec)4.171 E F1 4.171(\)h)C 1.671
-(as been de\214ned using the)-4.171 F F2(complete)4.171 E F1 -.2(bu)
-4.171 G 1.671(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.672(SHELL B)4.171
-F(UIL)-.09 E 1.672(TIN COMMANDS)-.828 F F1(belo)3.922 E(w\),)-.25 E F2
--.18(re)108 604.8 S(adline).18 E F1(in)2.5 E -.2(vo)-.4 G -.1(ke).2 G
-2.5(st).1 G(he programmable completion f)-2.5 E(acilities.)-.1 E(First,)
-108 621.6 Q F2(bash)2.664 E F1 .163(identi\214es the command name.)2.664
-F .163(If a compspec has been de\214ned for that command, the compspec)
-5.163 F .454
-(is used to generate the list of possible completions for the w)108
-633.6 R 2.954(ord. If)-.1 F .454(the command w)2.954 F .455
-(ord is the empty string)-.1 F .129(\(completion attempted at the be)108
-645.6 R .129(ginning of an empty line\),)-.15 F F2(bash)2.629 E F1 .129
-(uses an)2.629 F 2.629(yc)-.15 G .129(ompspec de\214ned with the)-2.629
-F F2<ad45>2.628 E F1(op-)2.628 E .231(tion to)108 657.6 R F2(complete)
-2.731 E F1 5.231(.I)C 2.731(ft)-5.231 G .231(he command w)-2.731 F .231
-(ord is a full pathname,)-.1 F F2(bash)2.732 E F1 .232
-(searches for a compspec for the full path-)2.732 F .284(name \214rst.)
-108 669.6 R .283(If there is no compspec for the full pathname,)5.284 F
-F2(bash)2.783 E F1 .283(attempts to \214nd a compspec for the portion)
-2.783 F(follo)108 681.6 Q .298(wing the \214nal slash.)-.25 F .298
-(If those searches do not result in a compspec, an)5.298 F 2.799(yc)-.15
-G .299(ompspec de\214ned with the)-2.799 F F2<ad44>2.799 E F1 .057
-(option to)108 693.6 R F2(complete)2.557 E F1 .056(is used as the def)
-2.556 F 2.556(ault. If)-.1 F .056(there is no def)2.556 F .056
-(ault compspec,)-.1 F F2(bash)2.556 E F1 .056(attempts alias e)2.556 F
-.056(xpansion on)-.15 F .332(the command w)108 705.6 R .332(ord as a \
-\214nal resort, and attempts to \214nd a compspec for the command w)-.1
-F .332(ord from an)-.1 F 2.833(ys)-.15 G(uc-)-2.833 E(cessful e)108
-717.6 Q(xpansion.)-.15 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E
-(59)190.395 E 0 Cg EP
-%%Page: 60 60
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .96(If a compspec is not found,)108 84 R/F2 10
-/Times-Bold@0 SF(bash)3.46 E F1 .96(performs its def)3.46 F .96
-(ault completion as described abo)-.1 F 1.26 -.15(ve u)-.15 H(nder).15 E
-F2(Completing)3.46 E F1(.)A(Otherwise, once a compspec has been found,)
-108 96 Q F2(bash)2.5 E F1(uses it to generate the list of matching w)2.5
-E(ords.)-.1 E(First,)108 112.8 Q F2(bash)2.904 E F1 .404(performs the)
-2.904 F F0(actions)2.904 E F1 .404(speci\214ed by the compspec.)2.904 F
-.405(Only matches which are pre\214x)5.404 F .405(ed by the w)-.15 F
-(ord)-.1 E .007(being completed are returned.)108 124.8 R .007(When the)
-5.007 F F2<ad66>2.507 E F1(or)2.507 E F2<ad64>2.507 E F1 .007
-(option is used for \214lename or directory name completion,)2.507 F F2
-(bash)108 136.8 Q F1(uses the shell v)2.5 E(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(FIGNORE)2.5 E F1(to \214lter the matches.)2.25 E(An)108
-153.6 Q 4.084(yc)-.15 G 1.584(ompletions speci\214ed by a pathname e)
--4.084 F 1.584(xpansion pattern to the)-.15 F F2<ad47>4.084 E F1 1.584
-(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 165.6 S
-.638(rds generated by the pattern need not match the w).1 F .638
-(ord being completed.)-.1 F F2(Bash)5.638 E F1 .638(uses the)3.138 F F3
-(FIGNORE)3.138 E F1 -.25(va)2.887 G(ri-).25 E
-(able to \214lter the matches, b)108 177.6 Q(ut does not use the)-.2 E
-F3(GLOBIGNORE)2.5 E F1(shell v)2.25 E(ariable.)-.25 E(Ne)108 194.4 Q
-.717(xt, completion considers the string speci\214ed as the ar)-.15 F
-.718(gument to the)-.18 F F2<ad57>3.218 E F1 3.218(option. The)3.218 F
-.718(string is \214rst split)3.218 F .493(using the characters in the)
-108 206.4 R F3(IFS)2.993 E F1 .493(special v)2.743 F .493
-(ariable as delimiters.)-.25 F .493(Shell quoting is honored.)5.493 F
-.492(Each w)5.492 F .492(ord is then)-.1 F -.15(ex)108 218.4 S .139
-(panded using brace e).15 F .139(xpansion, tilde e)-.15 F .139
-(xpansion, parameter and v)-.15 F .139(ariable e)-.25 F .139
-(xpansion, command substitution,)-.15 F .655(and arithmetic e)108 230.4
-R .655(xpansion, as described abo)-.15 F .955 -.15(ve u)-.15 H(nder).15
-E F3(EXP)3.155 E(ANSION)-.666 E/F4 9/Times-Roman@0 SF(.)A F1 .655
-(The results are split using the rules de-)5.155 F .284(scribed abo)108
-242.4 R .584 -.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)2.784 G .284
-(rd Splitting).75 F F1 5.284(.T)C .284(he results of the e)-5.284 F .284
-(xpansion are pre\214x-matched ag)-.15 F .284(ainst the w)-.05 F .284
-(ord be-)-.1 F(ing completed, and the matching w)108 254.4 Q
-(ords become possible completions.)-.1 E .489(After these matches ha)108
-271.2 R .789 -.15(ve b)-.2 H .489(een generated,).15 F F2(bash)2.989 E
-F1 -.15(exe)2.989 G .489(cutes an).15 F 2.989(ys)-.15 G .488
-(hell function or command speci\214ed with the)-2.989 F F2<ad46>108
-283.2 Q F1(and)5.347 E F2<ad43>5.347 E F1 5.348(options. When)5.348 F
-2.848(the command or function is in)5.348 F -.2(vo)-.4 G -.1(ke).2 G
-2.848(d, the).1 F F3(COMP_LINE)5.348 E F4(,)A F3(COMP_POINT)5.098 E F4
-(,)A F3(COMP_KEY)108 295.2 Q F4(,)A F1(and)2.408 E F3(COMP_TYPE)2.658 E
-F1 -.25(va)2.408 G .157(riables are assigned v).25 F .157
-(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F2 .157
-(Shell V)2.657 F(ariables)-.92 E F1 5.157(.I)C(f)-5.157 E 3.485(as)108
-307.2 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
-.986(d, the).1 F F3(COMP_W)3.486 E(ORDS)-.09 E F1(and)3.236 E F3
-(COMP_CW)3.486 E(ORD)-.09 E F1 -.25(va)3.236 G .986
-(riables are also set.).25 F(When)5.986 E .347
-(the function or command is in)108 319.2 R -.2(vo)-.4 G -.1(ke).2 G .347
-(d, the \214rst ar).1 F .346(gument \()-.18 F F2($1)A F1 2.846(\)i)C
-2.846(st)-2.846 G .346(he name of the command whose ar)-2.846 F(guments)
--.18 E .263(are being completed, the second ar)108 331.2 R .263
-(gument \()-.18 F F2($2)A F1 2.763(\)i)C 2.763(st)-2.763 G .264(he w)
--2.763 F .264(ord being completed, and the third ar)-.1 F .264
-(gument \()-.18 F F2($3)A F1 2.764(\)i)C(s)-2.764 E 1.098(the w)108
-343.2 R 1.098(ord preceding the w)-.1 F 1.098
-(ord being completed on the current command line.)-.1 F 1.097
-(There is no \214ltering of the)6.097 F .576(generated completions ag)
-108 355.2 R .577(ainst the w)-.05 F .577
-(ord being completed; the function or command has complete freedom)-.1 F
-(in generating the matches.)108 367.2 Q(An)108 384 Q 2.938(yf)-.15 G
-.437(unction speci\214ed with)-2.938 F F2<ad46>2.937 E F1 .437(is in)
-2.937 F -.2(vo)-.4 G -.1(ke).2 G 2.937<648c>.1 G 2.937(rst. The)-2.937 F
-.437(function may use an)2.937 F 2.937(yo)-.15 G 2.937(ft)-2.937 G .437
-(he shell f)-2.937 F .437(acilities, including)-.1 F(the)108 396 Q F2
-(compgen)2.505 E F1(and)2.505 E F2(compopt)2.505 E F1 -.2(bu)2.505 G
-.005(iltins described belo).2 F 1.306 -.65(w, t)-.25 H 2.506(og).65 G
-.006(enerate the matches.)-2.506 F .006(It must put the possible com-)
-5.006 F(pletions in the)108 408 Q F3(COMPREPL)2.5 E(Y)-.828 E F1
-(array v)2.25 E(ariable, one per array element.)-.25 E(Ne)108 424.8 Q
-.081(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)
--2.581 F F2<ad43>2.581 E F1 .081(option is in)2.581 F -.2(vo)-.4 G -.1
-(ke).2 G 2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G
-.08(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F
-2.858(stitution. It)108 436.8 R .359(should print a list of completions\
-, one per line, to the standard output.)2.858 F .359
-(Backslash may be used)5.359 F(to escape a ne)108 448.8 Q
-(wline, if necessary)-.25 E 5(.T)-.65 G
-(hese are added to the set of possible completions.)-5 E .377
-(After all of the possible completions are generated, an)108 465.6 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F2<ad58>2.876
-E F1 .376(option is applied to the)2.876 F 3.181(list. The)108 477.6 R
-.681(\214lter is a pattern as used for pathname e)3.181 F .681
-(xpansion; a)-.15 F F2(&)3.181 E F1 .682
-(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
-(the w)108 489.6 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
-(iteral)-3.023 E F2(&)3.023 E F1 .522
-(may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve)
--.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 501.6
-R(An)5.849 E 3.349(yc)-.15 G .849
-(ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G
-3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F2
-(!)3.35 E F1(ne)108 513.6 Q -.05(ga)-.15 G .764
-(tes the pattern; in this case an).05 F 3.264(yc)-.15 G .764
-(ompletion not matching the pattern will be remo)-3.264 F -.15(ve)-.15 G
-3.264(d. If).15 F(the)3.264 E F2(nocase-)3.264 E(match)108 525.6 Q F1
-(shell option is enabled, the match is performed without re)2.5 E -.05
-(ga)-.15 G(rd to the case of alphabetic characters.).05 E(Finally)108
-542.4 Q 3.086(,a)-.65 G .886 -.15(ny p)-3.086 H .586(re\214x and suf).15
-F .587(\214x speci\214ed with the)-.25 F F2<ad50>3.087 E F1(and)3.087 E
-F2<ad53>3.087 E F1 .587(options are added to each member of the com-)
-3.087 F(pletion list, and the result is returned to)108 554.4 Q F2 -.18
-(re)2.5 G(adline).18 E F1(as the list of possible completions.)2.5 E
-.247(If the pre)108 571.2 R .247
-(viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247
-(atches, and the)-2.747 F F2 .247(\255o dir)2.747 F(names)-.15 E F1 .247
-(option w)2.747 F .246(as supplied to)-.1 F F2(complete)108 583.2 Q F1
-(when the compspec w)2.5 E(as de\214ned,)-.1 E F2(bash)2.5 E F1
-(attempts directory name completion.)2.5 E .53(If the)108 600 R F2 .53
-(\255o plusdirs)3.03 F F1 .53(option w)3.03 F .53(as supplied to)-.1 F
-F2(complete)3.03 E F1 .53(when the compspec w)3.03 F .53(as de\214ned,)
--.1 F F2(bash)3.03 E F1 .53(attempts direc-)3.03 F
-(tory name completion and adds an)108 612 Q 2.5(ym)-.15 G
-(atches to the set of possible completions.)-2.5 E .56(By def)108 628.8
-R .56(ault, if a compspec is found, whate)-.1 F -.15(ve)-.25 G 3.06(ri)
-.15 G 3.06(tg)-3.06 G .559
-(enerates is returned to the completion code as the full set)-3.06 F
-.053(of possible completions.)108 640.8 R .053(The def)5.053 F(ault)-.1
-E F2(bash)2.553 E F1 .054(completions and the)2.553 F F2 -.18(re)2.554 G
-(adline).18 E F1(def)2.554 E .054(ault of \214lename completion are)-.1
-F 3.344(disabled. If)108 652.8 R(the)3.344 E F2 .843(\255o bashdefault)
-3.343 F F1 .843(option w)3.343 F .843(as supplied to)-.1 F F2(complete)
-3.343 E F1 .843(when the compspec w)3.343 F .843(as de\214ned, if the)
--.1 F .584(compspec generates no matches,)108 664.8 R F2(bash)3.084 E F1
-.584(attempts its def)3.084 F .584(ault completions.)-.1 F .584(If the)
-5.584 F F2 .584(\255o default)3.084 F F1 .584(option w)3.084 F .584
-(as sup-)-.1 F .523(plied to)108 676.8 R F2(complete)3.023 E F1 .522
-(when the compspec w)3.023 F .522
-(as de\214ned, programmable completion will perform)-.1 F F2 -.18(re)
-3.022 G(adline).18 E F1 1.622 -.55('s d)D(e-).55 E -.1(fa)108 688.8 S
-(ult completion if the compspec \(and, if attempted, the def).1 E(ault)
--.1 E F2(bash)2.5 E F1(completions\) generate no matches.)2.5 E .245(Wh\
-en a compspec indicates that directory name completion is desired, the \
-programmable completion func-)108 705.6 R .47(tions force)108 717.6 R F2
--.18(re)2.97 G(adline).18 E F1 .469(to append a slash to completed name\
-s which are symbolic links to directories, subject)2.97 F 4.042
-(to the v)108 729.6 R 4.043(alue of the)-.25 F F2(mark\255dir)6.543 E
-4.043(ectories r)-.18 F(eadline)-.18 E F1 -.25(va)6.543 G 4.043
-(riable, re).25 F -.05(ga)-.15 G 4.043(rdless of the setting of the).05
-F F2(mark-)6.543 E F1(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E
-(60)190.395 E 0 Cg EP
-%%Page: 61 61
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(symlink)108 84 Q(ed\255dir)
--.1 E(ectories r)-.18 E(eadline)-.18 E F1 -.25(va)2.5 G(riable.).25 E
-.191(There is some support for dynamically modifying completions.)108
-100.8 R .19(This is most useful when used in combina-)5.191 F 1.172
-(tion with a def)108 112.8 R 1.172(ault completion speci\214ed with)-.1
-F F2 1.172(complete \255D)3.672 F F1 6.172(.I)C(t')-6.172 E 3.672(sp)
--.55 G 1.172(ossible for shell functions e)-3.672 F -.15(xe)-.15 G 1.172
-(cuted as).15 F .734(completion functions to indicate that completion s\
-hould be retried by returning an e)108 124.8 R .733(xit status of 124.)
--.15 F .733(If a)5.733 F .1(shell function returns 124, and changes the\
- compspec associated with the command on which completion is)108 136.8 R
-.666(being attempted \(supplied as the \214rst ar)108 148.8 R .665
-(gument when the function is e)-.18 F -.15(xe)-.15 G .665
-(cuted\), programmable completion).15 F .083(restarts from the be)108
-160.8 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc)
--.25 G .084(ompspec for that command.)-2.584 F .084(This allo)5.084 F
-.084(ws a set of)-.25 F(completions to be b)108 172.8 Q(uilt dynamicall\
-y as completion is attempted, rather than being loaded all at once.)-.2
-E -.15(Fo)108 189.6 S 2.637(ri).15 G .137
-(nstance, assuming that there is a library of compspecs, each k)-2.637 F
-.137(ept in a \214le corresponding to the name of)-.1 F
-(the command, the follo)108 201.6 Q(wing def)-.25 E
-(ault completion function w)-.1 E(ould load completions dynamically:)-.1
-E/F3 10/Courier@0 SF(_completion_loader\(\))144 213.6 Q({)144 225.6 Q 6
-(.")156 237.6 S
-(/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})144
-249.6 Q(complete \255D \255F _completion_loader \255o bashdefault \255o\
- default)144 261.6 Q/F4 10.95/Times-Bold@0 SF(HIST)72 278.4 Q(OR)-.197 E
-(Y)-.383 E F1 .371(When the)108 290.4 R F2 .371(\255o history)2.871 F F1
-.371(option to the)2.871 F F2(set)2.872 E F1 -.2(bu)2.872 G .372
-(iltin is enabled, the shell pro).2 F .372(vides access to the)-.15 F F0
-.372(command history)2.872 F F1(,)A .305(the list of commands pre)108
-302.4 R .305(viously typed.)-.25 F .305(The v)5.305 F .304(alue of the)
--.25 F/F5 9/Times-Bold@0 SF(HISTSIZE)2.804 E F1 -.25(va)2.554 G .304
-(riable is used as the number of com-).25 F .487(mands to sa)108 314.4 R
-.787 -.15(ve i)-.2 H 2.988(nah).15 G .488(istory list: the shell sa)
--2.988 F -.15(ve)-.2 G 2.988(st).15 G .488(he te)-2.988 F .488
-(xt of the last)-.15 F F5(HISTSIZE)2.988 E F1 .488(commands \(def)2.738
-F .488(ault 500\).)-.1 F(The)5.488 E .805
-(shell stores each command in the history list prior to parameter and v)
-108 326.4 R .805(ariable e)-.25 F .805(xpansion \(see)-.15 F F5(EXP)
-3.305 E(ANSION)-.666 E F1(abo)108 338.4 Q -.15(ve)-.15 G 3.217(\)b).15 G
-.717(ut after history e)-3.417 F .717
-(xpansion is performed, subject to the v)-.15 F .717
-(alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)3.218 E F1
-(and)108 350.4 Q F5(HISTCONTR)2.5 E(OL)-.27 E/F6 9/Times-Roman@0 SF(.)A
-F1 .572(On startup,)108 367.2 R F2(bash)3.072 E F1 .571(initializes the\
- history list by reading history entries from the the \214le named by t\
-he)3.072 F F5(HIST)3.071 E(-)-.828 E(FILE)108 379.2 Q F1 -.25(va)2.649 G
-.399(riable \(def).25 F(ault)-.1 E F0(\001/.bash_history)4.565 E F1
-2.899(\). That)1.666 F .399(\214le is referred to as the)2.899 F F0 .4
-(history \214le)2.9 F F1 5.4(.T)C .4(he history \214le is trun-)-5.4 F
-.007(cated, if necessary)108 391.2 R 2.507(,t)-.65 G 2.507(oc)-2.507 G
-.007
-(ontain no more than the number of history entries speci\214ed by the v)
--2.507 F .007(alue of the)-.25 F F5(HIST)2.506 E(-)-.828 E(FILESIZE)108
-403.2 Q F1 -.25(va)3.195 G 3.445(riable. If).25 F F2(HISTFILESIZE)3.445
-E F1 .945(is unset, or set to null, a non-numeric v)3.445 F .946
-(alue, or a numeric v)-.25 F(alue)-.25 E
-(less than zero, the history \214le is not truncated.)108 415.2 Q .386
-(When the history \214le is read, lines be)108 432 R .385
-(ginning with the history comment character follo)-.15 F .385
-(wed immediately by)-.25 F 3.486(ad)108 444 S .986
-(igit are interpreted as timestamps for the follo)-3.486 F .986
-(wing history line.)-.25 F .986(These timestamps are optionally dis-)
-5.986 F .329(played depending on the v)108 456 R .328(alue of the)-.25 F
-F5(HISTTIMEFORMA)2.828 E(T)-.855 E F1 -.25(va)2.578 G 2.828
-(riable. When).25 F .328(present, history timestamps de-)2.828 F
-(limit history entries, making multi-line entries possible.)108 468 Q
-1.196(When a shell with history enabled e)108 484.8 R(xits,)-.15 E F2
-(bash)3.696 E F1 1.196(copies the last)3.696 F F5($HISTSIZE)3.697 E F1
-1.197(entries from the history list to)3.447 F F5($HISTFILE)108 496.8 Q
-F6(.)A F1 .056(If the)4.556 F F2(histappend)2.556 E F1 .056
-(shell option is enabled \(see the description of)2.556 F F2(shopt)2.556
-E F1(under)2.556 E F5 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 508.8 Q F1(belo)2.358 E(w\),)-.25 E F2(bash)2.608 E F1
-.108(appends the entries to the history \214le, otherwise it o)2.608 F
--.15(ve)-.15 G .108(rwrites the history \214le.).15 F(If)5.109 E F5
-(HISTFILE)108 520.8 Q F1 .265(is unset or null, or if the history \214l\
-e is unwritable, the history is not sa)2.516 F -.15(ve)-.2 G 2.765
-(d. After).15 F(sa)2.765 E .265(ving the his-)-.2 F(tory)108 532.8 Q(,)
--.65 E F2(bash)2.5 E F1
-(truncates the history \214le to contain no more than)2.5 E F5
-(HISTFILESIZE)2.5 E F1(lines as described abo)2.25 E -.15(ve)-.15 G(.)
-.15 E .544(If the)108 549.6 R F5(HISTTIMEFORMA)3.044 E(T)-.855 E F1 -.25
-(va)2.794 G .544(riable is set, the shell writes the timestamp informat\
-ion associated with each).25 F .94
-(history entry to the history \214le, mark)108 561.6 R .94
-(ed with the history comment character)-.1 F 3.44(,s)-.4 G 3.44(ot)-3.44
-G .94(imestamps are preserv)-3.44 F(ed)-.15 E .105
-(across shell sessions.)108 573.6 R .105(This uses the history comment \
-character to distinguish timestamps from other history)5.105 F 2.5
-(lines. As)108 585.6 R(abo)2.5 E -.15(ve)-.15 G 2.5(,w).15 G(hen using)
--2.5 E F5(HISTTIMEFORMA)2.5 E(T)-.855 E F6(,)A F1
-(the timestamps delimit multi-line history entries.)2.25 E(The)108 602.4
-Q F2(fc)3.16 E F1 -.2(bu)3.16 G .66(iltin command \(see).2 F F5 .66
-(SHELL B)3.16 F(UIL)-.09 E .66(TIN COMMANDS)-.828 F F1(belo)2.91 E .66
-(w\) will list or edit and re-e)-.25 F -.15(xe)-.15 G .659(cute a por)
-.15 F(-)-.2 E .183(tion of the history list.)108 614.4 R(The)5.184 E F2
-(history)2.684 E F1 -.2(bu)2.684 G .184(iltin can display or modify the\
- history list and manipulate the history).2 F 3.028(\214le. When)108
-626.4 R .528(using command-line editing, search commands are a)3.028 F
--.25(va)-.2 G .528(ilable in each editing mode that pro).25 F(vide)-.15
-E(access to the history list.)108 638.4 Q 1.485(The shell allo)108 655.2
-R 1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
-(hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt)
--3.986 G 1.486(he history list.)-3.986 F(The)6.486 E F5(HISTCONTR)3.986
-E(OL)-.27 E F1(and)3.736 E F5(HISTIGNORE)108 667.2 Q F1 -.25(va)2.817 G
-.567(riables are used to sa).25 F .866 -.15(ve o)-.2 H .566
-(nly a subset of the commands entered.).15 F .566(If the)5.566 F F2
-(cmdhist)3.066 E F1 .566(shell op-)3.066 F 1.403
-(tion is enabled, the shell attempts to sa)108 679.2 R 1.703 -.15(ve e)
--.2 H 1.404(ach line of a multi-line command in the same history entry)
-.15 F(,)-.65 E 1.713(adding semicolons where necessary to preserv)108
-691.2 R 4.213(es)-.15 G 1.712(yntactic correctness.)-4.213 F(The)6.712 E
-F2(lithist)4.212 E F1 1.712(shell option modi\214es)4.212 F F2(cmdhist)
-108 703.2 Q F1 .036(by sa)2.536 F .036
-(ving the command with embedded ne)-.2 F .037
-(wlines instead of semicolons.)-.25 F .037(See the description of the)
-5.037 F F2(shopt)108 715.2 Q F1 -.2(bu)2.54 G .04(iltin belo).2 F 2.54
-(wu)-.25 G(nder)-2.54 E F5 .04(SHELL B)2.54 F(UIL)-.09 E .04
-(TIN COMMANDS)-.828 F F1 .039
-(for information on setting and unsetting shell op-)2.29 F(tions.)108
-727.2 Q(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(61)190.395 E 0
-Cg EP
-%%Page: 62 62
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10.95/Times-Bold@0 SF(HIST)72 84 Q(OR)-.197 E
-2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81 E F1 .61
-(The shell supports a history e)108 96 R .611
-(xpansion feature that is similar to the history e)-.15 F .611
-(xpansion in)-.15 F/F3 10/Times-Bold@0 SF(csh)3.111 E F1 5.611(.T)C .611
-(his section)-5.611 F(describes what syntax features are a)108 108 Q
--.25(va)-.2 G(ilable.).25 E .772(History e)108 124.8 R .772
-(xpansion is enabled by def)-.15 F .771(ault for interacti)-.1 F 1.071
--.15(ve s)-.25 H .771(hells, and can be disabled using the).15 F F3(+H)
-3.271 E F1 .771(option to)3.271 F(the)108 136.8 Q F3(set)2.512 E F1 -.2
-(bu)2.512 G .012(iltin command \(see).2 F/F4 9/Times-Bold@0 SF .013
-(SHELL B)2.513 F(UIL)-.09 E .013(TIN COMMANDS)-.828 F F1(belo)2.263 E
-2.513(w\). Non-interacti)-.25 F .313 -.15(ve s)-.25 H .013
-(hells do not perform).15 F(history e)108 148.8 Q(xpansion by def)-.15 E
-(ault, b)-.1 E(ut it can be enabled with \231set -H\232.)-.2 E 1.306
-(History e)108 165.6 R 1.306(xpansions introduce w)-.15 F 1.306(ords fr\
-om the history list into the input stream, making it easy to repeat)-.1
-F .209(commands, insert the ar)108 177.6 R .209(guments to a pre)-.18 F
-.21(vious command into the current input line, or \214x errors in pre)
--.25 F(vious)-.25 E(commands quickly)108 189.6 Q(.)-.65 E 1.164
-(History e)108 206.4 R 1.163(xpansion is performed immediately after a \
-complete line is read, before the shell breaks it into)-.15 F -.1(wo)108
-218.4 S .113(rds, and is performed on each line indi).1 F(vidually)-.25
-E 5.113(.T)-.65 G .113(he shell attempts to inform the history e)-5.113
-F .114(xpansion func-)-.15 F(tions about quoting still in ef)108 230.4 Q
-(fect from pre)-.25 E(vious lines.)-.25 E .249(It tak)108 247.2 R .249
-(es place in tw)-.1 F 2.749(op)-.1 G 2.749(arts. The)-2.749 F .248(\214\
-rst is to determine which history list entry to use during substitution\
-.)2.749 F(The)5.248 E(second is to select portions of that entry to inc\
-lude into the current one.)108 259.2 Q .074
-(The entry selected from the history is the)108 276 R F0 -.15(ev)2.574 G
-(ent).15 E F1 2.574(,a)C .075
-(nd the portions of that entry that are acted upon are)-2.574 F F0(wor)
-2.575 E(ds)-.37 E F1(.)A -1.11(Va)108 288 S(rious)1.11 E F0(modi\214er)
-2.943 E(s)-.1 E F1 .443(are a)2.943 F -.25(va)-.2 G .443
-(ilable to manipulate the selected w).25 F 2.943(ords. The)-.1 F .443
-(entry is split into w)2.943 F .443(ords in the same)-.1 F -.1(fa)108
-300 S 1.427(shion as when reading input, so that se).1 F -.15(ve)-.25 G
-(ral).15 E F0(metac)3.927 E(har)-.15 E(acter)-.15 E F1 1.427
-(-separated w)B 1.427(ords surrounded by quotes are)-.1 F .922
-(considered one w)108 312 R 3.422(ord. The)-.1 F F0 -.15(ev)3.422 G .922
-(ent designator).15 F F1 .921(selects the e)3.422 F -.15(ve)-.25 G .921
-(nt, the optional).15 F F0(wor)3.421 E 3.421(dd)-.37 G(esignator)-3.421
-E F1 .921(selects w)3.421 F(ords)-.1 E(from the e)108 324 Q -.15(ve)-.25
-G(nt, and v).15 E(arious optional)-.25 E F0(modi\214er)2.5 E(s)-.1 E F1
-(are a)2.5 E -.25(va)-.2 G(ilable to manipulate the selected w).25 E
-(ords.)-.1 E .574(History e)108 340.8 R .574
-(xpansions are introduced by the appearance of the history e)-.15 F .575
-(xpansion character)-.15 F 3.075(,w)-.4 G .575(hich is)-3.075 F F3(!)
-3.908 E F1 .575(by de-)3.908 F -.1(fa)108 352.8 S 2.5(ult. History).1 F
--.15(ex)2.5 G(pansions may appear an).15 E(ywhere in the input, b)-.15 E
-(ut do not nest.)-.2 E .791(Only backslash \()108 369.6 R F3(\\).833 E
-F1 3.291(\)a).833 G .79(nd single quotes can quote the history e)-3.291
-F .79(xpansion character)-.15 F 3.29(,b)-.4 G .79(ut the history e)-3.49
-F(xpansion)-.15 E .789(character is also treated as quoted if it immedi\
-ately precedes the closing double quote in a double-quoted)108 381.6 R
-(string.)108 393.6 Q(Se)108 410.4 Q -.15(ve)-.25 G .03
-(ral characters inhibit history e).15 F .03
-(xpansion if found immediately follo)-.15 F .03(wing the history e)-.25
-F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 422.4 T
-3.721(ni).25 G 3.721(fi)-3.721 G 3.722(ti)-3.721 G 3.722(su)-3.722 G
-1.222(nquoted: space, tab, ne)-3.722 F 1.222(wline, carriage return,)
--.25 F F3(=)3.722 E F1 3.722(,a)C 1.222
-(nd the other shell metacharacters de\214ned)-3.722 F(abo)108 434.4 Q
--.15(ve)-.15 G(.).15 E 1.764(There is a special abbre)108 451.2 R 1.764
-(viation for substitution, acti)-.25 F 2.064 -.15(ve w)-.25 H 1.764
-(hen the).15 F F0(quic)4.264 E 4.264(ks)-.2 G(ubstitution)-4.264 E F1
-1.763(character \(described)4.263 F(abo)108 463.2 Q .99 -.15(ve u)-.15 H
-(nder).15 E F3(histchars)3.19 E F1 3.19(\)i)C 3.19(st)-3.19 G .69
-(he \214rst character on the line.)-3.19 F .69(It selects the pre)5.69 F
-.69(vious history list entry)-.25 F 3.19(,u)-.65 G .69(sing an)-3.19 F
--2.15 -.25(ev e)108 475.2 T .587(nt designator equi).25 F -.25(va)-.25 G
-.587(lent to).25 F F3(!!)3.087 E F1 3.087(,a)C .586
-(nd substitutes one string for another in that entry)-3.087 F 5.586(.I)
--.65 G 3.086(ti)-5.586 G 3.086(sd)-3.086 G .586(escribed belo)-3.086 F
-(w)-.25 E(under)108 487.2 Q F3(Ev)3.32 E .82(ent Designators)-.1 F F1
-5.82(.T)C .82(his is the only history e)-5.82 F .821
-(xpansion that does not be)-.15 F .821(gin with the history e)-.15 F
-(xpan-)-.15 E(sion character)108 499.2 Q(.)-.55 E(Se)108 516 Q -.15(ve)
--.25 G 1.217(ral shell options settable with the).15 F F3(shopt)3.717 E
-F1 -.2(bu)3.717 G 1.217(iltin will modify history e).2 F 1.216
-(xpansion beha)-.15 F 1.216(vior \(see the de-)-.2 F 1.283
-(scription of the)108 528 R F3(shopt)3.783 E F1 -.2(bu)3.783 G 1.283
-(iltin belo).2 F 1.283(w\).and If the)-.25 F F3(histv)3.783 E(erify)-.1
-E F1 1.283(shell option is enabled, and)3.783 F F3 -.18(re)3.783 G
-(adline).18 E F1 1.284(is being)3.784 F .554(used, history substitution\
-s are not immediately passed to the shell parser)108 540 R 5.554(.I)-.55
-G .554(nstead, the e)-5.554 F .553(xpanded line is re-)-.15 F 2.746
-(loaded into the)108 552 R F3 -.18(re)5.246 G(adline).18 E F1 2.746
-(editing b)5.246 F(uf)-.2 E 2.746(fer for further modi\214cation.)-.25 F
-(If)7.746 E F3 -.18(re)5.246 G(adline).18 E F1 2.746
-(is being used, and the)5.246 F F3(histr)108 564 Q(eedit)-.18 E F1 .826
-(shell option is enabled, a f)3.326 F .825
-(ailed history substitution is reloaded into the)-.1 F F3 -.18(re)3.325
-G(adline).18 E F1 .825(editing b)3.325 F(uf)-.2 E(fer)-.25 E
-(for correction.)108 576 Q(The)108 592.8 Q F3<ad70>2.698 E F1 .199
-(option to the)2.698 F F3(history)2.699 E F1 -.2(bu)2.699 G .199
-(iltin command sho).2 F .199(ws what a history e)-.25 F .199
-(xpansion will do before using it.)-.15 F(The)5.199 E F3<ad73>108 604.8
-Q F1 .378(option to the)2.878 F F3(history)2.878 E F1 -.2(bu)2.878 G
-.378(iltin will add commands to the end of the history list without act\
-ually e).2 F -.15(xe)-.15 G(cuting).15 E(them, so that the)108 616.8 Q
-2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G(ilable for subsequent recall.)
-.25 E 1.108(The shell allo)108 633.6 R 1.108(ws control of the v)-.25 F
-1.108(arious characters used by the history e)-.25 F 1.108
-(xpansion mechanism \(see the de-)-.15 F .163(scription of)108 645.6 R
-F3(histchars)2.663 E F1(abo)2.663 E .463 -.15(ve u)-.15 H(nder).15 E F3
-.163(Shell V)2.663 F(ariables)-.92 E F1 2.663(\). The)B .162
-(shell uses the history comment character to mark)2.663 F
-(history timestamps when writing the history \214le.)108 657.6 Q F3(Ev)
-87 674.4 Q(ent Designators)-.1 E F1 .585(An e)108 686.4 R -.15(ve)-.25 G
-.586(nt designator is a reference to an entry in the history list.).15 F
-.586(The e)5.586 F -.15(ve)-.25 G .586
-(nt designator consists of the por).15 F(-)-.2 E 1.306(tion of the w)108
-698.4 R 1.306(ord be)-.1 F 1.306(ginning with the history e)-.15 F 1.305
-(xpansion character and ending with the w)-.15 F 1.305
-(ord designator if)-.1 F .444(present, or the end of the w)108 710.4 R
-2.944(ord. Unless)-.1 F .444(the reference is absolute, e)2.944 F -.15
-(ve)-.25 G .445(nts are relati).15 F .745 -.15(ve t)-.25 H 2.945(ot).15
-G .445(he current position)-2.945 F(in the history list.)108 722.4 Q
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(62)190.395 E 0 Cg EP
-%%Page: 63 63
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(!)108 84 Q F1 .079
-(Start a history substitution, e)144 84 R .079(xcept when follo)-.15 F
-.079(wed by a)-.25 F F2(blank)2.579 E F1 2.579(,n)C -.25(ew)-2.579 G
-.078(line, carriage return, =, or).25 F 2.578(,w)-.4 G(hen)-2.578 E(the)
-144 96 Q F2(extglob)2.5 E F1(shell option is enabled using the)2.5 E F2
-(shopt)2.5 E F1 -.2(bu)2.5 G(iltin, \(.).2 E F2(!)108 108 Q F0(n)A F1
-(Refer to history list entry)144 108 Q F0(n)2.86 E F1(.).24 E F2<21ad>
-108 120 Q F0(n)A F1(Refer to the current entry minus)144 120 Q F0(n)2.86
-E F1(.).24 E F2(!!)108 132 Q F1(Refer to the pre)144 132 Q(vious entry)
--.25 E 5(.T)-.65 G(his is a synon)-5 E(ym for \231!\2551\232.)-.15 E F2
-(!)108 144 Q F0(string)A F1 .865(Refer to the most recent command prece\
-ding the current position in the history list starting with)144 144 R F0
-(string)144.34 156 Q F1(.).22 E F2(!?)108 168 Q F0(string)A F2([?])A F1
-1.503(Refer to the most recent command preceding the current position i\
-n the history list containing)144 180 R F0(string)144.34 192 Q F1 5.496
-(.T).22 G .496(he trailing)-5.496 F F2(?)2.996 E F1 .496
-(may be omitted if)2.996 F F0(string)3.336 E F1 .497(is follo)3.216 F
-.497(wed immediately by a ne)-.25 F 2.997(wline. If)-.25 F F0(string)
-2.997 E F1(is)2.997 E .04(missing, this uses the string from the most r\
-ecent search; it is an error if there is no pre)144 204 R .039
-(vious search)-.25 F(string.)144 216 Q/F3 12/Times-Bold@0 SF<00>108 233
-Q F0(string1)-5 I F3<00>5 I F0(string2)-5 I F3<00>5 I F1 .752
-(Quick substitution.)144 240 R .752(Repeat the pre)5.752 F .753
-(vious command, replacing)-.25 F F0(string1)3.593 E F1(with)3.253 E F0
-(string2)3.593 E F1 5.753(.E).02 G(qui)-5.753 E -.25(va)-.25 G .753
-(lent to).25 F(\231!!:s)144 252 Q/F4 12/Times-Roman@0 SF<00>5 I F0
-(string1)-5 I F4<00>5 I F0(string2)-5 I F4<00>5 I F1 2.5<9a28>-5 K(see)
--2.5 E F2(Modi\214ers)2.5 E F1(belo)2.5 E(w\).)-.25 E F2(!#)108 264 Q F1
-(The entire command line typed so f)144 264 Q(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 280.8 S(rd Designators).75 E F1 -.8(Wo)108 292.8 S .067
-(rd designators are used to select desired w).8 F .067(ords from the e)
--.1 F -.15(ve)-.25 G 2.567(nt. The).15 F 2.567(ya)-.15 G .067
-(re optional; if the w)-2.567 F .067(ord designator)-.1 F(isn')108 304.8
-Q 3.515(ts)-.18 G 1.015(upplied, the history e)-3.515 F 1.015
-(xpansion uses the entire e)-.15 F -.15(ve)-.25 G 3.516(nt. A).15 F F2
-(:)3.516 E F1 1.016(separates the e)3.516 F -.15(ve)-.25 G 1.016
-(nt speci\214cation from the).15 F -.1(wo)108 316.8 S .332
-(rd designator).1 F 5.332(.I)-.55 G 2.832(tm)-5.332 G .332
-(ay be omitted if the w)-2.832 F .332(ord designator be)-.1 F .332
-(gins with a)-.15 F F2<00>2.832 E F1(,)A F2($)2.832 E F1(,)A F2(*)2.832
-E F1(,)A F2<ad>2.832 E F1 2.832(,o)C(r)-2.832 E F2(%)2.832 E F1 5.332
-(.W)C .331(ords are num-)-6.132 F .193(bered from the be)108 328.8 R
-.194(ginning of the line, with the \214rst w)-.15 F .194
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)5.194 G .194
-(rds are inserted into).8 F
-(the current line separated by single spaces.)108 340.8 Q F2 2.5(0\()108
-357.6 S(zer)-2.5 E(o\))-.18 E F1(The zeroth w)144 369.6 Q 2.5(ord. F)-.1
-F(or the shell, this is the command w)-.15 E(ord.)-.1 E F0(n)108.36
-381.6 Q F1(The)144 381.6 Q F0(n)2.5 E F1(th w)A(ord.)-.1 E F2<00>108
-393.6 Q F1(The \214rst ar)144 393.6 Q(gument: w)-.18 E(ord 1.)-.1 E F2
-($)108 405.6 Q F1 .064(The last w)144 405.6 R 2.564(ord. This)-.1 F .064
-(is usually the last ar)2.564 F .064(gument, b)-.18 F .064(ut will e)-.2
-F .064(xpand to the zeroth w)-.15 F .063(ord if there is only)-.1 F
-(one w)144 417.6 Q(ord in the line.)-.1 E F2(%)108 429.6 Q F1 1.124
-(The \214rst w)144 429.6 R 1.124(ord matched by the most recent \231?)
--.1 F F0(string)A F1 3.624(?\232 search,)B 1.125
-(if the search string be)3.624 F 1.125(gins with a)-.15 F .487
-(character that is part of a w)144 441.6 R 2.986(ord. By)-.1 F(def)2.986
-E .486(ault, searches be)-.1 F .486
-(gin at the end of each line and proceed to)-.15 F(the be)144 453.6 Q
-(ginning, so the \214rst w)-.15 E
-(ord matched is the one closest to the end of the line.)-.1 E F0(x)
-108.77 465.6 Q F2<ad>A F0(y)A F1 2.5(Ar)144 465.6 S(ange of w)-2.5 E
-(ords; \231\255)-.1 E F0(y)A F1 2.5<9a61>C(bbre)-2.5 E(viates \2310\255)
--.25 E F0(y)A F1<9a2e>A F2(*)108 477.6 Q F1 .218(All of the w)144 477.6
-R .218(ords b)-.1 F .218(ut the zeroth.)-.2 F .219(This is a synon)5.218
-F .219(ym for \231)-.15 F F0(1\255$)A F1 2.719(\232. It)B .219
-(is not an error to use)2.719 F F2(*)2.719 E F1 .219(if there is)2.719 F
-(just one w)144 489.6 Q(ord in the e)-.1 E -.15(ve)-.25 G(nt; it e).15 E
-(xpands to the empty string in that case.)-.15 E F2(x*)108 501.6 Q F1
-(Abbre)144 501.6 Q(viates)-.25 E F0(x\255$)2.5 E F1(.)A F2<78ad>108
-513.6 Q F1(Abbre)144 513.6 Q(viates)-.25 E F0(x\255$)2.5 E F1(lik)2.5 E
-(e)-.1 E F2(x*)2.5 E F1 2.5(,b)C(ut omits the last w)-2.7 E 2.5(ord. If)
--.1 F F2(x)2.5 E F1(is missing, it def)2.5 E(aults to 0.)-.1 E .369
-(If a w)108 530.4 R .368(ord designator is supplied without an e)-.1 F
--.15(ve)-.25 G .368(nt speci\214cation, the pre).15 F .368
-(vious command is used as the e)-.25 F -.15(ve)-.25 G(nt,).15 E(equi)108
-542.4 Q -.25(va)-.25 G(lent to).25 E F2(!!)2.5 E F1(.)A F2(Modi\214ers)
-87 559.2 Q F1 .469(After the optional w)108 571.2 R .469(ord designator)
--.1 F 2.969(,t)-.4 G .469(he e)-2.969 F .47
-(xpansion may include a sequence of one or more of the follo)-.15 F
-(wing)-.25 E(modi\214ers, each preceded by a \231:\232.)108 583.2 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 F2(h)108 600 Q F1(Remo)144 600 Q .3 -.15(ve a t)-.15 H
-(railing pathname component, lea).15 E(ving only the head.)-.2 E F2(t)
-108 612 Q F1(Remo)144 612 Q .3 -.15(ve a)-.15 H
-(ll leading pathname components, lea).15 E(ving the tail.)-.2 E F2(r)108
-624 Q F1(Remo)144 624 Q .3 -.15(ve a t)-.15 H(railing suf).15 E
-(\214x of the form)-.25 E F0(.xxx)2.5 E F1 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F2(e)108 636 Q F1(Remo)144 636 Q .3 -.15(ve a)
--.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F2(p)108 648 Q
-F1(Print the ne)144 648 Q 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
-E -.15(xe)-.15 G(cute it.).15 E F2(q)108 660 Q F1
-(Quote the substituted w)144 660 Q
-(ords, escaping further substitutions.)-.1 E F2(x)108 672 Q F1 .386
-(Quote the substituted w)144 672 R .386(ords as with)-.1 F F2(q)2.886 E
-F1 2.886(,b)C .386(ut break into w)-3.086 F .385(ords at)-.1 F F2
-(blanks)2.885 E F1 .385(and ne)2.885 F 2.885(wlines. The)-.25 F F2(q)
-2.885 E F1(and)2.885 E F2(x)2.885 E F1(modi\214ers are mutually e)144
-684 Q(xclusi)-.15 E -.15(ve)-.25 G 2.5(;e).15 G
-(xpansion uses the last one supplied.)-2.65 E F2(s/)108 696 Q F0(old)A
-F2(/)A F0(ne)A(w)-.15 E F2(/)A F1(Substitute)144 708 Q F0(ne)3.328 E(w)
--.15 E F1 .469(for the \214rst occurrence of)3.278 F F0(old)3.199 E F1
-.469(in the e)3.739 F -.15(ve)-.25 G .469(nt line.).15 F(An)5.469 E
-2.969(yc)-.15 G .469(haracter may be used as the)-2.969 F .295
-(delimiter in place of /.)144 720 R .294
-(The \214nal delimiter is optional if it is the last character of the e)
-5.295 F -.15(ve)-.25 G .294(nt line.).15 F(A)5.294 E(GNU Bash 5.3)72 768
-Q(2024 October 15)141.235 E(63)190.395 E 0 Cg EP
-%%Page: 64 64
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .484(single backslash will quote the delimiter in)
-144 84 R F0(old)3.214 E F1(and)3.754 E F0(ne)3.344 E(w)-.15 E F1 5.484
-(.I).31 G 2.985(f&a)-5.484 G .485(ppears in)-2.985 F F0(ne)3.345 E(w)
--.15 E F1 2.985(,i).31 G 2.985(ti)-2.985 G 2.985(sr)-2.985 G .485
-(eplaced with)-2.985 F F0(old)144.23 96 Q F1 5.041(.A).77 G .041
-(single backslash will quote the &.)-2.5 F(If)5.041 E F0(old)2.771 E F1
-.04(is null, it is set to the last)3.311 F F0(old)2.77 E F1 .04
-(substituted, or)3.31 F 2.54(,i)-.4 G 2.54(fn)-2.54 G(o)-2.54 E(pre)144
-108 Q 1.197(vious history substitutions took place, the last)-.25 F F0
-(string)4.037 E F1 1.197(in a)3.917 F/F2 10/Times-Bold@0 SF(!?)3.697 E
-F0(string)A F2([?])A F1 3.698(search. If)6.198 F F0(ne)4.058 E(w)-.15 E
-F1 1.198(is null,)4.008 F(each matching)144 120 Q F0(old)2.73 E F1
-(is deleted.)3.27 E F2(&)108 132 Q F1(Repeat the pre)144 132 Q
-(vious substitution.)-.25 E F2(g)108 144 Q F1 .267
-(Cause changes to be applied o)144 144 R -.15(ve)-.15 G 2.767(rt).15 G
-.267(he entire e)-2.767 F -.15(ve)-.25 G .267(nt line.).15 F .267
-(This is used in conjunction with \231)5.267 F F2(:s)A F1 2.767<9a28>C
-(e.g.,)-2.767 E<99>144 156 Q F2(:gs/)A F0(old)A F2(/)A F0(ne)A(w)-.15 E
-F2(/)A F1(\232\) or \231)A F2(:&)A F1 2.5(\232. If)B(used with \231)2.5
-E F2(:s)A F1(\232, an)A 2.5(yd)-.15 G
-(elimiter can be used in place of /, and the \214nal de-)-2.5 E
-(limiter is optional if it is the last character of the e)144 168 Q -.15
-(ve)-.25 G(nt line.).15 E(An)5 E F2(a)2.5 E F1(may be used as a synon)
-2.5 E(ym for)-.15 E F2(g)2.5 E F1(.)A F2(G)108 180 Q F1(Apply the follo)
-144 180 Q(wing \231)-.25 E F2(s)A F1 2.5<9a6f>C 2.5<7299>-2.5 G F2(&)
--2.5 E F1 2.5<9a6d>C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E
--.15(ve)-.25 G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 196.8
-Q(UIL)-.11 E(TIN COMMANDS)-1.007 E F1 .062
-(Unless otherwise noted, each b)108 208.8 R .062(uiltin command documen\
-ted in this section as accepting options preceded by)-.2 F F2<ad>108
-220.8 Q F1(accepts)3.077 E F2<adad>3.077 E F1 .577
-(to signify the end of the options.)3.077 F(The)5.577 E F2(:)3.077 E F1
-(,)A F2(true)3.077 E F1(,)A F2(false)3.077 E F1 3.077(,a)C(nd)-3.077 E
-F2(test)3.077 E F1(/)A F2([)A F1 -.2(bu)3.077 G .577
-(iltins do not accept options).2 F .461(and do not treat)108 232.8 R F2
-<adad>2.961 E F1(specially)2.961 E 5.461(.T)-.65 G(he)-5.461 E F2(exit)
-2.961 E F1(,)A F2(logout)2.961 E F1(,)A F2 -.18(re)2.961 G(tur).18 E(n)
--.15 E F1(,)A F2(br)2.961 E(eak)-.18 E F1(,)A F2(continue)2.961 E F1(,)A
-F2(let)2.961 E F1 2.961(,a)C(nd)-2.961 E F2(shift)2.961 E F1 -.2(bu)
-2.962 G .462(iltins accept and).2 F .261(process ar)108 244.8 R .261
-(guments be)-.18 F .261(ginning with)-.15 F F2<ad>2.761 E F1 .261
-(without requiring)2.761 F F2<adad>2.761 E F1 5.261(.O)C .261(ther b)
--5.261 F .26(uiltins that accept ar)-.2 F .26(guments b)-.18 F .26
-(ut are not)-.2 F 1.154(speci\214ed as accepting options interpret ar)
-108 256.8 R 1.154(guments be)-.18 F 1.154(ginning with)-.15 F F2<ad>
-3.654 E F1 1.154(as in)3.654 F -.25(va)-.4 G 1.154
-(lid options and require).25 F F2<adad>3.654 E F1(to)3.654 E(pre)108
-268.8 Q -.15(ve)-.25 G(nt this interpretation.).15 E F2(:)108 285.6 Q F1
-([)2.5 E F0(ar)A(guments)-.37 E F1(])A .452(No ef)144 297.6 R .452
-(fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding)
--.15 E F0(ar)3.282 E(guments)-.37 E F1 .451(and performing an)3.221 F
-2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. The)144 309.6 R
-(return status is zero.)2.5 E F2(.)108 326.4 Q F1([)2.5 E F2<ad70>A F0
-(path)2.5 E F1(])A F0(\214lename)2.5 E F1([)2.5 E F0(ar)A(guments)-.37 E
-F1(])A F2(sour)108 338.4 Q(ce)-.18 E F1([)2.5 E F2<ad70>A F0(path)2.5 E
-F1(])A F0(\214lename)2.5 E F1([)2.5 E F0(ar)A(guments)-.37 E F1(])A(The)
-144 350.4 Q F2(.)2.789 E F1 .289(command \()2.789 F F2(sour)A(ce)-.18 E
-F1 2.789(\)r)C .289(eads and e)-2.789 F -.15(xe)-.15 G .289
-(cute commands from).15 F F0(\214lename)4.699 E F1 .29
-(in the current shell en)2.969 F(viron-)-.4 E(ment and returns the e)144
-362.4 Q(xit status of the last command e)-.15 E -.15(xe)-.15 G
-(cuted from).15 E F0(\214lename)4.41 E F1(.).18 E(If)144 379.2 Q F0
-(\214lename)2.663 E F1 .163(does not contain a slash,)2.663 F F2(.)2.663
-E F1 .162(searches for it.)2.663 F .162(If the)5.162 F F2<ad70>2.662 E
-F1 .162(option is supplied,)2.662 F F2(.)2.662 E F1(treats)2.662 E F0
-(path)2.662 E F1 .162(as a)2.662 F .597
-(colon-separated list of directories in which to \214nd)144 391.2 R F0
-(\214lename)3.097 E F1 3.097(;o)C(therwise,)-3.097 E F2(.)3.097 E F1
-.598(uses the entries in)3.097 F/F4 9/Times-Bold@0 SF -.666(PA)3.098 G
-(TH)-.189 E F1 .303(to \214nd the directory containing)144 403.2 R F0
-(\214lename)4.713 E F1(.).18 E F0(\214lename)5.303 E F1 .303
-(does not need to be e)2.803 F -.15(xe)-.15 G 2.802(cutable. When).15 F
-F2(bash)2.802 E F1(is)2.802 E .459
-(not in posix mode, it searches the current directory if)144 415.2 R F0
-(\214lename)2.959 E F1 .459(is not found in)2.959 F F4 -.666(PA)2.959 G
-(TH)-.189 E/F5 9/Times-Roman@0 SF(,)A F1 -.2(bu)2.709 G 2.959(td).2 G
-.459(oes not)-2.959 F .6(search the current directory if)144 427.2 R F2
-<ad70>3.1 E F1 .6(is supplied.)3.1 F .6(If the)5.6 F F2(sour)3.1 E
-(cepath)-.18 E F1 .6(option to the)3.1 F F2(shopt)3.1 E F1 -.2(bu)3.1 G
-.6(iltin com-).2 F(mand is turned of)144 439.2 Q(f,)-.25 E F2(.)2.5 E F1
-(does not search)2.5 E F4 -.666(PA)2.5 G(TH)-.189 E F5(.)A F1 .649
-(If an)144 456 R(y)-.15 E F0(ar)3.149 E(guments)-.37 E F1 .649
-(are supplied, the)3.149 F 3.149(yb)-.15 G .649
-(ecome the positional parameters when)-3.149 F F0(\214lename)3.15 E F1
-.65(is e)3.15 F -.15(xe)-.15 G(cuted.).15 E
-(Otherwise the positional parameters are unchanged.)144 468 Q .499
-(If the)144 484.8 R F2<ad54>2.999 E F1 .499(option is enabled,)2.999 F
-F2(.)2.999 E F1 .499(inherits an)2.999 F 2.999(yt)-.15 G .499(rap on)
--2.999 F F2(DEB)2.998 E(UG)-.1 E F1 2.998(;i)C 2.998(fi)-2.998 G 2.998
-(ti)-2.998 G 2.998(sn)-2.998 G .498(ot, an)-2.998 F(y)-.15 E F2(DEB)
-2.998 E(UG)-.1 E F1 .498(trap string is)2.998 F(sa)144 496.8 Q -.15(ve)
--.2 G 3.26(da).15 G .76(nd restored around the call to)-3.26 F F2(.)3.26
-E F1 3.26(,a)C(nd)-3.26 E F2(.)3.26 E F1 .76(unsets the)3.26 F F2(DEB)
-3.26 E(UG)-.1 E F1 .76(trap while it e)3.26 F -.15(xe)-.15 G 3.26
-(cutes. If).15 F F2<ad54>3.26 E F1(is)3.26 E 1.077
-(not set, and the sourced \214le changes the)144 508.8 R F2(DEB)3.576 E
-(UG)-.1 E F1 1.076(trap, the ne)3.576 F 3.576(wv)-.25 G 1.076
-(alue persists after)-3.826 F F2(.)3.576 E F1(completes.)3.576 E .423
-(The return status is the status of the last command e)144 520.8 R -.15
-(xe)-.15 G .424(cuted from).15 F F0(\214lename)2.924 E F1 .424
-(\(0 if no commands are)2.924 F -.15(exe)144 532.8 S
-(cuted\), and non-zero if).15 E F0(\214lename)4.41 E F1
-(is not found or cannot be read.)2.68 E F2(alias)108 549.6 Q F1([)2.5 E
-F2<ad70>A F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C
-1.666(..)-.834 G(])-1.666 E -.4(Wi)144 561.6 S 2.601(th no ar).4 F 2.601
-(guments or with the)-.18 F F2<ad70>5.101 E F1(option,)5.101 E F2(alias)
-5.101 E F1 2.6(prints the list of aliases in the form)5.101 F F2(alias)
-5.1 E F0(name)144 573.6 Q F1(=)A F0(value)A F1 1.714
-(on standard output.)4.214 F 1.714(When ar)6.714 F 1.715
-(guments are supplied, de\214ne an alias for each)-.18 F F0(name)4.215 E
-F1(whose)144 585.6 Q F0(value)2.509 E F1 .009(is gi)2.509 F -.15(ve)-.25
-G 2.509(n. A).15 F .009(trailing space in)2.509 F F0(value)2.509 E F1
-.009(causes the ne)2.509 F .009(xt w)-.15 F .009(ord to be check)-.1 F
-.008(ed for alias substi-)-.1 F .026(tution when the alias is e)144
-597.6 R .026(xpanded during command parsing.)-.15 F -.15(Fo)5.026 G
-2.526(re).15 G(ach)-2.526 E F0(name)2.526 E F1 .027(in the ar)2.526 F
-.027(gument list for)-.18 F .304(which no)144 609.6 R F0(value)2.804 E
-F1 .304(is supplied, print the name and v)2.804 F .304
-(alue of the alias)-.25 F F0(name)2.804 E F1(.)A F2(alias)5.304 E F1
-.303(returns true unless a)2.804 F F0(name)144 621.6 Q F1(is gi)2.5 E
--.15(ve)-.25 G 2.5(n\().15 G(without a corresponding =)-2.5 E F0(value)A
-F1 2.5(\)f)C(or which no alias has been de\214ned.)-2.5 E F2(bg)108
-638.4 Q F1([)2.5 E F0(jobspec)A F1 1.666(...)2.5 G(])-1.666 E .744
-(Resume each suspended job)144 650.4 R F0(jobspec)3.244 E F1 .745
-(in the background, as if it had been started with)3.244 F F2(&)3.245 E
-F1 5.745(.I)C(f)-5.745 E F0(job-)4.985 E(spec)144 662.4 Q F1 .95
-(is not present, the shell uses its notion of the)3.76 F F0(curr)3.449 E
-.949(ent job)-.37 F F1(.)A F2(bg)5.949 E F0(jobspec)5.189 E F1 .949
-(returns 0 unless run)3.759 F .418(when job control is disabled or)144
-674.4 R 2.919(,w)-.4 G .419(hen run with job control enabled, an)-2.919
-F 2.919(ys)-.15 G(peci\214ed)-2.919 E F0(jobspec)2.919 E F1 -.1(wa)2.919
-G 2.919(sn).1 G(ot)-2.919 E(found or w)144 686.4 Q
-(as started without job control.)-.1 E F2(bind)108 703.2 Q F1([)2.5 E F2
-<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1 2.5(][)C F2(\255lsvSVX)-2.5 E F1
-(])A(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(64)190.395 E 0 Cg
-EP
-%%Page: 65 65
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(bind)108 84 Q F1([)2.5 E F2
-<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1 2.5(][)C F2<ad71>-2.5 E F0
-(function)2.5 E F1 2.5(][)C F2<ad75>-2.5 E F0(function)2.5 E F1 2.5(][)C
-F2<ad72>-2.5 E F0 -.1(ke)2.5 G(yseq)-.2 E F1(])A F2(bind)108 96 Q F1([)
-2.5 E F2<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1(])A F2<ad66>2.5 E F0
-(\214lename)2.5 E F2(bind)108 108 Q F1([)2.5 E F2<ad6d>A F0 -.1(ke)2.5 G
-(ymap)-.2 E F1(])A F2<ad78>2.5 E F0 -.1(ke)2.5 G(yseq)-.2 E F1([:])A F0
-(shell\255command)2.5 E F2(bind)108 120 Q F1([)2.5 E F2<ad6d>A F0 -.1
-(ke)2.5 G(ymap)-.2 E F1(])A F0 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F0
-(function\255name)A F2(bind)108 132 Q F1([)2.5 E F2<ad6d>A F0 -.1(ke)2.5
-G(ymap)-.2 E F1(])A F2<ad70>2.5 E F1(|)A F2<ad50>A F1([)2.5 E F0 -.37
-(re)C(adline\255command).37 E F1(])A F2(bind)108 144 Q F1([)2.5 E F2
-<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1(])A F0 -.1(ke)2.5 G(yseq)-.2 E F1
-(:)A F0 -.37(re)C(adline\255command).37 E F2(bind)108 156 Q F0 -.37(re)
-2.5 G(adline-command-line).37 E F1 .239(Display current)144 168 R F2
--.18(re)2.739 G(adline).18 E F1 -.1(ke)2.739 G 2.739(ya)-.05 G .239
-(nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238
-(equence to a).15 F F2 -.18(re)2.738 G(adline).18 E F1 .238(function or)
-2.738 F .211(macro or to a shell command, or set a)144 180 R F2 -.18(re)
-2.711 G(adline).18 E F1 -.25(va)2.711 G 2.711(riable. Each).25 F .211
-(non-option ar)2.711 F .212(gument is a k)-.18 F .512 -.15(ey b)-.1 H
-(ind-).15 E .259(ing or command as it w)144 192 R .259(ould appear in a)
--.1 F F2 -.18(re)2.759 G(adline).18 E F1 .259
-(initialization \214le such as)2.759 F F0(.inputr)2.989 E(c)-.37 E F1
-2.758(,b).31 G .258(ut each bind-)-2.958 F .781
-(ing or command must be passed as a separate ar)144 204 R .782(gument; \
-e.g., \010"\\C\255x\\C\255r": re\255read\255init\255\214le\010.)-.18 F
-(In)5.782 E .193(the follo)144 216 R .192(wing descriptions, output a)
--.25 F -.25(va)-.2 G .192
-(ilable to be re-read is formatted as commands that w).25 F .192
-(ould ap-)-.1 F .94(pear in a)144 228 R F2 -.18(re)3.44 G(adline).18 E
-F1 .94(initialization \214le or that w)3.44 F .941
-(ould be supplied as indi)-.1 F .941(vidual ar)-.25 F .941(guments to a)
--.18 F F2(bind)3.441 E F1 2.5(command. Options,)144 240 R
-(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F2<ad6d>144 252 Q F0 -.1(ke)2.5 G(ymap)-.2 E F1(Use)180 264 Q F0
--.1(ke)5.159 G(ymap)-.2 E F1 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658
-(map to be af).15 F 2.658(fected by the subsequent bindings.)-.25 F
-(Acceptable)7.658 E F0 -.1(ke)180 276 S(ymap)-.2 E F1 3.192(names are)
-5.882 F F0 3.192(emacs, emacs\255standar)5.692 F 3.193
-(d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(vi\255command)180 288 Q F1 4.09(,a)C(nd)-4.09 E F0(vi\255insert)4.38 E
-F1(.).68 E F0(vi)6.589 E F1 1.589(is equi)4.089 F -.25(va)-.25 G 1.589
-(lent to).25 F F0(vi\255command)4.089 E F1(\()4.089 E F0(vi\255mo)A(ve)
--.1 E F1 1.589(is also a syn-)4.089 F(on)180 300 Q(ym\);)-.15 E F0
-(emacs)2.5 E F1(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F0
-(emacs\255standar)2.5 E(d)-.37 E F1(.)A F2<ad6c>144 312 Q F1
-(List the names of all)180 312 Q F2 -.18(re)2.5 G(adline).18 E F1
-(functions.)2.5 E F2<ad70>144 324 Q F1(Display)180 324 Q F2 -.18(re)
-2.981 G(adline).18 E F1 .481(function names and bindings in such a w)
-2.981 F .481(ay that the)-.1 F 2.981(yc)-.15 G .482(an be used as an)
--2.981 F(ar)180 336 Q .193(gument to a subsequent)-.18 F F2(bind)2.693 E
-F1 .192(command or in a)2.692 F F2 -.18(re)2.692 G(adline).18 E F1 .192
-(initialization \214le.)2.692 F .192(If ar)5.192 F(guments)-.18 E 1.523
-(remain after option processing,)180 348 R F2(bind)4.023 E F1 1.523
-(treats them as)4.023 F F2 -.18(re)4.023 G(adline).18 E F1 1.524
-(command names and re-)4.024 F(stricts output to those names.)180 360 Q
-F2<ad50>144 372 Q F1 .174(List current)180 372 R F2 -.18(re)2.674 G
-(adline).18 E F1 .173(function names and bindings.)2.674 F .173(If ar)
-5.173 F .173(guments remain after option pro-)-.18 F(cessing,)180 384 Q
-F2(bind)4.854 E F1 2.354(treats them as)4.854 F F2 -.18(re)4.854 G
-(adline).18 E F1 2.354(command names and restricts output to those)4.854
-F(names.)180 396 Q F2<ad73>144 408 Q F1(Display)180 408 Q F2 -.18(re)
-3.655 G(adline).18 E F1 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155
-(equences bound to macros and the strings the)-3.655 F 3.655(yo)-.15 G
-1.155(utput in such a)-3.655 F -.1(wa)180 420 S 2.554(yt).1 G .054
-(hat the)-2.554 F 2.554(yc)-.15 G .055(an be used as an ar)-2.554 F .055
-(gument to a subsequent)-.18 F F2(bind)2.555 E F1 .055(command or in a)
-2.555 F F2 -.18(re)2.555 G(adline).18 E F1(initialization \214le.)180
-432 Q F2<ad53>144 444 Q F1(Display)180 444 Q F2 -.18(re)2.5 G(adline).18
-E F1 -.1(ke)2.5 G 2.5(ys)-.05 G
-(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G
-(utput.)-2.5 E F2<ad76>144 456 Q F1(Display)180 456 Q F2 -.18(re)2.784 G
-(adline).18 E F1 -.25(va)2.784 G .284(riable names and v).25 F .284
-(alues in such a w)-.25 F .283(ay that the)-.1 F 2.783(yc)-.15 G .283
-(an be used as an ar)-2.783 F(-)-.2 E(gument to a subsequent)180 468 Q
-F2(bind)2.5 E F1(command or in a)2.5 E F2 -.18(re)2.5 G(adline).18 E F1
-(initialization \214le.)2.5 E F2<ad56>144 480 Q F1(List current)180 480
-Q F2 -.18(re)2.5 G(adline).18 E F1 -.25(va)2.5 G(riable names and v).25
-E(alues.)-.25 E F2<ad66>144 492 Q F0(\214lename)2.5 E F1(Read k)180 504
-Q .3 -.15(ey b)-.1 H(indings from).15 E F0(\214lename)2.5 E F1(.)A F2
-<ad71>144 516 Q F0(function)2.5 E F1(Display k)180 528 Q .3 -.15(ey s)
--.1 H(equences that in).15 E -.2(vo)-.4 G .2 -.1(ke t).2 H(he named).1 E
-F2 -.18(re)2.5 G(adline).18 E F0(function)2.5 E F1(.)A F2<ad75>144 540 Q
-F0(function)2.5 E F1(Unbind all k)180 552 Q .3 -.15(ey s)-.1 H
-(equences bound to the named).15 E F2 -.18(re)2.5 G(adline).18 E F0
-(function)2.5 E F1(.)A F2<ad72>144 564 Q F0 -.1(ke)2.5 G(yseq)-.2 E F1
-(Remo)180 576 Q .3 -.15(ve a)-.15 H .3 -.15(ny c).15 H
-(urrent binding for).15 E F0 -.1(ke)2.5 G(yseq)-.2 E F1(.)A F2<ad78>144
-588 Q F0 -.1(ke)2.5 G(yseq)-.2 E F2([: ])A F0(shell\255command)A F1
-(Cause)180 600 Q F0(shell\255command)4.344 E F1 1.844(to be e)4.344 F
--.15(xe)-.15 G 1.844(cuted whene).15 F -.15(ve)-.25 G(r).15 E F0 -.1(ke)
-4.345 G(yseq)-.2 E F1 1.845(is entered.)4.345 F 1.845(The separator be-)
-6.845 F(tween)180 612 Q F0 -.1(ke)3.016 G(yseq)-.2 E F1(and)3.016 E F0
-(shell\255command)3.016 E F1 .516
-(is either whitespace or a colon optionally follo)3.016 F .515(wed by)
--.25 F 3.458(whitespace. If)180 624 R .958(the separator is whitespace,)
-3.458 F F0(shell\255command)3.458 E F1 .958(must be enclosed in double)
-3.458 F .623(quotes and)180 636 R F2 -.18(re)3.123 G(adline).18 E F1
--.15(ex)3.123 G .623(pands an).15 F 3.123(yo)-.15 G 3.123(fi)-3.123 G
-.623(ts special backslash-escapes in)-3.123 F F0(shell\255command)3.122
-E F1(be-)3.122 E .712(fore sa)180 648 R .712(ving it.)-.2 F .713
-(If the separator is a colon, an)5.712 F 3.213(ye)-.15 G .713
-(nclosing double quotes are optional, and)-3.213 F F2 -.18(re)180 660 S
-(adline).18 E F1 .099(does not e)2.599 F .099
-(xpand the command string before sa)-.15 F .098(ving it.)-.2 F .098
-(Since the entire k)5.098 F .398 -.15(ey b)-.1 H(ind-).15 E .64(ing e)
-180 672 R .64(xpression must be a single ar)-.15 F .641
-(gument, it should be enclosed in single quotes.)-.18 F(When)5.641 E F0
-(shell\255command)180 684 Q F1 .563(is e)3.063 F -.15(xe)-.15 G .563
-(cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE)
-3.063 E F1 -.25(va)2.813 G .563(riable to the contents).25 F .319
-(of the)180 696 R F2 -.18(re)2.82 G(adline).18 E F1 .32(line b)2.82 F
-(uf)-.2 E .32(fer and the)-.25 F F3(READLINE_POINT)2.82 E F1(and)2.57 E
-F3(READLINE_MARK)2.82 E F1 -.25(va)2.57 G(riables).25 E .546
-(to the current location of the insertion point and the sa)180 708 R
--.15(ve)-.2 G 3.045(di).15 G .545(nsertion point \(the mark\), re-)
--3.045 F(specti)180 720 Q -.15(ve)-.25 G(ly).15 E 10.204(.T)-.65 G 5.204
-(he shell assigns an)-10.204 F 7.704(yn)-.15 G 5.205(umeric ar)-7.704 F
-5.205(gument the user supplied to the)-.18 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(65)190.395 E 0 Cg EP
-%%Page: 66 66
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 9/Times-Bold@0 SF(READLINE_ARGUMENT)180 84 Q F1
--.25(va)2.786 G 3.036(riable. If).25 F .535(there w)3.035 F .535
-(as no ar)-.1 F .535(gument, that v)-.18 F .535(ariable is not set.)-.25
-F(If)5.535 E 4.68(the e)180 96 R -.15(xe)-.15 G 4.681
-(cuted command changes the v).15 F 4.681(alue of an)-.25 F 7.181(yo)-.15
-G(f)-7.181 E F2(READLINE_LINE)7.181 E/F3 9/Times-Roman@0 SF(,)A F2
-(READ-)6.931 E(LINE_POINT)180 108 Q F3(,)A F1(or)3.581 E F2
-(READLINE_MARK)3.831 E F3(,)A F1 1.331(those ne)3.581 F 3.831(wv)-.25 G
-1.33(alues will be re\215ected in the editing)-4.081 F(state.)180 120 Q
-/F4 10/Times-Bold@0 SF<ad58>144 132 Q F1 .829(List all k)180 132 R 1.129
--.15(ey s)-.1 H .829
-(equences bound to shell commands and the associated commands in a for)
-.15 F(-)-.2 E(mat that can be reused as an ar)180 144 Q
-(gument to a subsequent)-.18 E F4(bind)2.5 E F1(command.)2.5 E
-(The return v)144 160.8 Q(alue is 0 unless an unrecognized option is su\
-pplied or an error occurred.)-.25 E F4(br)108 177.6 Q(eak)-.18 E F1([)
-2.5 E F0(n)A F1(])A .012(Exit from within a)144 189.6 R F4 -.25(fo)2.512
-G(r).25 E F1(,)A F4(while)2.512 E F1(,)A F4(until)2.512 E F1 2.512(,o)C
-(r)-2.512 E F4(select)2.512 E F1 2.512(loop. If)2.512 F F0(n)2.512 E F1
-.011(is speci\214ed,)2.512 F F4(br)2.511 E(eak)-.18 E F1 -.15(ex)2.511 G
-(its).15 E F0(n)2.511 E F1 .011(enclosing loops.)2.511 F F0(n)144.36
-201.6 Q F1 .632(must be)3.372 F/F5 10/Symbol SF<b3>3.132 E F1 3.132
-(1. If)3.132 F F0(n)3.492 E F1 .632(is greater than the number of enclo\
-sing loops, all enclosing loops are e)3.372 F(xited.)-.15 E
-(The return v)144 213.6 Q(alue is 0 unless)-.25 E F0(n)2.5 E F1
-(is not greater than or equal to 1.)2.5 E F4 -.2(bu)108 230.4 S(iltin).2
-E F0(shell\255b)2.5 E(uiltin)-.2 E F1([)2.5 E F0(ar)A(guments)-.37 E F1
-(])A(Ex)144 242.4 Q 1.261(ecute the speci\214ed shell b)-.15 F(uiltin)
--.2 E F0(shell\255b)3.761 E(uiltin)-.2 E F1 3.761(,p)C 1.261(assing it)
--3.761 F F0(ar)4.091 E(guments)-.37 E F1 3.761(,a).27 G 1.26
-(nd return its e)-3.761 F 1.26(xit status.)-.15 F 1.053(This is useful \
-when de\214ning a function whose name is the same as a shell b)144 254.4
-R 1.053(uiltin, retaining the)-.2 F 1.166(functionality of the b)144
-266.4 R 1.166(uiltin within the function.)-.2 F(The)6.166 E F4(cd)3.666
-E F1 -.2(bu)3.666 G 1.165(iltin is commonly rede\214ned this w).2 F(ay)
--.1 E(.)-.65 E(The return status is f)144 278.4 Q(alse if)-.1 E F0
-(shell\255b)2.84 E(uiltin)-.2 E F1(is not a shell b)2.74 E
-(uiltin command.)-.2 E F4(caller)108 295.2 Q F1([)2.5 E F0 -.2(ex)C(pr)
-.2 E F1(])A .253(Returns the conte)144 307.2 R .254(xt of an)-.15 F
-2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254
-(ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F4(.)2.754 E F1(or)2.754 E F4(sour)144 319.2 Q
-(ce)-.18 E F1 -.2(bu)2.5 G(iltins\).).2 E -.4(Wi)144 336 S(thout).4 E F0
--.2(ex)3.294 G(pr).2 E F1(,)A F4(caller)3.294 E F1 .793(displays the li\
-ne number and source \214lename of the current subroutine call.)3.294 F
-.124(If a non-ne)144 348 R -.05(ga)-.15 G(ti).05 E .424 -.15(ve i)-.25 H
-(nte).15 E .124(ger is supplied as)-.15 F F0 -.2(ex)2.624 G(pr).2 E F1
-(,)A F4(caller)2.624 E F1 .124(displays the line number)2.624 F 2.624
-(,s)-.4 G .124(ubroutine name, and)-2.624 F .743
-(source \214le corresponding to that position in the current e)144 360 R
--.15(xe)-.15 G .743(cution call stack.).15 F .742(This e)5.743 F .742
-(xtra informa-)-.15 F(tion may be used, for e)144 372 Q
-(xample, to print a stack trace.)-.15 E(The current frame is frame 0.)5
-E .1(The return v)144 388.8 R .1(alue is 0 unless the shell is not e)
--.25 F -.15(xe)-.15 G .101(cuting a subroutine call or).15 F F0 -.2(ex)
-2.601 G(pr).2 E F1 .101(does not correspond)2.601 F(to a v)144 400.8 Q
-(alid position in the call stack.)-.25 E F4(cd)108 417.6 Q F1([)2.5 E F4
-<ad4c>A F1 2.5(][)C(\255@] [)-2.5 E F0(dir)A F1(])A F4(cd \255P)108
-429.6 Q F1([)2.5 E F4<ad65>A F1 2.5(][)C(\255@] [)-2.5 E F0(dir)A F1(])A
-.322(Change the current directory to)144 441.6 R F0(dir)2.822 E F1 5.322
-(.i)C(f)-5.322 E F0(dir)2.822 E F1 .321(is not supplied, the v)2.822 F
-.321(alue of the)-.25 F F2(HOME)2.821 E F1 .321(shell v)2.571 F .321
-(ariable is)-.25 F .74(used as)144 453.6 R F0(dir)3.24 E F1 5.74(.T)C
-.74(he v)-5.74 F(ariable)-.25 E F2(CDP)3.24 E -.855(AT)-.666 G(H).855 E
-F1 -.15(ex)2.99 G .74(ists, and).15 F F0(dir)3.24 E F1 .74(does not be)
-3.24 F .74(gin with a slash \(/\),)-.15 F F4(cd)3.24 E F1 .741
-(uses it as a)3.24 F 1.837
-(search path: the shell searches each directory name in)144 465.6 R F2
-(CDP)4.336 E -.855(AT)-.666 G(H).855 E F1(for)4.086 E F0(dir)4.336 E F1
-6.836(.A)C(lternati)-6.836 E 2.136 -.15(ve d)-.25 H(irectory).15 E .447
-(names in)144 477.6 R F2(CDP)2.947 E -.855(AT)-.666 G(H).855 E F1 .447
-(are separated by a colon \(:\).)2.697 F 2.948(An)5.448 G .448
-(ull directory name in)-2.948 F F2(CDP)2.948 E -.855(AT)-.666 G(H).855 E
-F1 .448(is the same as)2.698 F(the current directory)144 489.6 Q 2.5(,i)
--.65 G(.e., \231.\232.)-2.5 E(The)144 506.4 Q F4<ad50>2.915 E F1 .415
-(option causes)2.915 F F4(cd)2.915 E F1 .415(to use the ph)2.915 F .414
-(ysical directory structure by resolving symbolic links while)-.05 F
-(tra)144 518.4 Q -.15(ve)-.2 G(rsing).15 E F0(dir)2.673 E F1 .173
-(and before processing instances of)2.673 F F0 1.666(..)4.339 G F1(in)
-2.673 E F0(dir)2.673 E F1 .174(\(see also the)2.673 F F4<ad50>2.674 E F1
-.174(option to the)2.674 F F4(set)2.674 E F1 -.2(bu)2.674 G(iltin).2 E
-(command\).)144 530.4 Q(The)144 547.2 Q F4<ad4c>3.039 E F1 .539
-(option forces)3.039 F F4(cd)3.039 E F1 .539(to follo)3.039 F 3.039(ws)
--.25 G .538
-(ymbolic links by resolving the link after processing instances)-3.039 F
-(of)144 559.2 Q F0 1.666(..)4.414 G F1(in)2.748 E F0(dir)2.748 E F1
-5.248(.I)C(f)-5.248 E F0 1.666(..)4.414 G F1 .248(appears in)2.748 F F0
-(dir)2.748 E F1(,)A F4(cd)2.748 E F1 .249(processes it by remo)2.749 F
-.249(ving the immediately pre)-.15 F .249(vious pathname)-.25 F .202
-(component from)144 571.2 R F0(dir)2.702 E F1 2.702(,b)C .202
-(ack to a slash or the be)-2.702 F .202(ginning of)-.15 F F0(dir)2.702 E
-F1 2.701(,a)C .201(nd v)-2.701 F .201(erifying that the portion of)-.15
-F F0(dir)2.701 E F1(it)2.701 E .282
-(has processed to that point is still a v)144 583.2 R .282
-(alid directory name after remo)-.25 F .282
-(ving the pathname component.)-.15 F .624(If it is not a v)144 595.2 R
-.624(alid directory name,)-.25 F F4(cd)3.124 E F1 .624
-(returns a non-zero status.)3.124 F .623(If neither)5.624 F F4<ad4c>
-3.123 E F1(nor)3.123 E F4<ad50>3.123 E F1 .623(is supplied,)3.123 F F4
-(cd)144 607.2 Q F1(beha)2.5 E -.15(ve)-.2 G 2.5(sa).15 G 2.5(si)-2.5 G
-(f)-2.5 E F4<ad4c>2.5 E F1(had been supplied.)2.5 E .245(If the)144 624
-R F4<ad65>2.745 E F1 .245(option is supplied with)2.745 F F4<ad50>2.745
-E F1 2.745(,a)C(nd)-2.745 E F4(cd)2.745 E F1 .245
-(cannot successfully determine the current w)2.745 F .245(orking di-)-.1
-F(rectory after a successful directory change, it will return a non-zer\
-o status.)144 636 Q .243(On systems that support it, the)144 652.8 R F4
-<ad40>2.743 E F1 .242(option presents the e)2.743 F .242(xtended attrib)
--.15 F .242(utes associated with a \214le as)-.2 F 2.5(ad)144 664.8 S
-(irectory)-2.5 E(.)-.65 E(An ar)144 681.6 Q(gument of)-.18 E F4<ad>2.5 E
-F1(is con)2.5 E -.15(ve)-.4 G(rted to).15 E F2($OLDPWD)2.5 E F1
-(before attempting the directory change.)2.25 E(If)144 698.4 Q F4(cd)3 E
-F1 .5(uses a non-empty directory name from)3 F F2(CDP)3.001 E -.855(AT)
--.666 G(H,).855 E F1 .501(or if)2.751 F F4<ad>3.001 E F1 .501
-(is the \214rst ar)3.001 F .501(gument, and the direc-)-.18 F 1.243
-(tory change is successful,)144 710.4 R F4(cd)3.743 E F1 1.243
-(writes the absolute pathname of the ne)3.743 F 3.742(ww)-.25 G 1.242
-(orking directory to the)-3.842 F(standard output.)144 722.4 Q
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(66)190.395 E 0 Cg EP
-%%Page: 67 67
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.113(If the directory change is successful,)144 84
-R/F2 10/Times-Bold@0 SF(cd)3.613 E F1 1.113(sets the v)3.613 F 1.113
-(alue of the)-.25 F F2(PWD)3.613 E F1(en)3.613 E 1.113(vironment v)-.4 F
-1.114(ariable to the)-.25 F(ne)144 96 Q 4.306(wd)-.25 G 1.806
-(irectory name, and sets the)-4.306 F F2(OLDPWD)4.306 E F1(en)4.306 E
-1.806(vironment v)-.4 F 1.806(ariable to the v)-.25 F 1.805
-(alue of the current)-.25 F -.1(wo)144 108 S
-(rking directory before the change.).1 E(The return v)144 124.8 Q
-(alue is true if the directory w)-.25 E(as successfully changed; f)-.1 E
-(alse otherwise.)-.1 E F2(command)108 141.6 Q F1([)2.5 E F2(\255pVv)A F1
-(])A F0(command)2.5 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])
--1.666 E(The)144 153.6 Q F2(command)3.078 E F1 -.2(bu)3.078 G .578
-(iltin runs).2 F F0(command)3.278 E F1(with)3.848 E F0(ar)3.408 E(gs)
--.37 E F1 .579(suppressing the normal shell function lookup for)3.348 F
-F0(command)144 165.6 Q F1 6.346(.O)C 1.346(nly b)-6.346 F 1.345
-(uiltin commands or commands found in the)-.2 F/F3 9/Times-Bold@0 SF
--.666(PA)3.845 G(TH)-.189 E F1(named)3.595 E F0(command)3.845 E F1 1.345
-(are e)3.845 F -.15(xe)-.15 G(-).15 E 2.714(cuted. If)144 177.6 R(the)
-2.714 E F2<ad70>2.714 E F1 .214(option is supplied, the search for)2.714
-F F0(command)2.914 E F1 .214(is performed using a def)3.484 F .215
-(ault v)-.1 F .215(alue for)-.25 F F3 -.666(PA)144 189.6 S(TH)-.189 E F1
-(that is guaranteed to \214nd all of the standard utilities.)2.25 E .273
-(If either the)144 206.4 R F2<ad56>2.773 E F1(or)2.773 E F2<ad76>2.773 E
-F1 .273(option is supplied,)2.773 F F2(command)2.773 E F1 .273
-(prints a description of)2.773 F F0(command)2.973 E F1 5.273(.T).77 G
-(he)-5.273 E F2<ad76>2.773 E F1(op-)2.772 E .436
-(tion displays a single w)144 218.4 R .437
-(ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G
--.1(ke).2 G F0(command)3.237 E F1 2.937(;t).77 G(he)-2.937 E F2<ad56>
-2.937 E F1(option produces a more v)144 230.4 Q(erbose description.)-.15
-E .632(If the)144 247.2 R F2<ad56>3.131 E F1(or)3.131 E F2<ad76>3.131 E
-F1 .631(option is supplied, the e)3.131 F .631(xit status is zero if)
--.15 F F0(command)3.331 E F1 -.1(wa)3.901 G 3.131(sf).1 G .631
-(ound, and non-zero if)-3.131 F 2.809(not. If)144 259.2 R .309
-(neither option is supplied and an error occurred or)2.809 F F0(command)
-3.01 E F1 .31(cannot be found, the e)3.58 F .31(xit sta-)-.15 F
-(tus is 127.)144 271.2 Q(Otherwise, the e)5 E(xit status of the)-.15 E
-F2(command)2.5 E F1 -.2(bu)2.5 G(iltin is the e).2 E(xit status of)-.15
-E F0(command)2.7 E F1(.).77 E F2(compgen)108 288 Q F1([)2.5 E F2<ad56>A
-F0(varname)2.5 E F1 2.5(][)C F0(option)-2.5 E F1 2.5(][)C F0(wor)-2.5 E
-(d)-.37 E F1(])A .013(Generate possible completion matches for)144 300 R
-F0(wor)2.513 E(d)-.37 E F1 .013(according to the)2.513 F F0(option)2.513
-E F1 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E 1.216
-(accepted by the)144 312 R F2(complete)3.716 E F1 -.2(bu)3.716 G 1.216
-(iltin with the e).2 F 1.216(xceptions of)-.15 F F2<ad70>3.716 E F1(,)A
-F2<ad72>3.717 E F1(,)A F2<ad44>3.717 E F1(,)A F2<ad45>3.717 E F1 3.717
-(,a)C(nd)-3.717 E F2<ad49>3.717 E F1 3.717(,a)C 1.217(nd write the)
--3.717 F(matches to the standard output.)144 324 Q 1.376(If the)144
-340.8 R F2<ad56>3.876 E F1 1.376(option is supplied,)3.876 F F2(compgen)
-3.876 E F1 1.376(stores the generated completions into the inde)3.876 F
--.15(xe)-.15 G 3.875(da).15 G(rray)-3.875 E -.25(va)144 352.8 S(riable)
-.25 E F0(varname)2.5 E F1
-(instead of writing them to the standard output.)2.5 E .194
-(When using the)144 369.6 R F2<ad46>2.694 E F1(or)2.694 E F2<ad43>2.694
-E F1 .195(options, the v)2.695 F .195(arious shell v)-.25 F .195
-(ariables set by the programmable completion)-.25 F -.1(fa)144 381.6 S
-(cilities, while a).1 E -.25(va)-.2 G(ilable, will not ha).25 E .3 -.15
-(ve u)-.2 H(seful v).15 E(alues.)-.25 E .352
-(The matches will be generated in the same w)144 398.4 R .352
-(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
-410.4 R(If)5.02 E F0(wor)2.52 E(d)-.37 E F1 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 422.4 Q F0(wor)2.5 E(d)-.37 E F1
-(will be displayed or stored.)2.5 E(The return v)144 439.2 Q
-(alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F2
-(complete)108 456 Q F1([)2.5 E F2(\255abcdefgjksuv)A F1 2.5(][)C F2
-<ad6f>-2.5 E F0(comp-option)2.5 E F1 2.5(][)C F2(\255DEI)-2.5 E F1 2.5
-(][)C F2<ad41>-2.5 E F0(action)2.5 E F1(])A([)144 468 Q F2<ad47>A F0
-(globpat)2.5 E F1 2.5(][)C F2<ad57>-2.5 E F0(wor)2.5 E(dlist)-.37 E F1
-2.5(][)C F2<ad46>-2.5 E F0(function)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0
-(command)2.5 E F1(])A([)144 480 Q F2<ad58>A F0(\214lterpat)2.5 E F1 2.5
-(][)C F2<ad50>-2.5 E F0(pr)2.5 E(e\214x)-.37 E F1 2.5(][)C F2<ad53>-2.5
-E F0(suf)2.5 E<8c78>-.18 E F1(])A F0(name)2.5 E F1([)2.5 E F0(name)A F1
-1.666(...)2.5 G(])-1.666 E F2(complete \255pr)108 492 Q F1([)2.5 E F2
-(\255DEI)A F1 2.5(][)C F0(name)-2.5 E F1 1.666(...)2.5 G(])-1.666 E
-(Specify ho)144 504 Q 2.5(wa)-.25 G -.18(rg)-2.5 G(uments to each).18 E
-F0(name)2.5 E F1(should be completed.)2.5 E .11(If the)144 520.8 R F2
-<ad70>2.61 E F1 .11(option is supplied, or if no options or)2.61 F F0
-(name)2.609 E F1 2.609(sa)C .109(re supplied, print e)-2.609 F .109
-(xisting completion spec-)-.15 F .924(i\214cations in a w)144 532.8 R
-.924(ay that allo)-.1 F .924(ws them to be reused as input.)-.25 F(The)
-5.924 E F2<ad72>3.424 E F1 .924(option remo)3.424 F -.15(ve)-.15 G 3.425
-(sac).15 G(ompletion)-3.425 E(speci\214cation for each)144 544.8 Q F0
-(name)2.5 E F1 2.5(,o)C .8 -.4(r, i)-2.5 H 2.5(fn).4 G(o)-2.5 E F0(name)
-2.5 E F1 2.5(sa)C(re supplied, all completion speci\214cations.)-2.5 E
-(The)144 561.6 Q F2<ad44>2.585 E F1 .085(option indicates that other su\
-pplied options and actions should apply to the \231def)2.585 F .084
-(ault\232 com-)-.1 F .032(mand completion; that is, completion attempte\
-d on a command for which no completion has pre)144 573.6 R(vi-)-.25 E
-.46(ously been de\214ned.)144 585.6 R(The)5.46 E F2<ad45>2.96 E F1 .459
-(option indicates that other supplied options and actions should apply)
-2.959 F .169(to \231empty\232 command completion; that is, completion a\
-ttempted on a blank line.)144 597.6 R(The)5.17 E F2<ad49>2.67 E F1 .17
-(option in-)2.67 F 1.025(dicates that other supplied options and action\
-s should apply to completion on the initial non-as-)144 609.6 R .281
-(signment w)144 621.6 R .281
-(ord on the line, or after a command delimiter such as)-.1 F F2(;)2.781
-E F1(or)2.781 E F2(|)2.781 E F1 2.781(,w)C .282(hich is usually command)
--2.781 F .6(name completion.)144 633.6 R .599
-(If multiple options are supplied, the)5.6 F F2<ad44>3.099 E F1 .599
-(option tak)3.099 F .599(es precedence o)-.1 F -.15(ve)-.15 G(r).15 E F2
-<ad45>3.099 E F1 3.099(,a)C(nd)-3.099 E .186(both tak)144 645.6 R 2.686
-(ep)-.1 G .186(recedence o)-2.686 F -.15(ve)-.15 G(r).15 E F2<ad49>2.686
-E F1 5.186(.I)C 2.686(fa)-5.186 G .486 -.15(ny o)-2.686 H(f).15 E F2
-<ad44>2.686 E F1(,)A F2<ad45>2.686 E F1 2.686(,o)C(r)-2.686 E F2<ad49>
-2.686 E F1 .186(are supplied, an)2.686 F 2.686(yo)-.15 G(ther)-2.686 E
-F0(name)2.686 E F1(ar)2.687 E .187(guments are)-.18 F(ignored; these co\
-mpletions only apply to the case speci\214ed by the option.)144 657.6 Q
-.443(The process of applying these completion speci\214cations when att\
-empting w)144 674.4 R .442(ord completion)-.1 F .442(is de-)5.442 F
-(scribed abo)144 686.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F1(.)A .555
-(Other options, if speci\214ed, ha)144 703.2 R .855 -.15(ve t)-.2 H .555
-(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
-(guments to the)-.18 F F2<ad47>3.056 E F1(,)A F2<ad57>3.056 E F1 3.056
-(,a)C(nd)-3.056 E F2<ad58>3.056 E F1 .723(options \(and, if necessary)
-144 715.2 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F1(and)3.223 E
-F2<ad53>3.223 E F1 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
-(sion before the)144 727.2 Q F2(complete)2.5 E F1 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(67)190.395 E 0 Cg EP
-%%Page: 68 68
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<ad6f>144 84 Q F0(comp-option)
-2.5 E F1(The)184 96 Q F0(comp-option)2.79 E F1 .291(controls se)2.791 F
--.15(ve)-.25 G .291(ral aspects of the compspec').15 F 2.791(sb)-.55 G
-(eha)-2.791 E .291(vior be)-.2 F .291(yond the simple)-.15 F
-(generation of completions.)184 108 Q F0(comp-option)5 E F1
-(may be one of:)2.5 E F2(bashdefault)184 120 Q F1 .281
-(Perform the rest of the def)224 132 R(ault)-.1 E F2(bash)2.781 E F1
-.281(completions if the compspec generates no)2.781 F(matches.)224 144 Q
-F2(default)184 156 Q F1(Use)224 156 Q F2 -.18(re)5.085 G(adline).18 E F1
-3.685 -.55('s d)D(ef).55 E 2.586
-(ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 168 Q F2(dir)184 180 Q(names)-.15 E F1(Perform directory name compl\
-etion if the compspec generates no matches.)224 192 Q F2(\214lenames)184
-204 Q F1 -.7(Te)224 216 S(ll).7 E F2 -.18(re)4.104 G(adline).18 E F1
-1.604(that the compspec generates \214lenames, so it can perform an)
-4.104 F(y)-.15 E .291(\214lename\255speci\214c processing \(such as add\
-ing a slash to directory names, quot-)224 228 R .904
-(ing special characters, or suppressing trailing spaces\).)224 240 R
-.903(This is intended to be)5.904 F(used with shell functions.)224 252 Q
-F2(fullquote)184 264 Q F1 -.7(Te)224 276 S(ll).7 E F2 -.18(re)2.5 G
-(adline).18 E F1(to quote all the completed w)2.5 E(ords e)-.1 E -.15
-(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15 G
-(re not \214lenames.)-2.5 E F2(noquote)184 288 Q F1 -.7(Te)224 288 S(ll)
-.7 E F2 -.18(re)3.096 G(adline).18 E F1 .597
-(not to quote the completed w)3.096 F .597(ords if the)-.1 F 3.097(ya)
--.15 G .597(re \214lenames \(quoting)-3.097 F(\214lenames is the def)224
-300 Q(ault\).)-.1 E F2(nosort)184 312 Q F1 -.7(Te)224 312 S(ll).7 E F2
--.18(re)2.5 G(adline).18 E F1
-(not to sort the list of possible completions alphabetically)2.5 E(.)
--.65 E F2(nospace)184 324 Q F1 -.7(Te)224 324 S(ll).7 E F2 -.18(re)2.534
-G(adline).18 E F1 .034(not to append a space \(the def)2.534 F .033
-(ault\) to w)-.1 F .033(ords completed at the end)-.1 F(of the line.)224
-336 Q F2(plusdirs)184 348 Q F1 2.542(After generating an)224 348 R 5.042
-(ym)-.15 G 2.542(atches de\214ned by the compspec, attempt directory)
--5.042 F(name completion and add an)224 360 Q 2.5(ym)-.15 G
-(atches to the results of the other actions.)-2.5 E F2<ad41>144 372 Q F0
-(action)2.5 E F1(The)184 384 Q F0(action)2.5 E F1
-(may be one of the follo)2.5 E
-(wing to generate a list of possible completions:)-.25 E F2(alias)184
-396 Q F1(Alias names.)224 396 Q(May also be speci\214ed as)5 E F2<ad61>
-2.5 E F1(.)A F2(arrayv)184 408 Q(ar)-.1 E F1(Array v)224 420 Q
-(ariable names.)-.25 E F2(binding)184 432 Q(Readline)224 432 Q F1 -.1
-(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F2 -.2(bu)184 444 S(iltin)
-.2 E F1(Names of shell b)224 444 Q(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F2<ad62>2.5 E F1(.)A F2(command)184 456
-Q F1(Command names.)224 468 Q(May also be speci\214ed as)5 E F2<ad63>2.5
-E F1(.)A F2(dir)184 480 Q(ectory)-.18 E F1(Directory names.)224 492 Q
-(May also be speci\214ed as)5 E F2<ad64>2.5 E F1(.)A F2(disabled)184 504
-Q F1(Names of disabled shell b)224 516 Q(uiltins.)-.2 E F2(enabled)184
-528 Q F1(Names of enabled shell b)224 528 Q(uiltins.)-.2 E F2(export)184
-540 Q F1(Names of e)224 540 Q(xported shell v)-.15 E 2.5(ariables. May)
--.25 F(also be speci\214ed as)2.5 E F2<ad65>2.5 E F1(.)A F2(\214le)184
-552 Q F1(File names.)224 552 Q(May also be speci\214ed as)5 E F2<ad66>
-2.5 E F1(.)A F2(function)184 564 Q F1(Names of shell functions.)224 576
-Q F2(gr)184 588 Q(oup)-.18 E F1(Group names.)224 588 Q
-(May also be speci\214ed as)5 E F2<ad67>2.5 E F1(.)A F2(helptopic)184
-600 Q F1(Help topics as accepted by the)224 612 Q F2(help)2.5 E F1 -.2
-(bu)2.5 G(iltin.).2 E F2(hostname)184 624 Q F1(Hostnames, as tak)224 636
-Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F1(shell v)2.25 E(ariable.)-.25 E F2(job)184 648 Q F1
-(Job names, if job control is acti)224 648 Q -.15(ve)-.25 G 5(.M).15 G
-(ay also be speci\214ed as)-5 E F2<ad6a>2.5 E F1(.)A F2 -.1(ke)184 660 S
-(yw).1 E(ord)-.1 E F1(Shell reserv)224 672 Q(ed w)-.15 E 2.5(ords. May)
--.1 F(also be speci\214ed as)2.5 E F2<ad6b>2.5 E F1(.)A F2(running)184
-684 Q F1(Names of running jobs, if job control is acti)224 684 Q -.15
-(ve)-.25 G(.).15 E F2(ser)184 696 Q(vice)-.1 E F1(Service names.)224 696
-Q(May also be speci\214ed as)5 E F2<ad73>2.5 E F1(.)A(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(68)190.395 E 0 Cg EP
-%%Page: 69 69
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(setopt)184 84 Q F1 -1.11(Va)
-224 84 S(lid ar)1.11 E(guments for the)-.18 E F2<ad6f>2.5 E F1
-(option to the)2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E F2(shopt)
-184 96 Q F1(Shell option names as accepted by the)224 96 Q F2(shopt)2.5
-E F1 -.2(bu)2.5 G(iltin.).2 E F2(signal)184 108 Q F1(Signal names.)224
-108 Q F2(stopped)184 120 Q F1
-(Names of stopped jobs, if job control is acti)224 120 Q -.15(ve)-.25 G
-(.).15 E F2(user)184 132 Q F1(User names.)224 132 Q
-(May also be speci\214ed as)5 E F2<ad75>2.5 E F1(.)A F2 -.1(va)184 144 S
-(riable).1 E F1(Names of all shell v)224 144 Q 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F2<ad76>2.5 E F1(.)A F2<ad43>144 156 Q F0
-(command)2.5 E(command)184 168 Q F1 1.056(is e)3.556 F -.15(xe)-.15 G
-1.056(cuted in a subshell en).15 F 1.056
-(vironment, and its output is used as the possible)-.4 F 2.5
-(completions. Ar)184 180 R(guments are passed as with the)-.18 E F2
-<ad46>2.5 E F1(option.)2.5 E F2<ad46>144 192 Q F0(function)2.5 E F1 .113
-(The shell function)184 204 R F0(function)2.614 E F1 .114(is e)2.614 F
--.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614
-(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 216 R
--.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F2
-($1)A F1 3.316(\)i)C 3.316(st)-3.316 G .816
-(he name of the command whose ar)-3.316 F(guments)-.18 E 1.407
-(are being completed, the second ar)184 228 R 1.407(gument \()-.18 F F2
-($2)A F1 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407
-(ord being completed, and the)-.1 F .104(third ar)184 240 R .104
-(gument \()-.18 F F2($3)A F1 2.604(\)i)C 2.604(st)-2.604 G .104(he w)
--2.604 F .104(ord preceding the w)-.1 F .103
-(ord being completed on the current com-)-.1 F 2.134(mand line.)184 252
-R(When)7.134 E F0(function)4.634 E F1 2.135
-(\214nishes, programmable completion retrie)4.634 F -.15(ve)-.25 G 4.635
-(st).15 G 2.135(he possible)-4.635 F(completions from the v)184 264 Q
-(alue of the)-.25 E/F3 9/Times-Bold@0 SF(COMPREPL)2.5 E(Y)-.828 E F1
-(array v)2.25 E(ariable.)-.25 E F2<ad47>144 276 Q F0(globpat)2.5 E F1
-(Expand the pathname e)184 288 Q(xpansion pattern)-.15 E F0(globpat)2.5
-E F1(to generate the possible completions.)2.5 E F2<ad50>144 300 Q F0
-(pr)2.5 E(e\214x)-.37 E F1(Add)184 312 Q F0(pr)2.598 E(e\214x)-.37 E F1
-.098(to the be)2.598 F .098
-(ginning of each possible completion after all other options ha)-.15 F
-.397 -.15(ve b)-.2 H(een).15 E(applied.)184 324 Q F2<ad53>144 336 Q F0
-(suf)2.5 E<8c78>-.18 E F1(Append)184 336 Q F0(suf)2.5 E<8c78>-.18 E F1
-(to each possible completion after all other options ha)2.5 E .3 -.15
-(ve b)-.2 H(een applied.).15 E F2<ad57>144 348 Q F0(wor)2.5 E(dlist)-.37
-E F1 .833(Split the)184 360 R F0(wor)3.333 E(dlist)-.37 E F1 .833
-(using the characters in the)3.333 F F3(IFS)3.333 E F1 .833(special v)
-3.083 F .834(ariable as delimiters, and e)-.25 F(x-)-.15 E .018
-(pand each resulting w)184 372 R 2.518(ord. Shell)-.1 F .018
-(quoting is honored within)2.518 F F0(wor)2.518 E(dlist)-.37 E F1 2.518
-(,i)C 2.518(no)-2.518 G .018(rder to pro)-2.518 F .017(vide a)-.15 F
-1.157(mechanism for the w)184 384 R 1.158
-(ords to contain shell metacharacters or characters in the v)-.1 F 1.158
-(alue of)-.25 F F3(IFS)184 396 Q/F4 9/Times-Roman@0 SF(.)A F1 .04(The p\
-ossible completions are the members of the resultant list which match a\
- pre\214x)4.541 F(of the w)184 408 Q(ord being completed.)-.1 E F2<ad58>
-144 420 Q F0(\214lterpat)2.5 E(\214lterpat)184 432 Q F1 .455
-(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F
-.456(is applied to the list of possible)2.956 F 1.596
-(completions generated by the preceding options and ar)184 444 R 1.596
-(guments, and each completion)-.18 F(matching)184 456 Q F0(\214lterpat)
-3.204 E F1 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
-(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F2(!)3.204 E F1
-(in)3.204 E F0(\214lterpat)3.205 E F1(ne)3.205 E -.05(ga)-.15 G .705
-(tes the pattern;).05 F(in this case, an)184 468 Q 2.5(yc)-.15 G
-(ompletion not matching)-2.5 E F0(\214lterpat)2.5 E F1(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E .461(The return v)144 484.8 R .461
-(alue is true unless an in)-.25 F -.25(va)-.4 G .46
-(lid option is supplied, an option other than).25 F F2<ad70>2.96 E F1(,)
-A F2<ad72>2.96 E F1(,)A F2<ad44>2.96 E F1(,)A F2<ad45>2.96 E F1(,)A(or)
-144 496.8 Q F2<ad49>2.985 E F1 .485(is supplied without a)2.985 F F0
-(name)2.985 E F1(ar)2.986 E .486(gument, an attempt is made to remo)-.18
-F .786 -.15(ve a c)-.15 H .486(ompletion speci\214ca-).15 F .164
-(tion for a)144 508.8 R F0(name)2.664 E F1 .164
-(for which no speci\214cation e)2.664 F .164
-(xists, or an error occurs adding a completion speci\214ca-)-.15 F
-(tion.)144 520.8 Q F2(compopt)108 537.6 Q F1([)2.5 E F2<ad6f>A F0
-(option)2.5 E F1 2.5(][)C F2(\255DEI)-2.5 E F1 2.5(][)C F2(+o)-2.5 E F0
-(option)2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A .447
-(Modify completion options for each)144 549.6 R F0(name)2.947 E F1 .447
-(according to the)2.947 F F0(option)2.947 E F1 .447
-(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .927
-(completion if no)144 561.6 R F0(name)3.427 E F1 3.427(sa)C .927
-(re supplied.)-3.427 F .926(If no)5.927 F F0(option)3.426 E F1 3.426(sa)
-C .926(re supplied, display the completion options)-3.426 F 1.313
-(for each)144 573.6 R F0(name)3.813 E F1 1.314
-(or the current completion.)3.813 F 1.314(The possible v)6.314 F 1.314
-(alues of)-.25 F F0(option)3.814 E F1 1.314(are those v)3.814 F 1.314
-(alid for the)-.25 F F2(complete)144 585.6 Q F1 -.2(bu)2.5 G
-(iltin described abo).2 E -.15(ve)-.15 G(.).15 E(The)144 602.4 Q F2
-<ad44>3.008 E F1 .507(option indicates that other supplied options shou\
-ld apply to the \231def)3.008 F .507(ault\232 command com-)-.1 F 1.412
-(pletion; the)144 614.4 R F2<ad45>3.912 E F1 1.412(option indicates tha\
-t other supplied options should apply to \231empty\232 command)3.912 F
-.379(completion; and the)144 626.4 R F2<ad49>2.879 E F1 .378(option ind\
-icates that other supplied options should apply to completion on)2.879 F
-(the initial w)144 638.4 Q(ord on the line.)-.1 E
-(These are determined in the same w)5 E(ay as the)-.1 E F2(complete)2.5
-E F1 -.2(bu)2.5 G(iltin.).2 E 1.215
-(If multiple options are supplied, the)144 655.2 R F2<ad44>3.715 E F1
-1.215(option tak)3.715 F 1.215(es precedence o)-.1 F -.15(ve)-.15 G(r)
-.15 E F2<ad45>3.716 E F1 3.716(,a)C 1.216(nd both tak)-3.716 F 3.716(ep)
--.1 G(rece-)-3.716 E(dence o)144 667.2 Q -.15(ve)-.15 G(r).15 E F2<ad49>
-2.5 E F1(.)A .432(The return v)144 684 R .431(alue is true unless an in)
--.25 F -.25(va)-.4 G .431
-(lid option is supplied, an attempt is made to modify the op-).25 F
-(tions for a)144 696 Q F0(name)2.5 E F1
-(for which no completion speci\214cation e)2.5 E
-(xists, or an output error occurs.)-.15 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(69)190.395 E 0 Cg EP
-%%Page: 70 70
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(continue)108 84 Q F1([)2.5 E
-F0(n)A F1(])A F2(continue)144 96 Q F1 .147(resumes the ne)2.647 F .147
-(xt iteration of the enclosing)-.15 F F2 -.25(fo)2.648 G(r).25 E F1(,)A
-F2(while)2.648 E F1(,)A F2(until)2.648 E F1 2.648(,o)C(r)-2.648 E F2
-(select)2.648 E F1 2.648(loop. If)2.648 F F0(n)3.008 E F1 .148
-(is speci-)2.888 F(\214ed,)144 108 Q F2(bash)3.093 E F1 .593
-(resumes the)3.093 F F0(n)3.093 E F1 .593(th enclosing loop.)B F0(n)
-5.953 E F1 .593(must be)3.333 F/F3 10/Symbol SF<b3>3.093 E F1 3.092
-(1. If)3.092 F F0(n)3.452 E F1 .592(is greater than the number of en-)
-3.332 F .409(closing loops, the shell resumes the last enclosing loop \
-\(the \231top-le)144 120 R -.15(ve)-.25 G .41(l\232 loop\).).15 F .41
-(The return v)5.41 F .41(alue is)-.25 F 2.5(0u)144 132 S(nless)-2.5 E F0
-(n)2.5 E F1(is not greater than or equal to 1.)2.5 E F2(declar)108 148.8
-Q(e)-.18 E F1([)2.5 E F2(\255aAfFgiIlnrtux)A F1 2.5(][)C F2<ad70>-2.5 E
-F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C 1.666(..)-.834
-G(])-1.666 E F2(typeset)108 160.8 Q F1([)2.5 E F2(\255aAfFgiIlnrtux)A F1
-2.5(][)C F2<ad70>-2.5 E F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1
-2.5(].)C 1.666(..)-.834 G(])-1.666 E 1.265(Declare v)144 172.8 R 1.265
-(ariables and/or gi)-.25 F 1.565 -.15(ve t)-.25 H 1.265(hem attrib).15 F
-3.765(utes. If)-.2 F(no)3.765 E F0(name)3.765 E F1 3.765(sa)C 1.265
-(re gi)-3.765 F -.15(ve)-.25 G 3.764(nt).15 G 1.264(hen display the v)
--3.764 F 1.264(alues of)-.25 F -.25(va)144 184.8 S .571
-(riables or functions.).25 F(The)5.571 E F2<ad70>3.071 E F1 .571
-(option will display the attrib)3.071 F .571(utes and v)-.2 F .572
-(alues of each)-.25 F F0(name)3.432 E F1 5.572(.W).18 G(hen)-5.572 E F2
-<ad70>144 196.8 Q F1(is used with)2.5 E F0(name)2.5 E F1(ar)2.5 E
-(guments, additional options, other than)-.18 E F2<ad66>2.5 E F1(and)2.5
-E F2<ad46>2.5 E F1 2.5(,a)C(re ignored.)-2.5 E(When)144 213.6 Q F2<ad70>
-2.762 E F1 .262(is supplied without)2.762 F F0(name)2.762 E F1(ar)2.761
-E(guments,)-.18 E F2(declar)2.761 E(e)-.18 E F1 .261
-(will display the attrib)2.761 F .261(utes and v)-.2 F .261
-(alues of all)-.25 F -.25(va)144 225.6 S .279(riables ha).25 F .279
-(ving the attrib)-.2 F .279(utes speci\214ed by the additional options.)
--.2 F .28(If no other options are supplied)5.279 F(with)144 237.6 Q F2
-<ad70>2.515 E F1(,)A F2(declar)2.515 E(e)-.18 E F1 .015
-(will display the attrib)2.515 F .015(utes and v)-.2 F .015
-(alues of all shell v)-.25 F 2.515(ariables. The)-.25 F F2<ad66>2.515 E
-F1 .015(option restricts)2.515 F(the display to shell functions.)144
-249.6 Q(The)144 266.4 Q F2<ad46>3.488 E F1 .989(option inhibits the dis\
-play of function de\214nitions; only the function name and attrib)3.488
-F(utes)-.2 E 1.31(are printed.)144 278.4 R 1.31(If the)6.31 F F2(extdeb)
-3.81 E(ug)-.2 E F1 1.31(shell option is enabled using)3.81 F F2(shopt)
-3.81 E F1 3.81(,t)C 1.31(he source \214le name and line)-3.81 F
-(number where each)144 290.4 Q F0(name)2.5 E F1
-(is de\214ned are displayed as well.)2.5 E(The)5 E F2<ad46>2.5 E F1
-(option implies)2.5 E F2<ad66>2.5 E F1(.)A(The)144 307.2 Q F2<ad67>2.734
-E F1 .234(option forces v)2.734 F .235
-(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
-(ve)-.25 G 2.735(nw).15 G(hen)-2.735 E F2(declar)2.735 E(e)-.18 E F1(is)
-2.735 E -.15(exe)144 319.2 S(cuted in a shell function.).15 E
-(It is ignored when)5 E F2(declar)2.5 E(e)-.18 E F1(is not e)2.5 E -.15
-(xe)-.15 G(cuted in a shell function.).15 E(The)144 336 Q F2<ad49>3.999
-E F1 1.499(option causes local v)3.999 F 1.499
-(ariables to inherit the attrib)-.25 F 1.498(utes \(e)-.2 F 1.498
-(xcept the)-.15 F F0(namer)3.998 E(ef)-.37 E F1(attrib)3.998 E 1.498
-(ute\) and)-.2 F -.25(va)144 348 S .657(lue of an).25 F 3.157(ye)-.15 G
-.657(xisting v)-3.307 F .657(ariable with the same)-.25 F F0(name)3.158
-E F1 .658(at a surrounding scope.)3.158 F .658(If there is no e)5.658 F
-(xisting)-.15 E -.25(va)144 360 S(riable, the local v).25 E
-(ariable is initially unset.)-.25 E .699(The follo)144 376.8 R .699
-(wing options can be used to restrict output to v)-.25 F .699
-(ariables with the speci\214ed attrib)-.25 F .698(ute or to)-.2 F(gi)144
-388.8 Q .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F2<ad61>
-144 400.8 Q F1(Each)180 400.8 Q F0(name)2.5 E F1(is an inde)2.5 E -.15
-(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2(Arrays)2.5
-E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 412.8 Q F1(Each)180
-412.8 Q F0(name)2.5 E F1(is an associati)2.5 E .3 -.15(ve a)-.25 H
-(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F1(abo)2.5 E -.15(ve)
--.15 G(\).).15 E F2<ad66>144 424.8 Q F1(Each)180 424.8 Q F0(name)2.5 E
-F1(refers to a shell function.)2.5 E F2<ad69>144 436.8 Q F1 .557(The v)
-180 436.8 R .558(ariable is treated as an inte)-.25 F .558
-(ger; arithmetic e)-.15 F -.25(va)-.25 G .558(luation \(see).25 F/F4 9
-/Times-Bold@0 SF .558(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)
-180 448.8 Q F1(abo)2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G
-(erformed when the v)-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E
-F2<ad6c>144 460.8 Q F1 .91(When the v)180 460.8 R .909
-(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909
-(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer)
--.25 E(-)-.2 E 2.5(case. The)180 472.8 R(upper)2.5 E(-case attrib)-.2 E
-(ute is disabled.)-.2 E F2<ad6e>144 484.8 Q F1(Gi)180 484.8 Q 1.619 -.15
-(ve e)-.25 H(ach).15 E F0(name)3.819 E F1(the)3.819 E F0(namer)3.819 E
-(ef)-.37 E F1(attrib)3.819 E 1.319
-(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E .478
-(That other v)180 496.8 R .478(ariable is de\214ned by the v)-.25 F .478
-(alue of)-.25 F F0(name)2.978 E F1 5.478(.A)C .478
-(ll references, assignments, and at-)-5.478 F(trib)180 508.8 Q .781
-(ute modi\214cations to)-.2 F F0(name)3.281 E F1 3.281(,e)C .782
-(xcept those using or changing the)-3.431 F F2<ad6e>3.282 E F1(attrib)
-3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 520.8 R
-.809(ariable referenced by)-.25 F F0(name)3.308 E F1 1.908 -.55('s v)D
-3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
-F(applied to array v)180 532.8 Q(ariables.)-.25 E F2<ad72>144 544.8 Q F1
-(Mak)180 544.8 Q(e)-.1 E F0(name)3.654 E F1 3.654(sr)C(eadonly)-3.654 E
-6.154(.T)-.65 G 1.154(hese names cannot then be assigned v)-6.154 F
-1.155(alues by subsequent as-)-.25 F(signment statements or unset.)180
-556.8 Q F2<ad74>144 568.8 Q F1(Gi)180 568.8 Q .73 -.15(ve e)-.25 H(ach)
-.15 E F0(name)2.93 E F1(the)2.929 E F0(tr)2.929 E(ace)-.15 E F1(attrib)
-2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2
-(DEB)2.929 E(UG)-.1 E F1(and)2.929 E F2(RETURN)2.929 E F1
-(traps from the calling shell.)180 580.8 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
-592.8 Q F1 .909(When the v)180 592.8 R .909(ariable is assigned a v)-.25
-F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2
-F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 604.8
-R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
-144 616.8 Q F1(Mark each)180 616.8 Q F0(name)2.5 E F1(for e)2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .657
-(Using \231+\232 instead of \231\255\232 turns of)144 633.6 R 3.157(ft)
--.25 G .657(he speci\214ed attrib)-3.157 F .657(ute instead, with the e)
--.2 F .657(xceptions that)-.15 F F2(+a)3.156 E F1(and)3.156 E F2(+A)144
-645.6 Q F1(may not be used to destro)2.5 E 2.5(ya)-.1 G(rray v)-2.5 E
-(ariables and)-.25 E F2(+r)2.5 E F1(will not remo)2.5 E .3 -.15(ve t)
--.15 H(he readonly attrib).15 E(ute.)-.2 E .415
-(When used in a function,)144 662.4 R F2(declar)2.915 E(e)-.18 E F1(and)
-2.915 E F2(typeset)2.915 E F1(mak)2.915 E 2.915(ee)-.1 G(ach)-2.915 E F0
-(name)2.915 E F1 .415(local, as with the)2.915 F F2(local)2.915 E F1
-(command,)2.915 E .704(unless the)144 674.4 R F2<ad67>3.204 E F1 .704
-(option is supplied.)3.204 F .703(If a v)5.704 F .703
-(ariable name is follo)-.25 F .703(wed by =)-.25 F F0(value)A F1 3.203
-(,t)C .703(he v)-3.203 F .703(alue of the v)-.25 F(ari-)-.25 E .878
-(able is set to)144 686.4 R F0(value)3.379 E F1 5.879(.W)C .879
-(hen using)-5.879 F F2<ad61>3.379 E F1(or)3.379 E F2<ad41>3.379 E F1
-.879(and the compound assignment syntax to create array)3.379 F -.25(va)
-144 698.4 S(riables, additional attrib).25 E(utes do not tak)-.2 E 2.5
-(ee)-.1 G -.25(ff)-2.5 G(ect until subsequent assignments.).25 E .433
-(The return v)144 715.2 R .433(alue is 0 unless an in)-.25 F -.25(va)-.4
-G .433
-(lid option is encountered, an attempt is made to de\214ne a func-).25 F
-.277(tion using \231\255f foo=bar\232.)144 727.2 R .278
-(an attempt is made to assign a v)5.277 F .278(alue to a readonly v)-.25
-F .278(ariable, an attempt is)-.25 F(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(70)190.395 E 0 Cg EP
-%%Page: 71 71
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .974(made to assign a v)144 84 R .974
-(alue to an array v)-.25 F .974
-(ariable without using the compound assignment syntax \(see)-.25 F/F2 10
-/Times-Bold@0 SF(Arrays)144 96 Q F1(abo)2.86 E -.15(ve)-.15 G .36
-(\), one of the).15 F F0(names)2.86 E F1 .36(is not a v)2.86 F .36
-(alid shell v)-.25 F .36(ariable name, an attempt is made to turn of)
--.25 F(f)-.25 E .057(readonly status for a readonly v)144 108 R .057
-(ariable, an attempt is made to turn of)-.25 F 2.556(fa)-.25 G .056
-(rray status for an array v)-2.556 F(ari-)-.25 E
-(able, or an attempt is made to display a non-e)144 120 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F1(.)A F2
-(dirs [\255clpv] [+)108 136.8 Q F0(n)A F2 2.5(][)C<ad>-2.5 E F0(n)A F2
-(])A F1 -.4(Wi)144 148.8 S .606
-(thout options, display the list of currently remembered directories.).4
-F .607(The def)5.607 F .607(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 160.8 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 172.8 Q
-F1 .927(command; the)3.427 F F2(popd)3.428 E F1 .928(command remo)3.428
-F -.15(ve)-.15 G 3.428(se).15 G .928(ntries from the list.)-3.428 F .928
-(The current directory is al-)5.928 F -.1(wa)144 184.8 S
-(ys the \214rst directory in the stack.).1 E(Options, if supplied, ha)
-144 201.6 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2
-<ad63>144 213.6 Q F1
-(Clears the directory stack by deleting all of the entries.)180 213.6 Q
-F2<ad6c>144 225.6 Q F1 .882
-(Produces a listing using full pathnames; the def)180 225.6 R .881
-(ault listing format uses a tilde to denote)-.1 F(the home directory)180
-237.6 Q(.)-.65 E F2<ad70>144 249.6 Q F1
-(Print the directory stack with one entry per line.)180 249.6 Q F2<ad76>
-144 261.6 Q F1 .272(Print the directory stack with one entry per line, \
-pre\214xing each entry with its inde)180 261.6 R 2.773(xi)-.15 G 2.773
-(nt)-2.773 G(he)-2.773 E(stack.)180 273.6 Q F2(+)144 285.6 Q F0(n)A F1
-1.565(Displays the)180 285.6 R F0(n)4.065 E F1 1.565
-(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F2
-(dirs)4.064 E F1 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 297.6 Q F2<ad>144 309.6 Q F0
-(n)A F1 1.194(Displays the)180 309.6 R F0(n)3.694 E F1 1.194
-(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F2(dirs)3.694 E F1 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 321.6 Q .258(The return v)144
-338.4 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F F0(n)2.758 E F1(inde)2.758 E -.15(xe)
--.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
-.15 F(tory stack.)144 350.4 Q F2(diso)108 367.2 Q(wn)-.1 E F1([)2.5 E F2
-(\255ar)A F1 2.5(][)C F2<ad68>-2.5 E F1 2.5(][)C F0(id)-2.5 E F1 1.666
-(...)2.5 G(])-1.666 E -.4(Wi)144 379.2 S .342(thout options, remo).4 F
-.642 -.15(ve e)-.15 H(ach).15 E F0(id)2.852 E F1 .342
-(from the table of acti)3.612 F .642 -.15(ve j)-.25 H 2.842(obs. Each)
-.15 F F0(id)2.843 E F1 .343(may be a job speci\214cation)2.843 F F0
-(jobspec)144 391.2 Q F1(or a process ID)2.5 E F0(pid)2.5 E F1 2.5(;i)C
-(f)-2.5 E F0(id)2.5 E F1(is a)2.5 E F0(pid)2.5 E F1(,)A F2(diso)2.5 E
-(wn)-.1 E F1(uses the job containing)2.5 E F0(pid)2.5 E F1(as)2.5 E F0
-(jobspec)2.5 E F1(.)A .683(If the)144 408 R F2<ad68>3.183 E F1 .683
-(option is supplied,)3.183 F F2(diso)3.183 E(wn)-.1 E F1 .683
-(does not remo)3.183 F .983 -.15(ve t)-.15 H .683
-(he jobs corresponding to each).15 F F0(id)3.193 E F1 .682(from the)
-3.953 F .183(jobs table, b)144 420 R .184
-(ut rather marks them so the shell does not send)-.2 F/F3 9/Times-Bold@0
-SF(SIGHUP)2.684 E F1 .184(to the job if the shell recei)2.434 F -.15(ve)
--.25 G(s).15 E(a)144 432 Q F3(SIGHUP)2.5 E/F4 9/Times-Roman@0 SF(.)A F1
-.571(If no)144 448.8 R F0(id)3.081 E F1 .571(is supplied, the)3.841 F F2
-<ad61>3.071 E F1 .571(option means to remo)3.071 F .87 -.15(ve o)-.15 H
-3.07(rm).15 G .57(ark all jobs; the)-3.07 F F2<ad72>3.07 E F1 .57
-(option without an)3.07 F F0(id)3.08 E F1(ar)144 460.8 Q .658
-(gument remo)-.18 F -.15(ve)-.15 G 3.158(so).15 G 3.158(rm)-3.158 G .658
-(arks running jobs.)-3.158 F .658(If no)5.658 F F0(id)3.168 E F1 .658
-(is supplied, and neither the)3.928 F F2<ad61>3.159 E F1 .659(nor the)
-3.159 F F2<ad72>3.159 E F1(op-)3.159 E(tion is supplied,)144 472.8 Q F2
-(diso)2.5 E(wn)-.1 E F1(remo)2.5 E -.15(ve)-.15 G 2.5(so).15 G 2.5(rm)
--2.5 G(arks the current job)-2.5 E(.)-.4 E(The return v)144 489.6 Q
-(alue is 0 unless an)-.25 E F0(id)2.51 E F1(does not specify a v)3.27 E
-(alid job)-.25 E(.)-.4 E F2(echo)108 506.4 Q F1([)2.5 E F2(\255neE)A F1
-2.5(][)C F0(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E .425
-(Output the)144 518.4 R F0(ar)2.925 E(g)-.37 E F1 .424
-(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
-(wline. The)-.25 F .424(return status is 0 unless a write)2.924 F
-(error occurs.)144 530.4 Q(If)5 E F2<ad6e>2.5 E F1
-(is speci\214ed, the trailing ne)2.5 E(wline is not printed.)-.25 E .48
-(If the)144 547.2 R F2<ad65>2.98 E F1 .48(option is gi)2.98 F -.15(ve)
--.25 G(n,).15 E F2(echo)2.98 E F1 .48(interprets the follo)2.98 F .48
-(wing backslash-escaped characters.)-.25 F(The)5.48 E F2<ad45>2.98 E F1
-(op-)2.98 E .469
-(tion disables interpretation of these escape characters, e)144 559.2 R
--.15(ve)-.25 G 2.969(no).15 G 2.969(ns)-2.969 G .469(ystems where the)
--2.969 F 2.969(ya)-.15 G .469(re interpreted)-2.969 F .41(by def)144
-571.2 R 2.91(ault. The)-.1 F F2(xpg_echo)2.91 E F1 .41
-(shell option determines whether or not)2.91 F F2(echo)2.91 E F1 .41
-(interprets an)2.91 F 2.91(yo)-.15 G .41(ptions and)-2.91 F -.15(ex)144
-583.2 S(pands these escape characters.).15 E F2(echo)5 E F1
-(does not interpret)2.5 E F2<adad>2.5 E F1(to mean the end of options.)
-2.5 E F2(echo)144 600 Q F1(interprets the follo)2.5 E
-(wing escape sequences:)-.25 E F2(\\a)144 612 Q F1(alert \(bell\))180
-612 Q F2(\\b)144 624 Q F1(backspace)180 624 Q F2(\\c)144 636 Q F1
-(suppress further output)180 636 Q F2(\\e)144 648 Q(\\E)144 660 Q F1
-(an escape character)180 660 Q F2(\\f)144 672 Q F1(form feed)180 672 Q
-F2(\\n)144 684 Q F1(ne)180 684 Q 2.5(wl)-.25 G(ine)-2.5 E F2(\\r)144 696
-Q F1(carriage return)180 696 Q(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(71)190.395 E 0 Cg EP
-%%Page: 72 72
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(\\t)144 84 Q F1
-(horizontal tab)180 84 Q F2(\\v)144 96 Q F1 -.15(ve)180 96 S(rtical tab)
-.15 E F2(\\\\)144 108 Q F1(backslash)180 108 Q F2(\\0)144 120 Q F0(nnn)A
-F1(The eight-bit character whose v)180 120 Q(alue is the octal v)-.25 E
-(alue)-.25 E F0(nnn)2.5 E F1(\(zero to three octal digits\).)2.5 E F2
-(\\x)144 132 Q F0(HH)A F1(The eight-bit character whose v)180 132 Q
-(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F0(HH)2.5 E F1
-(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\).).15 E F2
-(\\u)144 144 Q F0(HHHH)A F1 1.204
-(The Unicode \(ISO/IEC 10646\) character whose v)180 156 R 1.203
-(alue is the he)-.25 F 1.203(xadecimal v)-.15 F(alue)-.25 E F0(HHHH)
-3.703 E F1(\(one to four he)180 168 Q 2.5(xd)-.15 G(igits\).)-2.5 E F2
-(\\U)144 180 Q F0(HHHHHHHH)A F1 .244
-(The Unicode \(ISO/IEC 10646\) character whose v)180 192 R .245
-(alue is the he)-.25 F .245(xadecimal v)-.15 F(alue)-.25 E F0(HHHHH-)
-2.745 E(HHH)180 204 Q F1(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\).)
--2.5 E F2(echo)144 220.8 Q F1(writes an)2.5 E 2.5(yu)-.15 G
-(nrecognized backslash-escaped characters unchanged.)-2.5 E F2(enable)
-108 237.6 Q F1([)2.5 E F2<ad61>A F1 2.5(][)C F2(\255dnps)-2.5 E F1 2.5
-(][)C F2<ad66>-2.5 E F0(\214lename)2.5 E F1 2.5(][)C F0(name)-2.5 E F1
-1.666(...)2.5 G(])-1.666 E 1.2(Enable and disable b)144 249.6 R 1.199
-(uiltin shell commands.)-.2 F 1.199(Disabling a b)6.199 F 1.199
-(uiltin allo)-.2 F 1.199(ws an e)-.25 F -.15(xe)-.15 G 1.199
-(cutable \214le which).15 F 1.737(has the same name as a shell b)144
-261.6 R 1.737(uiltin to be e)-.2 F -.15(xe)-.15 G 1.737
-(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G(n).15
-E(though the shell normally searches for b)144 273.6 Q
-(uiltins before \214les.)-.2 E(If)144 290.4 Q F2<ad6e>3.358 E F1 .858
-(is supplied, each)3.358 F F0(name)3.358 E F1 .858
-(is disabled; otherwise,)3.358 F F0(name)3.357 E F1 3.357(sa)C .857
-(re enabled.)-3.357 F -.15(Fo)5.857 G 3.357(re).15 G .857
-(xample, to use the)-3.507 F F2(test)144 302.4 Q F1(binary found usin g)
-2.5 E/F3 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E F1
-(instead of the shell b)2.25 E(uiltin v)-.2 E
-(ersion, run \231enable \255n test\232.)-.15 E 1.165(If no)144 319.2 R
-F0(name)3.665 E F1(ar)3.665 E 1.165(guments are supplied, or if the)-.18
-F F2<ad70>3.665 E F1 1.165(option is supplied, print a list of shell b)
-3.665 F(uiltins.)-.2 E -.4(Wi)144 331.2 S 1.005(th no other option ar).4
-F 1.005(guments, the list consists of all enabled shell b)-.18 F 3.505
-(uiltins. If)-.2 F F2<ad6e>3.505 E F1 1.005(is supplied,)3.505 F .46
-(print only disabled b)144 343.2 R 2.96(uiltins. If)-.2 F F2<ad61>2.96 E
-F1 .46(is supplied, the list printed includes all b)2.96 F .46
-(uiltins, with an indica-)-.2 F .791
-(tion of whether or not each is enabled.)144 355.2 R(The)5.791 E F2
-<ad73>3.291 E F1 .79(option means to restrict the output to the POSIX)
-3.291 F F0(special)144 367.2 Q F1 -.2(bu)2.5 G(iltins.).2 E(The)144 384
-Q F2<ad66>2.785 E F1 .285(option means to load the ne)2.785 F 2.785(wb)
--.25 G .285(uiltin command)-2.985 F F0(name)3.145 E F1 .285
-(from shared object)2.965 F F0(\214lename)4.695 E F1 2.785(,o).18 G
-2.785(ns)-2.785 G(ys-)-2.785 E .01(tems that support dynamic loading.)
-144 396 R(If)5.01 E F0(\214lename)2.51 E F1 .01
-(does not contain a slash,)2.51 F F2(Bash)2.51 E F1 .01(will use the v)
-2.51 F .01(alue of)-.25 F(the)144 408 Q F2 -.3(BA)4.456 G(SH_LO).3 E(AD)
--.4 E(ABLES_P)-.35 E -.95(AT)-.74 G(H).95 E F1 -.25(va)4.456 G 1.956
-(riable as a colon-separated list of directories in which to).25 F .305
-(search for)144 420 R F0(\214lename)2.805 E F1 5.305(.T)C .305(he def)
--5.305 F .305(ault for)-.1 F F2 -.3(BA)2.805 G(SH_LO).3 E(AD)-.4 E
-(ABLES_P)-.35 E -.95(AT)-.74 G(H).95 E F1 .305
-(is system-dependent, and may)2.805 F .054
-(include \231.\232 to force a search of the current directory)144 432 R
-5.054(.T)-.65 G(he)-5.054 E F2<ad64>2.554 E F1 .054
-(option will delete a b)2.554 F .055(uiltin pre)-.2 F(viously)-.25 E
-(loaded with)144 444 Q F2<ad66>2.5 E F1 5(.I)C(f)-5 E F0<ad73>2.5 E F1
-(is used with)2.5 E F0<ad66>2.5 E F1 2.5(,t)C(he ne)-2.5 E 2.5(wb)-.25 G
-(uiltin becomes a POSIX special b)-2.7 E(uiltin.)-.2 E .269
-(If no options are supplied and a)144 460.8 R F0(name)2.769 E F1 .269
-(is not a shell b)2.769 F(uiltin,)-.2 E F2(enable)2.769 E F1 .269
-(will attempt to load)2.769 F F0(name)2.769 E F1(from)2.768 E 2.5(as)144
-472.8 S(hared object named)-2.5 E F0(name)2.5 E F1 2.5(,a)C 2.5(si)-2.5
-G 2.5(ft)-2.5 G(he command were \231enable \255f)-2.5 E F0(name name)2.5
-E F1<9a2e>A .477(The return v)144 489.6 R .477(alue is 0 unless a)-.25 F
-F0(name)3.337 E F1 .477(is not a shell b)3.157 F .477
-(uiltin or there is an error loading a ne)-.2 F 2.978(wb)-.25 G(uiltin)
--3.178 E(from a shared object.)144 501.6 Q F2 -2.3 -.15(ev a)108 518.4 T
-(l).15 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E 1.348
-(Concatenate the)144 530.4 R F0(ar)3.848 E(g)-.37 E F1 3.848(st)C 1.348
-(ogether into a single command, separating them with spaces.)-3.848 F F2
-(Bash)6.347 E F1(then)3.847 E .176(reads and e)144 542.4 R -.15(xe)-.15
-G .176(cute this command, and returns its e).15 F .176
-(xit status as the return status of)-.15 F F2 -2.3 -.15(ev a)2.676 H(l)
-.15 E F1 5.176(.I)C 2.677(ft)-5.176 G .177(here are)-2.677 F(no)144
-554.4 Q F0(ar)2.83 E(gs)-.37 E F1 2.5(,o).27 G 2.5(ro)-2.5 G
-(nly null ar)-2.5 E(guments,)-.18 E F2 -2.3 -.15(ev a)2.5 H(l).15 E F1
-(returns 0.)2.5 E F2(exec)108 571.2 Q F1([)2.5 E F2(\255cl)A F1 2.5(][)C
-F2<ad61>-2.5 E F0(name)2.5 E F1 2.5(][)C F0(command)-2.5 E F1([)2.5 E F0
-(ar)A(guments)-.37 E F1(]])A(If)144 583.2 Q F0(command)2.984 E F1 .283
-(is speci\214ed, it replaces the shell without creating a ne)3.554 F
-2.783(wp)-.25 G(rocess.)-2.783 E F0(command)5.283 E F1 .283(cannot be)
-2.783 F 2.877(as)144 595.2 S .377(hell b)-2.877 F .377
-(uiltin or function.)-.2 F(The)5.377 E F0(ar)3.207 E(guments)-.37 E F1
-.377(become the ar)3.147 F .378(guments to)-.18 F F0(command)2.878 E F1
-5.378(.I)C 2.878(ft)-5.378 G(he)-2.878 E F2<ad6c>2.878 E F1 .378
-(option is)2.878 F .078(supplied, the shell places a dash at the be)144
-607.2 R .078(ginning of the zeroth ar)-.15 F .078(gument passed to)-.18
-F F0(command)2.778 E F1 5.078(.T).77 G(his)-5.078 E .138(is what)144
-619.2 R F0(lo)2.728 E(gin)-.1 E F1 .138(\(1\) does.).24 F(The)5.138 E F2
-<ad63>2.638 E F1 .139(option causes)2.639 F F0(command)2.839 E F1 .139
-(to be e)3.409 F -.15(xe)-.15 G .139(cuted with an empty en).15 F
-(vironment.)-.4 E(If)144 631.2 Q F2<ad61>2.5 E F1
-(is supplied, the shell passes)2.5 E F0(name)2.86 E F1(as the zeroth ar)
-2.68 E(gument to the e)-.18 E -.15(xe)-.15 G(cuted command.).15 E(If)144
-648 Q F0(command)3.246 E F1 .546(cannot be e)3.816 F -.15(xe)-.15 G .546
-(cuted for some reason, a non-interacti).15 F .846 -.15(ve s)-.25 H .545
-(hell e).15 F .545(xits, unless the)-.15 F F2(execfail)3.045 E F1 1.22
-(shell option is enabled.)144 660 R 1.22
-(In that case, it returns a non-zero status.)6.22 F 1.22(An interacti)
-6.22 F 1.52 -.15(ve s)-.25 H 1.22(hell returns a).15 F
-(non-zero status if the \214le cannot be e)144 672 Q -.15(xe)-.15 G 2.5
-(cuted. A).15 F(subshell e)2.5 E(xits unconditionally if)-.15 E F2(exec)
-2.5 E F1 -.1(fa)2.5 G(ils.).1 E(If)144 688.8 Q F0(command)3.225 E F1
-.525(is not speci\214ed, an)3.795 F 3.025(yr)-.15 G .524
-(edirections tak)-3.025 F 3.024(ee)-.1 G -.25(ff)-3.024 G .524
-(ect in the current shell, and the return status).25 F(is 0.)144 700.8 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.3)72 768 Q(2024 October 15)
-141.235 E(72)190.395 E 0 Cg EP
-%%Page: 73 73
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(exit)108 84 Q F1([)2.5 E F0
-(n)A F1(])A .095(Cause the shell to e)144 84 R .095
-(xit with a status of)-.15 F F0(n)2.595 E F1 5.095(.I)C(f)-5.095 E F0(n)
-2.955 E F1 .096(is omitted, the e)2.835 F .096
-(xit status is that of the last command)-.15 F -.15(exe)144 96 S 2.5
-(cuted. An).15 F 2.5(yt)-.15 G(rap on)-2.5 E/F3 9/Times-Bold@0 SF(EXIT)
-2.5 E F1(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.)
-.15 E F2(export)108 112.8 Q F1([)2.5 E F2(\255fn)A F1 2.5(][).833 G F0
-(name)-2.5 E F1([=)A F0(value)A F1(]] .)A 1.666(..)1.666 G F2
-(export \255p)108 124.8 Q F1 .257(The supplied)144 136.8 R F0(names)
-3.117 E F1 .257(are mark)3.027 F .257(ed for automatic e)-.1 F .257
-(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15(xe)
--.15 G(cuted).15 E 2.5(commands. If)144 148.8 R(the)2.5 E F2<ad66>2.5 E
-F1(option is gi)2.5 E -.15(ve)-.25 G(n, the).15 E F0(names)2.86 E F1
-(refer to functions.)2.77 E(The)144 165.6 Q F2<ad6e>2.68 E F1 .18
-(option une)2.68 F .18(xports, or remo)-.15 F -.15(ve)-.15 G 2.68(st).15
-G .181(he e)-2.68 F .181(xport attrib)-.15 F .181(ute, from each)-.2 F
-F0(name)2.681 E F1 5.181(.I)C 2.681(fn)-5.181 G(o)-2.681 E F0(names)
-3.041 E F1 .181(are gi)2.951 F -.15(ve)-.25 G(n,).15 E .536(or if the)
-144 177.6 R F2<ad70>3.036 E F1 .536(option is supplied,)3.036 F F2
-(export)3.036 E F1 .536(prints a list of names of all e)3.036 F .535
-(xported v)-.15 F .535(ariables on the stan-)-.25 F(dard output.)144
-189.6 Q F2(export)144 206.4 Q F1(allo)2.94 E .44(ws the v)-.25 F .44
-(alue of a v)-.25 F .44(ariable to be set when it is e)-.25 F .44
-(xported or une)-.15 F .44(xported by follo)-.15 F .44(wing the)-.25 F
--.25(va)144 218.4 S .152(riable name with =).25 F F0(value)A F1 5.152
-(.T)C .152(his sets the v)-5.152 F .152(alue of the v)-.25 F .152
-(ariable to)-.25 F F0(value)2.652 E F1 .151(while modifying the e)2.652
-F(xport)-.15 E(attrib)144 230.4 Q(ute.)-.2 E F2(export)6.36 E F1 1.36
-(returns an e)3.86 F 1.361(xit status of 0 unless an in)-.15 F -.25(va)
--.4 G 1.361(lid option is encountered, one of the).25 F F0(names)144
-242.4 Q F1(is not a v)2.5 E(alid shell v)-.25 E(ariable name, or)-.25 E
-F2<ad66>2.5 E F1(is supplied with a)2.5 E F0(name)2.86 E F1
-(that is not a function.)2.68 E F2(false)108 259.2 Q F1
-(Does nothing; returns a non-zero status.)144 259.2 Q F2(fc)108 276 Q F1
-([)2.5 E F2<ad65>A F0(ename)2.5 E F1 2.5(][)C F2(\255lnr)-2.5 E F1 2.5
-(][)C F0<8c72>-2.5 E(st)-.1 E F1 2.5(][)C F0(last)-2.5 E F1(])A F2
-(fc \255s)108 288 Q F1([)2.5 E F0(pat)A F1(=)A F0 -.37(re)C(p).37 E F1
-2.5(][)C F0(cmd)-2.5 E F1(])A .432
-(The \214rst form selects a range of commands from)144 300 R F0<8c72>
-4.842 E(st)-.1 E F1(to)3.612 E F0(last)3.022 E F1 .431
-(from the history list and displays or)3.612 F .141(edits and re-e)144
-312 R -.15(xe)-.15 G .141(cutes them.).15 F F0 -.45(Fi)5.141 G -.1(rs)
-.45 G(t).1 E F1(and)3.321 E F0(last)2.731 E F1 .141
-(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
-144 324 Q .311(ginning with that string\) or as a number \(an inde)-.15
-F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F -.05(ga)
--.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E(is used as an of)144
-336 Q(fset from the current command number\).)-.25 E .746
-(When listing, a)144 352.8 R F0<8c72>3.246 E(st)-.1 E F1(or)3.246 E F0
-(last)3.246 E F1 .746(of 0 is equi)3.246 F -.25(va)-.25 G .746
-(lent to \2551 and \2550 is equi).25 F -.25(va)-.25 G .747
-(lent to the current command).25 F .779(\(usually the)144 364.8 R F2(fc)
-3.279 E F1 .779(command\); otherwise 0 is equi)3.279 F -.25(va)-.25 G
-.779(lent to \2551 and \2550 is in).25 F -.25(va)-.4 G 3.279(lid. If).25
-F F0(last)3.369 E F1 .778(is not speci-)3.959 F .513(\214ed, it is set \
-to the current command for listing \(so that \231fc \255l \25510\232 pr\
-ints the last 10 commands\))144 376.8 R .767(and to)144 388.8 R F0<8c72>
-5.177 E(st)-.1 E F1 3.266(otherwise. If)3.946 F F0<8c72>5.176 E(st)-.1 E
-F1 .766(is not speci\214ed, it is set to the pre)3.946 F .766
-(vious command for editing and)-.25 F(\25516 for listing.)144 400.8 Q
-.696(If the)144 417.6 R F2<ad6c>3.196 E F1 .696
-(option is supplied, the commands are listed on the standard output.)
-3.196 F(The)5.697 E F2<ad6e>3.197 E F1 .697(option sup-)3.197 F
-(presses the command numbers when listing.)144 429.6 Q(The)5 E F2<ad72>
-2.5 E F1(option re)2.5 E -.15(ve)-.25 G(rses the order of the commands.)
-.15 E(Otherwise,)144 446.4 Q F2(fc)2.902 E F1(in)2.902 E -.2(vo)-.4 G
--.1(ke).2 G 2.902(st).1 G .402(he editor named by)-2.902 F F0(ename)
-3.092 E F1 .402(on a \214le containing those commands.)3.082 F(If)5.402
-E F0(ename)3.092 E F1 .541(is not supplied,)144 458.4 R F2(fc)3.041 E F1
-.542(uses the v)3.042 F .542(alue of the)-.25 F F3(FCEDIT)3.042 E F1
--.25(va)2.792 G .542(riable, and the v).25 F .542(alue of)-.25 F F3
-(EDIT)3.042 E(OR)-.162 E F1(if)2.792 E F3(FCEDIT)3.042 E F1(is)2.792 E
-.213(not set.)144 470.4 R .212(If neither v)5.213 F .212
-(ariable is set,)-.25 F F2(fc)2.712 E F1(uses)2.712 E F0(vi.)4.378 E F1
-.212(When editing is complete,)4.378 F F2(fc)2.712 E F1 .212
-(reads the \214le containing)2.712 F
-(the edited commands and echoes and e)144 482.4 Q -.15(xe)-.15 G
-(cutes them.).15 E .711(In the second form,)144 499.2 R F2(fc)3.211 E F1
-(re-e)3.211 E -.15(xe)-.15 G(cutes).15 E F0(command)3.211 E F1 .711
-(after replacing each instance of)3.211 F F0(pat)3.212 E F1(with)3.212 E
-F0 -.37(re)3.212 G(p).37 E F1(.)A F0(Com-)5.712 E(mand)144 511.2 Q F1
-(is interpreted the same as)2.5 E F0<8c72>2.5 E(st)-.1 E F1(abo)2.5 E
--.15(ve)-.15 G(.).15 E 2.827(Au)144 528 S .327(seful alias to use with)
--2.827 F F2(fc)2.827 E F1 .327(is \231r="fc \255s"\232, so that typing \
-\231r cc\232 runs the last command be)2.827 F(ginning)-.15 E
-(with \231cc\232 and typing \231r\232 re-e)144 540 Q -.15(xe)-.15 G
-(cutes the last command.).15 E .439
-(If the \214rst form is used, the return v)144 556.8 R .44
-(alue is zero unless an in)-.25 F -.25(va)-.4 G .44
-(lid option is encountered or).25 F F0<8c72>4.85 E(st)-.1 E F1(or)3.62 E
-F0(last)144.09 568.8 Q F1 .402(specify history lines out of range.)3.582
-F .402(When editing and re-e)5.402 F -.15(xe)-.15 G .402
-(cuting a \214le of commands, the re-).15 F .573(turn v)144 580.8 R .573
-(alue is the v)-.25 F .573(alue of the last command e)-.25 F -.15(xe)
--.15 G .573(cuted or f).15 F .574
-(ailure if an error occurs with the tempo-)-.1 F .686(rary \214le.)144
-592.8 R .685
-(If the second form is used, the return status is that of the re-e)5.686
-F -.15(xe)-.15 G .685(cuted command, unless).15 F F0(cmd)144.2 604.8 Q
-F1(does not specify a v)3.27 E(alid history entry)-.25 E 2.5(,i)-.65 G
-2.5(nw)-2.5 G(hich case)-2.5 E F2(fc)2.5 E F1
-(returns a non-zero status.)2.5 E F2(fg)108 621.6 Q F1([)2.5 E F0
-(jobspec)A F1(])A(Resume)144 633.6 Q F0(jobspec)4.638 E F1 .398
-(in the fore)3.208 F .399(ground, and mak)-.15 F 2.899(ei)-.1 G 2.899
-(tt)-2.899 G .399(he current job)-2.899 F 5.399(.I)-.4 G(f)-5.399 E F0
-(jobspec)4.639 E F1 .399(is not present,)3.209 F F2(fg)2.899 E F1(uses)
-2.899 E .248(the shell')144 645.6 R 2.748(sn)-.55 G .248(otion of the)
--2.748 F F0(curr)2.747 E .247(ent job)-.37 F F1 5.247(.T)C .247
-(he return v)-5.247 F .247
-(alue is that of the command placed into the fore-)-.25 F .097
-(ground, or f)144 657.6 R .098
-(ailure if run when job control is disabled or)-.1 F 2.598(,w)-.4 G .098
-(hen run with job control enabled, if)-2.598 F F0(job-)4.338 E(spec)144
-669.6 Q F1(does not specify a v)2.81 E(alid job or)-.25 E F0(jobspec)
-4.24 E F1(speci\214es a job that w)2.81 E
-(as started without job control.)-.1 E F2(getopts)108 686.4 Q F0
-(optstring name)2.5 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])
--1.666 E F2(getopts)144 698.4 Q F1 .051(is used by shell scripts and fu\
-nctions to parse positional parameters and obtain options and)2.551 F
-1.129(their ar)144 710.4 R(guments.)-.18 E F0(optstring)6.359 E F1 1.129
-(contains the option characters to be recognized; if a character is fol\
--)3.849 F(lo)144 722.4 Q .657(wed by a colon, the option is e)-.25 F
-.657(xpected to ha)-.15 F .956 -.15(ve a)-.2 H 3.156(na).15 G -.18(rg)
--3.156 G .656(ument, which should be separated from it).18 F
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(73)190.395 E 0 Cg EP
-%%Page: 74 74
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(by white space.)144 84 Q(The colon and question ma\
-rk characters may not be used as option characters.)5 E .031
-(Each time it is in)144 100.8 R -.2(vo)-.4 G -.1(ke).2 G(d,).1 E/F2 10
-/Times-Bold@0 SF(getopts)2.531 E F1 .031(places the ne)2.531 F .031
-(xt option in the shell v)-.15 F(ariable)-.25 E F0(name)2.892 E F1 2.532
-(,i).18 G(nitializing)-2.532 E F0(name)2.892 E F1 .523(if it does not e)
-144 112.8 R .522(xist, and the inde)-.15 F 3.022(xo)-.15 G 3.022(ft)
--3.022 G .522(he ne)-3.022 F .522(xt ar)-.15 F .522
-(gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(OPTIND)3.022 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)144
-124.8 Q F1 .079
-(is initialized to 1 each time the shell or a shell script is in)2.329 F
--.2(vo)-.4 G -.1(ke).2 G 2.58(d. When).1 F .08(an option requires)2.58 F
-(an ar)144 136.8 Q(gument,)-.18 E F2(getopts)2.5 E F1(places that ar)2.5
-E(gument into the v)-.18 E(ariable)-.25 E F3(OPT)2.5 E(ARG)-.81 E F4(.)A
-F1 .647(The shell does not reset)144 153.6 R F3(OPTIND)3.147 E F1 .647
-(automatically; it must be manually reset between multiple calls)2.897 F
-(to)144 165.6 Q F2(getopts)2.5 E F1(within the same shell in)2.5 E -.2
-(vo)-.4 G(cation to use a ne).2 E 2.5(ws)-.25 G(et of parameters.)-2.5 E
-.101(When it reaches the end of options,)144 182.4 R F2(getopts)2.602 E
-F1 -.15(ex)2.602 G .102(its with a return v).15 F .102
-(alue greater than zero.)-.25 F F3(OPTIND)5.102 E F1(is)2.352 E
-(set to the inde)144 194.4 Q 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F0(name)2.5 E F1
-(is set to ?.)2.5 E F2(getopts)144 211.2 Q F1 .485
-(normally parses the positional parameters, b)2.985 F .485
-(ut if more ar)-.2 F .485(guments are supplied as)-.18 F F0(ar)3.315 E
-(g)-.37 E F1 -.25(va)3.205 G(l-).25 E(ues,)144 223.2 Q F2(getopts)2.5 E
-F1(parses those instead.)2.5 E F2(getopts)144 240 Q F1 .833
-(can report errors in tw)3.332 F 3.333(ow)-.1 G 3.333(ays. If)-3.433 F
-.833(the \214rst character of)3.333 F F0(optstring)3.563 E F1 .833
-(is a colon,)3.553 F F2(getopts)3.333 E F1(uses)3.333 E F0(silent)144.34
-252 Q F1 .212(error reporting.)3.392 F .212(In normal operation,)5.212 F
-F2(getopts)2.712 E F1 .211
-(prints diagnostic messages when it encounters)2.712 F(in)144 264 Q -.25
-(va)-.4 G 1.119(lid options or missing option ar).25 F 3.619
-(guments. If)-.18 F 1.119(the v)3.619 F(ariable)-.25 E F3(OPTERR)3.619 E
-F1 1.119(is set to 0, no error mes-)3.369 F(sages will be displayed, e)
-144 276 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G
-(he \214rst character of)-2.5 E F0(optstring)2.73 E F1(is not a colon.)
-2.72 E(If)144 292.8 Q F2(getopts)2.673 E F1 .173(detects an in)2.673 F
--.25(va)-.4 G .173(lid option, it places ? into).25 F F0(name)3.033 E F1
-.172(and, if not silent, prints an error message)2.853 F 1.147
-(and unsets)144 304.8 R F3(OPT)3.647 E(ARG)-.81 E F4(.)A F1(If)5.647 E
-F2(getopts)3.647 E F1 1.147
-(is silent, it assigns the option character found to)3.647 F F3(OPT)
-3.647 E(ARG)-.81 E F1(and)3.398 E(does not print a diagnostic message.)
-144 316.8 Q .602(If a required ar)144 333.6 R .602
-(gument is not found, and)-.18 F F2(getopts)3.102 E F1 .602
-(is not silent, it sets the v)3.102 F .602(alue of)-.25 F F0(name)3.102
-E F1 .602(to a ques-)3.102 F 1.055(tion mark \()144 345.6 R F2(?).833 E
-F1 1.055(\), unsets).833 F F3(OPT)3.555 E(ARG)-.81 E F4(,)A F1 1.056
-(and prints a diagnostic message.)3.306 F(If)6.056 E F2(getopts)3.556 E
-F1 1.056(is silent, it sets the)3.556 F -.25(va)144 357.6 S(lue of).25 E
-F0(name)2.5 E F1(to a colon \()2.5 E F2(:).833 E F1 2.5(\)a).833 G
-(nd sets)-2.5 E F3(OPT)2.5 E(ARG)-.81 E F1
-(to the option character found.)2.25 E F2(getopts)144 374.4 Q F1 .902
-(returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 386.4 Q F2(hash)108
-403.2 Q F1([)2.5 E F2(\255lr)A F1 2.5(][)C F2<ad70>-2.5 E F0(\214lename)
-2.5 E F1 2.5(][)C F2(\255dt)-2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A
-.636(Each time)144 415.2 R F2(hash)3.136 E F1 .636(is in)3.136 F -.2(vo)
--.4 G -.1(ke).2 G .636(d, it remembers the full pathname of the command)
-.1 F F0(name)3.496 E F1 .636(as determined)3.316 F 1.427
-(by searching the directories in)144 427.2 R F2($P)3.927 E -.95(AT)-.74
-G(H).95 E F1 6.427(.A)C 1.727 -.15(ny p)-6.427 H(re).15 E 1.427
-(viously-remembered pathname associated with)-.25 F F0(name)144 439.2 Q
-F1 .942(is discarded.)3.442 F .942(If the)5.942 F F2<ad70>3.442 E F1
-.942(option is supplied,)3.442 F F2(hash)3.442 E F1(uses)3.442 E F0
-(\214lename)5.352 E F1 .943(as the full pathname of the)3.623 F
-(command.)144 451.2 Q(The)144 468 Q F2<ad72>3.313 E F1 .813
-(option causes the shell to for)3.313 F .813
-(get all remembered locations.)-.18 F .812(Assigning to the)5.812 F F2
--.74(PA)3.312 G(TH)-.21 E F1 -.25(va)3.312 G(ri-).25 E .277
-(able also clears all hashed \214lenames.)144 480 R(The)5.277 E F2<ad64>
-2.777 E F1 .278(option causes the shell to for)2.777 F .278
-(get the remembered lo-)-.18 F(cation of each)144 492 Q F0(name)2.5 E F1
-(.)A .108(If the)144 508.8 R F2<ad74>2.608 E F1 .108
-(option is supplied,)2.608 F F2(hash)2.608 E F1 .107
-(prints the full pathname corresponding to each)2.608 F F0(name)2.607 E
-F1 5.107(.I)C 2.607(fm)-5.107 G(ultiple)-2.607 E F0(name)144 520.8 Q F1
-(ar)3.153 E .653(guments are supplied with)-.18 F F2<ad74>3.153 E F1(,)A
-F2(hash)3.153 E F1 .654(prints the)3.154 F F0(name)3.154 E F1 .654
-(before the corresponding hashed full)3.154 F 2.5(pathname. The)144
-532.8 R F2<ad6c>2.5 E F1
-(option displays output in a format that may be reused as input.)2.5 E
-1.191(If no ar)144 549.6 R 1.191(guments are gi)-.18 F -.15(ve)-.25 G
-1.191(n, or if only).15 F F2<ad6c>3.691 E F1 1.191(is supplied,)3.691 F
-F2(hash)3.69 E F1 1.19(prints information about remembered)3.69 F 2.722
-(commands. The)144 561.6 R F2<ad74>2.722 E F1(,)A F2<ad64>2.722 E F1
-2.722(,a)C(nd)-2.722 E F2<ad70>2.722 E F1 .223
-(options \(the options that act on the)2.722 F F0(name)2.723 E F1(ar)
-2.723 E .223(guments\) are mutually)-.18 F -.15(ex)144 573.6 S(clusi).15
-E -.15(ve)-.25 G 5.738(.O).15 G .738(nly one will be acti)-5.738 F -.15
-(ve)-.25 G 5.738(.I).15 G 3.238(fm)-5.738 G .738
-(ore than one is supplied,)-3.238 F F2<ad74>3.237 E F1 .737
-(has higher priority than)3.237 F F2<ad70>3.237 E F1(,)A(and both ha)144
-585.6 Q .3 -.15(ve h)-.2 H(igher priority than).15 E F2<ad64>2.5 E F1(.)
-A(The return status is zero unless a)144 602.4 Q F0(name)2.86 E F1
-(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
-E F2(help)108 619.2 Q F1([)2.5 E F2(\255dms)A F1 2.5(][)C F0(pattern)
--2.5 E F1(])A .866(Display helpful information about b)144 631.2 R .867
-(uiltin commands.)-.2 F(If)5.867 E F0(pattern)4.617 E F1 .867
-(is speci\214ed,)3.607 F F2(help)3.367 E F1(gi)3.367 E -.15(ve)-.25 G
-3.367(sd).15 G(etailed)-3.367 E 1.094(help on all commands matching)144
-643.2 R F0(pattern)4.843 E F1 3.593(;o).24 G 1.093
-(therwise it displays a list of all the b)-3.593 F 1.093
-(uiltins and shell)-.2 F(compound commands.)144 655.2 Q F2<ad64>144
-667.2 Q F1(Display a short description of each)180 667.2 Q F0(pattern)
-2.5 E F2<ad6d>144 679.2 Q F1(Display the description of each)180 679.2 Q
-F0(pattern)2.5 E F1(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)-2.5 E F2
-<ad73>144 691.2 Q F1(Display only a short usage synopsis for each)180
-691.2 Q F0(pattern)2.5 E F1
-(The return status is 0 unless no command matches)144 708 Q F0(pattern)
-3.75 E F1(.).24 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(74)
-190.395 E 0 Cg EP
-%%Page: 75 75
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(history [)108 84 Q F0(n)A F2
-(])A(history \255c)108 96 Q(history \255d)108 108 Q F0(of)2.5 E(fset)
--.18 E F2(history \255d)108 120 Q F0(start)2.5 E F1(-)A F0(end)A F2
-(history \255anrw)108 132 Q F1([)2.5 E F0(\214lename)A F1(])A F2
-(history \255p)108 144 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37
-E F1 1.666(...)2.5 G(])-1.666 E F2(history \255s)108 156 Q F0(ar)2.5 E
-(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E -.4
-(Wi)144 168 S .831
-(th no options, display the command history list with numbers.).4 F .832
-(Entries pre\214x)5.831 F .832(ed with a)-.15 F F2(*)3.332 E F1(ha)3.332
-E -.15(ve)-.2 G 1.082(been modi\214ed.)144 180 R 1.082(An ar)6.082 F
-1.082(gument of)-.18 F F0(n)3.942 E F1 1.082(lists only the last)3.822 F
-F0(n)3.942 E F1 3.582(entries. If)3.822 F 1.082(the shell v)3.582 F
-(ariable)-.25 E/F3 9/Times-Bold@0 SF(HISTTIME-)3.581 E(FORMA)144 192 Q
-(T)-.855 E F1 .464
-(is set and not null, it is used as a format string for)2.714 F F0
-(strftime)3.304 E F1 .465(\(3\) to display the time stamp).18 F 1.716
-(associated with each displayed history entry)144 204 R 6.716(.I)-.65 G
-(f)-6.716 E F2(history)4.215 E F1(uses)4.215 E F3(HISTTIMEFORMA)4.215 E
-(T)-.855 E/F4 9/Times-Roman@0 SF(,)A F1 1.715(it does not)3.965 F
-(print an interv)144 216 Q
-(ening space between the formatted time stamp and the history entry)-.15
-E(.)-.65 E(If)144 232.8 Q F0(\214lename)3.369 E F1 .869(is supplied,)
-3.369 F F2(history)3.369 E F1 .87
-(uses it as the name of the history \214le; if not, it uses the v)3.369
-F .87(alue of)-.25 F F3(HISTFILE)144 244.8 Q F4(.)A F1(If)4.939 E F0
-(\214lename)2.939 E F1 .438(is not supplied and)2.939 F F3(HISTFILE)
-2.938 E F1 .438(is unset or null, the)2.688 F F2 .438
-(\255a, \255n, \255r)2.938 F(,)-.92 E F1(and)2.938 E F2<ad77>2.938 E F1
-(op-)2.938 E(tions ha)144 256.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25
-(ff)-2.5 G(ect.).25 E(Options, if supplied, ha)144 273.6 Q .3 -.15(ve t)
--.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad63>144 285.6 Q F1 .017
-(Clear the history list by deleting all the entries.)180 285.6 R .018
-(This can be used with the other options to)5.018 F
-(replace the history list.)180 297.6 Q F2<ad64>144 309.6 Q F0(of)2.5 E
-(fset)-.18 E F1 .39(Delete the history entry at position)180 321.6 R F0
-(of)2.889 E(fset)-.18 E F1 5.389(.I)C(f)-5.389 E F0(of)2.889 E(fset)-.18
-E F1 .389(is ne)2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i)
-.15 G 2.889(ti)-2.889 G 2.889(si)-2.889 G .389(nterpreted as relati)
--2.889 F -.15(ve)-.25 G .598
-(to one greater than the last history position, so ne)180 333.6 R -.05
-(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
-(ndices count back from the end).15 F(of the history)180 345.6 Q 2.5(,a)
--.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
-(efers to the current)-2.5 E F2(history \255d)2.5 E F1(command.)2.5 E F2
-<ad64>144 357.6 Q F0(start)2.5 E F1<ad>A F0(end)A F1 1.25
-(Delete the range of history entries between positions)180 369.6 R F0
-(start)3.75 E F1(and)3.75 E F0(end)3.75 E F1 3.75(,i)C(nclusi)-3.75 E
--.15(ve)-.25 G 6.25(.P).15 G(ositi)-6.25 E -.15(ve)-.25 G(and ne)180
-381.6 Q -.05(ga)-.15 G(ti).05 E .3 -.15(ve v)-.25 H(alues for)-.1 E F0
-(start)2.5 E F1(and)2.5 E F0(end)2.5 E F1
-(are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F2<ad61>
-144 393.6 Q F1 .775(Append the \231ne)180 393.6 R .776
-(w\232 history lines to the history \214le.)-.25 F .776
-(These are history lines entered since)5.776 F(the be)180 405.6 Q
-(ginning of the current)-.15 E F2(bash)2.5 E F1(session, b)2.5 E
-(ut not already appended to the history \214le.)-.2 E F2<ad6e>144 417.6
-Q F1 .733(Read the history lines not already read from the history \214\
-le and add them to the current)180 417.6 R .142(history list.)180 429.6
-R .143(These are lines appended to the history \214le since the be)5.142
-F .143(ginning of the current)-.15 F F2(bash)180 441.6 Q F1(session.)2.5
-E F2<ad72>144 453.6 Q F1(Read the history \214le and append its content\
-s to the current history list.)180 453.6 Q F2<ad77>144 465.6 Q F1
-(Write the current history list to the history \214le, o)180 465.6 Q
--.15(ve)-.15 G(rwriting the history \214le.).15 E F2<ad70>144 477.6 Q F1
-.626(Perform history substitution on the follo)180 477.6 R(wing)-.25 E
-F0(ar)3.125 E(gs)-.37 E F1 .625(and display the result on the standard)
-3.125 F .468(output, without storing the results in the history list.)
-180 489.6 R(Each)5.469 E F0(ar)2.969 E(g)-.37 E F1 .469
-(must be quoted to disable)2.969 F(normal history e)180 501.6 Q
-(xpansion.)-.15 E F2<ad73>144 513.6 Q F1 .363(Store the)180 513.6 R F0
-(ar)3.193 E(gs)-.37 E F1 .363(in the history list as a single entry)
-3.133 F 5.363(.T)-.65 G .362(he last command in the history list is)
--5.363 F(remo)180 525.6 Q -.15(ve)-.15 G 2.5(db).15 G(efore adding the)
--2.5 E F0(ar)2.83 E(gs)-.37 E F1(.).27 E 1.152(If the)144 542.4 R F3
-(HISTTIMEFORMA)3.652 E(T)-.855 E F1 -.25(va)3.402 G 1.152
-(riable is set,).25 F F2(history)3.652 E F1 1.152
-(writes the time stamp information associated)3.652 F .189
-(with each history entry to the history \214le, mark)144 554.4 R .188
-(ed with the history comment character as described)-.1 F(abo)144 566.4
-Q -.15(ve)-.15 G 5.264(.W).15 G .264
-(hen the history \214le is read, lines be)-5.264 F .265
-(ginning with the history comment character follo)-.15 F(wed)-.25 E
-(immediately by a digit are interpreted as timestamps for the follo)144
-578.4 Q(wing history entry)-.25 E(.)-.65 E .052(The return v)144 595.2 R
-.051(alue is 0 unless an in)-.25 F -.25(va)-.4 G .051
-(lid option is encountered, an error occurs while reading or writ-).25 F
-.706(ing the history \214le, an in)144 607.2 R -.25(va)-.4 G(lid).25 E
-F0(of)3.207 E(fset)-.18 E F1 .707(or range is supplied as an ar)3.207 F
-.707(gument to)-.18 F F2<ad64>3.207 E F1 3.207(,o)C 3.207(rt)-3.207 G
-.707(he history e)-3.207 F(x-)-.15 E(pansion supplied as an ar)144 619.2
-Q(gument to)-.18 E F2<ad70>2.5 E F1 -.1(fa)2.5 G(ils.).1 E F2(jobs)108
-636 Q F1([)2.5 E F2(\255lnprs)A F1 2.5(][)C F0(jobspec)A F1 -3.332 1.666
-(... ])2.5 H F2(jobs \255x)108 648 Q F0(command)2.5 E F1([)2.5 E F0(ar)
-2.5 E(gs)-.37 E F1 -3.332 1.666(... ])2.5 H
-(The \214rst form lists the acti)144 660 Q .3 -.15(ve j)-.25 H 2.5
-(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad6c>144 672 Q F1
-(List process IDs in addition to the normal information.)180 672 Q F2
-<ad6e>144 684 Q F1 .194(Display information only about jobs that ha)180
-684 R .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
-.193(as last noti-)-.1 F(\214ed of their status.)180 696 Q(GNU Bash 5.3)
-72 768 Q(2024 October 15)141.235 E(75)190.395 E 0 Cg EP
-%%Page: 76 76
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<ad70>144 84 Q F1
-(List only the process ID of the job')180 84 Q 2.5(sp)-.55 G
-(rocess group leader)-2.5 E(.)-.55 E F2<ad72>144 96 Q F1
-(Display only running jobs.)180 96 Q F2<ad73>144 108 Q F1
-(Display only stopped jobs.)180 108 Q(If)144 124.8 Q F0(jobspec)5.19 E
-F1 .95(is supplied,)3.76 F F2(jobs)3.45 E F1 .95
-(restricts output to information about that job)3.45 F 5.95(.T)-.4 G .95
-(he return status is 0)-5.95 F(unless an in)144 136.8 Q -.25(va)-.4 G
-(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 E F0
-(jobspec)4.24 E F1(is supplied.)2.81 E .395(If the)144 153.6 R F2<ad78>
-2.895 E F1 .394(option is supplied,)2.894 F F2(jobs)2.894 E F1 .394
-(replaces an)2.894 F(y)-.15 E F0(jobspec)4.634 E F1 .394(found in)3.204
-F F0(command)3.094 E F1(or)3.664 E F0(ar)3.224 E(gs)-.37 E F1 .394
-(with the corre-)3.164 F(sponding process group ID, and e)144 165.6 Q
--.15(xe)-.15 G(cutes).15 E F0(command)2.7 E F1 2.5(,p).77 G(assing it)
--2.5 E F0(ar)2.83 E(gs)-.37 E F1 2.5(,r).27 G(eturning its e)-2.5 E
-(xit status.)-.15 E F2(kill)108 182.4 Q F1([)2.5 E F2<ad73>A F0(sigspec)
-2.5 E F1(|)2.5 E F2<ad6e>2.5 E F0(signum)2.5 E F1(|)2.5 E F2<ad>2.5 E F0
-(sigspec)A F1(])A F0(id)2.5 E F1 2.5([.)2.5 G -3.332 1.666(.. ])-.834 H
-F2(kill \255l)108 194.4 Q F1(|)A F2<ad4c>A F1([)2.5 E F0(sigspec)A F1(|)
-2.5 E F0 -.2(ex)2.5 G(it_status).2 E F1(])A .661
-(Send the signal speci\214ed by)144 206.4 R F0(sigspec)3.501 E F1(or)
-3.471 E F0(signum)3.501 E F1 .661(to the processes named by each)3.481 F
-F0(id)3.171 E F1 5.662(.E).77 G(ach)-5.662 E F0(id)3.172 E F1(may)3.932
-E .295(be a job speci\214cation)144 218.4 R F0(jobspec)2.795 E F1 .294
-(or a process ID)2.795 F F0(pid)2.794 E F1(.)A F0(sigspec)5.634 E F1
-.294(is either a case-insensiti)3.104 F .594 -.15(ve s)-.25 H .294
-(ignal name).15 F .464(such as)144 230.4 R/F3 9/Times-Bold@0 SF(SIGKILL)
-2.964 E F1 .464(\(with or without the)2.714 F F3(SIG)2.964 E F1 .465
-(pre\214x\) or a signal number;)2.714 F F0(signum)3.305 E F1 .465
-(is a signal number)3.285 F(.)-.55 E(If)144 242.4 Q F0(sigspec)2.84 E F1
-(is not supplied, then)2.81 E F2(kill)2.5 E F1(sends)2.5 E F3(SIGTERM)
-2.5 E/F4 9/Times-Roman@0 SF(.)A F1(The)144 259.2 Q F2<ad6c>2.874 E F1
-.374(option lists the signal names.)2.874 F .374(If an)5.374 F 2.874(ya)
--.15 G -.18(rg)-2.874 G .374(uments are supplied when).18 F F2<ad6c>
-2.874 E F1 .374(is gi)2.874 F -.15(ve)-.25 G(n,).15 E F2(kill)2.874 E F1
-.373(lists the)2.873 F .119
-(names of the signals corresponding to the ar)144 271.2 R .119
-(guments, and the return status is 0.)-.18 F(The)5.12 E F0 -.2(ex)2.62 G
-(it_status).2 E F1(ar)2.62 E(-)-.2 E .8(gument to)144 283.2 R F2<ad6c>
-3.3 E F1 .8(is a number specifying either a signal number or the e)3.3 F
-.799(xit status of a process termi-)-.15 F .381
-(nated by a signal; if it is supplied,)144 295.2 R F2(kill)2.881 E F1
-.381(prints the name of the signal that caused the process to ter)2.881
-F(-)-.2 E(minate.)144 307.2 Q F2(kill)6.091 E F1 1.091
-(assumes that process e)3.591 F 1.091
-(xit statuses are greater than 128; an)-.15 F 1.09
-(ything less than that is a)-.15 F(signal number)144 319.2 Q 5(.T)-.55 G
-(he)-5 E F2<ad4c>2.5 E F1(option is equi)2.5 E -.25(va)-.25 G(lent to)
-.25 E F2<ad6c>2.5 E F1(.)A F2(kill)144 336 Q F1 .277
-(returns true if at least one signal w)2.776 F .277
-(as successfully sent, or f)-.1 F .277(alse if an error occurs or an in)
--.1 F -.25(va)-.4 G(lid).25 E(option is encountered.)144 348 Q F2(let)
-108 364.8 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666
-(...)2.5 G(])-1.666 E(Each)144 376.8 Q F0(ar)3.993 E(g)-.37 E F1 1.162
-(is e)3.882 F -.25(va)-.25 G 1.162(luated as an arithmetic e).25 F 1.162
-(xpression \(see)-.15 F F3 1.162(ARITHMETIC EV)3.662 F(ALU)-1.215 E
--.855(AT)-.54 G(ION).855 E F1(abo)3.412 E -.15(ve)-.15 G 3.662(\). If)
-.15 F(the last)144 388.8 Q F0(ar)2.83 E(g)-.37 E F1 -.25(eva)2.72 G
-(luates to 0,).25 E F2(let)2.5 E F1(returns 1; otherwise)2.5 E F2(let)
-2.5 E F1(returns 0.)2.5 E F2(local)108 405.6 Q F1([)2.5 E F0(option)A F1
-2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C -3.332 1.666
-(.. | \255 ])-.834 H -.15(Fo)144 417.6 S 2.613(re).15 G .113(ach ar)
--2.613 F .113(gument, create a local v)-.18 F .113(ariable named)-.25 F
-F0(name)2.973 E F1 .114(and assign it)2.794 F F0(value)2.904 E F1 5.114
-(.T).18 G(he)-5.114 E F0(option)2.614 E F1 .114(can be an)2.614 F(y)-.15
-E .91(of the options accepted by)144 429.6 R F2(declar)3.41 E(e)-.18 E
-F1 5.91(.W)C(hen)-5.91 E F2(local)3.409 E F1 .909
-(is used within a function, it causes the v)3.409 F(ariable)-.25 E F0
-(name)144.36 441.6 Q F1 .44(to ha)3.12 F .74 -.15(ve a v)-.2 H .44
-(isible scope restricted to that function and its children.).15 F .441
-(It is an error to use)5.441 F F2(local)2.941 E F1
-(when not within a function.)144 453.6 Q(If)144 470.4 Q F0(name)3.081 E
-F1 .581(is \255, it mak)3.081 F .58
-(es the set of shell options local to the function in which)-.1 F F2
-(local)3.08 E F1 .58(is in)3.08 F -.2(vo)-.4 G -.1(ke).2 G .58(d: an).1
-F(y)-.15 E .351(shell options changed using the)144 482.4 R F2(set)2.851
-E F1 -.2(bu)2.851 G .351(iltin inside the function after the call to).2
-F F2(local)2.851 E F1 .352(are restored to)2.852 F .325
-(their original v)144 494.4 R .324(alues when the function returns.)-.25
-F .324(The restore is performed as if a series of)5.324 F F2(set)2.824 E
-F1(com-)2.824 E(mands were e)144 506.4 Q -.15(xe)-.15 G
-(cuted to restore the v).15 E
-(alues that were in place before the function.)-.25 E -.4(Wi)144 523.2 S
-(th no operands,).4 E F2(local)2.5 E F1(writes a list of local v)2.5 E
-(ariables to the standard output.)-.25 E .341
-(The return status is 0 unless)144 540 R F2(local)2.841 E F1 .341
-(is used outside a function, an in)2.841 F -.25(va)-.4 G(lid).25 E F0
-(name)3.201 E F1 .341(is supplied, or)3.021 F F0(name)2.842 E F1
-(is a readonly v)144 552 Q(ariable.)-.25 E F2(logout [)108 568.8 Q F0(n)
-A F2(])A F1(Exit a login shell, returning a status of)144 580.8 Q F0(n)
-2.5 E F1(to the shell')2.5 E 2.5(sp)-.55 G(arent.)-2.5 E F2(map\214le)
-108 597.6 Q F1([)2.5 E F2<ad64>A F0(delim)2.5 E F1 2.5(][)C F2<ad6e>-2.5
-E F0(count)2.5 E F1 2.5(][)C F2<ad4f>-2.5 E F0(origin)2.5 E F1 2.5(][)C
-F2<ad73>-2.5 E F0(count)2.5 E F1 2.5(][)C F2<ad74>-2.5 E F1 2.5(][)C F2
-<ad75>-2.5 E F0(fd)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0(callbac)2.5 E(k)
--.2 E F1 2.5(][)C F2<ad63>-2.5 E F0(quantum)2.5 E F1 2.5(][)C F0(arr)
--2.5 E(ay)-.15 E F1(])A F2 -.18(re)108 609.6 S(adarray).18 E F1([)2.5 E
-F2<ad64>A F0(delim)2.5 E F1 2.5(][)C F2<ad6e>-2.5 E F0(count)2.5 E F1
-2.5(][)C F2<ad4f>-2.5 E F0(origin)2.5 E F1 2.5(][)C F2<ad73>-2.5 E F0
-(count)2.5 E F1 2.5(][)C F2<ad74>-2.5 E F1 2.5(][)C F2<ad75>-2.5 E F0
-(fd)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0(callbac)2.5 E(k)-.2 E F1 2.5(][)
-C F2<ad63>-2.5 E F0(quantum)2.5 E F1 2.5(][)C F0(arr)-2.5 E(ay)-.15 E F1
-(])A .329(Read lines from the standard input, or from \214le descriptor)
-144 621.6 R F0(fd)4.798 E F1 .328(if the)3.598 F F2<ad75>2.828 E F1 .328
-(option is supplied, into the)2.828 F(inde)144 633.6 Q -.15(xe)-.15 G
-3.489(da).15 G .989(rray v)-3.489 F(ariable)-.25 E F0(arr)3.819 E(ay)
--.15 E F1 5.989(.T).32 G .989(he v)-5.989 F(ariable)-.25 E F3(MAPFILE)
-3.489 E F1 .989(is the def)3.239 F(ault)-.1 E F0(arr)3.49 E(ay)-.15 E F1
-5.99(.O)C .99(ptions, if supplied,)-5.99 F(ha)144 645.6 Q .3 -.15(ve t)
--.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad64>144 657.6 Q F1 .282
-(Use the \214rst character of)180 657.6 R F0(delim)2.782 E F1 .281
-(to terminate each input line, rather than ne)2.781 F 2.781(wline. If)
--.25 F F0(delim)2.781 E F1(is the empty string,)180 669.6 Q F2
-(map\214le)2.5 E F1(will terminate a line when it reads a NUL character)
-2.5 E(.)-.55 E F2<ad6e>144 681.6 Q F1(Cop)180 681.6 Q 2.5(ya)-.1 G 2.5
-(tm)-2.5 G(ost)-2.5 E F0(count)2.7 E F1 2.5(lines. If)3.18 F F0(count)
-2.5 E F1(is 0, cop)2.5 E 2.5(ya)-.1 G(ll lines.)-2.5 E F2<ad4f>144 693.6
-Q F1(Be)180 693.6 Q(gin assigning to)-.15 E F0(arr)2.83 E(ay)-.15 E F1
-(at inde)2.82 E(x)-.15 E F0(origin)2.73 E F1 5(.T).24 G(he def)-5 E
-(ault inde)-.1 E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2<ad73>144 705.6
-Q F1(Discard the \214rst)180 705.6 Q F0(count)2.5 E F1(lines read.)2.5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(76)190.395 E 0 Cg EP
-%%Page: 77 77
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<ad74>144 84 Q F1(Remo)180 84
-Q .3 -.15(ve a t)-.15 H(railing).15 E F0(delim)2.5 E F1(\(def)2.5 E
-(ault ne)-.1 E(wline\) from each line read.)-.25 E F2<ad75>144 96 Q F1
-(Read lines from \214le descriptor)180 96 Q F0(fd)2.5 E F1
-(instead of the standard input.)2.5 E F2<ad43>144 108 Q F1(Ev)180 108 Q
-(aluate)-.25 E F0(callbac)2.7 E(k)-.2 E F1(each time)3.17 E F0(quantum)
-2.5 E F1(lines are read.)2.5 E(The)5 E F2<ad63>2.5 E F1
-(option speci\214es)2.5 E F0(quantum)2.75 E F1(.).32 E F2<ad63>144 120 Q
-F1(Specify the number of lines read between each call to)180 120 Q F0
-(callbac)2.7 E(k)-.2 E F1(.).67 E(If)144 136.8 Q F2<ad43>2.967 E F1 .467
-(is speci\214ed without)2.967 F F2<ad63>2.967 E F1 2.967(,t)C .467
-(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F0
-(callbac)2.967 E(k)-.2 E F1 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F .262(plied the inde)144 148.8 R 2.762(xo)-.15
-G 2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be ass\
-igned and the line to be assigned to that element)-.15 F .274
-(as additional ar)144 160.8 R(guments.)-.18 E F0(callbac)5.274 E(k)-.2 E
-F1 .274(is e)2.774 F -.25(va)-.25 G .274
-(luated after the line is read b).25 F .275
-(ut before the array element is)-.2 F(assigned.)144 172.8 Q
-(If not supplied with an e)144 189.6 Q(xplicit origin,)-.15 E F2
-(map\214le)2.5 E F1(will clear)2.5 E F0(arr)2.5 E(ay)-.15 E F1
-(before assigning to it.)2.5 E F2(map\214le)144 206.4 Q F1 1.066
-(returns zero unless an in)3.566 F -.25(va)-.4 G 1.065
-(lid option or option ar).25 F 1.065(gument is supplied,)-.18 F F0(arr)
-3.565 E(ay)-.15 E F1 1.065(is in)3.565 F -.25(va)-.4 G 1.065(lid or).25
-F(unassignable, or if)144 218.4 Q F0(arr)2.5 E(ay)-.15 E F1
-(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F2(popd)108 235.2 Q F1<5bad>2.5 E F2(n)A F1 2.5(][)C(+)-2.5 E F0(n)A F1
-2.5(][)C<ad>-2.5 E F0(n)A F1(])A(Remo)144 247.2 Q 1.15 -.15(ve e)-.15 H
-.85(ntries from the directory stack.).15 F .851
-(The elements are numbered from 0 starting at the \214rst)5.851 F .848
-(directory listed by)144 259.2 R F2(dirs)3.348 E F1 3.348(,s)C(o)-3.348
-E F2(popd)3.348 E F1 .848(is equi)3.348 F -.25(va)-.25 G .848
-(lent to \231popd +0.).25 F 5.848<9a57>-.7 G .848(ith no ar)-6.248 F
-(guments,)-.18 E F2(popd)3.348 E F1(remo)3.348 E -.15(ve)-.15 G(s).15 E
-1.142(the top directory from the stack, and changes to the ne)144 271.2
-R 3.643(wt)-.25 G 1.143(op directory)-3.643 F 6.143(.A)-.65 G -.18(rg)
--6.143 G 1.143(uments, if supplied,).18 F(ha)144 283.2 Q .3 -.15(ve t)
--.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6e>144 295.2 Q F1 .504
-(Suppress the normal change of directory when remo)180 295.2 R .504
-(ving directories from the stack, only)-.15 F(manipulate the stack.)180
-307.2 Q F2(+)144 319.2 Q F0(n)A F1(Remo)180 319.2 Q .683 -.15(ve t)-.15
-H(he).15 E F0(n)2.883 E F1 .383
-(th entry counting from the left of the list sho)B .383(wn by)-.25 F F2
-(dirs)2.883 E F1 2.883(,s)C .384(tarting with zero,)-2.883 F .777
-(from the stack.)180 331.2 R -.15(Fo)5.777 G 3.277(re).15 G .777
-(xample: \231popd +0\232 remo)-3.427 F -.15(ve)-.15 G 3.276(st).15 G
-.776(he \214rst directory)-3.276 F 3.276<2c99>-.65 G .776
-(popd +1\232 the sec-)-3.276 F(ond.)180 343.2 Q F2<ad>144 355.2 Q F0(n)A
-F1(Remo)180 355.2 Q .335 -.15(ve t)-.15 H(he).15 E F0(n)2.535 E F1 .036
-(th entry counting from the right of the list sho)B .036(wn by)-.25 F F2
-(dirs)2.536 E F1 2.536(,s)C .036(tarting with zero.)-2.536 F -.15(Fo)180
-367.2 S 2.5(re).15 G(xample: \231popd \2550\232 remo)-2.65 E -.15(ve)
--.15 G 2.5(st).15 G(he last directory)-2.5 E 2.5<2c99>-.65 G
-(popd \2551\232 the ne)-2.5 E(xt to last.)-.15 E 1.058
-(If the top element of the directory stack is modi\214ed, and the)144
-384 R F0<ad6e>3.557 E F1 1.057(option w)3.557 F 1.057(as not supplied,)
--.1 F F2(popd)3.557 E F1 .249(uses the)144 396 R F2(cd)2.749 E F1 -.2
-(bu)2.749 G .249
-(iltin to change to the directory at the top of the stack.).2 F .249
-(If the)5.249 F F2(cd)2.749 E F1 -.1(fa)2.749 G(ils,).1 E F2(popd)2.749
-E F1 .25(returns a)2.749 F(non-zero v)144 408 Q(alue.)-.25 E(Otherwise,)
-144 424.8 Q F2(popd)3.572 E F1 1.072(returns f)3.572 F 1.072
-(alse if an in)-.1 F -.25(va)-.4 G 1.072
-(lid option is supplied, the directory stack is empty).25 F 3.571(,o)
--.65 G(r)-3.571 E F0(n)3.571 E F1(speci\214es a non-e)144 436.8 Q
-(xistent directory stack entry)-.15 E(.)-.65 E 1.45(If the)144 453.6 R
-F2(popd)3.95 E F1 1.45(command is successful,)3.95 F F2(bash)3.95 E F1
-(runs)3.951 E F2(dirs)3.951 E F1 1.451(to sho)3.951 F 3.951(wt)-.25 G
-1.451(he \214nal contents of the directory)-3.951 F
-(stack, and the return status is 0.)144 465.6 Q F2(printf)108 482.4 Q F1
-([)2.5 E F2<ad76>A F0(var)2.5 E F1(])A F0(format)2.5 E F1([)2.5 E F0(ar)
-A(guments)-.37 E F1(])A .358(Write the formatted)144 494.4 R F0(ar)2.858
-E(guments)-.37 E F1 .358
-(to the standard output under the control of the)2.858 F F0(format)2.857
-E F1 5.357(.T)C(he)-5.357 E F2<ad76>2.857 E F1(op-)2.857 E
-(tion assigns the output to the v)144 506.4 Q(ariable)-.25 E F0(var)2.5
-E F1(rather than printing it to the standard output.)2.5 E(The)144 523.2
-Q F0(format)3.017 E F1 .517(is a character string which contains three \
-types of objects: plain characters, which are)3.017 F .704(simply copie\
-d to standard output, character escape sequences, which are con)144
-535.2 R -.15(ve)-.4 G .703(rted and copied to).15 F .036(the standard o\
-utput, and format speci\214cations, each of which causes printing of th\
-e ne)144 547.2 R .037(xt successi)-.15 F -.15(ve)-.25 G F0(ar)144 559.2
-Q(gument)-.37 E F1 7.825(.I)C 5.325(na)-7.825 G 2.825
-(ddition to the standard)-5.325 F F0(printf)6.574 E F1 2.824
-(\(3\) format characters)1.96 F F2(cCsSndiouxXeEfFgGaA)5.324 E F1(,)A F2
-(printf)144 571.2 Q F1(interprets the follo)2.5 E
-(wing additional format speci\214ers:)-.25 E F2(%b)144 583.2 Q F1
-(causes)180 583.2 Q F2(printf)2.595 E F1 .096(to e)2.595 F .096
-(xpand backslash escape sequences in the corresponding)-.15 F F0(ar)
-2.596 E(gument)-.37 E F1 .096(in the)2.596 F(same w)180 595.2 Q(ay as)
--.1 E F2(echo \255e)2.5 E F1(.)A F2(%q)144 607.2 Q F1(causes)180 607.2 Q
-F2(printf)2.51 E F1 .01(to output the corresponding)2.51 F F0(ar)2.51 E
-(gument)-.37 E F1 .01(in a format that can be reused as shell)2.51 F
-(input.)180 619.2 Q F2(%q)5.543 E F1(and)3.043 E F2(%Q)3.043 E F1 .544
-(use the)3.043 F F2<240808>3.044 E F1 .544(quoting style if an)3.044 F
-3.044(yc)-.15 G .544(haracters in the ar)-3.044 F .544
-(gument string re-)-.18 F 1.286
-(quire it, and backslash quoting otherwise.)180 631.2 R 1.285
-(If the format string uses the)6.285 F F0(printf)3.785 E F1(alternate)
-3.785 E(form, these tw)180 643.2 Q 2.5(of)-.1 G(ormats quote the ar)-2.5
-E(gument string using single quotes.)-.18 E F2(%Q)144 655.2 Q F1(lik)180
-655.2 Q(e)-.1 E F2(%q)2.5 E F1 2.5(,b)C(ut applies an)-2.7 E 2.5(ys)-.15
-G(upplied precision to the)-2.5 E F0(ar)2.5 E(gument)-.37 E F1
-(before quoting it.)2.5 E F2(%\()144 667.2 Q F0(datefmt)A F2(\)T)A F1
-(causes)180 679.2 Q F2(printf)4.403 E F1 1.904
-(to output the date-time string resulting from using)4.403 F F0(datefmt)
-4.404 E F1 1.904(as a format)4.404 F .334(string for)180 691.2 R F0
-(strftime)3.174 E F1 2.834(\(3\). The).18 F(corresponding)2.834 E F0(ar)
-2.834 E(gument)-.37 E F1 .334(is an inte)2.834 F .333
-(ger representing the number)-.15 F .976(of seconds since the epoch.)180
-703.2 R .977(This format speci\214er recognizes tw)5.977 F 3.477(os)-.1
-G .977(pecial ar)-3.477 F .977(gument v)-.18 F(al-)-.25 E .602(ues: \
-\2551 represents the current time, and \2552 represents the time the sh\
-ell w)180 715.2 R .602(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.102(d. If)
-.1 F 1.88(no ar)180 727.2 R 1.88(gument is speci\214ed, con)-.18 F -.15
-(ve)-.4 G 1.88(rsion beha).15 F -.15(ve)-.2 G 4.38(sa).15 G 4.38(si)
--4.38 G 4.38<66ad>-4.38 G 4.38(1h)-4.38 G 1.88(ad been supplied.)-4.38 F
-1.88(This is an)6.88 F(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E
-(77)190.395 E 0 Cg EP
-%%Page: 78 78
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E -.15(ex)180 84 S(ception to the usual).15 E/F2 10
-/Times-Bold@0 SF(printf)2.5 E F1(beha)2.5 E(vior)-.2 E(.)-.55 E .946(Th\
-e %b, %q, and %T format speci\214ers all use the \214eld width and prec\
-ision ar)144 100.8 R .945(guments from the)-.18 F .338
-(format speci\214cation and write that man)144 112.8 R 2.838(yb)-.15 G
-.338(ytes from \(or use that wide a \214eld for\) the e)-2.838 F .339
-(xpanded ar)-.15 F(-)-.2 E
-(gument, which usually contains more characters than the original.)144
-124.8 Q(The %n format speci\214er accepts a corresponding ar)144 141.6 Q
-(gument that is treated as a shell v)-.18 E(ariable name.)-.25 E .394
-(The %s and %c format speci\214ers accept an l \(long\) modi\214er)144
-158.4 R 2.893(,w)-.4 G .393(hich forces them to con)-2.893 F -.15(ve)-.4
-G .393(rt the ar).15 F(-)-.2 E .32
-(gument string to a wide-character string and apply an)144 170.4 R 2.821
-(ys)-.15 G .321(upplied \214eld width and precision in terms)-2.821 F
-.309(of characters, not bytes.)144 182.4 R .308
-(The %S and %C format speci\214ers are equi)5.308 F -.25(va)-.25 G .308
-(lent to %ls and %lc, respec-).25 F(ti)144 194.4 Q -.15(ve)-.25 G(ly).15
-E(.)-.65 E(Ar)144 211.2 Q .463(guments to non-string format speci\214er\
-s are treated as C constants, e)-.18 F .464
-(xcept that a leading plus or)-.15 F .36(minus sign is allo)144 223.2 R
-.359
-(wed, and if the leading character is a single or double quote, the v)
--.25 F .359(alue is the nu-)-.25 F(meric v)144 235.2 Q
-(alue of the follo)-.25 E(wing character)-.25 E 2.5(,u)-.4 G
-(sing the current locale.)-2.5 E(The)144 252 Q F0(format)2.514 E F1 .015
-(is reused as necessary to consume all of the)2.514 F F0(ar)2.515 E
-(guments)-.37 E F1 5.015(.I)C 2.515(ft)-5.015 G(he)-2.515 E F0(format)
-2.515 E F1 .015(requires more)2.515 F F0(ar)2.515 E(-)-.2 E(guments)144
-264 Q F1 .566(than are supplied, the e)3.066 F .566
-(xtra format speci\214cations beha)-.15 F .866 -.15(ve a)-.2 H 3.066(si)
-.15 G 3.065(faz)-3.066 G .565(ero v)-3.065 F .565(alue or null string,)
--.25 F .541(as appropriate, had been supplied.)144 276 R .541
-(The return v)5.541 F .541(alue is zero on success, non-zero if an in)
--.25 F -.25(va)-.4 G .542(lid op-).25 F
-(tion is supplied or a write or assignment error occurs.)144 288 Q F2
-(pushd)108 304.8 Q F1([)2.5 E F2<ad6e>A F1 2.5(][)C(+)-2.5 E F0(n)A F1
-2.5(][)C<ad>-2.5 E F0(n)A F1(])A F2(pushd)108 316.8 Q F1([)2.5 E F2
-<ad6e>A F1 2.5(][)C F0(dir)-2.5 E F1(])A 1.049(Add a directory to the t\
-op of the directory stack, or rotate the stack, making the ne)144 328.8
-R 3.549(wt)-.25 G 1.049(op of the)-3.549 F .088(stack the current w)144
-340.8 R .088(orking directory)-.1 F 5.088(.W)-.65 G .088(ith no ar)
--5.488 F(guments,)-.18 E F2(pushd)2.589 E F1 -.15(ex)2.589 G .089
-(changes the top tw).15 F 2.589(oe)-.1 G .089(lements of)-2.589 F
-(the directory stack.)144 352.8 Q(Ar)5 E(guments, if supplied, ha)-.18 E
-.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6e>144
-364.8 Q F1 .347(Suppress the normal change of directory when rotating o\
-r adding directories to the stack,)180 364.8 R
-(only manipulate the stack.)180 376.8 Q F2(+)144 388.8 Q F0(n)A F1 .147
-(Rotate the stack so that the)180 388.8 R F0(n)2.647 E F1 .147
-(th directory \(counting from the left of the list sho)B .147(wn by)-.25
-F F2(dirs)2.648 E F1(,)A(starting with zero\) is at the top.)180 400.8 Q
-F2<ad>144 412.8 Q F0(n)A F1 .92(Rotates the stack so that the)180 412.8
-R F0(n)3.42 E F1 .92
-(th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F2(dirs)180 424.8 Q F1 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F0(dir)144.35 436.8 Q F1(Adds)180 436.8 Q F0(dir)2.85 E F1
-(to the directory stack at the top.)3.23 E .434
-(After the stack has been modi\214ed, if the)144 453.6 R F2<ad6e>2.934 E
-F1 .434(option w)2.934 F .435(as not supplied,)-.1 F F2(pushd)2.935 E F1
-.435(uses the)2.935 F F2(cd)2.935 E F1 -.2(bu)2.935 G .435(iltin to).2 F
-(change to the directory at the top of the stack.)144 465.6 Q(If the)5 E
-F2(cd)2.5 E F1 -.1(fa)2.5 G(ils,).1 E F2(pushd)2.5 E F1
-(returns a non-zero v)2.5 E(alue.)-.25 E .908(Otherwise, if no ar)144
-482.4 R .908(guments are supplied,)-.18 F F2(pushd)3.408 E F1 .908
-(returns zero unless the directory stack is empty)3.408 F(.)-.65 E 1.477
-(When rotating the directory stack,)144 494.4 R F2(pushd)3.977 E F1
-1.477(returns zero unless the directory stack is empty or)3.977 F F0(n)
-3.978 E F1(speci\214es a non-e)144 506.4 Q
-(xistent directory stack element.)-.15 E 1.173(If the)144 523.2 R F2
-(pushd)3.673 E F1 1.173(command is successful,)3.673 F F2(bash)3.673 E
-F1(runs)3.673 E F2(dirs)3.673 E F1 1.172(to sho)3.672 F 3.672(wt)-.25 G
-1.172(he \214nal contents of the directory)-3.672 F(stack.)144 535.2 Q
-F2(pwd)108 552 Q F1([)2.5 E F2(\255LP)A F1(])A .844
-(Print the absolute pathname of the current w)144 564 R .845
-(orking directory)-.1 F 5.845(.T)-.65 G .845
-(he pathname printed contains no)-5.845 F .182(symbolic links if the)144
-576 R F2<ad50>2.681 E F1 .181(option is supplied or the)2.681 F F2 .181
-(\255o ph)2.681 F(ysical)-.15 E F1 .181(option to the)2.681 F F2(set)
-2.681 E F1 -.2(bu)2.681 G .181(iltin command is).2 F 3.263(enabled. If)
-144 588 R(the)3.263 E F2<ad4c>3.263 E F1 .763
-(option is used, the pathname printed may contain symbolic links.)3.263
-F .764(The return)5.764 F .405(status is 0 unless an error occurs while\
- reading the name of the current directory or an in)144 600 R -.25(va)
--.4 G .405(lid op-).25 F(tion is supplied.)144 612 Q F2 -.18(re)108
-628.8 S(ad).18 E F1([)2.5 E F2(\255Eers)A F1 2.5(][)C F2<ad61>-2.5 E F0
-(aname)2.5 E F1 2.5(][)C F2<ad64>-2.5 E F0(delim)2.5 E F1 2.5(][)C F2
-<ad69>-2.5 E F0(te)2.5 E(xt)-.2 E F1 2.5(][)C F2<ad6e>-2.5 E F0(nc)2.5 E
-(har)-.15 E(s)-.1 E F1 2.5(][)C F2<ad4e>-2.5 E F0(nc)2.5 E(har)-.15 E(s)
--.1 E F1 2.5(][)C F2<ad70>-2.5 E F0(pr)2.5 E(ompt)-.45 E F1 2.5(][)C F2
-<ad74>-2.5 E F0(timeout)2.5 E F1 2.5(][)C F2<ad75>-2.5 E F0(fd)2.5 E F1
-(])A([)108 640.8 Q F0(name)A F1 1.666(...)2.5 G(])-1.666 E .145
-(Read one line from the standard input, or from the \214le descriptor)
-144 652.8 R F0(fd)2.646 E F1 .146(supplied as an ar)2.646 F .146
-(gument to the)-.18 F F2<ad75>144 664.8 Q F1 .618
-(option, split it into w)3.119 F .618(ords as described abo)-.1 F .918
--.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)3.118 G .618(rd Splitting).75 F
-F1 3.118(,a)C .618(nd assign the \214rst w)-3.118 F(ord)-.1 E .843
-(to the \214rst)144 676.8 R F0(name)3.703 E F1 3.343(,t).18 G .843
-(he second w)-3.343 F .844(ord to the second)-.1 F F0(name)3.704 E F1
-3.344(,a).18 G .844(nd so on.)-3.344 F .844(If there are more w)5.844 F
-.844(ords than)-.1 F .052(names, the remaining w)144 688.8 R .052
-(ords and their interv)-.1 F .052
-(ening delimiters are assigned to the last)-.15 F F0(name)2.912 E F1
-5.052(.I).18 G 2.552(ft)-5.052 G(here)-2.552 E .54(are fe)144 700.8 R
-.54(wer w)-.25 F .541(ords read from the input stream than names, the r\
-emaining names are assigned empty)-.1 F -.25(va)144 712.8 S 3.201
-(lues. The).25 F .701(characters in the v)3.201 F .701(alue of the)-.25
-F/F3 9/Times-Bold@0 SF(IFS)3.2 E F1 -.25(va)2.95 G .7
-(riable are used to split the line into w).25 F .7(ords using)-.1 F 2.93
-(the same rules the shell uses for e)144 724.8 R 2.93
-(xpansion \(described abo)-.15 F 3.23 -.15(ve u)-.15 H(nder).15 E F2
--.75(Wo)5.43 G 2.93(rd Splitting).75 F F1 5.43(\). The)B(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(78)190.395 E 0 Cg EP
-%%Page: 79 79
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .004(backslash character \()144 84 R/F2 10
-/Times-Bold@0 SF(\\)A F1 2.504(\)r)C(emo)-2.504 E -.15(ve)-.15 G 2.504
-(sa).15 G .304 -.15(ny s)-2.504 H .004(pecial meaning for the ne).15 F
-.003(xt character read and is used for line)-.15 F(continuation.)144 96
-Q(Options, if supplied, ha)144 112.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 124.8 Q F0(aname)2.5 E F1 1.025
-(The w)180 136.8 R 1.026
-(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F0(aname)3.856 E F1 3.526(,s).18 G 1.026(tarting at 0.)-3.526 F
-F0(aname)180.33 148.8 Q F1(is unset before an)2.68 E 2.5(yn)-.15 G .5
--.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F0(name)2.5 E F1
-(ar)2.5 E(guments are ignored.)-.18 E F2<ad64>144 160.8 Q F0(delim)2.5 E
-F1 .503(The \214rst character of)180 172.8 R F0(delim)3.003 E F1 .503
-(terminates the input line, rather than ne)3.003 F 3.002(wline. If)-.25
-F F0(delim)3.002 E F1 .502(is the)3.002 F(empty string,)180 184.8 Q F2
--.18(re)2.5 G(ad).18 E F1
-(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F2
-<ad65>144 196.8 Q F1 1.761
-(If the standard input is coming from a terminal,)180 196.8 R F2 -.18
-(re)4.262 G(ad).18 E F1(uses)4.262 E F2 -.18(re)4.262 G(adline).18 E F1
-(\(see)4.262 E/F3 9/Times-Bold@0 SF(READLINE)4.262 E F1(abo)180 208.8 Q
--.15(ve)-.15 G 3.574(\)t).15 G 3.574(oo)-3.574 G 1.074(btain the line.)
--3.574 F F2(Readline)6.074 E F1 1.073(uses the current \(or def)3.573 F
-1.073(ault, if line editing w)-.1 F 1.073(as not)-.1 F(pre)180 220.8 Q
-(viously acti)-.25 E -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)
--2.5 E(ut uses)-.2 E F2 -.18(re)2.5 G(adline).18 E F1 1.1 -.55('s d)D
-(ef).55 E(ault \214lename completion.)-.1 E F2<ad45>144 232.8 Q F1 1.761
-(If the standard input is coming from a terminal,)180 232.8 R F2 -.18
-(re)4.262 G(ad).18 E F1(uses)4.262 E F2 -.18(re)4.262 G(adline).18 E F1
-(\(see)4.262 E F3(READLINE)4.262 E F1(abo)180 244.8 Q -.15(ve)-.15 G
-3.574(\)t).15 G 3.574(oo)-3.574 G 1.074(btain the line.)-3.574 F F2
-(Readline)6.074 E F1 1.073(uses the current \(or def)3.573 F 1.073
-(ault, if line editing w)-.1 F 1.073(as not)-.1 F(pre)180 256.8 Q .042
-(viously acti)-.25 F -.15(ve)-.25 G 2.542(\)e).15 G .042
-(diting settings, b)-2.542 F .042(ut uses bash')-.2 F 2.542(sd)-.55 G
-(ef)-2.542 E .042(ault completion, including program-)-.1 F
-(mable completion.)180 268.8 Q F2<ad69>144 280.8 Q F0(te)2.5 E(xt)-.2 E
-F1(If)180 280.8 Q F2 -.18(re)3.314 G(adline).18 E F1 .814
-(is being used to read the line,)3.314 F F2 -.18(re)3.314 G(ad).18 E F1
-(places)3.314 E F0(te)3.314 E(xt)-.2 E F1 .813(into the editing b)3.314
-F(uf)-.2 E .813(fer before)-.25 F(editing be)180 292.8 Q(gins.)-.15 E F2
-<ad6e>144 304.8 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 316.8 S
-(ad).18 E F1 .322(returns after reading)2.822 F F0(nc)2.823 E(har)-.15 E
-(s)-.1 E F1 .323(characters rather than w)2.823 F .323
-(aiting for a complete line of in-)-.1 F .737
-(put, unless it encounters EOF or)180 328.8 R F2 -.18(re)3.236 G(ad).18
-E F1 .736(times out, b)3.236 F .736
-(ut honors a delimiter if it reads fe)-.2 F(wer)-.25 E(than)180 340.8 Q
-F0(nc)2.5 E(har)-.15 E(s)-.1 E F1(characters before the delimiter)2.5 E
-(.)-.55 E F2<ad4e>144 352.8 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)
-180 364.8 S(ad).18 E F1 1.269(returns after reading e)3.769 F(xactly)
--.15 E F0(nc)3.769 E(har)-.15 E(s)-.1 E F1 1.269
-(characters rather than w)3.769 F 1.27(aiting for a complete)-.1 F .173
-(line of input, unless it encounters EOF or)180 376.8 R F2 -.18(re)2.673
-G(ad).18 E F1 .173(times out.)2.673 F(An)5.172 E 2.672(yd)-.15 G .172
-(elimiter characters in the)-2.672 F 1.245
-(input are not treated specially and do not cause)180 388.8 R F2 -.18
-(re)3.746 G(ad).18 E F1 1.246(to return until it has read)3.746 F F0(nc)
-3.746 E(har)-.15 E(s)-.1 E F1 2.567(characters. The)180 400.8 R .067
-(result is not split on the characters in)2.567 F F2(IFS)2.566 E F1
-2.566(;t)C .066(he intent is that the v)-2.566 F .066(ariable is)-.25 F
-.894(assigned e)180 412.8 R .894
-(xactly the characters read \(with the e)-.15 F .895
-(xception of backslash; see the)-.15 F F2<ad72>3.395 E F1(option)3.395 E
-(belo)180 424.8 Q(w\).)-.25 E F2<ad70>144 436.8 Q F0(pr)2.5 E(ompt)-.45
-E F1(Display)180 448.8 Q F0(pr)3.661 E(ompt)-.45 E F1 1.161
-(on standard error)3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne)
--3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 460.8 Q
-2.5(yi)-.15 G(nput, b)-2.5 E
-(ut only if input is coming from a terminal.)-.2 E F2<ad72>144 472.8 Q
-F1 .543(Backslash does not act as an escape character)180 472.8 R 5.543
-(.T)-.55 G .544(he backslash is considered to be part of)-5.543 F .493
-(the line.)180 484.8 R .493(In particular)5.493 F 2.993(,ab)-.4 G
-(ackslash-ne)-2.993 E .493
-(wline pair may not then be used as a line continua-)-.25 F(tion.)180
-496.8 Q F2<ad73>144 508.8 Q F1(Silent mode.)180 508.8 Q
-(If input is coming from a terminal, characters are not echoed.)5 E F2
-<ad74>144 520.8 Q F0(timeout)2.5 E F1(Cause)180 532.8 Q F2 -.18(re)2.766
-G(ad).18 E F1 .266(to time out and return f)2.766 F .266
-(ailure if it does not read a complete line of input \(or a)-.1 F .469
-(speci\214ed number of characters\) within)180 544.8 R F0(timeout)2.968
-E F1(seconds.)2.968 E F0(timeout)5.468 E F1 .468(may be a decimal num-)
-2.968 F .463(ber with a fractional portion follo)180 556.8 R .464
-(wing the decimal point.)-.25 F .464(This option is only ef)5.464 F
-(fecti)-.25 E .764 -.15(ve i)-.25 H(f).15 E F2 -.18(re)180 568.8 S(ad)
-.18 E F1 1.176(is reading input from a terminal, pipe, or other special\
- \214le; it has no ef)3.677 F 1.176(fect when)-.25 F .107
-(reading from re)180 580.8 R .107(gular \214les.)-.15 F(If)5.107 E F2
--.18(re)2.607 G(ad).18 E F1 .107(times out, it sa)2.607 F -.15(ve)-.2 G
-2.608(sa).15 G .408 -.15(ny p)-2.608 H .108
-(artial input read into the speci-).15 F .943(\214ed v)180 592.8 R
-(ariable)-.25 E F0(name)3.443 E F1 3.443(,a)C .943(nd the e)-3.443 F
-.943(xit status is greater than 128.)-.15 F(If)5.942 E F0(timeout)3.442
-E F1 .942(is 0,)3.442 F F2 -.18(re)3.442 G(ad).18 E F1(returns)3.442 E
-(immediately)180 604.8 Q 3.259(,w)-.65 G .759(ithout trying to read an)
--3.259 F 3.259(yd)-.15 G 3.259(ata. In)-3.259 F .759(this case, the e)
-3.259 F .76(xit status is 0 if input is)-.15 F -.2(av)180 616.8 S
-(ailable on the speci\214ed \214le descriptor)-.05 E 2.5(,o)-.4 G 2.5
-(rt)-2.5 G(he read will return EOF)-2.5 E 2.5(,n)-.8 G
-(on-zero otherwise.)-2.5 E F2<ad75>144 628.8 Q F0(fd)2.5 E F1
-(Read input from \214le descriptor)180 628.8 Q F0(fd)2.5 E F1
-(instead of the standard input.)2.5 E(Other than the case where)144
-645.6 Q F0(delim)2.5 E F1(is the empty string,)2.5 E F2 -.18(re)2.5 G
-(ad).18 E F1(ignores an)2.5 E 2.5(yN)-.15 G(UL characters in the input.)
--2.5 E .961(If no)144 662.4 R F0(names)3.821 E F1 .961(are supplied,)
-3.731 F F2 -.18(re)3.461 G(ad).18 E F1 .961
-(assigns the line read, without the ending delimiter b)3.461 F .96
-(ut otherwise)-.2 F(unmodi\214ed, to the v)144 674.4 Q(ariable)-.25 E F3
-(REPL)2.5 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F1 .032(The e)144 691.2
-R .032(xit status is zero, unless end-of-\214le is encountered,)-.15 F
-F2 -.18(re)2.532 G(ad).18 E F1 .033
-(times out \(in which case the status is)2.532 F .311
-(greater than 128\), a v)144 703.2 R .311
-(ariable assignment error \(such as assigning to a readonly v)-.25 F .31
-(ariable\) occurs, or)-.25 F(an in)144 715.2 Q -.25(va)-.4 G
-(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F2
-<ad75>2.5 E F1(.)A(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(79)
-190.395 E 0 Cg EP
-%%Page: 80 80
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF -.18(re)108 84 S(adonly).18 E
-F1([)2.5 E F2(\255aAf)A F1 2.5(][)C F2<ad70>-2.5 E F1 2.5(][)C F0(name)
--2.5 E F1([=)A F0(wor)A(d)-.37 E F1 2.5(].)C 1.666(..)-.834 G(])-1.666 E
-.77(The gi)144 96 R -.15(ve)-.25 G(n).15 E F0(names)3.27 E F1 .77
-(are mark)3.27 F .77(ed readonly; the v)-.1 F .77(alues of these)-.25 F
-F0(names)3.63 E F1 .77(may not be changed by subse-)3.54 F .446
-(quent assignment or unset.)144 108 R .446(If the)5.446 F F2<ad66>2.946
-E F1 .446(option is supplied, each)2.946 F F0(name)2.946 E F1 .446
-(refers to a shell function.)2.946 F(The)5.445 E F2<ad61>144 120 Q F1
-.382(option restricts the v)2.882 F .382(ariables to inde)-.25 F -.15
-(xe)-.15 G 2.883(da).15 G .383(rrays; the)-2.883 F F2<ad41>2.883 E F1
-.383(option restricts the v)2.883 F .383(ariables to associa-)-.25 F(ti)
-144 132 Q 1.558 -.15(ve a)-.25 H 3.758(rrays. If).15 F 1.258
-(both options are supplied,)3.758 F F2<ad41>3.758 E F1(tak)3.758 E 1.258
-(es precedence.)-.1 F 1.258(If no)6.258 F F0(name)4.118 E F1(ar)3.938 E
-1.258(guments are sup-)-.18 F .411(plied, or if the)144 144 R F2<ad70>
-2.911 E F1 .412(option is supplied, print a list of all readonly names.)
-2.911 F .412(The other options may be)5.412 F .327
-(used to restrict the output to a subset of the set of readonly names.)
-144 156 R(The)5.326 E F2<ad70>2.826 E F1 .326(option displays output)
-2.826 F(in a format that may be reused as input.)144 168 Q F2 -.18(re)
-144 184.8 S(adonly).18 E F1(allo)2.652 E .152(ws the v)-.25 F .153
-(alue of a v)-.25 F .153
-(ariable to be set at the same time the readonly attrib)-.25 F .153
-(ute is changed)-.2 F .688(by follo)144 196.8 R .688(wing the v)-.25 F
-.688(ariable name with =)-.25 F F0(value)A F1 5.688(.T)C .688
-(his sets the v)-5.688 F .687(alue of the v)-.25 F .687(ariable is to)
--.25 F F0(value)3.187 E F1(while)3.187 E(modifying the readonly attrib)
-144 208.8 Q(ute.)-.2 E .302(The return status is 0 unless an in)144
-225.6 R -.25(va)-.4 G .303(lid option is encountered, one of the).25 F
-F0(names)3.163 E F1 .303(is not a v)3.073 F .303(alid shell)-.25 F -.25
-(va)144 237.6 S(riable name, or).25 E F2<ad66>2.5 E F1
-(is supplied with a)2.5 E F0(name)2.86 E F1(that is not a function.)2.68
-E F2 -.18(re)108 254.4 S(tur).18 E(n)-.15 E F1([)2.5 E F0(n)A F1(])A
-.183(Stop e)144 266.4 R -.15(xe)-.15 G .182
-(cuting a shell function or sourced \214le and return the v).15 F .182
-(alue speci\214ed by)-.25 F F0(n)3.042 E F1 .182(to its caller)2.922 F
-5.182(.I)-.55 G(f)-5.182 E F0(n)3.042 E F1 .589
-(is omitted, the return status is that of the last command e)144 278.4 R
--.15(xe)-.15 G 3.089(cuted. If).15 F F2 -.18(re)3.089 G(tur).18 E(n)-.15
-E F1 .589(is e)3.089 F -.15(xe)-.15 G .589(cuted by a trap).15 F
-(handler)144 290.4 Q 3.47(,t)-.4 G .969
-(he last command used to determine the status is the last command e)
--3.47 F -.15(xe)-.15 G .969(cuted before the).15 F .129(trap handler)144
-302.4 R 5.129(.I)-.55 G(f)-5.129 E F2 -.18(re)2.629 G(tur).18 E(n)-.15 E
-F1 .129(is e)2.629 F -.15(xe)-.15 G .129(cuted during a).15 F F2(DEB)
-2.629 E(UG)-.1 E F1 .13(trap, the last command used to determine the)
-2.629 F(status is the last command e)144 314.4 Q -.15(xe)-.15 G
-(cuted by the trap handler before).15 E F2 -.18(re)2.5 G(tur).18 E(n)
--.15 E F1 -.1(wa)2.5 G 2.5(si).1 G -1.9 -.4(nv o)-2.5 H -.1(ke).4 G(d.)
-.1 E(When)144 331.2 Q F2 -.18(re)3.818 G(tur).18 E(n)-.15 E F1 1.318
-(is used to terminate e)3.818 F -.15(xe)-.15 G 1.317
-(cution of a script being e).15 F -.15(xe)-.15 G 1.317(cuted by the).15
-F F2(.)3.817 E F1(\()6.317 E F2(sour)A(ce)-.18 E F1 3.817(\)c)C(om-)
--3.817 E .807(mand, it causes the shell to stop e)144 343.2 R -.15(xe)
--.15 G .807(cuting that script and return either).15 F F0(n)3.668 E F1
-.808(or the e)3.548 F .808(xit status of the)-.15 F .315(last command e)
-144 355.2 R -.15(xe)-.15 G .315(cuted within the script as the e).15 F
-.314(xit status of the script.)-.15 F(If)5.314 E F0(n)2.814 E F1 .314
-(is supplied, the return)2.814 F -.25(va)144 367.2 S
-(lue is its least signi\214cant 8 bits.).25 E(An)144 384 Q 3.175(yc)-.15
-G .675(ommand associated with the)-3.175 F F2(RETURN)3.175 E F1 .675
-(trap is e)3.175 F -.15(xe)-.15 G .676(cuted before e).15 F -.15(xe)-.15
-G .676(cution resumes after the).15 F(function or script.)144 396 Q .949
-(The return status is non-zero if)144 412.8 R F2 -.18(re)3.449 G(tur).18
-E(n)-.15 E F1 .949(is supplied a non-numeric ar)3.449 F .948
-(gument, or is used outside a)-.18 F(function and not during e)144 424.8
-Q -.15(xe)-.15 G(cution of a script by).15 E F2(.)2.5 E F1(or)3.333 E F2
-(sour)2.5 E(ce)-.18 E F1(.)A F2(set)108 441.6 Q F1([)2.5 E F2
-(\255abefhkmnptuvxBCEHPT)A F1 2.5(][)C F2<ad6f>-2.5 E F0(option\255name)
-2.5 E F1 2.5(][)C F2<adad>-2.5 E F1 2.5(][)C F2<ad>-2.5 E F1 2.5(][)C F0
-(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2(set)108 453.6 Q F1
-([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F1 2.5(][)C F2(+o)-2.5 E F0
-(option\255name)2.5 E F1 2.5(][)C F2<adad>-2.5 E F1 2.5(][)C F2<ad>-2.5
-E F1 2.5(][)C F0(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2
-(set \255o)108 465.6 Q(set +o)108 477.6 Q F1 -.4(Wi)144 477.6 S .573
-(thout options, display the name and v).4 F .573(alue of each shell v)
--.25 F .574(ariable in a format that can be reused)-.25 F .113
-(as input for setting or resetting the currently-set v)144 489.6 R 2.613
-(ariables. Read-only)-.25 F -.25(va)2.613 G .113
-(riables cannot be reset.).25 F(In)5.112 E .957
-(posix mode, only shell v)144 501.6 R .957(ariables are listed.)-.25 F
-.958(The output is sorted according to the current locale.)5.957 F .581
-(When options are speci\214ed, the)144 513.6 R 3.081(ys)-.15 G .581
-(et or unset shell attrib)-3.081 F 3.081(utes. An)-.2 F 3.08(ya)-.15 G
--.18(rg)-3.08 G .58(uments remaining after op-).18 F .16
-(tion processing are treated as v)144 525.6 R .161
-(alues for the positional parameters and are assigned, in order)-.25 F
-2.661(,t)-.4 G(o)-2.661 E F2($1)2.661 E F1(,)A F2($2)144 537.6 Q F1 2.5
-(,.)C 1.666(..)-.834 G(,)-1.666 E F2($)2.5 E F0(n)A F1 5(.O)C
-(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 549.6 Q F1 1.378(Each v)184 549.6 R
-1.377(ariable or function that is created or modi\214ed is gi)-.25 F
--.15(ve)-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.377(xport attrib)
--.15 F 1.377(ute and)-.2 F(mark)184 561.6 Q(ed for e)-.1 E
-(xport to the en)-.15 E(vironment of subsequent commands.)-.4 E F2<ad62>
-144 573.6 Q F1 .131
-(Report the status of terminated background jobs immediately)184 573.6 R
-2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E .48
-(primary prompt or after a fore)184 585.6 R .48
-(ground command terminates.)-.15 F .48(This is ef)5.48 F(fecti)-.25 E
-.78 -.15(ve o)-.25 H .48(nly when).15 F(job control is enabled.)184
-597.6 Q F2<ad65>144 609.6 Q F1 .087(Exit immediately if a)184 609.6 R F0
-(pipeline)2.587 E F1 .087(\(which may consist of a single)2.587 F F0
-.088(simple command)2.588 F F1 .088(\), a)B F0(list)2.588 E F1 2.588(,o)
-C(r)-2.588 E(a)184 621.6 Q F0 1.521(compound command)4.021 F F1(\(see)
-4.021 E/F3 9/Times-Bold@0 SF 1.521(SHELL GRAMMAR)4.021 F F1(abo)3.771 E
--.15(ve)-.15 G 1.521(\), e).15 F 1.521(xits with a non-zero status.)-.15
-F .079(The shell does not e)184 633.6 R .079(xit if the command that f)
--.15 F .08(ails is part of the command list immediately)-.1 F(follo)184
-645.6 Q 1.655(wing a)-.25 F F2(while)4.155 E F1(or)4.155 E F2(until)
-4.155 E F1 -.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)
--.1 F 1.654(wing the)-.25 F F2(if)4.154 E F1(or)4.154 E F2(elif)4.154 E
-F1(reserv)4.154 E(ed)-.15 E -.1(wo)184 657.6 S .581(rds, part of an).1 F
-3.081(yc)-.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a)
-.15 F F2(&&)3.081 E F1(or)3.081 E F2(||)3.081 E F1 .582(list e)3.082 F
-.582(xcept the command follo)-.15 F(wing)-.25 E 1.207(the \214nal)184
-669.6 R F2(&&)3.707 E F1(or)3.706 E F2(||)3.706 E F1 3.706(,a)C 1.506
--.15(ny c)-3.706 H 1.206(ommand in a pipeline b).15 F 1.206
-(ut the last \(subject to the state of the)-.2 F F2(pipefail)184 681.6 Q
-F1 1.307(shell option\), or if the command')3.807 F 3.807(sr)-.55 G
-1.307(eturn v)-3.807 F 1.307(alue is being in)-.25 F -.15(ve)-.4 G 1.308
-(rted with).15 F F2(!)3.808 E F1 6.308(.I)C 3.808(fa)-6.308 G .274(comp\
-ound command other than a subshell returns a non-zero status because a \
-command)184 693.6 R -.1(fa)184 705.6 S .194(iled while).1 F F2<ad65>
-2.694 E F1 -.1(wa)2.694 G 2.694(sb).1 G .194
-(eing ignored, the shell does not e)-2.694 F 2.695(xit. A)-.15 F .195
-(trap on)2.695 F F2(ERR)2.695 E F1 2.695(,i)C 2.695(fs)-2.695 G .195
-(et, is e)-2.695 F -.15(xe)-.15 G(-).15 E .59(cuted before the shell e)
-184 717.6 R 3.09(xits. This)-.15 F .59(option applies to the shell en)
-3.09 F .59(vironment and each sub-)-.4 F 1.491(shell en)184 729.6 R
-1.491(vironment separately \(see)-.4 F F3 1.492(COMMAND EXECUTION ENVIR)
-3.992 F(ONMENT)-.27 E F1(abo)3.742 E -.15(ve)-.15 G(\),).15 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(80)190.395 E 0 Cg EP
-%%Page: 81 81
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(and may cause subshells to e)184 84 Q(xit before e)
--.15 E -.15(xe)-.15 G(cuting all the commands in the subshell.).15 E
-.999(If a compound command or shell function e)184 100.8 R -.15(xe)-.15
-G .999(cutes in a conte).15 F .998(xt where)-.15 F/F2 10/Times-Bold@0 SF
-<ad65>3.498 E F1 .998(is being ig-)3.498 F .089
-(nored, none of the commands e)184 112.8 R -.15(xe)-.15 G .089
-(cuted within the compound command or function body).15 F .503
-(will be af)184 124.8 R .503(fected by the)-.25 F F2<ad65>3.002 E F1
-.502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f)-3.002 E F2
-<ad65>3.002 E F1 .502(is set and a command returns a f)3.002 F .502
-(ailure sta-)-.1 F 4.183(tus. If)184 136.8 R 4.183(ac)4.183 G 1.683
-(ompound command or shell function sets)-4.183 F F2<ad65>4.184 E F1
-1.684(while e)4.184 F -.15(xe)-.15 G 1.684(cuting in a conte).15 F(xt)
--.15 E(where)184 148.8 Q F2<ad65>3.154 E F1 .654
-(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953
--.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F
-(or the command containing the function call completes.)184 160.8 Q F2
-<ad66>144 172.8 Q F1(Disable pathname e)184 172.8 Q(xpansion.)-.15 E F2
-<ad68>144 184.8 Q F1 .988(Remember the location of commands as the)184
-184.8 R 3.488(ya)-.15 G .988(re look)-3.488 F .988(ed up for e)-.1 F
--.15(xe)-.15 G 3.488(cution. This).15 F .988(is en-)3.488 F
-(abled by def)184 196.8 Q(ault.)-.1 E F2<ad6b>144 208.8 Q F1 .514
-(All ar)184 208.8 R .514
-(guments in the form of assignment statements are placed in the en)-.18
-F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 220.8 Q F2
-<ad6d>144 232.8 Q F1 .148(Monitor mode.)184 232.8 R .148
-(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
-.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651
-(on systems that support it \(see)184 244.8 R/F3 9/Times-Bold@0 SF .651
-(JOB CONTR)3.151 F(OL)-.27 E F1(abo)2.901 E -.15(ve)-.15 G 3.151
-(\). All).15 F .65(processes run in a separate)3.151 F .678
-(process group.)184 256.8 R .679(When a background job completes, the s\
-hell prints a line containing its)5.678 F -.15(ex)184 268.8 S
-(it status.).15 E F2<ad6e>144 280.8 Q F1 .653(Read commands b)184 280.8
-R .653(ut do not e)-.2 F -.15(xe)-.15 G .653(cute them.).15 F .652
-(This may be used to check a shell script for)5.653 F(syntax errors.)184
-292.8 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15
-E F2<ad6f>144 304.8 Q F0(option\255name)2.5 E F1(The)184 316.8 Q F0
-(option\255name)2.5 E F1(can be one of the follo)2.5 E(wing:)-.25 E F2
-(allexport)184 328.8 Q F1(Same as)224 340.8 Q F2<ad61>2.5 E F1(.)A F2
-(braceexpand)184 352.8 Q F1(Same as)224 364.8 Q F2<ad42>2.5 E F1(.)A F2
-(emacs)184 376.8 Q F1 .089
-(Use an emacs-style command line editing interf)224 376.8 R 2.589
-(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 388.8 R -.15(ve)-.25 G 3.45(,u).15 G
-.95(nless the shell is started with the)-3.45 F F2(\255\255noediting)
-3.45 E F1 2.5(option. This)224 400.8 R(also af)2.5 E
-(fects the editing interf)-.25 E(ace used for)-.1 E F2 -.18(re)2.5 G
-(ad \255e).18 E F1(.)A F2(err)184 412.8 Q(exit)-.18 E F1(Same as)224
-412.8 Q F2<ad65>2.5 E F1(.)A F2(errtrace)184 424.8 Q F1(Same as)224
-424.8 Q F2<ad45>2.5 E F1(.)A F2(functrace)184 436.8 Q F1(Same as)224
-448.8 Q F2<ad54>2.5 E F1(.)A F2(hashall)184 460.8 Q F1(Same as)224 460.8
-Q F2<ad68>2.5 E F1(.)A F2(histexpand)184 472.8 Q F1(Same as)224 484.8 Q
-F2<ad48>2.5 E F1(.)A F2(history)184 496.8 Q F1 .586
-(Enable command history)224 496.8 R 3.087(,a)-.65 G 3.087(sd)-3.087 G
-.587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F3(HIST)
-3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF(.)A F1 .587
-(This option is)5.087 F(on by def)224 508.8 Q(ault in interacti)-.1 E .3
--.15(ve s)-.25 H(hells.).15 E F2(ignor)184 520.8 Q(eeof)-.18 E F1 .822
-(The ef)224 532.8 R .822
-(fect is as if the shell command \231IGNOREEOF=10\232 had been e)-.25 F
--.15(xe)-.15 G(cuted).15 E(\(see)224 544.8 Q F2(Shell V)2.5 E(ariables)
--.92 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2 -.1(ke)184 556.8 S(yw).1
-E(ord)-.1 E F1(Same as)224 568.8 Q F2<ad6b>2.5 E F1(.)A F2(monitor)184
-580.8 Q F1(Same as)224 580.8 Q F2<ad6d>2.5 E F1(.)A F2(noclob)184 592.8
-Q(ber)-.1 E F1(Same as)224 604.8 Q F2<ad43>2.5 E F1(.)A F2(noexec)184
-616.8 Q F1(Same as)224 616.8 Q F2<ad6e>2.5 E F1(.)A F2(noglob)184 628.8
-Q F1(Same as)224 628.8 Q F2<ad66>2.5 E F1(.)A F2(nolog)184 640.8 Q F1
-(Currently ignored.)224 640.8 Q F2(notify)184 652.8 Q F1(Same as)224
-652.8 Q F2<ad62>2.5 E F1(.)A F2(nounset)184 664.8 Q F1(Same as)224 664.8
-Q F2<ad75>2.5 E F1(.)A F2(onecmd)184 676.8 Q F1(Same as)224 676.8 Q F2
-<ad74>2.5 E F1(.)A F2(ph)184 688.8 Q(ysical)-.15 E F1(Same as)224 688.8
-Q F2<ad50>2.5 E F1(.)A F2(pipefail)184 700.8 Q F1 1.029
-(If set, the return v)224 700.8 R 1.029(alue of a pipeline is the v)-.25
-F 1.03(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224
-712.8 R 1.136
-(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 724.8 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(81)190.395 E 0 Cg EP
-%%Page: 82 82
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(posix)184 84 Q F1 2.09
-(Change the beha)224 84 R 2.091(vior of)-.2 F F2(bash)4.591 E F1 2.091
-(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F 1.212(POSIX standard to match the standard \()224
-96 R F0 1.212(posix mode)B F1 3.712(\). See)B/F3 9/Times-Bold@0 SF 1.212
-(SEE ALSO)3.712 F F1(belo)3.462 E(w)-.25 E .954
-(for a reference to a document that details ho)224 108 R 3.455(wp)-.25 G
-.955(osix mode af)-3.455 F .955(fects bash')-.25 F 3.455(sb)-.55 G(e-)
--3.455 E(ha)224 120 Q(vior)-.2 E(.)-.55 E F2(pri)184 132 Q(vileged)-.1 E
-F1(Same as)224 144 Q F2<ad70>2.5 E F1(.)A F2 -.1(ve)184 156 S(rbose).1 E
-F1(Same as)224 156 Q F2<ad76>2.5 E F1(.)A F2(vi)184 168 Q F1 .209
-(Use a vi-style command line editing interf)224 168 R 2.709(ace. This)
--.1 F .209(also af)2.709 F .209(fects the editing in-)-.25 F(terf)224
-180 Q(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F1(.)A F2
-(xtrace)184 192 Q F1(Same as)224 192 Q F2<ad78>2.5 E F1(.)A(If)184 204 Q
-F2<ad6f>2.765 E F1 .265(is supplied with no)2.765 F F0(option\255name)
-2.765 E F1(,)A F2(set)2.765 E F1 .266
-(prints the current shell option settings.)2.765 F(If)5.266 E F2(+o)
-2.766 E F1 .079(is supplied with no)184 216 R F0(option\255name)2.579 E
-F1(,)A F2(set)2.579 E F1 .079(prints a series of)2.579 F F2(set)2.579 E
-F1 .078(commands to recreate the cur)2.578 F(-)-.2 E
-(rent option settings on the standard output.)184 228 Q F2<ad70>144 240
-Q F1 -.45(Tu)184 240 S 3.277(rn on).45 F F0(privile)7.027 E -.1(ge)-.4 G
-(d).1 E F1 5.777(mode. In)6.547 F 3.277
-(this mode, the shell does not read the)5.777 F F3($ENV)5.778 E F1(and)
-5.528 E F3($B)184 252 Q(ASH_ENV)-.27 E F1 .018
-(\214les, shell functions are not inherited from the en)2.268 F .018
-(vironment, and the)-.4 F F3(SHEL-)2.517 E(LOPTS)184 264 Q/F4 9
-/Times-Roman@0 SF(,)A F3 -.27(BA)2.589 G(SHOPTS).27 E F4(,)A F3(CDP)
-2.589 E -.855(AT)-.666 G(H).855 E F4(,)A F1(and)2.589 E F3(GLOBIGNORE)
-2.839 E F1 -.25(va)2.589 G .339(riables, if the).25 F 2.84(ya)-.15 G .34
-(ppear in the en)-2.84 F(vi-)-.4 E .021(ronment, are ignored.)184 276 R
-.021(If the shell is started with the ef)5.021 F(fecti)-.25 E .32 -.15
-(ve u)-.25 H .02(ser \(group\) id not equal to).15 F .043
-(the real user \(group\) id, and the)184 288 R F2<ad70>2.543 E F1 .043
-(option is not supplied, these actions are tak)2.543 F .043(en and the)
--.1 F(ef)184 300 Q(fecti)-.25 E .879 -.15(ve u)-.25 H .579
-(ser id is set to the real user id.).15 F .579(If the)5.579 F F2<ad70>
-3.079 E F1 .579(option is supplied at startup, the ef-)3.079 F(fecti)184
-312 Q 1.21 -.15(ve u)-.25 H .91(ser id is not reset.).15 F -.45(Tu)5.91
-G .91(rning this option of).45 F 3.41(fc)-.25 G .91(auses the ef)-3.41 F
-(fecti)-.25 E 1.21 -.15(ve u)-.25 H .91(ser and group).15 F
-(ids to be set to the real user and group ids.)184 324 Q F2<ad72>144 336
-Q F1(Enable restricted shell mode.)184 336 Q
-(This option cannot be unset once it has been set.)5 E F2<ad74>144 348 Q
-F1(Exit after reading and e)184 348 Q -.15(xe)-.15 G
-(cuting one command.).15 E F2<ad75>144 360 Q F1 -.35(Tr)184 360 S .663
-(eat unset v).35 F .662(ariables and parameters other than the special \
-parameters \231@\232 and \231*\232, or)-.25 F .348(array v)184 372 R
-.348(ariables subscripted with \231@\232 or \231*\232, as an error when\
- performing parameter e)-.25 F(x-)-.15 E 2.891(pansion. If)184 384 R
--.15(ex)2.891 G .391(pansion is attempted on an unset v).15 F .391
-(ariable or parameter)-.25 F 2.89(,t)-.4 G .39(he shell prints an)-2.89
-F(error message, and, if not interacti)184 396 Q -.15(ve)-.25 G 2.5(,e)
-.15 G(xits with a non-zero status.)-2.65 E F2<ad76>144 408 Q F1
-(Print shell input lines as the)184 408 Q 2.5(ya)-.15 G(re read.)-2.5 E
-F2<ad78>144 420 Q F1 .315(After e)184 420 R .315(xpanding each)-.15 F F0
-.315(simple command)2.815 F F1(,)A F2 -.25(fo)2.815 G(r).25 E F1
-(command,)2.815 E F2(case)2.815 E F1(command,)2.815 E F2(select)2.815 E
-F1(command,)2.815 E 1.236(or arithmetic)184 432 R F2 -.25(fo)3.736 G(r)
-.25 E F1 1.236(command, display the e)3.736 F 1.236(xpanded v)-.15 F
-1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F1(follo)3.486 E 1.236
-(wed by the com-)-.25 F(mand and its e)184 444 Q(xpanded ar)-.15 E
-(guments or associated w)-.18 E(ord list, to the standard error)-.1 E(.)
--.55 E F2<ad42>144 456 Q F1 1.205(The shell performs brace e)184 456 R
-1.205(xpansion \(see)-.15 F F2 1.205(Brace Expansion)3.705 F F1(abo)
-3.705 E -.15(ve)-.15 G 3.706(\). This).15 F 1.206(is on by de-)3.706 F
--.1(fa)184 468 S(ult.).1 E F2<ad43>144 480 Q F1 .214(If set,)184 480 R
-F2(bash)2.714 E F1 .214(does not o)2.714 F -.15(ve)-.15 G .214
-(rwrite an e).15 F .214(xisting \214le with the)-.15 F F2(>)2.714 E F1
-(,)A F2(>&)2.714 E F1 2.713(,a)C(nd)-2.713 E F2(<>)2.713 E F1 .213
-(redirection opera-)2.713 F 3.148(tors. Using)184 492 R .648
-(the redirection operator)3.148 F F2(>|)3.148 E F1 .648(instead of)3.148
-F F2(>)3.148 E F1 .648(will o)3.148 F -.15(ve)-.15 G .648
-(rride this and force the cre-).15 F(ation of an output \214le.)184 504
-Q F2<ad45>144 516 Q F1 .104(If set, an)184 516 R 2.604(yt)-.15 G .104
-(rap on)-2.604 F F2(ERR)2.604 E F1 .103
-(is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 528 R -.15(xe)-.15 G .838(cuted in a subshell en).15
-F 3.338(vironment. The)-.4 F F2(ERR)3.338 E F1 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 540 Q F2
-<ad48>144 552 Q F1(Enable)184 552 Q F2(!)3.032 E F1 .532
-(style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 564 Q -.15
-(ve)-.25 G(.).15 E F2<ad50>144 576 Q F1 .959
-(If set, the shell does not resolv)184 576 R 3.459(es)-.15 G .959
-(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96
-(cuting commands such as).15 F F2(cd)3.46 E F1 1.453
-(that change the current w)184 588 R 1.453(orking directory)-.1 F 6.453
-(.I)-.65 G 3.952(tu)-6.453 G 1.452(ses the ph)-3.952 F 1.452
-(ysical directory structure in-)-.05 F 3.334(stead. By)184 600 R(def)
-3.334 E(ault,)-.1 E F2(bash)3.334 E F1(follo)3.334 E .834
-(ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 612 Q(.)-.65 E F2<ad54>144
-624 Q F1 .89(If set, an)184 624 R 3.39(yt)-.15 G .89(raps on)-3.39 F F2
-(DEB)3.39 E(UG)-.1 E F1(and)3.39 E F2(RETURN)3.39 E F1 .89
-(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 636 R -.15(xe)-.15 G 1.932
-(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F2(DEB)4.432 E
-(UG)-.1 E F1(and)4.432 E F2(RETURN)184 648 Q F1
-(traps are normally not inherited in such cases.)2.5 E F2<adad>144 660 Q
-F1 .91(If no ar)184 660 R .909(guments follo)-.18 F 3.409(wt)-.25 G .909
-(his option, unset the positional parameters.)-3.409 F .909
-(Otherwise, set the)5.909 F(positional parameters to the)184 672 Q F0
-(ar)2.5 E(g)-.37 E F1(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
-(ome of them be)-2.5 E(gin with a)-.15 E F2<ad>2.5 E F1(.)A F2<ad>144
-684 Q F1 1.367(Signal the end of options, and assign all remaining)184
-684 R F0(ar)3.868 E(g)-.37 E F1 3.868(st)C 3.868(ot)-3.868 G 1.368
-(he positional parameters.)-3.868 F(The)184 696 Q F2<ad78>2.849 E F1
-(and)2.849 E F2<ad76>2.849 E F1 .349(options are turned of)2.849 F 2.849
-(f. If)-.25 F .349(there are no)2.849 F F0(ar)2.849 E(g)-.37 E F1 .348
-(s, the positional parameters re-)B(main unchanged.)184 708 Q .425
-(The options are of)144 724.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)
--2.925 E .425(ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F(GNU Bash 5.3)72
-768 Q(2024 October 15)141.235 E(82)190.395 E 0 Cg EP
-%%Page: 83 83
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .178(to be turned of)144 84 R 2.678(f. The)-.25 F
-.178(options can also be speci\214ed as ar)2.678 F .178
-(guments to an in)-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F
-(The)5.177 E .653(current set of options may be found in)144 96 R/F2 10
-/Times-Bold@0 SF<24ad>3.153 E F1 5.653(.T)C .653(he return status is al)
--5.653 F -.1(wa)-.1 G .654(ys zero unless an in).1 F -.25(va)-.4 G .654
-(lid op-).25 F(tion is encountered.)144 108 Q F2(shift)108 124.8 Q F1([)
-2.5 E F0(n)A F1(])A .597(Rename positional parameters from)144 136.8 R
-F0(n)3.097 E F1 .597(+1 .)B -2.735 1.666(.. t)1.666 H(o)-1.666 E F2 .597
-($1 .)3.097 F 1.666(..)1.666 G(.)-1.666 E F1 -.15(Pa)5.597 G .597
-(rameters represented by the numbers).15 F F2($#)3.096 E F1(do)144 148.8
-Q .078(wn to)-.25 F F2($#)2.578 E F1<ad>A F0(n)A F1 .078(+1 are unset.)B
-F0(n)5.438 E F1 .078(must be a non-ne)2.818 F -.05(ga)-.15 G(ti).05 E
-.378 -.15(ve n)-.25 H .078(umber less than or equal to).15 F F2($#)2.578
-E F1 5.078(.I)C(f)-5.078 E F0(n)2.938 E F1 .079(is 0, no)2.818 F .503
-(parameters are changed.)144 160.8 R(If)5.503 E F0(n)3.363 E F1 .503
-(is not gi)3.243 F -.15(ve)-.25 G .502(n, it is assumed to be 1.).15 F
-(If)5.502 E F0(n)3.362 E F1 .502(is greater than)3.242 F F2($#)3.002 E
-F1 3.002(,t)C .502(he posi-)-3.002 F .46
-(tional parameters are not changed.)144 172.8 R .46
-(The return status is greater than zero if)5.46 F F0(n)3.32 E F1 .46
-(is greater than)3.2 F F2($#)2.96 E F1(or)2.96 E
-(less than zero; otherwise 0.)144 184.8 Q F2(shopt)108 201.6 Q F1([)2.5
-E F2(\255pqsu)A F1 2.5(][)C F2<ad6f>-2.5 E F1 2.5(][)C F0(optname)-2.5 E
-F1 1.666(...)2.5 G(])-1.666 E -.8(To)144 213.6 S .64(ggle the v).8 F
-.639(alues of settings controlling optional shell beha)-.25 F(vior)-.2 E
-5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374
-(listed belo)144 225.6 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
-2.874(ft).4 G(he)-2.874 E F2<ad6f>2.874 E F1 .375
-(option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25
-F F2<ad6f>2.875 E F1 .375(option to the)2.875 F F2(set)2.875 E F1 -.2
-(bu)2.875 G .375(iltin com-).2 F(mand.)144 237.6 Q -.4(Wi)144 254.4 S
-.548(th no options, or with the).4 F F2<ad70>3.048 E F1 .548
-(option, display a list of all settable options, with an indication of)
-3.048 F .674(whether or not each is set; if an)144 266.4 R(y)-.15 E F0
-(optnames)3.175 E F1 .675
-(are supplied, the output is restricted to those options.)3.175 F(The)
-144 278.4 Q F2<ad70>2.5 E F1
-(option displays output in a form that may be reused as input.)2.5 E
-(Other options ha)144 295.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad73>144 307.2 Q F1(Enable \(set\) each)180
-307.2 Q F0(optname)2.5 E F1(.)A F2<ad75>144 319.2 Q F1
-(Disable \(unset\) each)180 319.2 Q F0(optname)2.5 E F1(.)A F2<ad71>144
-331.2 Q F1 .003(Suppresses normal output \(quiet mode\); the return sta\
-tus indicates whether the)180 331.2 R F0(optname)2.503 E F1(is)2.503 E
-.042(set or unset.)180 343.2 R .042(If multiple)5.042 F F0(optname)2.542
-E F1(ar)2.542 E .042(guments are supplied with)-.18 F F2<ad71>2.542 E F1
-2.542(,t)C .042(he return status is zero)-2.542 F(if all)180 355.2 Q F0
-(optnames)2.5 E F1(are enabled; non-zero otherwise.)2.5 E F2<ad6f>144
-367.2 Q F1(Restricts the v)180 367.2 Q(alues of)-.25 E F0(optname)2.5 E
-F1(to be those de\214ned for the)2.5 E F2<ad6f>2.5 E F1(option to the)
-2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 384 R
-F2<ad73>3.125 E F1(or)3.124 E F2<ad75>3.124 E F1 .624(is used with no)
-3.124 F F0(optname)3.124 E F1(ar)3.124 E(guments,)-.18 E F2(shopt)3.124
-E F1(sho)3.124 E .624(ws only those options which are)-.25 F .983
-(set or unset, respecti)144 396 R -.15(ve)-.25 G(ly).15 E 5.983(.U)-.65
-G .983(nless otherwise noted, the)-5.983 F F2(shopt)3.484 E F1 .984
-(options are disabled \(unset\) by de-)3.484 F -.1(fa)144 408 S(ult.).1
-E 1.544(The return status when listing options is zero if all)144 424.8
-R F0(optnames)4.044 E F1 1.544(are enabled, non-zero otherwise.)4.044 F
-.696
-(When setting or unsetting options, the return status is zero unless an)
-144 436.8 R F0(optname)3.196 E F1 .696(is not a v)3.196 F .696
-(alid shell)-.25 F(option.)144 448.8 Q(The list of)144 465.6 Q F2(shopt)
-2.5 E F1(options is:)2.5 E F2(array_expand_once)144 482.4 Q F1 1.832
-(If set, the shell suppresses multiple e)184 494.4 R -.25(va)-.25 G
-1.832(luation of associati).25 F 2.131 -.15(ve a)-.25 H 1.831(nd inde)
-.15 F -.15(xe)-.15 G 4.331(da).15 G 1.831(rray sub-)-4.331 F .025
-(scripts during arithmetic e)184 506.4 R .025(xpression e)-.15 F -.25
-(va)-.25 G .025(luation, while e).25 F -.15(xe)-.15 G .025(cuting b).15
-F .025(uiltins that can perform)-.2 F -.25(va)184 518.4 S
-(riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E
-(uiltins that perform array dereferencing.)-.2 E F2(assoc_expand_once)
-144 530.4 Q F1(Deprecated; a synon)184 542.4 Q(ym for)-.15 E F2
-(array_expand_once)2.5 E F1(.)A F2(autocd)144 554.4 Q F1 .2
-(If set, a command name that is the name of a directory is e)184 554.4 R
--.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 566.4 Q F2(cd)2.5 E F1 2.5(command. This)2.5 F
-(option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F2(bash_sour)144 578.4 Q(ce_fullpath)-.18 E F1 .124
-(If set, \214lenames added to the)184 590.4 R F2 -.3(BA)2.624 G
-(SH_SOURCE).3 E F1 .124(array v)2.624 F .124(ariable are con)-.25 F -.15
-(ve)-.4 G .124(rted to full path-).15 F(names \(see)184 602.4 Q F2
-(Shell V)2.5 E(ariables)-.92 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2
-(cdable_v)144 614.4 Q(ars)-.1 E F1 .156(If set, an ar)184 626.4 R .156
-(gument to the)-.18 F F2(cd)2.656 E F1 -.2(bu)2.656 G .155
-(iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 638.4 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F2(cdspell)144 650.4 Q F1
-1.292(If set, the)184 650.4 R F2(cd)3.792 E F1 1.293(command attempts t\
-o correct minor errors in the spelling of a directory)3.792 F 3.982
-(component. Minor)184 662.4 R 1.482
-(errors include transposed characters, a missing character)3.982 F 3.982
-(,a)-.4 G 1.482(nd one)-3.982 F -.15(ex)184 674.4 S .972(tra character)
-.15 F 5.972(.I)-.55 G(f)-5.972 E F2(cd)3.472 E F1 .972
-(corrects the directory name, it prints the corrected \214lename, and)
-3.472 F(the command proceeds.)184 686.4 Q
-(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F2(checkhash)144 698.4 Q F1 .737(If set,)184 710.4 R F2(bash)3.237
-E F1 .736(checks that a command found in the hash table e)3.237 F .736
-(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184
-722.4 Q(If a hashed command no longer e)5 E(xists,)-.15 E F2(bash)2.5 E
-F1(performs a normal path search.)2.5 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(83)190.395 E 0 Cg EP
-%%Page: 84 84
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(checkjobs)144 84 Q F1 .448
-(If set,)184 96 R F2(bash)2.948 E F1 .448(lists the status of an)2.948 F
-2.949(ys)-.15 G .449(topped and running jobs before e)-2.949 F .449
-(xiting an interacti)-.15 F -.15(ve)-.25 G 2.784(shell. If)184 108 R(an)
-2.784 E 2.784(yj)-.15 G .284(obs are running,)-2.784 F F2(bash)2.784 E
-F1 .284(defers the e)2.784 F .284(xit until a second e)-.15 F .283
-(xit is attempted with-)-.15 F .834(out an interv)184 120 R .834
-(ening command \(see)-.15 F/F3 9/Times-Bold@0 SF .835(JOB CONTR)3.335 F
-(OL)-.27 E F1(abo)3.085 E -.15(ve)-.15 G 3.335(\). The).15 F .835
-(shell al)3.335 F -.1(wa)-.1 G .835(ys postpones).1 F -.15(ex)184 132 S
-(iting if an).15 E 2.5(yj)-.15 G(obs are stopped.)-2.5 E F2
-(checkwinsize)144 144 Q F1 1.09(If set,)184 156 R F2(bash)3.59 E F1 1.09
-(checks the windo)3.59 F 3.59(ws)-.25 G 1.09(ize after each e)-3.59 F
-1.09(xternal \(non-b)-.15 F 1.09(uiltin\) command and, if)-.2 F
-(necessary)184 168 Q 2.937(,u)-.65 G .437(pdates the v)-2.937 F .437
-(alues of)-.25 F F3(LINES)2.938 E F1(and)2.688 E F3(COLUMNS)2.938 E/F4 9
-/Times-Roman@0 SF(,)A F1 .438(using the \214le descriptor associ-)2.688
-F(ated with the standard error if it is a terminal.)184 180 Q
-(This option is enabled by def)5 E(ault.)-.1 E F2(cmdhist)144 192 Q F1
-.173(If set,)184 192 R F2(bash)2.673 E F1 .173(attempts to sa)2.673 F
-.473 -.15(ve a)-.2 H .172
-(ll lines of a multiple-line command in the same history en-).15 F(try)
-184 204 Q 5.596(.T)-.65 G .597(his allo)-5.596 F .597
-(ws easy re-editing of multi-line commands.)-.25 F .597
-(This option is enabled by de-)5.597 F -.1(fa)184 216 S 1.288(ult, b).1
-F 1.288(ut only has an ef)-.2 F 1.288
-(fect if command history is enabled, as described abo)-.25 F 1.587 -.15
-(ve u)-.15 H(nder).15 E F3(HIST)184 228 Q(OR)-.162 E(Y)-.315 E F4(.)A F2
-(compat31)144 240 Q(compat32)144 252 Q(compat40)144 264 Q(compat41)144
-276 Q(compat42)144 288 Q(compat43)144 300 Q(compat44)144 312 Q(compat50)
-144 324 Q F1 .889(These control aspects of the shell')184 336 R 3.389
-(sc)-.55 G .889(ompatibility mode \(see)-3.389 F F3 .889(SHELL COMP)
-3.389 F -.855(AT)-.666 G(IBILITY).855 E(MODE)184 348 Q F1(belo)2.25 E
-(w\).)-.25 E F2(complete_fullquote)144 360 Q F1 .654(If set,)184 372 R
-F2(bash)3.153 E F1 .653(quotes all shell metacharacters in \214lenames \
-and directory names when per)3.153 F(-)-.2 E 1.524(forming completion.)
-184 384 R 1.524(If not set,)6.524 F F2(bash)4.024 E F1(remo)4.024 E -.15
-(ve)-.15 G 4.024(sm).15 G 1.524(etacharacters such as the dollar sign)
--4.024 F 2.667(from the set of characters that will be quoted in comple\
-ted \214lenames when these)184 396 R .028
-(metacharacters appear in shell v)184 408 R .028
-(ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029
-(This means)5.029 F 1.073(that dollar signs in v)184 420 R 1.073
-(ariable names that e)-.25 F 1.073
-(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 432 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
-(ollar signs appearing in \214lenames will not be quoted, either).15 F
-6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
-(only when bash is using backslashes to quote completed \214lenames.)184
-444 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 456 Q
-(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E F2(dir)144 468 Q(expand)-.18 E F1 .486
-(If set,)184 480 R F2(bash)2.986 E F1 .486
-(replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.487(xpansion when perform-)-.15 F 1.25(ing \214lename completion.)184
-492 R 1.25(This changes the contents of the)6.25 F F2 -.18(re)3.75 G
-(adline).18 E F1 1.25(editing b)3.75 F(uf)-.2 E(fer)-.25 E 6.25(.I)-.55
-G(f)-6.25 E(not set,)184 504 Q F2(bash)2.5 E F1(attempts to preserv)2.5
-E 2.5(ew)-.15 G(hat the user typed.)-2.5 E F2(dirspell)144 516 Q F1 .858
-(If set,)184 516 R F2(bash)3.358 E F1 .858
-(attempts spelling correction on directory names during w)3.358 F .859
-(ord completion if)-.1 F
-(the directory name initially supplied does not e)184 528 Q(xist.)-.15 E
-F2(dotglob)144 540 Q F1 1.088(If set,)184 540 R F2(bash)3.588 E F1 1.088
-(includes \214lenames be)3.588 F 1.088
-(ginning with a \231.\232 in the results of pathname e)-.15 F(xpan-)-.15
-E 2.5(sion. The)184 552 R(\214lenames)2.5 E F0(.)4.166 E F1(and)4.166 E
-F0(..)4.166 E F1(must al)4.166 E -.1(wa)-.1 G(ys be matched e).1 E
-(xplicitly)-.15 E 2.5(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F2
-(dotglob)2.5 E F1(is set.)2.5 E F2(execfail)144 564 Q F1 .516
-(If set, a non-interacti)184 564 R .816 -.15(ve s)-.25 H .516
-(hell will not e).15 F .516(xit if it cannot e)-.15 F -.15(xe)-.15 G
-.517(cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)
-184 576 Q F2(exec)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. An).2 F(interacti)2.5
-E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F2(exec)2.5 E
-F1 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 588 Q F1 .717
-(If set, aliases are e)184 600 R .717(xpanded as described abo)-.15 F
-1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F1 .716
-(This option is enabled)5.217 F(by def)184 612 Q(ault for interacti)-.1
-E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144 624 Q(ug)-.2 E F1 .17
-(If set at shell in)184 636 R -.2(vo)-.4 G .17
-(cation, or in a shell startup \214le, arrange to e).2 F -.15(xe)-.15 G
-.17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.082
-(before the shell starts, identical to the)184 648 R F2<adad646562>3.582
-E(ugger)-.2 E F1 3.581(option. If)3.581 F 1.081(set after in)3.581 F -.2
-(vo)-.4 G 1.081(cation, be-).2 F(ha)184 660 Q
-(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184
-672 Q F1(The)220 672 Q F2<ad46>4.25 E F1 1.75(option to the)4.25 F F2
-(declar)4.251 E(e)-.18 E F1 -.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 684 Q
-(gument.)-.18 E F2(2.)184 696 Q F1 1.667(If the command run by the)220
-696 R F2(DEB)4.167 E(UG)-.1 E F1 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 708
-Q -.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(84)190.395 E 0 Cg EP
-%%Page: 85 85
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(3.)184 84 Q F1 .84
-(If the command run by the)220 84 R F2(DEB)3.34 E(UG)-.1 E F1 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
-(exe)220 96 S .488
-(cuting in a subroutine \(a shell function or a shell script e).15 F
--.15(xe)-.15 G .488(cuted by the).15 F F2(.)2.988 E F1(or)2.988 E F2
-(sour)220 108 Q(ce)-.18 E F1 -.2(bu)2.5 G
-(iltins\), the shell simulates a call to).2 E F2 -.18(re)2.5 G(tur).18 E
-(n)-.15 E F1(.)A F2(4.)184 120 Q/F3 9/Times-Bold@0 SF -.27(BA)220 120 S
-(SH_ARGC).27 E F1(and)3.153 E F3 -.27(BA)3.403 G(SH_ARGV).27 E F1 .904
-(are updated as described in their descriptions)3.154 F(abo)220 132 Q
--.15(ve)-.15 G(\).).15 E F2(5.)184 144 Q F1 1.637(Function tracing is e\
-nabled: command substitution, shell functions, and sub-)220 144 R
-(shells in)220 156 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2
-(\()2.5 E F0(command)2.5 E F2(\))2.5 E F1(inherit the)2.5 E F2(DEB)2.5 E
-(UG)-.1 E F1(and)2.5 E F2(RETURN)2.5 E F1(traps.)2.5 E F2(6.)184 168 Q
-F1 1.082(Error tracing is enabled: command substitution, shell function\
-s, and subshells)220 168 R(in)220 180 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw)
-.1 G(ith)-2.5 E F2(\()2.5 E F0(command)2.5 E F2(\))2.5 E F1(inherit the)
-2.5 E F2(ERR)2.5 E F1(trap.)2.5 E F2(extglob)144 192 Q F1 .857
-(If set, enable the e)184 192 R .856
-(xtended pattern matching features described abo)-.15 F 1.156 -.15(ve u)
--.15 H(nder).15 E F2 -.1(Pa)3.356 G(thname).1 E(Expansion)184 204 Q F1
-(.)A F2(extquote)144 216 Q F1 .86(If set,)184 228 R F2($)3.36 E F1<08>A
-F0(string)A F1 3.36<0861>C(nd)-3.36 E F2($)3.36 E F1(")A F0(string)A F1
-3.36("q)C .86(uoting is performed within)-3.36 F F2(${)3.36 E F0(par)A
-(ameter)-.15 E F2(})A F1 -.15(ex)3.36 G .86(pansions en-).15 F
-(closed in double quotes.)184 240 Q(This option is enabled by def)5 E
-(ault.)-.1 E F2(failglob)144 252 Q F1 .243(If set, patterns which f)184
-252 R .243(ail to match \214lenames during pathname e)-.1 F .243
-(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 264 Q(.)-.55
-E F2 -.25(fo)144 276 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F1 .936
-(If set, the suf)184 288 R<8c78>-.25 E .936(es speci\214ed by the)-.15 F
-F3(FIGNORE)3.436 E F1 .936(shell v)3.186 F .936(ariable cause w)-.25 F
-.937(ords to be ignored)-.1 F .32(when performing w)184 300 R .32
-(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 3.238
-(pletions. See)184 312 R F2 .738(Shell V)3.238 F(ariables)-.92 E F1(abo)
-3.238 E 1.038 -.15(ve f)-.15 H .738(or a description of).15 F F3
-(FIGNORE)3.238 E/F4 9/Times-Roman@0 SF(.)A F1 .739(This option is en-)
-5.238 F(abled by def)184 324 Q(ault.)-.1 E F2(globasciiranges)144 336 Q
-F1 2.519(If set, range e)184 348 R 2.519
-(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F 2.518
-(xpressions \(see)-.15 F F3 -.09(Pa)5.018 G(tter).09 E(n)-.135 E
-(Matching)184 360 Q F1(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha)
--3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214
-(nt)-3.214 G .714(he traditional C locale when performing comparisons.)
--3.214 F .987(That is, pattern matching does not tak)184 372 R 3.487(et)
--.1 G .987(he current locale')-3.487 F 3.487(sc)-.55 G .987
-(ollating sequence into ac-)-3.487 F 1.551(count, so)184 384 R F2(b)
-4.051 E F1 1.551(will not collate between)4.051 F F2(A)4.051 E F1(and)
-4.051 E F2(B)4.052 E F1 4.052(,a)C 1.552(nd upper)-4.052 F 1.552
-(-case and lo)-.2 F(wer)-.25 E 1.552(-case ASCII)-.2 F
-(characters will collate together)184 396 Q(.)-.55 E F2(globskipdots)144
-408 Q F1 .727(If set, pathname e)184 420 R .727(xpansion will ne)-.15 F
--.15(ve)-.25 G 3.227(rm).15 G .727(atch the \214lenames)-3.227 F F0(.)
-4.893 E F1(and)4.893 E F0(..)4.893 E F1 3.227(,e)1.666 G -.15(ve)-3.477
-G 3.227(ni).15 G 3.227(ft)-3.227 G .727(he pattern)-3.227 F(be)184 432 Q
-(gins with a \231.\232.)-.15 E(This option is enabled by def)5 E(ault.)
--.1 E F2(globstar)144 444 Q F1 .518(If set, the pattern)184 444 R F2(**)
-3.018 E F1 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F
-.519(xt will match all \214les and zero)-.15 F .432
-(or more directories and subdirectories.)184 456 R .431
-(If the pattern is follo)5.432 F .431(wed by a)-.25 F F2(/)2.931 E F1
-2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
-468 Q F2(gnu_errfmt)144 480 Q F1(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 492 Q F2(histappend)144
-504 Q F1 .676
-(If set, the history list is appended to the \214le named by the v)184
-516 R .676(alue of the)-.25 F F3(HISTFILE)3.177 E F1 -.25(va)2.927 G
-(ri-).25 E(able when the shell e)184 528 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F2(histr)144 540 Q(eedit)-.18
-E F1 .118(If set, and)184 552 R F2 -.18(re)2.618 G(adline).18 E F1 .118
-(is being used, the user is gi)2.618 F -.15(ve)-.25 G 2.618(nt).15 G
-.117(he opportunity to re-edit a f)-2.618 F .117(ailed his-)-.1 F
-(tory substitution.)184 564 Q F2(histv)144 576 Q(erify)-.1 E F1 .402
-(If set, and)184 588 R F2 -.18(re)2.903 G(adline).18 E F1 .403
-(is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 600 R 5.662(.I)-.55 G .661
-(nstead, the resulting line is loaded into the)-5.662 F F2 -.18(re)3.161
-G(adline).18 E F1(editing)3.161 E -.2(bu)184 612 S -.25(ff).2 G(er).25 E
-2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F2
-(hostcomplete)144 624 Q F1 1.181(If set, and)184 636 R F2 -.18(re)3.681
-G(adline).18 E F1 1.181(is being used,)3.681 F F2(bash)3.682 E F1 1.182
-(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
-648 R 1.381(ord containing a)-.1 F F2(@)3.881 E F1 1.381
-(is being completed \(see)3.881 F F2(Completing)3.88 E F1(under)3.88 E
-F3(READLINE)3.88 E F1(abo)184 660 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F2(huponexit)144 672 Q F1(If set,)
-184 684 Q F2(bash)2.5 E F1(will send)2.5 E F3(SIGHUP)2.5 E F1
-(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E F2(inherit_err)144 696 Q(exit)-.18 E F1 .219
-(If set, command substitution inherits the v)184 708 R .219(alue of the)
--.25 F F2(err)2.719 E(exit)-.18 E F1 .22(option, instead of unsetting)
-2.719 F(it in the subshell en)184 720 Q 2.5(vironment. This)-.4 F
-(option is enabled when posix mode is enabled.)2.5 E(GNU Bash 5.3)72 768
-Q(2024 October 15)141.235 E(85)190.395 E 0 Cg EP
-%%Page: 86 86
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(interacti)144 84 Q -.1(ve)-.1
-G(_comments).1 E F1 .209(In an interacti)184 96 R .509 -.15(ve s)-.25 H
-.209(hell, a w).15 F .209(ord be)-.1 F .209(ginning with)-.15 F F2(#)
-2.709 E F1 .209(causes that w)2.709 F .208(ord and all remaining char)
--.1 F(-)-.2 E .612
-(acters on that line to be ignored, as in a non-interacti)184 108 R .912
--.15(ve s)-.25 H .612(hell \(see).15 F/F3 9/Times-Bold@0 SF(COMMENTS)
-3.113 E F1(abo)2.863 E -.15(ve)-.15 G(\).).15 E
-(This option is enabled by def)184 120 Q(ault.)-.1 E F2(lastpipe)144 132
-Q F1 .066(If set, and job control is not acti)184 132 R -.15(ve)-.25 G
-2.566(,t).15 G .066(he shell runs the last command of a pipeline not e)
--2.566 F -.15(xe)-.15 G(-).15 E
-(cuted in the background in the current shell en)184 144 Q(vironment.)
--.4 E F2(lithist)144 156 Q F1 .654(If set, and the)184 156 R F2(cmdhist)
-3.154 E F1 .654(option is enabled, multi-line commands are sa)3.154 F
--.15(ve)-.2 G 3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
-(with embedded ne)184 168 Q
-(wlines rather than using semicolon separators where possible.)-.25 E F2
-(localv)144 180 Q(ar_inherit)-.1 E F1 .422(If set, local v)184 192 R
-.422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422
-(utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184
-204 S .173(ists at a pre).15 F .173(vious scope before an)-.25 F 2.673
-(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .174
-(The nameref attrib)5.174 F .174(ute is not)-.2 F(inherited.)184 216 Q
-F2(localv)144 228 Q(ar_unset)-.1 E F1 .329(If set, calling)184 240 R F2
-(unset)2.829 E F1 .329(on local v)2.829 F .329(ariables in pre)-.25 F
-.328(vious function scopes marks them so subse-)-.25 F .364
-(quent lookups \214nd them unset until that function returns.)184 252 R
-.365(This is identical to the beha)5.364 F(v-)-.2 E
-(ior of unsetting local v)184 264 Q
-(ariables at the current function scope.)-.25 E F2(login_shell)144 276 Q
-F1 .486
-(The shell sets this option if it is started as a login shell \(see)184
-288 R F3(INV)2.986 E(OCA)-.405 E(TION)-.855 E F1(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 300 S(lue may not be changed.).25
-E F2(mailwar)144 312 Q(n)-.15 E F1 .814(If set, and a \214le that)184
-324 R F2(bash)3.314 E F1 .815
-(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 336 S 2.5(sc).1 G(heck)-2.5 E(ed,)-.1 E F2(bash)2.5 E F1
-(displays the message \231The mail in)2.5 E F0(mail\214le)2.5 E F1
-(has been read\232.)2.5 E F2(no_empty_cmd_completion)144 348 Q F1 .61
-(If set, and)184 360 R F2 -.18(re)3.11 G(adline).18 E F1 .609
-(is being used,)3.109 F F2(bash)3.109 E F1 .609(does not search)3.109 F
-F3 -.666(PA)3.109 G(TH)-.189 E F1 .609(for possible completions)2.859 F
-(when completion is attempted on an empty line.)184 372 Q F2(nocaseglob)
-144 384 Q F1 .436(If set,)184 396 R F2(bash)2.936 E F1 .436
-(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
-H .437(ashion when performing pathname).05 F -.15(ex)184 408 S
-(pansion \(see).15 E F2 -.1(Pa)2.5 G(thname Expansion).1 E F1(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F2(nocasematch)144 420 Q F1 1.194(If set,)184
-432 R F2(bash)3.694 E F1 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
-F .551(while e)184 444 R -.15(xe)-.15 G(cuting).15 E F2(case)3.051 E F1
-(or)3.051 E F2([[)3.051 E F1 .551
-(conditional commands, when performing pattern substitution)3.051 F -.1
-(wo)184 456 S .623(rd e).1 F .623(xpansions, or when \214ltering possib\
-le completions as part of programmable com-)-.15 F(pletion.)184 468 Q F2
-(noexpand_translation)144 480 Q F1 .669(If set,)184 492 R F2(bash)3.169
-E F1 .669(encloses the translated results of)3.169 F F2($")3.169 E F1
-1.666(...)C F2(")-1.666 E F1 .669(quoting in single quotes instead of)
-3.169 F(double quotes.)184 504 Q
-(If the string is not translated, this has no ef)5 E(fect.)-.25 E F2
-(nullglob)144 516 Q F1 1.581(If set, pathname e)184 528 R 1.581
-(xpansion patterns which match no \214les \(see)-.15 F F2 -.1(Pa)4.081 G
-1.58(thname Expansion).1 F F1(abo)184 540 Q -.15(ve)-.15 G 2.5(\)e).15 G
-(xpand to nothing and are remo)-2.65 E -.15(ve)-.15 G(d, rather than e)
-.15 E(xpanding to themselv)-.15 E(es.)-.15 E F2(patsub_r)144 552 Q
-(eplacement)-.18 E F1 .105(If set,)184 564 R F2(bash)2.605 E F1 -.15(ex)
-2.605 G .105(pands occurrences of).15 F F2(&)2.606 E F1 .106
-(in the replacement string of pattern substitution to)2.606 F .528
-(the te)184 576 R .528(xt matched by the pattern, as described under)
--.15 F F2 -.1(Pa)3.027 G .527(rameter Expansion).1 F F1(abo)3.027 E -.15
-(ve)-.15 G 5.527(.T).15 G(his)-5.527 E(option is enabled by def)184 588
-Q(ault.)-.1 E F2(pr)144 600 Q(ogcomp)-.18 E F1 .766
-(If set, enable the programmable completion f)184 612 R .767
-(acilities \(see)-.1 F F2(Pr)3.267 E .767(ogrammable Completion)-.18 F
-F1(abo)184 624 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(option is enabled by def)2.5 E(ault.)-.1 E F2(pr)144 636 Q
-(ogcomp_alias)-.18 E F1 2.124
-(If set, and programmable completion is enabled,)184 648 R F2(bash)4.624
-E F1 2.124(treats a command name that)4.624 F(doesn')184 660 Q 3.11(th)
--.18 G -2.25 -.2(av e)-3.11 H(an)3.31 E 3.11(yc)-.15 G .61
-(ompletions as a possible alias and attempts alias e)-3.11 F 3.11
-(xpansion. If)-.15 F .61(it has)3.11 F 1.473(an alias,)184 672 R F2
-(bash)3.973 E F1 1.473
-(attempts programmable completion using the command w)3.973 F 1.473
-(ord resulting)-.1 F(from the e)184 684 Q(xpanded alias.)-.15 E F2(pr)
-144 696 Q(omptv)-.18 E(ars)-.1 E F1 1.447(If set, prompt strings under)
-184 708 R 1.448(go parameter e)-.18 F 1.448
-(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 720 S
-.171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17
-(fter being e)-2.67 F .17(xpanded as described in)-.15 F F3(PR)2.67 E
-(OMPTING)-.27 E F1(abo)2.42 E -.15(ve)-.15 G(.).15 E(GNU Bash 5.3)72 768
-Q(2024 October 15)141.235 E(86)190.395 E 0 Cg EP
-%%Page: 87 87
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E(This option is enabled by def)184 84 Q(ault.)-.1 E
-/F2 10/Times-Bold@0 SF -.18(re)144 96 S(stricted_shell).18 E F1 1.069
-(The shell sets this option if it is started in restricted mode \(see)
-184 108 R/F3 9/Times-Bold@0 SF 1.069(RESTRICTED SHELL)3.569 F F1(belo)
-184 120 Q 2.86(w\). The)-.25 F -.25(va)2.86 G .36
-(lue may not be changed.).25 F .36
-(This is not reset when the startup \214les are e)5.36 F -.15(xe)-.15 G
-(-).15 E(cuted, allo)184 132 Q(wing the startup \214les to disco)-.25 E
--.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F2(shift_v)144 144 Q(erbose)-.1 E F1 .501(If set, the)184 156 R F2
-(shift)3.001 E F1 -.2(bu)3.001 G .501
-(iltin prints an error message when the shift count e).2 F .502
-(xceeds the number)-.15 F(of positional parameters.)184 168 Q F2(sour)
-144 180 Q(cepath)-.18 E F1 .771(If set, the)184 192 R F2(.)3.271 E F1
-(\()3.271 E F2(sour)A(ce)-.18 E F1 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F F3 -.666(PA)3.27 G(TH)-.189 E F1 .77
-(to \214nd the directory containing the)3.02 F .421
-(\214le supplied as an ar)184 204 R .421(gument when the)-.18 F F2<ad70>
-2.921 E F1 .421(option is not supplied.)2.921 F .422
-(This option is enabled)5.422 F(by def)184 216 Q(ault.)-.1 E F2 -.1(va)
-144 228 S(rr).1 E(edir_close)-.18 E F1 .74(If set, the shell automatica\
-lly closes \214le descriptors assigned using the)184 240 R F0({varname})
-3.24 E F1(redi-)3.24 E .423(rection syntax \(see)184 252 R F3
-(REDIRECTION)2.924 E F1(abo)2.674 E -.15(ve)-.15 G 2.924(\)i).15 G .424
-(nstead of lea)-2.924 F .424(ving them open when the com-)-.2 F
-(mand completes.)184 264 Q F2(xpg_echo)144 276 Q F1 .074(If set, the)184
-288 R F2(echo)2.574 E F1 -.2(bu)2.574 G .074(iltin e).2 F .074
-(xpands backslash-escape sequences by def)-.15 F 2.574(ault. If)-.1 F
-(the)2.574 E F2(posix)2.573 E F1(shell)2.573 E(option is also enabled,)
-184 300 Q F2(echo)2.5 E F1(does not interpret an)2.5 E 2.5(yo)-.15 G
-(ptions.)-2.5 E F2(suspend)108 316.8 Q F1([)2.5 E F2<ad66>A F1(])A .909
-(Suspend the e)144 328.8 R -.15(xe)-.15 G .909
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.41(sa).15 G
-F3(SIGCONT)A F1 3.41(signal. A)3.16 F .91(login shell, or a shell)3.41 F
-1.044(without job control enabled, cannot be suspended; the)144 340.8 R
-F2<ad66>3.543 E F1 1.043(option will o)3.543 F -.15(ve)-.15 G 1.043
-(rride this and force the).15 F 2.743(suspension. The)144 352.8 R .244(\
-return status is 0 unless the shell is a login shell or job control is \
-not enabled and)2.743 F F2<ad66>144 364.8 Q F1(is not supplied.)2.5 E F2
-(test)108 381.6 Q F0 -.2(ex)2.5 G(pr).2 E F2([)108 393.6 Q F0 -.2(ex)2.5
-G(pr).2 E F2(])2.5 E F1 .878(Return a status of 0 \(true\) or 1 \(f)144
-393.6 R .877(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
-(luation of the conditional e).25 F(xpression)-.15 E F0 -.2(ex)144 405.6
-S(pr).2 E F1 5.53(.E).73 G .53
-(ach operator and operand must be a separate ar)-5.53 F 3.03
-(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.361
-(primaries described abo)144 417.6 R 1.661 -.15(ve u)-.15 H(nder).15 E
-F3(CONDITION)3.861 E 1.36(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)
-A F2(test)5.86 E F1 1.36(does not accept an)3.86 F 3.86(yo)-.15 G(p-)
--3.86 E(tions, nor does it accept and ignore an ar)144 429.6 Q
-(gument of)-.18 E F2<adad>2.5 E F1(as signifying the end of options.)2.5
-E .785(Expressions may be combined using the follo)144 446.4 R .786
-(wing operators, listed in decreasing order of prece-)-.25 F 2.93
-(dence. The)144 458.4 R -.25(eva)2.93 G .43
-(luation depends on the number of ar).25 F .43(guments; see belo)-.18 F
--.65(w.)-.25 G F2(test)6.08 E F1 .43(uses operator prece-)2.93 F
-(dence when there are \214v)144 470.4 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
-(ore ar)-2.5 E(guments.)-.18 E F2(!)144 482.4 Q F0 -.2(ex)2.5 G(pr).2 E
-F1 -.35(Tr)180 482.4 S(ue if).35 E F0 -.2(ex)2.5 G(pr).2 E F1(is f)3.23
-E(alse.)-.1 E F2(\()144 494.4 Q F0 -.2(ex)2.5 G(pr).2 E F2(\))2.5 E F1
-(Returns the v)180 494.4 Q(alue of)-.25 E F0 -.2(ex)2.5 G(pr).2 E F1 5
-(.T)C(his may be used to o)-5 E -.15(ve)-.15 G
-(rride normal operator precedence.).15 E F0 -.2(ex)144 506.4 S(pr1).2 E
-F1<ad>2.5 E F2(a)A F0 -.2(ex)2.5 G(pr2).2 E F1 -.35(Tr)180 518.4 S
-(ue if both).35 E F0 -.2(ex)2.5 G(pr1).2 E F1(and)2.5 E F0 -.2(ex)2.5 G
-(pr2).2 E F1(are true.)2.52 E F0 -.2(ex)144 530.4 S(pr1).2 E F1<ad>2.5 E
-F2(o)A F0 -.2(ex)2.5 G(pr2).2 E F1 -.35(Tr)180 542.4 S(ue if either).35
-E F0 -.2(ex)2.5 G(pr1).2 E F1(or)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1
-(is true.)2.52 E F2(test)144 559.2 Q F1(and)2.5 E F2([)2.5 E F1 -.25
-(eva)2.5 G(luate conditional e).25 E
-(xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E 2.5(0a)144 576 S -.18(rg)-2.5 G(uments).18 E(The e)180
-588 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 600 S -.18(rg)-2.5 G
-(ument).18 E(The e)180 612 Q(xpression is true if and only if the ar)
--.15 E(gument is not null.)-.18 E 2.5(2a)144 624 S -.18(rg)-2.5 G
-(uments).18 E .37(If the \214rst ar)180 636 R .37(gument is)-.18 F F2(!)
-2.87 E F1 2.87(,t)C .37(he e)-2.87 F .37
-(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .38(If the \214rst ar)180 648 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .679
--.15(ve u)-.15 H(nder).15 E F3(CONDI-)2.879 E(TION)180 660 Q .552
-(AL EXPRESSIONS)-.18 F F4(,)A F1 .552(the e)2.802 F .552
-(xpression is true if the unary test is true.)-.15 F .552
-(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 672 Q
-(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 684 S -.18(rg)-2.5 G
-(uments).18 E .236(The follo)180 696 R .236
-(wing conditions are applied in the order listed.)-.25 F .236
-(If the second ar)5.236 F .236(gument is one of)-.18 F .855
-(the binary conditional operators listed abo)180 708 R 1.155 -.15(ve u)
--.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F F4(,)A
-F1(the)3.105 E .579(result of the e)180 720 R .578(xpression is the res\
-ult of the binary test using the \214rst and third ar)-.15 F(guments)
--.18 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(87)190.395 E 0 Cg
-EP
-%%Page: 88 88
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.332(as operands.)180 84 R(The)6.332 E/F2 10
-/Times-Bold@0 SF<ad61>3.832 E F1(and)3.832 E F2<ad6f>3.832 E F1 1.333
-(operators are considered binary operators when there are)3.832 F .558
-(three ar)180 96 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
-.558(gument is)-.18 F F2(!)3.058 E F1 3.058(,t)C .558(he v)-3.058 F .558
-(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F(o-ar)-.1
-E(gument)-.18 E .52(test using the second and third ar)180 108 R 3.021
-(guments. If)-.18 F .521(the \214rst ar)3.021 F .521(gument is e)-.18 F
-(xactly)-.15 E F2(\()3.021 E F1 .521(and the third)3.021 F(ar)180 120 Q
-.485(gument is e)-.18 F(xactly)-.15 E F2(\))2.985 E F1 2.985(,t)C .485
-(he result is the one-ar)-2.985 F .485(gument test of the second ar)-.18
-F 2.985(gument. Other)-.18 F(-)-.2 E(wise, the e)180 132 Q
-(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 144 S -.18(rg)-2.5 G
-(uments).18 E .429(The follo)180 156 R .429
-(wing conditions are applied in the order listed.)-.25 F .43
-(If the \214rst ar)5.429 F .43(gument is)-.18 F F2(!)2.93 E F1 2.93(,t)C
-.43(he re-)-2.93 F 1.315(sult is the ne)180 168 R -.05(ga)-.15 G 1.314
-(tion of the three-ar).05 F 1.314(gument e)-.18 F 1.314
-(xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.901
-(ments. If)180 180 R .401(the \214rst ar)2.901 F .401(gument is e)-.18 F
-(xactly)-.15 E F2(\()2.901 E F1 .401(and the fourth ar)2.901 F .401
-(gument is e)-.18 F(xactly)-.15 E F2(\))2.901 E F1 2.902(,t)C .402
-(he result is)-2.902 F 1.236(the tw)180 192 R(o-ar)-.1 E 1.236
-(gument test of the second and third ar)-.18 F 3.736
-(guments. Otherwise,)-.18 F 1.235(the e)3.736 F 1.235(xpression is)-.15
-F(parsed and e)180 204 Q -.25(va)-.25 G
-(luated according to precedence using the rules listed abo).25 E -.15
-(ve)-.15 G(.).15 E 2.5(5o)144 216 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
--.18 E 1.635(The e)180 228 R 1.635(xpression is parsed and e)-.15 F -.25
-(va)-.25 G 1.635(luated according to precedence using the rules listed)
-.25 F(abo)180 240 Q -.15(ve)-.15 G(.).15 E .163
-(When the shell is in posix mode, or if the e)144 256.8 R .163
-(xpression is part of the)-.15 F F2([[)2.663 E F1 .163(command, the)
-2.663 F F2(<)2.663 E F1(and)2.662 E F2(>)2.662 E F1(opera-)2.662 E .669
-(tors sort using the current locale.)144 268.8 R .669
-(If the shell is not in posix mode, the)5.669 F F2(test)3.169 E F1(and)
-3.169 E F2([)3.169 E F1 .669(commands sort)3.169 F(le)144 280.8 Q
-(xicographically using ASCII ordering.)-.15 E .007
-(The historical operator)144 297.6 R .006
-(-precedence parsing with 4 or more ar)-.2 F .006
-(guments can lead to ambiguities when)-.18 F .632
-(it encounters strings that look lik)144 309.6 R 3.132(ep)-.1 G 3.132
-(rimaries. The)-3.132 F .632(POSIX standard has deprecated the)3.132 F
-F2<ad61>3.132 E F1(and)3.132 E F2<ad6f>3.132 E F1 .886
-(primaries and enclosing e)144 321.6 R .886
-(xpressions within parentheses.)-.15 F .886
-(Scripts should no longer use them.)5.886 F(It')5.885 E(s)-.55 E .066
-(much more reliable to restrict test in)144 333.6 R -.2(vo)-.4 G .066
-(cations to a single primary).2 F 2.566(,a)-.65 G .066
-(nd to replace uses of)-2.566 F F2<ad61>2.566 E F1(and)2.567 E F2<ad6f>
-2.567 E F1(with the shell')144 345.6 Q(s)-.55 E F2(&&)2.5 E F1(and)2.5 E
-F2(||)2.5 E F1(list operators.)2.5 E F2(times)108 362.4 Q F1 1.229(Prin\
-t the accumulated user and system times for the shell and for processes\
- run from the shell.)144 362.4 R(The return status is 0.)144 374.4 Q F2
-(trap)108 391.2 Q F1([)2.5 E F2(\255lpP)A F1 2.5(][)C([)-2.5 E F0
-(action)A F1(])A F0(sigspec)2.5 E F1 1.666(...)2.5 G(])-1.666 E(The)144
-403.2 Q F0(action)4.331 E F1 1.501(is a command that is read and e)4.241
-F -.15(xe)-.15 G 1.501(cuted when the shell recei).15 F -.15(ve)-.25 G
-4.001(sa).15 G 1.802 -.15(ny o)-4.001 H 4.002(ft).15 G 1.502(he signals)
--4.002 F F0(sigspec)144.34 415.2 Q F1 5.709(.I).31 G(f)-5.709 E F0
-(action)3.539 E F1 .709(is absent \(and there is a single)3.449 F F0
-(sigspec)3.209 E F1 3.209(\)o)C(r)-3.209 E F2<ad>3.209 E F1 3.209(,e)C
-.709(ach speci\214ed)-3.209 F F0(sigspec)3.209 E F1 .708(is reset to)
-3.209 F .292(the v)144 427.2 R .292(alue it had when the shell w)-.25 F
-.292(as started.)-.1 F(If)5.292 E F0(action)3.122 E F1 .292
-(is the null string the signal speci\214ed by each)3.032 F F0(sigspec)
-144.34 439.2 Q F1(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 456 R .165
-(guments are supplied,)-.18 F F2(trap)2.665 E F1 .165
-(displays the actions associated with each trapped signal as a set)2.665
-F(of)144 468 Q F2(trap)2.569 E F1 .069(commands that can be reused as s\
-hell input to restore the current signal dispositions.)2.569 F(If)5.07 E
-F2<ad70>2.57 E F1 .474(is gi)144 480 R -.15(ve)-.25 G .474(n, and).15 F
-F0(action)3.303 E F1 .473(is not present, then)3.213 F F2(trap)2.973 E
-F1 .473(displays the actions associated with each)2.973 F F0(sigspec)
-3.313 E F1(or)3.283 E(,)-.4 E .363
-(if none are supplied, for all trapped signals, as a set of)144 492 R F2
-(trap)2.864 E F1 .364(commands that can be reused as shell)2.864 F .207
-(input to restore the current signal dispositions.)144 504 R(The)5.207 E
-F2<ad50>2.707 E F1 .207(option beha)2.707 F -.15(ve)-.2 G 2.707(ss).15 G
-(imilarly)-2.707 E 2.707(,b)-.65 G .207(ut displays only)-2.907 F 1.552
-(the actions associated with each)144 516 R F0(sigspec)4.052 E F1(ar)
-4.052 E(gument.)-.18 E F2<ad50>6.552 E F1 1.553(requires at least one)
-4.052 F F0(sigspec)4.053 E F1(ar)4.053 E(gument.)-.18 E(The)144 528 Q F2
-<ad50>2.78 E F1(or)2.78 E F2<ad70>2.78 E F1 .279
-(options may be used in a subshell en)2.78 F .279
-(vironment \(e.g., command substitution\) and, as)-.4 F .238
-(long as the)144 540 R 2.738(ya)-.15 G .238(re used before)-2.738 F F2
-(trap)2.738 E F1 .238(is used to change a signal')2.738 F 2.739(sh)-.55
-G .239(andling, will display the state of its)-2.739 F(parent')144 552 Q
-2.5(st)-.55 G(raps.)-2.5 E(The)144 568.8 Q F2<ad6c>2.516 E F1 .016
-(option prints a list of signal names and their corresponding numbers.)
-2.516 F(Each)5.015 E F0(sigspec)2.855 E F1 .015(is either)2.825 F 2.614
-(as)144 580.8 S .114(ignal name de\214ned in <)-2.614 F F0(signal.h)A F1
-.114(>, or a signal number)B 5.114(.S)-.55 G .115
-(ignal names are case insensiti)-5.114 F .415 -.15(ve a)-.25 H .115
-(nd the).15 F/F3 9/Times-Bold@0 SF(SIG)144 592.8 Q F1 .783
-(pre\214x is optional.)3.033 F(If)5.783 E F2<ad6c>3.283 E F1 .782
-(is supplied with no)3.283 F F0(sigspec)3.282 E F1(ar)3.282 E .782
-(guments, it prints a list of v)-.18 F .782(alid signal)-.25 F(names.)
-144 604.8 Q .016(If a)144 621.6 R F0(sigspec)2.856 E F1(is)2.826 E F3
-(EXIT)2.516 E F1(\(0\),)2.266 E F0(action)2.846 E F1 .016(is e)2.756 F
--.15(xe)-.15 G .016(cuted on e).15 F .017(xit from the shell.)-.15 F
-.017(If a)5.017 F F0(sigspec)2.857 E F1(is)2.827 E F3(DEB)2.517 E(UG)
--.09 E/F4 9/Times-Roman@0 SF(,)A F0(action)2.597 E F1(is)2.757 E -.15
-(exe)144 633.6 S .798(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F0
-.798(simple command)3.298 F F1(,)A F0(for)3.298 E F1(command,)3.298 E F0
-(case)3.297 E F1(command,)3.297 E F0(select)3.297 E F1 .797
-(command, \(\( arith-)3.297 F .573
-(metic command, [[ conditional command, arithmetic)144 645.6 R F0(for)
-3.073 E F1 .574(command, and before the \214rst command)3.073 F -.15
-(exe)144 657.6 S 1.98(cutes in a shell function \(see).15 F F3 1.98
-(SHELL GRAMMAR)4.48 F F1(abo)4.23 E -.15(ve)-.15 G 4.48(\). Refer).15 F
-1.98(to the description of the)4.48 F F2(extdeb)144 669.6 Q(ug)-.2 E F1
-.384(shell option \(see)2.884 F F2(shopt)2.884 E F1(abo)2.884 E -.15(ve)
--.15 G 2.884(\)f).15 G .384(or details of its ef)-2.884 F .384
-(fect on the)-.25 F F2(DEB)2.884 E(UG)-.1 E F1 2.884(trap. If)2.884 F(a)
-2.885 E F0(sigspec)3.225 E F1(is)144 681.6 Q F3(RETURN)2.803 E F4(,)A F0
-(action)2.883 E F1 .303(is e)3.043 F -.15(xe)-.15 G .302
-(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.302(cuted with the).15 F F2(.)2.802 E F1(or)2.802 E F2(sour)2.802 E(ce)
--.18 E F1 -.2(bu)144 693.6 S(iltins \214nishes e).2 E -.15(xe)-.15 G
-(cuting.).15 E .348(If a)144 710.4 R F0(sigspec)3.188 E F1(is)3.159 E F3
-(ERR)2.849 E F4(,)A F0(action)2.929 E F1 .349(is e)3.089 F -.15(xe)-.15
-G .349(cuted whene).15 F -.15(ve)-.25 G 2.849(rap).15 G .349
-(ipeline \(which may consist of a single simple)-2.849 F .165
-(command\), a list, or a compound command returns a non\255zero e)144
-722.4 R .164(xit status, subject to the follo)-.15 F(wing)-.25 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(88)190.395 E 0 Cg EP
-%%Page: 89 89
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 2.576(conditions. The)144 84 R/F2 9/Times-Bold@0 SF
-(ERR)2.576 E F1 .076(trap is not e)2.326 F -.15(xe)-.15 G .076
-(cuted if the f).15 F .077
-(ailed command is part of the command list imme-)-.1 F .507
-(diately follo)144 96 R .507(wing a)-.25 F/F3 10/Times-Bold@0 SF(while)
-3.006 E F1(or)3.006 E F3(until)3.006 E F1 -.1(ke)3.006 G(yw)-.05 E .506
-(ord, part of the test in an)-.1 F F0(if)3.016 E F1 .506
-(statement, part of a command)4.966 F -.15(exe)144 108 S .806
-(cuted in a).15 F F3(&&)3.306 E F1(or)3.307 E F3(||)3.307 E F1 .807
-(list e)3.307 F .807(xcept the command follo)-.15 F .807
-(wing the \214nal)-.25 F F3(&&)3.307 E F1(or)3.307 E F3(||)3.307 E F1
-3.307(,a)C 1.107 -.15(ny c)-3.307 H .807(ommand in a).15 F .759
-(pipeline b)144 120 R .758(ut the last \(subject to the state of the)-.2
-F F3(pipefail)3.258 E F1 .758(shell option\), or if the command')3.258 F
-3.258(sr)-.55 G(eturn)-3.258 E -.25(va)144 132 S(lue is being in).25 E
--.15(ve)-.4 G(rted using).15 E F3(!)2.5 E F1 5(.T)C
-(hese are the same conditions obe)-5 E(yed by the)-.15 E F3(err)2.5 E
-(exit)-.18 E F1(\()2.5 E F3<ad65>A F1 2.5(\)o)C(ption.)-2.5 E .069
-(When the shell is not interacti)144 148.8 R -.15(ve)-.25 G 2.569(,s).15
-G .07
-(ignals ignored upon entry to the shell cannot be trapped or reset.)
--2.569 F(Interacti)144 160.8 Q .952 -.15(ve s)-.25 H .652
-(hells permit trapping signals ignored on entry).15 F 5.651(.T)-.65 G
-.651(rapped signals that are not being ig-)-6.001 F .576
-(nored are reset to their original v)144 172.8 R .576
-(alues in a subshell or subshell en)-.25 F .577
-(vironment when one is created.)-.4 F(The return status is f)144 184.8 Q
-(alse if an)-.1 E(y)-.15 E F0(sigspec)2.84 E F1(is in)2.81 E -.25(va)-.4
-G(lid; otherwise).25 E F3(trap)2.5 E F1(returns true.)2.5 E F3(true)108
-201.6 Q F1(Does nothing, returns a 0 status.)144 201.6 Q F3(type)108
-218.4 Q F1([)2.5 E F3(\255aftpP)A F1(])A F0(name)2.5 E F1([)2.5 E F0
-(name)A F1 1.666(...)2.5 G(])-1.666 E(Indicate ho)144 230.4 Q 2.5(we)
--.25 G(ach)-2.5 E F0(name)2.86 E F1 -.1(wo)2.68 G
-(uld be interpreted if used as a command name.).1 E .801(If the)144
-247.2 R F3<ad74>3.301 E F1 .801(option is used,)3.301 F F3(type)3.301 E
-F1 .801(prints a string which is one of)3.301 F F0(alias)3.63 E F1(,).27
-E F0 -.1(ke)3.3 G(ywor)-.2 E(d)-.37 E F1(,).77 E F0(function)5.27 E F1
-(,).24 E F0 -.2(bu)3.3 G(iltin).2 E F1 3.3(,o).24 G(r)-3.3 E F0(\214le)
-145.91 259.2 Q F1(if)3.622 E F0(name)3.802 E F1 .942
-(is an alias, shell reserv)3.622 F .942(ed w)-.15 F .942
-(ord, function, b)-.1 F .942(uiltin, or e)-.2 F -.15(xe)-.15 G .942
-(cutable \214le, respecti).15 F -.15(ve)-.25 G(ly).15 E 5.942(.I)-.65 G
-(f)-5.942 E(the)144 271.2 Q F0(name)2.86 E F1(is not found,)2.68 E F3
-(type)2.5 E F1(prints nothing and returns a non-zero e)2.5 E
-(xit status.)-.15 E 1.483(If the)144 288 R F3<ad70>3.983 E F1 1.483
-(option is used,)3.983 F F3(type)3.983 E F1 1.482
-(either returns the pathname of the e)3.982 F -.15(xe)-.15 G 1.482
-(cutable \214le that w).15 F 1.482(ould be)-.1 F .44(found by searching)
-144 300 R F3($P)2.94 E -.95(AT)-.74 G(H).95 E F1(for)2.94 E F0(name)3.3
-E F1 .441(or nothing if \231type \255t name\232 w)3.12 F .441
-(ould not return)-.1 F F0(\214le)4.851 E F1 5.441(.T).18 G(he)-5.441 E
-F3<ad50>2.941 E F1 .206(option forces a)144 312 R F2 -.666(PA)2.706 G
-(TH)-.189 E F1 .206(search for each)2.456 F F0(name)2.706 E F1 2.706(,e)
-C -.15(ve)-2.956 G 2.706(ni).15 G 2.705<6699>-2.706 G .205
-(type \255t name\232 w)-2.705 F .205(ould not return)-.1 F F0(\214le)
-4.615 E F1 5.205(.I).18 G(f)-5.205 E F0(name)2.705 E F1 .241
-(is present in the table of hashed commands,)144 324 R F3<ad70>2.742 E
-F1(and)2.742 E F3<ad50>2.742 E F1 .242(print the hashed v)2.742 F .242
-(alue, which is not neces-)-.25 F
-(sarily the \214le that appears \214rst in)144 336 Q F2 -.666(PA)2.5 G
-(TH)-.189 E/F4 9/Times-Roman@0 SF(.)A F1 .653(If the)144 352.8 R F3
-<ad61>3.153 E F1 .653(option is used,)3.153 F F3(type)3.153 E F1 .653
-(prints all of the places that contain a command named)3.153 F F0(name)
-3.512 E F1 5.652(.T).18 G(his)-5.652 E .735(includes aliases, reserv)144
-364.8 R .735(ed w)-.15 F .736(ords, functions, and b)-.1 F .736
-(uiltins, b)-.2 F .736(ut the path search options \()-.2 F F3<ad70>A F1
-(and)3.236 E F3<ad50>3.236 E F1(\))A .292
-(can be supplied to restrict the output to e)144 376.8 R -.15(xe)-.15 G
-.292(cutable \214les.).15 F F3(type)5.292 E F1 .291
-(does not consult the table of hashed)2.792 F(commands when using)144
-388.8 Q F3<ad61>2.5 E F1(with)2.5 E F3<ad70>2.5 E F1 2.5(,a)C
-(nd only performs a)-2.5 E F2 -.666(PA)2.5 G(TH)-.189 E F1(search for)
-2.25 E F0(name)2.5 E F1(.)A(The)144 405.6 Q F3<ad66>2.757 E F1 .257
-(option suppresses shell function lookup, as with the)2.757 F F3
-(command)2.757 E F1 -.2(bu)2.758 G(iltin.).2 E F3(type)5.258 E F1 .258
-(returns true if)2.758 F(all of the ar)144 417.6 Q(guments are found, f)
--.18 E(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F3(ulimit)108
-434.4 Q F1([)2.5 E F3(\255HS)A F1(])A F3<ad61>2.5 E(ulimit)108 446.4 Q
-F1([)2.5 E F3(\255HS)A F1 2.5(][)C F3(\255bcde\214klmnpqrstuvxPR)-2.5 E
-(T)-.4 E F1([)2.5 E F0(limit)A F1(]])A(Pro)144 458.4 Q .279
-(vides control o)-.15 F -.15(ve)-.15 G 2.778(rt).15 G .278
-(he resources a)-2.778 F -.25(va)-.2 G .278
-(ilable to the shell and to processes it starts, on systems that).25 F
-(allo)144 470.4 Q 2.5(ws)-.25 G(uch control.)-2.5 E(The)144 487.2 Q F3
-<ad48>2.693 E F1(and)2.693 E F3<ad53>2.693 E F1 .193
-(options specify whether the hard or soft limit is set for the gi)2.693
-F -.15(ve)-.25 G 2.694(nr).15 G 2.694(esource. A)-2.694 F(hard)2.694 E
-.497(limit cannot be increased by a non-root user once it is set; a sof\
-t limit may be increased up to the)144 499.2 R -.25(va)144 511.2 S
-(lue of the hard limit.).25 E(If neither)5 E F3<ad48>2.5 E F1(nor)2.5 E
-F3<ad53>2.5 E F1(is speci\214ed,)2.5 E F3(ulimit)2.5 E F1
-(sets both the soft and hard limits.)2.5 E .402(The v)144 528 R .402
-(alue of)-.25 F F0(limit)2.992 E F1 .402(can be a number in the unit sp\
-eci\214ed for the resource or one of the special v)3.582 F(al-)-.25 E
-(ues)144 540 Q F3(hard)3.019 E F1(,)A F3(soft)3.019 E F1 3.019(,o)C(r)
--3.019 E F3(unlimited)3.019 E F1 3.018(,w)C .518
-(hich stand for the current hard limit, the current soft limit, and no)
--3.018 F 1.055(limit, respecti)144 552 R -.15(ve)-.25 G(ly).15 E 6.055
-(.I)-.65 G(f)-6.055 E F0(limit)3.645 E F1 1.055(is omitted,)4.235 F F3
-(ulimit)3.555 E F1 1.055(prints the current v)3.555 F 1.056
-(alue of the soft limit of the re-)-.25 F .637(source, unless the)144
-564 R F3<ad48>3.137 E F1 .637(option is gi)3.137 F -.15(ve)-.25 G 3.137
-(n. When).15 F .637
-(more than one resource is speci\214ed, the limit name)3.137 F
-(and unit, if appropriate, are printed before the v)144 576 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F3
-<ad61>144 588 Q F1(Report all current limits; no limits are set.)180 588
-Q F3<ad62>144 600 Q F1(The maximum sock)180 600 Q(et b)-.1 E(uf)-.2 E
-(fer size.)-.25 E F3<ad63>144 612 Q F1
-(The maximum size of core \214les created.)180 612 Q F3<ad64>144 624 Q
-F1(The maximum size of a process')180 624 Q 2.5(sd)-.55 G(ata se)-2.5 E
-(gment.)-.15 E F3<ad65>144 636 Q F1
-(The maximum scheduling priority \(\231nice\232\).)180 636 Q F3<ad66>144
-648 Q F1
-(The maximum size of \214les written by the shell and its children.)180
-648 Q F3<ad69>144 660 Q F1(The maximum number of pending signals.)180
-660 Q F3<ad6b>144 672 Q F1
-(The maximum number of kqueues that may be allocated.)180 672 Q F3<ad6c>
-144 684 Q F1(The maximum size that may be lock)180 684 Q(ed into memory)
--.1 E(.)-.65 E F3<ad6d>144 696 Q F1(The maximum resident set size \(man)
-180 696 Q 2.5(ys)-.15 G(ystems do not honor this limit\).)-2.5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(89)190.395 E 0 Cg EP
-%%Page: 90 90
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<ad6e>144 84 Q F1 .791(The ma\
-ximum number of open \214le descriptors \(most systems do not allo)180
-84 R 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F(be set\).)
-180 96 Q F2<ad70>144 108 Q F1
-(The pipe size in 512-byte blocks \(this may not be set\).)180 108 Q F2
-<ad71>144 120 Q F1(The maximum number of bytes in POSIX message queues.)
-180 120 Q F2<ad72>144 132 Q F1
-(The maximum real-time scheduling priority)180 132 Q(.)-.65 E F2<ad73>
-144 144 Q F1(The maximum stack size.)180 144 Q F2<ad74>144 156 Q F1
-(The maximum amount of cpu time in seconds.)180 156 Q F2<ad75>144 168 Q
-F1(The maximum number of processes a)180 168 Q -.25(va)-.2 G
-(ilable to a single user).25 E(.)-.55 E F2<ad76>144 180 Q F1 .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 F2<ad78>144 204 Q F1(The maximum number of \214le locks.)180 204 Q
-F2<ad50>144 216 Q F1(The maximum number of pseudoterminals.)180 216 Q F2
-<ad52>144 228 Q F1(The maximum time a real-time process can run before \
-blocking, in microseconds.)180 228 Q F2<ad54>144 240 Q F1
-(The maximum number of threads.)180 240 Q(If)144 256.8 Q F0(limit)3.061
-E F1 .471(is supplied, and the)3.651 F F2<ad61>2.971 E F1 .471
-(option is not used,)2.971 F F0(limit)2.971 E F1 .471(is the ne)2.971 F
-2.971(wv)-.25 G .471(alue of the speci\214ed resource.)-3.221 F
-(If no option is supplied, then)144 268.8 Q F2<ad66>2.5 E F1
-(is assumed.)2.5 E -1.11(Va)144 285.6 S .388
-(lues are in 1024-byte increments, e)1.11 F .388(xcept for)-.15 F F2
-<ad74>2.888 E F1 2.888(,w)C .388(hich is in seconds;)-2.888 F F2<ad52>
-2.888 E F1 2.888(,w)C .388(hich is in microsec-)-2.888 F(onds;)144 297.6
-Q F2<ad70>3.286 E F1 3.286(,w)C .786
-(hich is in units of 512-byte blocks;)-3.286 F F2<ad50>3.287 E F1(,)A F2
-<ad54>3.287 E F1(,)A F2<ad62>3.287 E F1(,)A F2<ad6b>3.287 E F1(,)A F2
-<ad6e>3.287 E F1 3.287(,a)C(nd)-3.287 E F2<ad75>3.287 E F1 3.287(,w)C
-.787(hich are unscaled)-3.287 F -.25(va)144 309.6 S .498
-(lues; and, when in posix mode,).25 F F2<ad63>2.998 E F1(and)2.998 E F2
-<ad66>2.998 E F1 2.998(,w)C .498(hich are in 512-byte increments.)-2.998
-F .498(The return status)5.498 F(is 0 unless an in)144 321.6 Q -.25(va)
--.4 G(lid option or ar).25 E
-(gument is supplied, or an error occurs while setting a ne)-.18 E 2.5
-(wl)-.25 G(imit.)-2.5 E F2(umask)108 338.4 Q F1([)2.5 E F2<ad70>A F1 2.5
-(][)C F2<ad53>-2.5 E F1 2.5(][)C F0(mode)-2.5 E F1(])A .791
-(Set the user \214le-creation mask to)144 350.4 R F0(mode)3.671 E F1
-5.792(.I).18 G(f)-5.792 E F0(mode)3.672 E F1(be)3.472 E .792
-(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 362.4 R F0 -.15(ch)2.566 G(mod).15 E F1(\(1\).).77 E(If)144
-374.4 Q F0(mode)3.031 E F1 .151(is omitted,)2.831 F F2(umask)2.651 E F1
-.152(prints the current v)2.651 F .152(alue of the mask.)-.25 F(The)
-5.152 E F2<ad53>2.652 E F1 .152(option without a)2.652 F F0(mode)2.652 E
-F1(ar)2.652 E(-)-.2 E .394
-(gument prints the mask in a symbolic format; the def)144 386.4 R .394
-(ault output is an octal number)-.1 F 5.394(.I)-.55 G 2.894(ft)-5.394 G
-(he)-2.894 E F2<ad70>2.893 E F1(op-)2.893 E .329(tion is supplied, and)
-144 398.4 R F0(mode)3.209 E F1 .329
-(is omitted, the output is in a form that may be reused as input.)3.009
-F .329(The re-)5.329 F .151(turn status is zero if the mode w)144 410.4
-R .151(as successfully changed or if no)-.1 F F0(mode)2.65 E F1(ar)2.65
-E .15(gument w)-.18 F .15(as supplied, and)-.1 F(non-zero otherwise.)144
-422.4 Q F2(unalias)108 439.2 Q F1<5bad>2.5 E F2(a)A F1 2.5(][)C F0(name)
--2.5 E F1 1.666(...)2.5 G(])-1.666 E(Remo)144 451.2 Q .706 -.15(ve e)
--.15 H(ach).15 E F0(name)2.906 E F1 .406
-(from the list of de\214ned aliases.)2.906 F(If)5.406 E F2<ad61>2.906 E
-F1 .406(is supplied, remo)2.906 F .707 -.15(ve a)-.15 H .407
-(ll alias de\214nitions.).15 F(The return v)144 463.2 Q
-(alue is true unless a supplied)-.25 E F0(name)2.86 E F1
-(is not a de\214ned alias.)2.68 E F2(unset)108 480 Q F1<5bad>2.5 E F2
-(fv)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1 2.5(][)C F0(name)-2.5 E F1 1.666
-(...)2.5 G(])-1.666 E -.15(Fo)144 492 S 3.804(re).15 G(ach)-3.804 E F0
-(name)4.164 E F1 3.804(,r).18 G(emo)-3.804 E 1.604 -.15(ve t)-.15 H
-1.304(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
-(If the)6.303 F F2<ad76>3.803 E F1 1.303(option is gi)3.803 F -.15(ve)
--.25 G 1.303(n, each).15 F F0(name)144.36 504 Q F1 .069
-(refers to a shell v)2.748 F .069(ariable, and that v)-.25 F .069
-(ariable is remo)-.25 F -.15(ve)-.15 G 2.569(d. If).15 F F2<ad66>2.569 E
-F1 .069(is speci\214ed, each)2.569 F F0(name)2.929 E F1 .069(refers to)
-2.749 F 2.566(as)144 516 S .066
-(hell function, and the function de\214nition is remo)-2.566 F -.15(ve)
--.15 G 2.566(d. If).15 F(the)2.566 E F2<ad6e>2.565 E F1 .065
-(option is supplied, and)2.565 F F0(name)2.565 E F1 .065(is a)2.565 F
--.25(va)144 528 S .874(riable with the).25 F F0(namer)3.374 E(ef)-.37 E
-F1(attrib)3.374 E(ute,)-.2 E F0(name)3.374 E F1 .875
-(will be unset rather than the v)3.375 F .875(ariable it references.)
--.25 F F2<ad6e>5.875 E F1 1.217(has no ef)144 540 R 1.217(fect if the)
--.25 F F2<ad66>3.716 E F1 1.216(option is supplied.)3.716 F 1.216
-(Read-only v)6.216 F 1.216(ariables and functions may not be unset.)-.25
-F .713(When v)144 552 R .713(ariables or functions are remo)-.25 F -.15
-(ve)-.15 G .713(d, the).15 F 3.214(ya)-.15 G .714(re also remo)-3.214 F
--.15(ve)-.15 G 3.214(df).15 G .714(rom the en)-3.214 F .714
-(vironment passed to)-.4 F 1.004(subsequent commands.)144 564 R 1.003
-(If no options are supplied, each)6.004 F F0(name)3.503 E F1 1.003
-(refers to a v)3.503 F 1.003(ariable; if there is no)-.25 F -.25(va)144
-576 S .176(riable by that name, a function with that name, if an).25 F
-1.477 -.65(y, i)-.15 H 2.677(su).65 G 2.677(nset. Some)-2.677 F .177
-(shell v)2.677 F .177(ariables may not be)-.25 F 2.805(unset. If)144 588
-R(an)2.805 E 2.804(yo)-.15 G(f)-2.804 E/F3 9/Times-Bold@0 SF -.27(BA)
-2.804 G(SH_ALIASES).27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)2.554 G
-(SH_ARGV0).27 E F4(,)A F3 -.27(BA)2.554 G(SH_CMDS).27 E F4(,)A F3 -.27
-(BA)2.554 G(SH_COMMAND).27 E F4(,)A F3 -.27(BA)2.554 G(SH_SUB-).27 E
-(SHELL)144 600 Q F4(,)A F3 -.27(BA)2.79 G(SHPID).27 E F4(,)A F3(COMP_W)
-2.79 E(ORDBREAKS)-.09 E F4(,)A F3(DIRST)2.79 E -.495(AC)-.81 G(K).495 E
-F4(,)A F3(EPOCHREAL)2.79 E(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.79 E F4
-(,)A F3(FUNCN)144 612 Q(AME)-.18 E F4(,)A F3(GR)4.368 E(OUPS)-.27 E F4
-(,)A F3(HISTCMD)4.368 E F4(,)A F3(LINENO)4.368 E F4(,)A F3(RANDOM)4.368
-E F4(,)A F3(SECONDS)4.368 E F4(,)A F1(or)4.368 E F3(SRANDOM)4.618 E F1
-2.117(are unset,)4.368 F(the)144 624 Q 2.741(yl)-.15 G .241
-(ose their special properties, e)-2.741 F -.15(ve)-.25 G 2.741(ni).15 G
-2.741(ft)-2.741 G(he)-2.741 E 2.741(ya)-.15 G .241
-(re subsequently reset.)-2.741 F .241(The e)5.241 F .242
-(xit status is true unless)-.15 F(a)144 636 Q F0(name)2.86 E F1
-(is readonly or may not be unset.)2.68 E F2(wait)108 652.8 Q F1([)2.5 E
-F2(\255fn)A F1 2.5(][)C F2<ad70>-2.5 E F0(varname)2.5 E F1 2.5(][)C F0
-(id)-2.5 E F1 1.666(...)2.5 G(])-1.666 E -.8(Wa)144 664.8 S 1.009
-(it for each speci\214ed child process).8 F F0(id)3.508 E F1 1.008
-(and return the termination status of the last)3.508 F F0(id)3.508 E F1
-6.008(.E)C(ach)-6.008 E F0(id)3.508 E F1 .499(may be a process ID)144
-676.8 R F0(pid)2.999 E F1 .499(or a job speci\214cation)2.999 F F0
-(jobspec)2.999 E F1 3(;i)C 3(faj)-3 G .5(obspec is supplied,)-3 F F2
-(wait)3 E F1 -.1(wa)3 G .5(its for all).1 F(processes in the job)144
-688.8 Q(.)-.4 E .387(If no options or)144 705.6 R F0(id)2.887 E F1 2.886
-(sa)C .386(re supplied,)-2.886 F F2(wait)2.886 E F1 -.1(wa)2.886 G .386
-(its for all running background jobs and the last-e).1 F -.15(xe)-.15 G
-(cuted).15 E(process substitution, if its process id is the same as)144
-717.6 Q F2($!)2.5 E F1 2.5(,a)C(nd the return status is zero.)-2.5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(90)190.395 E 0 Cg EP
-%%Page: 91 91
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E .47(If the)144 84 R/F2 10/Times-Bold@0 SF<ad6e>2.97
-E F1 .47(option is supplied,)2.97 F F2(wait)2.97 E F1 -.1(wa)2.97 G .47
-(its for an).1 F 2.97(yo)-.15 G .47(ne of the gi)-2.97 F -.15(ve)-.25 G
-(n).15 E F0(id)2.97 E F1 2.97(so)C 1.27 -.4(r, i)-2.97 H 2.97(fn).4 G(o)
--2.97 E F0(id)2.97 E F1 2.97(sa)C .47(re supplied, an)-2.97 F(y)-.15 E
-.482(job or process substitution, to complete and returns its e)144 96 R
-.482(xit status.)-.15 F .481(If none of the supplied)5.482 F F0(id)2.981
-E F1 2.981(si)C 2.981(sa)-2.981 G .375(child of the shell, or if no)144
-108 R F0(id)2.876 E F1 2.876(sa)C .376
-(re supplied and the shell has no unw)-2.876 F .376
-(aited-for children, the e)-.1 F .376(xit sta-)-.15 F(tus is 127.)144
-120 Q .347(If the)144 136.8 R F2<ad70>2.847 E F1 .347
-(option is supplied,)2.847 F F2(wait)2.847 E F1 .347
-(assigns the process or job identi\214er of the job for which the e)
-2.847 F(xit)-.15 E .006(status is returned to the v)144 148.8 R(ariable)
--.25 E F0(varname)2.506 E F1 .006(named by the option ar)2.506 F 2.506
-(gument. The)-.18 F -.25(va)2.506 G .006(riable, which can-).25 F .225
-(not be readonly)144 160.8 R 2.725(,w)-.65 G .225
-(ill be unset initially)-2.725 F 2.724(,b)-.65 G .224(efore an)-2.724 F
-2.724(ya)-.15 G 2.724(ssignment. This)-2.724 F .224
-(is useful only when used with)2.724 F(the)144 172.8 Q F2<ad6e>2.5 E F1
-(option.)2.5 E .532(Supplying the)144 189.6 R F2<ad66>3.033 E F1 .533
-(option, when job control is enabled, forces)3.033 F F2(wait)3.033 E F1
-.533(to w)3.033 F .533(ait for each)-.1 F F0(id)3.033 E F1 .533
-(to terminate)3.033 F(before returning its status, instead of returning\
- when it changes status.)144 201.6 Q .311(If none of the)144 218.4 R F0
-(id)2.811 E F1 2.811(ss)C .311(pecify one of the shell')-2.811 F 2.811
-(sa)-.55 G(cti)-2.811 E .611 -.15(ve c)-.25 H .311
-(hild processes, the return status is 127.).15 F(If)5.311 E F2(wait)
-2.811 E F1 .153(is interrupted by a signal, an)144 230.4 R(y)-.15 E F0
-(varname)2.653 E F1 .153
-(will remain unset, and the return status will be greater than)2.653 F
-.21(128, as described under)144 242.4 R F2(SIGN)2.71 E(ALS)-.2 E F1(abo)
-2.71 E -.15(ve)-.15 G 5.21(.O).15 G .21
-(therwise, the return status is the e)-5.21 F .21
-(xit status of the last)-.15 F F0(id)144 254.4 Q F1(.)A/F3 10.95
-/Times-Bold@0 SF(SHELL COMP)72 271.2 Q -1.04(AT)-.81 G(IBILITY MODE)1.04
-E F1 1.354(Bash-4.0 introduced the concept of a)108 283.2 R F0 1.355
-(shell compatibility le)3.855 F(vel)-.15 E F1 3.855(,s)C 1.355
-(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 295.2 S
-.622(iltin \().2 F F2(compat31)A F1(,)A F2(compat32)3.122 E F1(,)A F2
-(compat40)3.122 E F1(,)A F2(compat41)3.122 E F1 3.122(,a)C .622
-(nd so on\).)-3.122 F .621(There is only one current compatibility)5.621
-F(le)108 307.2 Q -.15(ve)-.25 G 3.057(l\212e).15 G .557
-(ach option is mutually e)-3.057 F(xclusi)-.15 E -.15(ve)-.25 G 5.557
-(.T).15 G .557(he compatibility le)-5.557 F -.15(ve)-.25 G 3.057(li).15
-G 3.057(si)-3.057 G .557(ntended to allo)-3.057 F 3.057(wu)-.25 G .557
-(sers to select be-)-3.057 F(ha)108 319.2 Q 1.084(vior from pre)-.2 F
-1.084(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.583(ym)-.15 G 1.083
-(igrate scripts to use)-3.583 F(current features and beha)108 331.2 Q
-(vior)-.2 E 5(.I)-.55 G(t')-5 E 2.5(si)-.55 G
-(ntended to be a temporary solution.)-2.5 E 1.456
-(This section does not mention beha)108 348 R 1.457
-(vior that is standard for a particular v)-.2 F 1.457
-(ersion \(e.g., setting)-.15 F F2(compat32)3.957 E F1 .446
-(means that quoting the right hand side of the re)108 360 R(ge)-.15 E
-.445(xp matching operator quotes special re)-.15 F(ge)-.15 E .445
-(xp characters in)-.15 F(the w)108 372 Q(ord, which is def)-.1 E
-(ault beha)-.1 E(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15
-E .522(If a user enables, say)108 388.8 R(,)-.65 E F2(compat32)3.023 E
-F1 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 .523
-(ls up to and includ-).15 F .26(ing the current compatibility le)108
-400.8 R -.15(ve)-.25 G 2.76(l. The).15 F .259
-(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.759(lc).15
-G .259(ontrols beha)-2.759 F .259(vior that changed)-.2 F 1.645
-(in that v)108 412.8 R 1.646(ersion of)-.15 F F2(bash)4.146 E F1 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.646(or instance, the)-.15 F .761
-(change to use locale-based comparisons with the)108 424.8 R F2([[)3.261
-E F1 .76(command came in bash-4.1, and earlier v)3.261 F .76
-(ersions used)-.15 F 1.904(ASCII-based comparisons, so enabling)108
-436.8 R F2(compat32)4.404 E F1 1.905
-(will enable ASCII-based comparisons as well.)4.404 F(That)6.905 E .296
-(granularity may not be suf)108 448.8 R .296
-(\214cient for all uses, and as a result users should emplo)-.25 F 2.796
-(yc)-.1 G .295(ompatibility le)-2.796 F -.15(ve)-.25 G .295(ls care-).15
-F(fully)108 460.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 .531
-(Bash-4.3 introduced a ne)108 477.6 R 3.031(ws)-.25 G .531(hell v)-3.031
-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 F1 .531(The v)5.031 F
-.531(alue assigned to this v)-.25 F .532(ariable \(a decimal)-.25 F -.15
-(ve)108 489.6 S .108(rsion number lik).15 F 2.608(e4)-.1 G .108
-(.2, or an inte)-2.608 F .108(ger corresponding to the)-.15 F F2(compat)
-2.607 E F0(NN)A F1 .107(option, lik)2.607 F 2.607(e4)-.1 G .107
-(2\) determines the com-)-2.607 F(patibility le)108 501.6 Q -.15(ve)-.25
-G(l.).15 E .733(Starting with bash-4.4,)108 518.4 R F2(bash)3.233 E F1
-(be)3.233 E -.05(ga)-.15 G 3.233(nd).05 G .733
-(eprecating older compatibility le)-3.233 F -.15(ve)-.25 G 3.233(ls. Ev)
-.15 F(entually)-.15 E 3.233(,t)-.65 G .733(he options will be)-3.233 F
-(remo)108 530.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 F4 -.27(BA)2.5 G(SH_COMP).27 E -.855(AT)-.666 G
-F5(.).855 E F1 1.441(Bash-5.0 w)108 547.2 R 1.441(as the \214nal v)-.1 F
-1.441(ersion for which there w)-.15 F 1.441(as an indi)-.1 F 1.44
-(vidual shopt option for the pre)-.25 F 1.44(vious v)-.25 F(ersion.)-.15
-E F4 -.27(BA)108 559.2 S(SH_COMP).27 E -.855(AT)-.666 G F1
-(is the only mechanism to control the compatibility le)3.105 E -.15(ve)
--.25 G 2.5(li).15 G 2.5(nv)-2.5 G(ersions ne)-2.65 E(wer than bash-5.0.)
--.25 E 1.613(The follo)108 576 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.114(etting. The)-4.113 F F2(compat)108 588 Q
-F0(NN)A F1 1.186
-(tag is used as shorthand for setting the compatibility le)3.686 F -.15
-(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F0(NN)3.686 E F1 1.186
-(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108 600
-R 1.306(or v)-.15 F 1.306
-(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G
-3.807(lm).15 G 1.307(ay be set using the corresponding)-3.807 F F2
-(compat)108 612 Q F0(NN)A F1 .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 F1 -.25(va)3.607 G
-.502(riable is preferred, and it).25 F
-(is required for bash-5.1 and later v)108 624 Q(ersions.)-.15 E F2
-(compat31)108 640.8 Q F1<83>144 652.8 Q(Quoting the rhs of the)180 652.8
-Q F2([[)2.5 E F1(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 \(=\001\) has no special ef)-2.5 E
-(fect.)-.25 E F2(compat32)108 669.6 Q F1<83>144 681.6 Q(The)180 681.6 Q
-F2(<)3.25 E F1(and)3.25 E F2(>)3.25 E F1 .75(operators to the)3.25 F F2
-([[)3.251 E F1 .751
-(command do not consider the current locale when com-)3.251 F
-(paring strings; the)180 693.6 Q 2.5(yu)-.15 G(se ASCII ordering.)-2.5 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(91)190.395 E 0 Cg EP
-%%Page: 92 92
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(compat40)108 84 Q F1<83>144
-96 Q(The)180 96 Q F2(<)3.251 E F1(and)3.251 E F2(>)3.251 E F1 .751
-(operators to the)3.251 F F2([[)3.251 E F1 .75
-(command do not consider the current locale when com-)3.251 F .495
-(paring strings; the)180 108 R 2.995(yu)-.15 G .495(se ASCII ordering.)
--2.995 F F2(Bash)5.495 E F1 -.15(ve)2.995 G .496
-(rsions prior to bash-4.1 use ASCII col-).15 F 1.174(lation and)180 120
-R F0(str)4.014 E(cmp)-.37 E F1 1.173
-(\(3\); bash-4.1 and later use the current locale').19 F 3.673(sc)-.55 G
-1.173(ollation sequence and)-3.673 F F0(str)180.34 132 Q(coll)-.37 E F1
-(\(3\).).51 E F2(compat41)108 148.8 Q F1<83>144 160.8 Q(In)180 160.8 Q
-F0(posix)3.753 E F1(mode,)3.753 E F2(time)3.753 E F1 1.253(may be follo)
-3.753 F 1.254(wed by options and still be recognized as a reserv)-.25 F
-(ed)-.15 E -.1(wo)180 172.8 S(rd \(this is POSIX interpretation 267\).)
-.1 E<83>144 184.8 Q(In)180 184.8 Q F0(posix)2.674 E F1 .174
-(mode, the parser requires that an e)2.674 F -.15(ve)-.25 G 2.674(nn).15
-G .174(umber of single quotes occur in the)-2.674 F F0(wor)2.673 E(d)
--.37 E F1 .281(portion of a double-quoted parameter e)180 196.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 208.8 Q F2
-(compat42)108 225.6 Q F1<83>144 237.6 Q .753(The replacement string in \
-double-quoted pattern substitution does not under)180 237.6 R .752
-(go quote re-)-.18 F(mo)180 249.6 Q -.25(va)-.15 G(l, as it does in v)
-.25 E(ersions after bash-4.2.)-.15 E<83>144 261.6 Q .514
-(In posix mode, single quotes are considered special when e)180 261.6 R
-.514(xpanding the)-.15 F F0(wor)3.014 E(d)-.37 E F1 .514(portion of)
-3.014 F 3.39(ad)180 273.6 S .89(ouble-quoted parameter e)-3.39 F .89
-(xpansion and can be used to quote a closing brace or other)-.15 F 2.355
-(special character \(this is part of POSIX interpretation 221\); in lat\
-er v)180 285.6 R 2.355(ersions, single)-.15 F
-(quotes are not special within double-quoted w)180 297.6 Q(ord e)-.1 E
-(xpansions.)-.15 E F2(compat43)108 314.4 Q F1<83>144 326.4 Q -.8(Wo)180
-326.4 S .375(rd e).8 F .374(xpansion errors are considered non-f)-.15 F
-.374(atal errors that cause the current command to)-.1 F -.1(fa)180
-338.4 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 350.4 Q(xit\).)-.15 E
-<83>144 362.4 Q .196(When e)180 362.4 R -.15(xe)-.15 G .196
-(cuting a shell function, the loop state \(while/until/etc.\)).15 F .195
-(is not reset, so)5.196 F F2(br)2.695 E(eak)-.18 E F1(or)2.695 E F2
-(continue)180 374.4 Q F1 1.167
-(in that function will break or continue loops in the calling conte)
-3.666 F 3.667(xt. Bash-4.4)-.15 F(and later reset the loop state to pre)
-180 386.4 Q -.15(ve)-.25 G(nt this.).15 E F2(compat44)108 403.2 Q F1<83>
-144 415.2 Q .481(The shell sets up the v)180 415.2 R .481(alues used by)
--.25 F/F3 9/Times-Bold@0 SF -.27(BA)2.981 G(SH_ARGV).27 E F1(and)2.731 E
-F3 -.27(BA)2.981 G(SH_ARGC).27 E F1 .481(so the)2.731 F 2.981(yc)-.15 G
-.481(an e)-2.981 F(xpand)-.15 E(to the shell')180 427.2 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 439.2 Q
-3.854(As)180 439.2 S 1.354(ubshell inherits loops from its parent conte)
--3.854 F 1.354(xt, so)-.15 F F2(br)3.854 E(eak)-.18 E F1(or)3.854 E F2
-(continue)3.855 E F1 1.355(will cause the)3.855 F(subshell to e)180
-451.2 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 463.2 Q -1.11(Va)
-180 463.2 S .495(riable assignments preceding b)1.11 F .495(uiltins lik)
--.2 F(e)-.1 E F2(export)2.995 E F1(and)2.995 E F2 -.18(re)2.994 G
-(adonly).18 E F1 .494(that set attrib)2.994 F .494(utes con-)-.2 F .119
-(tinue to af)180 475.2 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 487.2 Q F2(compat50)108 504 Q F1<83>144 516 Q
-1.209(Bash-5.1 changed the w)180 516 R(ay)-.1 E F3($RANDOM)3.709 E F1
-1.209(is generated to introduce slightly more random-)3.459 F 3.371
-(ness. If)180 528 R .871(the shell compatibility le)3.371 F -.15(ve)-.25
-G 3.371(li).15 G 3.371(ss)-3.371 G .871(et to 50 or lo)-3.371 F(wer)-.25
-E 3.371(,i)-.4 G 3.371(tr)-3.371 G -2.15 -.25(ev e)-3.371 H .872
-(rts to the method from).25 F .733(bash-5.0 and pre)180 540 R .733
-(vious v)-.25 F .732
-(ersions, so seeding the random number generator by assigning a)-.15 F
--.25(va)180 552 S(lue to).25 E F3(RANDOM)2.5 E F1
-(will produce the same sequence as in bash-5.0.)2.25 E<83>144 564 Q .695
-(If the command hash table is empty)180 564 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 576 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 588 Q F2<ad6c>2.5 E F1
-(option is supplied.)2.5 E F2(compat51)108 604.8 Q F1<83>144 616.8 Q
-(The)180 616.8 Q F2(unset)2.954 E F1 -.2(bu)2.954 G .454
-(iltin treats attempts to unset array subscripts).2 F F2(@)2.955 E F1
-(and)2.955 E F2(*)2.955 E F1(dif)2.955 E .455(ferently depending)-.25 F
-(on whether the array is inde)180 628.8 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<83>144 640.8
-Q .235(Arithmetic commands \()180 640.8 R F2(\(\()2.734 E F1 1.666(...)C
-F2(\)\))-1.666 E F1 2.734(\)a)2.734 G .234(nd the e)-2.734 F .234
-(xpressions in an arithmetic for statement can be)-.15 F -.15(ex)180
-652.8 S(panded more than once.).15 E<83>144 664.8 Q .25
-(Expressions used as ar)180 664.8 R .251
-(guments to arithmetic operators in the)-.18 F F2([[)2.751 E F1 .251
-(conditional command can)2.751 F(be e)180 676.8 Q
-(xpanded more than once.)-.15 E<83>144 688.8 Q(The e)180 688.8 Q
-(xpressions in substring parameter brace e)-.15 E(xpansion can be e)-.15
-E(xpanded more than once.)-.15 E<83>144 700.8 Q(The e)180 700.8 Q
-(xpressions in the)-.15 E F2($\(\()2.5 E F1 1.666(...)C F2(\)\))-1.666 E
-F1 -.1(wo)2.5 G(rd e).1 E(xpansion can be e)-.15 E
-(xpanded more than once.)-.15 E(GNU Bash 5.3)72 768 Q(2024 October 15)
-141.235 E(92)190.395 E 0 Cg EP
-%%Page: 93 93
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E<83>144 84 Q(Arithmetic e)180 84 Q
-(xpressions used as inde)-.15 E -.15(xe)-.15 G 2.5(da).15 G
-(rray subscripts can be e)-2.5 E(xpanded more than once.)-.15 E<83>144
-96 Q/F2 10/Times-Bold@0 SF .606(test \255v)180 96 R F1 3.106(,w)C .606
-(hen gi)-3.106 F -.15(ve)-.25 G 3.106(na).15 G 3.106(na)-3.106 G -.18
-(rg)-3.106 G .605(ument of).18 F F2(A[@])3.105 E F1 3.105(,w)C(here)
--3.105 E F2(A)3.105 E F1 .605(is an e)3.105 F .605(xisting associati)
--.15 F .905 -.15(ve a)-.25 H(rray).15 E 3.105(,w)-.65 G(ill)-3.105 E
-.714(return true if the array has an)180 108 R 3.214(ys)-.15 G .714
-(et elements.)-3.214 F .714(Bash-5.2 will look for and report on a k)
-5.714 F -.15(ey)-.1 G(named)180 120 Q F2(@)2.5 E F1(.)A<83>144 132 Q
-1.363(The ${)180 132 R F0(par)A(ameter)-.15 E F2([:]=)A F0(value)A F1
-3.863(}w)C 1.362(ord e)-3.963 F 1.362(xpansion will return)-.15 F F0
-(value)3.862 E F1 3.862(,b)C 1.362(efore an)-3.862 F 3.862(yv)-.15 G
-(ariable-spe-)-4.112 E .623(ci\214c transformations ha)180 144 R .923
--.15(ve b)-.2 H .623(een performed \(e.g., con).15 F -.15(ve)-.4 G .623
-(rting to lo).15 F 3.123(wercase\). Bash-5.2)-.25 F(will)3.123 E
-(return the \214nal v)180 156 Q(alue assigned to the v)-.25 E(ariable.)
--.25 E<83>144 168 Q -.15(Pa)180 168 S .946
-(rsing command substitutions will beha).15 F 1.246 -.15(ve a)-.2 H 3.445
-(si).15 G 3.445(fe)-3.445 G .945(xtended globbing \(see the description)
--3.595 F .338(of the)180 180 R F2(shopt)2.838 E F1 -.2(bu)2.838 G .338
-(iltin abo).2 F -.15(ve)-.15 G 2.838(\)i).15 G 2.838(se)-2.838 G .339
-(nabled, so that parsing a command substitution containing)-2.838 F .023
-(an e)180 192 R .023(xtglob pattern \(say)-.15 F 2.523(,a)-.65 G 2.523
-(sp)-2.523 G .022(art of a shell function\) will not f)-2.523 F 2.522
-(ail. This)-.1 F .022(assumes the intent is)2.522 F .039(to enable e)180
-204 R .039(xtglob before the command is e)-.15 F -.15(xe)-.15 G .039
-(cuted and w).15 F .039(ord e)-.1 F .04(xpansions are performed.)-.15 F
-(It)5.04 E .4(will f)180 216 R .4(ail at w)-.1 F .4(ord e)-.1 F .4
-(xpansion time if e)-.15 F .4(xtglob hasn')-.15 F 2.9(tb)-.18 G .4
-(een enabled by the time the command)-2.9 F(is e)180 228 Q -.15(xe)-.15
-G(cuted.).15 E F2(compat52)108 244.8 Q F1<83>144 256.8 Q(The)180 256.8 Q
-F2(test)3.167 E F1 -.2(bu)3.167 G .667
-(iltin uses its historical algorithm to parse parenthesized sube).2 F
-.668(xpressions when)-.15 F(gi)180 268.8 Q -.15(ve)-.25 G 2.5<6e8c>.15 G
-.3 -.15(ve o)-2.5 H 2.5(rm).15 G(ore ar)-2.5 E(guments.)-.18 E<83>144
-280.8 Q .484(If the)180 280.8 R F2<ad70>2.984 E F1(or)2.983 E F2<ad50>
-2.983 E F1 .483(option is supplied to the)2.983 F F2(bind)2.983 E F1 -.2
-(bu)2.983 G(iltin,).2 E F2(bind)2.983 E F1 .483(treats an)2.983 F 2.983
-(ya)-.15 G -.18(rg)-2.983 G .483(uments remain-).18 F .339
-(ing after option processing as bindable command names, and displays an)
-180 292.8 R 2.84(yk)-.15 G .64 -.15(ey s)-2.94 H(equences).15 E
-(bound to those commands, instead of treating the ar)180 304.8 Q
-(guments as k)-.18 E .3 -.15(ey s)-.1 H(equences to bind.).15 E/F3 10.95
-/Times-Bold@0 SF(RESTRICTED SHELL)72 321.6 Q F1(If)108 333.6 Q F2(bash)
-3.572 E F1 1.071(is started with the name)3.571 F F2(rbash)3.571 E F1
-3.571(,o)C 3.571(rt)-3.571 G(he)-3.571 E F2<ad72>3.571 E F1 1.071
-(option is supplied at in)3.571 F -.2(vo)-.4 G 1.071
-(cation, the shell becomes).2 F F0 -.37(re)3.571 G(-).37 E(stricted)108
-345.6 Q F1 5.445(.A)C .445(restricted shell is used to set up an en)-2.5
-F .445(vironment more controlled than the standard shell.)-.4 F .445
-(It be-)5.445 F(ha)108 357.6 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)
--2.5 E F2(bash)2.5 E F1(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 374.4 Q
-(Changing directories with)144 374.4 Q F2(cd)2.5 E F1(.)A<83>108 391.2 Q
-(Setting or unsetting the v)144 391.2 Q(alues of)-.25 E/F4 9
-/Times-Bold@0 SF(SHELL)2.5 E/F5 9/Times-Roman@0 SF(,)A F4 -.666(PA)2.25
-G(TH)-.189 E F5(,)A F4(HISTFILE)2.25 E F5(,)A F4(ENV)2.25 E F5(,)A F1
-(or)2.25 E F4 -.27(BA)2.5 G(SH_ENV).27 E F5(.)A F1<83>108 408 Q
-(Specifying command names containing)144 408 Q F2(/)2.5 E F1(.)A<83>108
-424.8 Q(Specifying a \214lename containing a)144 424.8 Q F2(/)2.5 E F1
-(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F1 -.2(bu)5 G
-(iltin command.).2 E<83>108 441.6 Q(Using the)144 441.6 Q F2<ad70>2.5 E
-F1(option to the)2.5 E F2(.)2.5 E F1 -.2(bu)5 G
-(iltin command to specify a search path.).2 E<83>108 458.4 Q
-(Specifying a \214lename containing a slash as an ar)144 458.4 Q
-(gument to the)-.18 E F2(history)2.5 E F1 -.2(bu)2.5 G(iltin command.).2
-E<83>108 475.2 Q .351
-(Specifying a \214lename containing a slash as an ar)144 475.2 R .351
-(gument to the)-.18 F F2<ad70>2.851 E F1 .351(option to the)2.851 F F2
-(hash)2.851 E F1 -.2(bu)2.851 G .351(iltin com-).2 F(mand.)144 487.2 Q
-<83>108 504 Q(Importing function de\214nitions from the shell en)144 504
-Q(vironment at startup.)-.4 E<83>108 520.8 Q -.15(Pa)144 520.8 S
-(rsing the v).15 E(alue of)-.25 E F4(SHELLOPTS)2.5 E F1
-(from the shell en)2.25 E(vironment at startup.)-.4 E<83>108 537.6 Q(Re\
-directing output using the >, >|, <>, >&, &>, and >> redirection operat\
-ors.)144 537.6 Q<83>108 554.4 Q(Using the)144 554.4 Q F2(exec)2.5 E F1
--.2(bu)2.5 G(iltin command to replace the shell with another command.).2
-E<83>108 571.2 Q(Adding or deleting b)144 571.2 Q
-(uiltin commands with the)-.2 E F2<ad66>2.5 E F1(and)2.5 E F2<ad64>2.5 E
-F1(options to the)2.5 E F2(enable)2.5 E F1 -.2(bu)2.5 G(iltin command.)
-.2 E<83>108 588 Q(Using the)144 588 Q F2(enable)2.5 E F1 -.2(bu)2.5 G
-(iltin command to enable disabled shell b).2 E(uiltins.)-.2 E<83>108
-604.8 Q(Specifying the)144 604.8 Q F2<ad70>2.5 E F1(option to the)2.5 E
-F2(command)2.5 E F1 -.2(bu)2.5 G(iltin command.).2 E<83>108 621.6 Q -.45
-(Tu)144 621.6 S(rning of).45 E 2.5(fr)-.25 G(estricted mode with)-2.5 E
-F2(set +r)2.5 E F1(or)2.5 E F2(shopt \255u r)2.5 E(estricted_shell)-.18
-E F1(.)A(These restrictions are enforced after an)108 638.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 655.2 R -.15
-(xe)-.15 G 1.567(cuted \(see).15 F F4 1.567(COMMAND EXECUTION)4.067 F F1
-(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 667.2 Q F1(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(SEE ALSO)72
-684 Q F0(Bash Refer)108 696 Q(ence Manual)-.37 E F1 2.5(,B)C(rian F)-2.5
-E(ox and Chet Rame)-.15 E(y)-.15 E(GNU Bash 5.3)72 768 Q
-(2024 October 15)141.235 E(93)190.395 E 0 Cg EP
-%%Page: 94 94
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E F0(The Gnu Readline Libr)108 84 Q(ary)-.15 E F1 2.5
-(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F0
-(The Gnu History Libr)108 96 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F0 -.8(Po)108 108 S(rtable Oper).8 E
-(ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities)
--.8 E F1 2.5(,I)C(EEE \212)-2.5 E(http://pubs.opengroup.or)144 120 Q
-(g/onlinepubs/9799919799/)-.18 E(http://tiswww)108 132 Q
-(.case.edu/\001chet/bash/POSIX \212 a description of posix mode)-.65 E
-F0(sh)108 144 Q F1(\(1\),)A F0(ksh)2.5 E F1(\(1\),)A F0(csh)2.5 E F1
-(\(1\))A F0(emacs)108 156 Q F1(\(1\),)A F0(vi)2.5 E F1(\(1\))A F0 -.37
-(re)108 168 S(adline).37 E F1(\(3\))A/F2 10.95/Times-Bold@0 SF(FILES)72
-184.8 Q F0(/bin/bash)109.666 196.8 Q F1(The)144 208.8 Q/F3 10
-/Times-Bold@0 SF(bash)2.5 E F1 -.15(exe)2.5 G(cutable).15 E F0(/etc/pr)
-109.666 220.8 Q(o\214le)-.45 E F1
-(The systemwide initialization \214le, e)144 232.8 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F0(\001/.bash_pr)109.666 244.8 Q(o\214le)
--.45 E F1(The personal initialization \214le, e)144 256.8 Q -.15(xe)-.15
-G(cuted for login shells).15 E F0(\001/.bashr)109.666 268.8 Q(c)-.37 E
-F1(The indi)144 280.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25
-G(-shell startup \214le).15 E F0(\001/.bash_lo)109.666 292.8 Q(gout)-.1
-E F1(The indi)144 304.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 F0
-(\001/.bash_history)109.666 316.8 Q F1(The def)144 328.8 Q(ault v)-.1 E
-(alue of)-.25 E F3(HISTFILE)2.5 E F1 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 F0(\001/.inputr)109.666 340.8 Q(c)-.37 E F1
-(Indi)144 352.8 Q(vidual)-.25 E F0 -.37(re)2.5 G(adline).37 E F1
-(initialization \214le)2.5 E F2 -.548(AU)72 369.6 S(THORS).548 E F1
-(Brian F)108 381.6 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 393.6 Q(g)-.18 E(Chet Rame)108 410.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 422.4 Q(y@case.edu)-.15 E F2 -.11(BU)72
-439.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F1 .568
-(If you \214nd a b)108 451.2 R .568(ug in)-.2 F F3(bash)3.068 E F1 3.068
-(,y)C .568(ou 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 463.2 R 5.625(ersion of)-.15 F F3
-(bash)8.125 E F1 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 F0(ftp://ftp.gnu.or)108 475.2 Q(g/pub/gnu/bash/)-.37
-E F1(and)2.5 E F0(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 F1
-(.)A .411(Once you ha)108 492 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 F0(bashb)3.18 E(ug)-.2 E F1 .41(command to submit a b)3.13 F .41
-(ug report.)-.2 F(If)5.41 E .021(you ha)108 504 R .321 -.15(ve a \214)
--.2 H .021(x, you are encouraged to mail that as well!).15 F -1.1(Yo)
-5.021 G 2.521(um)1.1 G .021
-(ay send suggestions and \231philosophical\232 b)-2.521 F(ug)-.2 E
-(reports to)108 516 Q F0 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F1
-(or post them to the Usenet ne)2.5 E(wsgroup)-.25 E F3(gnu.bash.b)2.5 E
-(ug)-.2 E F1(.)A(ALL b)108 532.8 Q(ug reports should include:)-.2 E
-(The v)108 549.6 Q(ersion number of)-.15 E F3(bash)2.5 E F1(The hardw)
-108 561.6 Q(are and operating system)-.1 E(The compiler used to compile)
-108 573.6 Q 2.5(Ad)108 585.6 S(escription of the b)-2.5 E(ug beha)-.2 E
-(viour)-.2 E 2.5(As)108 597.6 S(hort script or \231recipe\232 which e)
--2.5 E -.15(xe)-.15 G(rcises the b).15 E(ug)-.2 E F0(bashb)108.27 614.4
-Q(ug)-.2 E F1
-(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
-631.2 Q(ug reports concerning this manual page should be directed to)-.2
-E F0 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F1(.)
-.25 E F2 -.11(BU)72 648 S(GS).11 E F1(It')108 660 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 676.8 R 1.869(ferences between)-.25 F F3
-(bash)4.369 E F1 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
-F3(sh)4.368 E F1 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9
-/Times-Bold@0 SF(POSIX)108 688.8 Q F1(speci\214cation.)2.25 E
-(Aliases are confusing in some uses.)108 705.6 Q(Shell b)108 722.4 Q
-(uiltin commands and functions are not stoppable/restartable.)-.2 E
-(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E(94)190.395 E 0 Cg EP
-%%Page: 95 95
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF
-138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH)
-.25 E F1(\(1\)).95 E 1.185(Compound commands and command sequences of t\
-he form \231a ; b ; c\232 are not handled gracefully when)108 84 R .39
-(process suspension is attempted.)108 96 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 108 R .192(It suf)5.192 F .192(\214ces to pl\
-ace the sequence of commands between parentheses to force it into a)-.25
-F .052(subshell, which may be stopped as a unit, or to start the comman\
-d in the background and immediately bring)108 120 R(it into the fore)108
-132 Q(ground.)-.15 E(Array v)108 148.8 Q(ariables may not \(yet\) be e)
--.25 E(xported.)-.15 E(GNU Bash 5.3)72 768 Q(2024 October 15)141.235 E
-(95)190.395 E 0 Cg EP
-%%Trailer
-end
-%%EOF
+++ /dev/null
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
-%%Title: bashref.dvi
-%%CreationDate: Fri Nov 1 22:25:04 2024
-%%Pages: 211
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10
-%%+ CMTI10 CMSLTT10 SFRM1095 CMTT12 CMTT9 CMMI9 CMR9 SFRM1440
-%%DocumentPaperSizes: Letter
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
-%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2024.11.01:1825
-%%BeginProcSet: tex.pro 0 0
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
-def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
-rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
-N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
-false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
-length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
-forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
-BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
-{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
-round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
-rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
-/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
-B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
--3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
-0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: cm-super-t1.enc 0 0
-% This file is generated from `T1uni.map' and `glyphlist.txt', `gl-other.txt'
-%
-% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
-% LIGKERN quoteleft quoteleft =: quotedblleft ;
-% LIGKERN quoteright quoteright =: quotedblright ;
-% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
-% LIGKERN greater greater =: guillemotright ;
-% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
-%
-% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
-% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
-% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
-% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
-% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
-% LIGKERN nine {} * ; * {} nine ;
-%
-/T1Encoding [
-% 0x00
-/grave
-/acute
-/circumflex
-/tilde
-/dieresis
-/hungarumlaut
-/ring
-/caron
-/breve
-/macron
-/dotaccent
-/cedilla
-/ogonek
-/quotesinglbase
-/guilsinglleft
-/guilsinglright
-% 0x10
-/quotedblleft
-/quotedblright
-/quotedblbase
-/guillemotleft
-/guillemotright
-/endash
-/emdash
-/afii61664
-/perthousandzero % PERTHOUSAND ZERO
-/dotlessi
-/dotlessj
-/ff
-/fi
-/fl
-/ffi
-/ffl
-% 0x20
-/uni2423
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
-% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
-% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
-% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/asciicircum
-/underscore
-% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
-% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/asciitilde
-/hyphen.alt % HANGING HYPHEN
-% 0x80
-/Abreve
-/Aogonek
-/Cacute
-/Ccaron
-/Dcaron
-/Ecaron
-/Eogonek
-/Gbreve
-/Lacute
-/Lcaron
-/Lslash
-/Nacute
-/Ncaron
-/Eng
-/Ohungarumlaut
-/Racute
-% 0x90
-/Rcaron
-/Sacute
-/Scaron
-/Scedilla
-/Tcaron
-/Tcommaaccent
-/Uhungarumlaut
-/Uring
-/Ydieresis
-/Zacute
-/Zcaron
-/Zdotaccent
-/IJ
-/Idotaccent
-/dcroat
-/section
-% 0xA0
-/abreve
-/aogonek
-/cacute
-/ccaron
-/dcaron
-/ecaron
-/eogonek
-/gbreve
-/lacute
-/lcaron
-/lslash
-/nacute
-/ncaron
-/eng
-/ohungarumlaut
-/racute
-% 0xB0
-/rcaron
-/sacute
-/scaron
-/scedilla
-/tcaron
-/tcommaaccent
-/uhungarumlaut
-/uring
-/ydieresis
-/zacute
-/zcaron
-/zdotaccent
-/ij
-/exclamdown
-/questiondown
-/sterling
-% 0xC0
-/Agrave
-/Aacute
-/Acircumflex
-/Atilde
-/Adieresis
-/Aring
-/AE
-/Ccedilla
-/Egrave
-/Eacute
-/Ecircumflex
-/Edieresis
-/Igrave
-/Iacute
-/Icircumflex
-/Idieresis
-% 0xD0
-/Eth
-/Ntilde
-/Ograve
-/Oacute
-/Ocircumflex
-/Otilde
-/Odieresis
-/OE
-/Oslash
-/Ugrave
-/Uacute
-/Ucircumflex
-/Udieresis
-/Yacute
-/Thorn
-/SS % Germandbls
-% 0xE0
-/agrave
-/aacute
-/acircumflex
-/atilde
-/adieresis
-/aring
-/ae
-/ccedilla
-/egrave
-/eacute
-/ecircumflex
-/edieresis
-/igrave
-/iacute
-/icircumflex
-/idieresis
-% 0xF0
-/eth
-/ntilde
-/ograve
-/oacute
-/ocircumflex
-/otilde
-/odieresis
-/oe
-/oslash
-/ugrave
-/uacute
-/ucircumflex
-/udieresis
-/yacute
-/thorn
-/germandbls % or /germandbls.alt
-] def
-
-%%EndProcSet
-%%BeginProcSet: texps.pro 0 0
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginFont: SFRM1440
-%!FontType1-1.0: SFRM1440 0.3
-%%CreationDate: Wed Sep 12 2001
-% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
-% See the file COPYING (GNU General Public License) for license conditions.
-% Converted from METAFONT EC/TC and LH fonts:
-% ecrm1440, tcrm1440, larm1440, lbrm1440, lcrm1440, rxrm1440.
-11 dict begin
-/FontInfo 6 dict dup begin
-/version (0.3) def
-/FullName (Computer Modern Roman) def
-/FamilyName (Computer Modern) def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/Weight (Medium) def
-end readonly def
-/FontName /SFRM1440 def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/FontBBox{-178 -319 1370 944}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
-69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
-CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
-F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
-F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
-EF25195F68A2A98170E4875AA6B96583CD5632BAD9EB3D511DF934CD36447A31
-D420FA313B5721C37085F478B27E13191957AD30B8B082BCE733AF8402AA3B7D
-EC69807BBAA8142AF1CE151D99F5A59AD18798F94781EFAD48BEC8C62C05C56A
-336D71AB584F6DF014C56523108606FADE931125496247870E980A65AB33C0C6
-D5B074864D0F58CBE333EFA1201AF335FBDBFB1CC8B1294856C250F222BFB8BE
-5DE74F808904F7678552F213C674497F829E96812D340939F73737731D289801
-54E5A8F7F5067ACD9D768F4649B51E54513F2F7878141FC719627C23FC5FBBB6
-3F663343D902E95C56C559B588088227B22378FAAB29392FA62933283D2FB2EA
-FDAEC6C1A94ABA0B5BEFA1E728A2052434BFBF6D9759D02A2C6092D4EF794241
-CC28BC939A424AFA193F96530985EE89E2731F6A99BC84C6551A3FEA1342509D
-D389F786C8EAF972B8C98B79003B6C71E6696518BE4CAD2A317C5D29621031B4
-00A035445D8CFB67D6C136B3F6D82396E11A3679BC82498519C27601236F1FCA
-073DA7817B529424CAF49A0AEE8FF7520C0F204A3B1725F46C2C6953C20E93B6
-2F3EED0EEDF87A350CB841516107D9571503A3D62A2F81840070D43392160783
-D111F3463760EBE634515DA1A1B6C3A5D14FC475F277BAC792FB69B4219E9BF5
-E6F8520584096A7B7BFE439A1604C2BBBB9140A4F4728B4B553A27E1AF52181D
-701E90C4FBB16EA8DB39B562E5A2932D45893081D52E020A1FCBC44DC204F4A5
-BEE47F9D25876644CC856B1FC225B61124B89B896C39CDAB0ACCA8277F827382
-6F58A0C8456DC41217219D894B42968FB2EC75D5518B6C4413BAC889532F0B0B
-A8D728949CEA00D4A1FD757B3A2336D472842ACF8EB9869044947C67D9AC7BBF
-7386DDE209A8DC9F18085952818F67FDC6088D9C8BC51BA6DC0FA37A0F81EDB8
-6F259FA8C0FA3D55BC44529889E72E407C89ACF658631A0508FD7991088644B4
-C958031B52421F9CE73A0479A3175231EFD9E0F7A7B08380E9BAF015730B175B
-93C380D1D0F3EB929B7182691BE7E2116CE295CA4331ABD7ECAD7D2DD46FE3E0
-5D3893ED100135901FD42B4E11BEB2689A13E86F1E68635DD81E5A720082E802
-89B440A111B2CDC6BFE79E5B2EB0C528FA0E958F0E981EC29C3B02A9186D7907
-A0CC29251E567958BA95DE609A421581433DD50AF96A82A5ADEFD1C9540D87A8
-D74A7709AF84AD36753784ED8267D3C2521A32C7A9D5BE01E0AF3B349200639C
-90C8BF2E26920AC410A9C5D1EB85C0ADD16BAA83B6C0BFE82483D3B719DC19AC
-89155140691E3E37F861C53A6F39441B5F229828B198DF5BF6286060DCB64433
-F43499E4AB973F84655311A644ED0921B41B9AE7A8060CB1F45E824FB3497C63
-0A13CB5902294E66186E4496A825447734DF4AB581803488B912E7DCD6007527
-B4CFDC5AD5D1DB430007AE929F969EE332CCF235DAF977D387E47BE0EE337118
-8CFAAC0907E16B0BEAECC3B39221867AE6464BE9AB4CE591B2E24B45AD2C70E2
-A183065810D6AC3DE8EA9F66615113F1E683A4475CE5817491ECBDD4A4818AED
-EAFEAB8B93FBDB335D02FAF9276958EFAEE1057C45D313419D195068076D77B2
-C0FF6EA8D6F3F0A899D17E04B8B2141EE335
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMR9
-%!PS-AdobeFont-1.0: CMR9 003.002
-%%Title: CMR9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup
-/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMR9 def
-/FontBBox {-39 -250 1036 750 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def
-/FullName (CMR9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 72 /H put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 88 /X put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340
-15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E
-ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4
-B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029
-85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C
-DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955
-F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D
-2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5
-B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7
-78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7
-E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3
-41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277
-B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072
-55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA
-700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9
-8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A
-F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4
-FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4
-3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15
-B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2
-AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013
-461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC
-CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85
-CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C
-4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F
-291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223
-D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181
-C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115
-D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9
-9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405
-2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380
-A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB
-2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E
-2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6
-AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577
-9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB
-B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67
-0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D
-9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B
-42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0
-C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35
-623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6
-B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4
-E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97
-CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D
-07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7
-53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350
-EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9
-52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88
-F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC
-D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3
-81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D
-B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6
-B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A
-31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF
-E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293
-846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733
-46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E
-44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08
-A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A
-BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5
-1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4
-D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344
-6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A
-E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E
-24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E
-75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D
-EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51
-C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0
-5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034
-099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281
-7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE
-53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84
-7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F
-7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C
-D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933
-CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD
-866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B
-B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826
-ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B
-B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64
-FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B
-40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643
-D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8
-2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787
-39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2
-1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4
-F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9
-253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B
-14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085
-6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E
-E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B
-9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E
-EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339
-FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F
-289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3
-A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5
-5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46
-5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652
-152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE
-67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3
-BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59
-3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88
-713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF
-2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5
-D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143
-6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB
-A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9
-F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95
-26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A
-C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970
-350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700
-70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5
-F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95
-F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8
-9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2
-DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473
-F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D
-064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF
-1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325
-A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E
-E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF
-01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C
-40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C
-72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645
-24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1
-EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775
-D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311
-83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483
-5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448
-1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69
-AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC
-4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3
-7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9
-65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063
-B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6
-FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6
-4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490
-8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6
-1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3
-10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B
-C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4
-8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A
-C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0
-7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F
-852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C
-3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997
-648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD
-855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE
-1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C
-1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0
-B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7
-D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99
-24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C
-552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733
-6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0
-800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8
-6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659
-E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4
-5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2
-00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F
-E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4
-82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7
-6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3
-128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D
-744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
-84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
-AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
-5D2579DAAEE12528C23ED8A1A2F34CAD1CE8BA67D0B660E9281F247EC10F816B
-FBD6B9E8AAAA1DFCC4C9FF1C6AD05C0D776DBF675838C2629826D5337EED815F
-4268604A4EED01A2C7842FCAED2E37F7F39F980866DC5BCACA8616749FFE946C
-A0AB0475DA734C00D99912C544BD31F8A69367D068F0A18EE79FBD4D5385B8C1
-DEB92502ACB3B657A54C9BF786D7DC1ACABDF29591D77ACE1D4FE00E935D2858
-3733656C79DD1C174C26DD97D462B4323F33B410DEB64244095927C572FA90C6
-4C8B709C5B7E4386AEB936C2656B59AAFB74F9E40E680D890903458CB1B2AB8E
-6E629F88B51546877F7799B99DECDC13638E2765343988DE2ED33279DEC3FF0E
-2255A734F5925608991F068274CB1E5301C5B8623C5878851857B3E665490A7F
-FCE5A8DC0FFCF3D56BF55E4AB2ACC6743F52B59C1343A1C25BD46A6A3722957E
-24A6F4B970A594F67A09BADB6A7B4BEAD3FF97D0734470750FCE29807D315EFE
-F93BE16F39C0B59D107D1834FDDFD520D8A429FCDCA408C79DEB580081191B43
-20650B5375AECFC2DC500E3CA934AFA3D241FE7988892CEA42C8677DE18C43FA
-C3094F8DCB1D070DE0D32B69E2E1ECB4A82AD9E38D889D05418DF4E3C398FEA7
-BFE9B364A389B13BE713F5B2553ACD16C14AAE521B63E8A7DD0258EFFB95646C
-18226B01D916D41DDB322F6E83C3E3717FC113BF7D7AFDA2CC03B8175BD7DCD2
-AEC82FB156E051F2D87B9F12F81E1F43E822EE27219758B3E237AD772E7B1DB0
-19ABCE7BE6A2FC3C7DA0766FB82CEDBAFC19F7EB19C7448C1719C88FE99BCB73
-F7DEA427FBFCDF4F00E0FDACD080AF068F7A1CDE18315BD694C60B1DC71DAF1D
-1009AFC847156F96D9CD38A764D0EA70E5E9B6E19A2A0B80ECBB84CA44C137F1
-4925EF5766F00C22F967FEED8115BFB080B2E13010E6D0C16FE49DB5DD70B6F2
-B2BBCDF710370A14E4B419371CF255F11783A875497398D5059866AC5A8D42F8
-C864CC60067A997A808F2F607F0A2A7E468B2E8E763415D55A92E543151A94C7
-EFE9FC9B719148E7F754B8404895FCCE83EC50163DBAA27B9819D4C64D1888EE
-16D4507B3BB0F9DC7CE31CAD5B84A02CEDB67BE34032A62C6A84D9BA4DEA5C65
-1DD36643371D0BAEBEC7D1A1F920D15628C16E6793780FCADB1DF5527B597FD3
-FAD5DD7FE9B65B35C7207A5F9A501ECBA1C6E908275A2F1490C4465D71D4E654
-E34E33A8879E6E1E1C2D2C0CED0282D058E2997B621F6D796CC9385ADE2F08C9
-BD32C9A448773697E3B916313BB4C7B4F880CFCE823CA5968AE062DA5102690A
-59E5AB473675F8DB599319665AEAB7B258021C87C157A07AAD095647EB850426
-B0C23C49395CDC48DBB13D76932D63B667CF035120BAD91EEA82A5E5858A463D
-1D1546B67ABB40632DD64D12C7D9BB515E7526B5AAE5D7E6344DA0AD7947C1BA
-2A9A504B2A0A92D648CB77B08184D56DEFCA72130213E9E9386A9041FB958F9B
-FFD5618983399D0C9F7CE2061903FA8E88D69B4ADF316B992FD40ED5B195E4AE
-88B845F7FEC3D90C2C0D1E8CF78EBE55ABDB3BE802B5CF68AA2FDB9A09A73F3B
-83F07D7C787EDA0A40E0D040BF0F12E3AE2DAAEBEFCF9069994A576F542678C2
-2F2CA8BE2FF6BA35916EBDB784D2807DC9ED8E01892CAF51E965825FE77B1B8C
-D7F561861D274920B3B7933745D6866EDE88F3FF519BA7E0320DBCEA4ED3D6E5
-90546B4C3E0E0F292CC210EF4EE7A73CD45B03B68B6BE3C9CE55C5D627E1BC97
-B6CE264D02FC5E06DB45B1719B1A803034812A30471EF8E6C0140240A0B3FF07
-4004123379D3CD5456262CC9DFAA1A59643044E28E2991E55E2608F652EBB6A8
-AE4DF9A425CC6BF81FF21CF1ED934CF355C7972ED8E7789EF9899F9ADA1F1EDF
-8E6B72A5B8C1F7A12B00979B585CDFECE3165D8AB84573EC5A0AD42D773502E0
-F6A2A35B0C82EFC57F42E2FCD847DC7FFD81829DCF53FA1E0BF44F4C7F124920
-F46186D5FB9A126DBD06427B88C841054CCB55AD373DDA7C429AB6B818DEB5A9
-0389032FE6682EB660D8D3783FBD4D219AD9426E329368C9A161C35F14A94792
-A67024A18FB2EF64FAEFDDE463B141449871AB157F0467AD4DF3034D2272575C
-5DDF0A5B2EB7C03E10DE25AE1908F866715B79BF01A60F4D9C07A3E2D54DBFB3
-7509299DCB92C8BB25F8EEB434CDE7436FBE5D67D8D6BFEF18E45E6D967E1BDD
-CD6CF7456BDF31DDFBE0975E715EA045AB81300F027E53F61C9A3ACB0EC46077
-B0F20BBFBB874846D75651244286A3317D29962E535C4110F79E03C885DEF635
-AE071BDEB87CB2DE62566DC837A28FDE9E1FE0C6E244C61B908244F7BE350910
-8B61ED33B128C139E9CBFB4C8294D75BBFD1922ECDC6ED533CDE8F504B58E078
-98EB92D3CDDF2CE86DDB34598B8CAED5B6DA81A6C816C747524E96A8F41B387A
-E7E4D6EDC2658A029D0F7EE557944A25217443B29E58C9B8665607A99CAAC911
-D500280F0B848E7562E99E652B19B9C77F8171DEF5F462614D45B1C83CDB4CD6
-41331A6AA9772FF7646E0A08294BA7F7CB639AB1EA17449FA59272F6E8F024A2
-21794BF5D7645F539FBB219C868A531F05DFC8314E86EEAC33E4D26DE4884FF2
-CA959E588860E8C50921BEBF3D27A1F0A0041474C81BDAE753780F0E90AB696E
-2B146E9DA34C23F65369B1AF6C89C1855DFB5AF7E7B98D0C963D2B7FEFC47B6D
-C848265B3CA1C85555E4268939C9C8EA2496E6F26452773B6A3E12E2CF11371C
-51A7E1A33C263E2317FC4538F75E8D0AE597B3E6BC664E2AA6412DF95EAFE6AC
-777885C16393C2928FC0A3F7EC5E27345ECC7334823C20A5BECC893B2F90A194
-B96BD811319D25344DB5BDCF8A1D7E1786B47EB4704B09DF1C9176BFBCE7EACA
-A8AF3DBA0BE5FCDB81D472CA53547CB9F3D6053689BC8B1E952B673B411FE6FA
-AC28DFD3F8D189B4C6819A23128D9C23EB21DF4E47D5D52215AA05E690FA4F8A
-66189F057F1A1B6FBFAF717E274943DB2024CC896210C4080263BFC5011FD506
-819CCF318A0EFA77D945C8E2B83B9CBFA789B5A7A1E0C603E9AF95BED431569A
-D16A71D3D7F986535C92176384BD959FF8D0CB69DCDB1381A050CE2C8CED8C47
-DED5A13775EDFB33A3867F44D0AF7E53B400A748F3CDDC2B9B2A175DF50929E6
-1869AEBAEEA3C0AC1D05A3F0001CFDD9B76CCB484F34A0AD15471A2477BD3760
-CA783C9147530FA952526B581C6F28E618C8864AE84E7CE054B01204A4FCC083
-E78373C026157896DB7C7E7DB9BCEC9A9CAD3080FB3D1F37F819ABBC9FCD4B72
-1686A705B9525B7F31B8FC8B06915856AE9D5501CE5C9813240D1B2403544623
-4303675906FB936EE3CAFC898D40AB6A035ACCEF08293BCB0FDCEB71848D2E7C
-D6B7663755C82A6CCB4C93DD2B9AE5A932F76997CBF36C95BFCEBBAC79C9ED4C
-FBADDF60B9745B91AF68EBBD5869565E8053CADFC76CB2B9A2E231E6E5E27F01
-37700F94C4F7FE4034A7B73CCBA472121DB948F25436343EB26C26BE3A826E9B
-CFFE4C9D0C7CEBF5B416EAC51FE1EBE97676E9DB688FF9BC581BD2050CAA21B5
-27A604BFA1DA0450AE66442AF320B4899BE5465854D767745595CC3B9FD79AD3
-B5B4311B1970ECC861C30B77C38B95DED26A24DD55110C28FEC5087D09CA73AA
-B8064F3041C893E40CA50B30F5BFAFF4C7B648DBD9CF6E135EE0E380EA310280
-DB9F15F44D1053592D634E4B841CE63FDCCBA0E140672D866B5975E2187BF785
-932CAB8EA180DA39875DD99DA885D9100A2F090957DF2E49E5BB061C1F739437
-50E3A6153273F999408CFC75D427673AA4734C94CD6D0DC894C23802BF537973
-50172A82E42508A0F1A0CE81540115A33595F8D59C0C3FB3B92A21CCD7827372
-742E33898C45E18268DE21B69C05D7A63BBFBB3B84B88D30F4D9227E2D88397B
-CEFA8F00A418B35E84F348B96CEA7C8A10FE664A88C1B0CEF8C3CCF02FF5BE8C
-D0A96C87FCEADAC0FC54DCCAA3D2248D917CDCAE5DBBE96C6B0479BE97203606
-5474AFAA473759440C1A2E3A7EBE61E24D506F0F26511C89F5A484989383E665
-BB8B868D12A5E9A1DBEA25E2E341724F5146A67457EDD48D35408424410DF16A
-EB0D56D908F0A9B0579D16503298410645EF81BF9753E2EED685118A2C7E1075
-7DF960653BE713541FA119390485C658D8CD5B665A0133A76A872F4BDA4F01A3
-661F40E9F987E86DF70AEB15463CAFEDC919854FD9A88560F1DF9B36FE935AC7
-5845B414191FE536C5C0CE0DB0D721F3D51B62715AE4BF559D04F1292A8DF50F
-26EF4180F215DF2B53FC705AEA3B95F5DA49A583D49C9AE952008D2CD8D79F66
-75039E7AFE90836E6218711C43824B746886E00CD177FF0CAFB95C62E50362DC
-FE20303C6950543580ACA6570692F3C53D906D74B04B8F627084C6D30270934B
-59DBBDF61D9EA6C8069A088A7F38D4F3EB8DB9DEFD542EF6DEE0F6E5C9A78E29
-8F9F293F9DACC5A6AD4AC8373C367AD8BCB521E1AD27993770371658095A247D
-8559EBD023089B73198CB56F853B618040858800F20F9738A061DE083F5720E0
-C99A6E4C6A64214FC5BD0FC0E52526DC998B63A3C57802A043D8862D32400B3C
-46A4C0665627FD605053F9C8A71EE00D47F82F4607AB791E2401B42B0D9B7311
-D529F1596B1A53FE5E4901D1D1D4E75F7FD641856B931DB693F88CE954A99798
-34796F962A5A9DF70BEF70B9C33EFE09D3DF4FD0D089827A70FA5D7CED20CAFF
-E1A5809030DBC5BDE1B8AC7580C21C5657F04D2AAD7D1332C4C735F9A0C7A94D
-3166F2ACCD2C4D974A4B1BB0ABDEEA154FC14334143C2A519CD7D170ADFA0B9F
-D88D26B340D68016A8DAEB93F5BD9B96013273ECCC5A2B33CAC92A354CFE2897
-D3132365B8D6AA1F0E20CC5EB05D1CA98EE33E9A19883688547B5A6EABD44389
-4EAF23C8433EEEC90D2FE0B1D2FE1AC6CF819110E6FE634FE2021E133533BE4C
-E93A17C5AD191C51E5D55D28DA865819855112F502003E5D3D7D52A5C6639935
-BE0BC8FF7BBCED0AEA1CA74FA4F891B1C187E40D15B20B46BD3504D57A860008
-ACEB1ED83CA25A681B1869487D007B0F2B9BA48058D33352106651A479E5CA4C
-DC107B2D5FE3BE08E12EDFC4034DF884D25068A307836B55AB2481CE8B9CB6B1
-06CCEFDC55505D450252AC3360BE96D3CF748F5423ADD67C168CACB594CA0B6F
-E4E65CDCE0231C5760B035D75275D1B474697076DDA2919210B000B325D60C59
-325D0530644810AF81F4CA8EDDCCFFADA4B4C1B3B58295D0CDADEEA8CE4199FA
-3D451C1F9D7940FF162C5F6EAD72E7B2D95BA2EE6EB6B5733697C4A027C81A38
-C195B7D7D01CA8D671CF5CCC6F9805D2D9F6AE695326FFB0C42EBE087C1D913D
-D617FCA36AE9151FBEEFA1D0B43AD77CB2E7B3994BEBF761683DCBA5BAA51ED9
-5768F8D7C080D2E136D479EC264092C7CBE63D88FEBDA39D1BB0A1BDC544064D
-07B419E963D7C87D5024D9B92D25C1235A9FE95A3A03E220F07D1561542E1255
-D33C3FB77EF5B8FA67335AFBC0AEBBA3E42965DA5101C7434267920D74D0C2C5
-B1C16BD9AA234C61594E389588176B10011E343C61FA06AADEA0D981B310EFFB
-CFEC8BE0BF5ACFD19D9AA083AB4EEA1F3F7541319DC5FFAF8DA18575EC7D7E3E
-F26484045DCF949908B0F13F80716144D5E433E60255CA2548458403D72077B8
-9CCCBDCC7E47B19FC4A40459D74C1037FBE7B417A1D776C5AE8D40FCD6D9B321
-85E49BEFD4722476A6D2EB6F76C8002694F15691739D5DDD05375D7FBFC95F6E
-B0377CE6E9C784B49E9EC0BFE88684A74E48D4F8CA18607CF6B73A83CDB3D7D0
-3A23AA668CF8307F1FEFDF5CBF6256571567BA7C619756242170DB690686799B
-6C0145F5B64DBF603DD0D005DDF083427628214C2DF695AD7AA335EEECE4BA3B
-66528870EEB687AA7577C8EB4BCC88AC734D625858081E72B034A2E9F0317FD9
-B2FDEE4EDEE912C91620FD6F85432AB454ADAF5C03B68038DB42875F3E3FBEBB
-6BA834770328823E91D46BA0B0F5B7E33B76D8042C28ED304C81C1C207EA33AC
-B45DEA5D01F19200E40B443378B5430FF70389974211759F607C1351ADA80F17
-634CAAEC259382833451B1D2F2536664C3C0C3CEBC21553A5EB85D654BC8C65B
-809399223618879ED9F5E9240C7C2A2D13DA24B83CFF25989239AE3D18E8688F
-F94A979F2175D9C544DE0E8541CC910D04DF8AD57A4DA520FCC1F2BB88122997
-40C336DF7DBCFF09357225235DD7B3D8C8BEF6B733DEAF5DAF27650A542830AC
-27C472E665B4AA61E9337E4A943F8AA2AB598B964AFF61A83A65F1212F57EC28
-E17D8B2225DD8537FC32B5BD4CD13DE391B27705923446D054F6D61A036B088A
-5991793DD35EF55D6322BBEBB9D9FFD5A76BAF3AD13DB9BE67832795F66CE68D
-773A77238FF6E886404B047AD987CED55C6771C9FB486FDDB22752B735D87EBF
-88C6BBFBB5C2CACE8C7346247EE06B44C23E2D24A6A70C7EA7247B32F21FA49E
-37B37BDF2AE98C88895B0C67F9A8399900ED1890312E59CAA90C8E5CB1BFE535
-F0A83C4F4D342E3F4D37D0280D77321E7CB734145D9DDB584C332C57B3677241
-DCF963EFAB373D9A2391FC04A3B4ED9FDF0772245A6070981FF839DE10984A84
-FBA0BF132471904DFF49942D0123CA75512AD55A874820986807BAB0E88CE732
-AA275383D830D4C5B5D2F94F56045430E520C4AB4A270A1BD0201A9494541AC7
-66842E15525630247823BBDF6EC27BD45769086D9717D42EB94590DDCC45CE52
-430CEF71DD8FDE2539DC0F94266AB853A139BDCD66E46802C3E9A53C902D7DD6
-5D1362823C38D1C57E845D3E7639F6776D698FCCE4DC24AB3C078B1D83602035
-08B56F89AFCA3B432EE6476C92F4DD94A2766DB83AB1E4A4AF4060268D8BD677
-A6F957B1D8C5A3BBAC6B46431674480624BC8715A3B549EB8698EC3900EF5DFA
-062012A7DD640D8622B1EAE2F7375EC3748AC1764E5DF4E6F897A3E2FE3E6D7F
-44C2D640875969895654C00A5F8A4421D095FEC32E4BC9B74AB5A5B2D8FB6580
-78540EB85372B3100FAFFDAA31C090ECE3F8B7BD686F647C389E4B0FDD42ECD1
-EE3E26EC886CEF29739058F297A0DAFF1F8FBC5D60CB9F6EBDAFBC8978DC33E1
-537F8CACDCB57D9B7027EA11ED32CD310F748A3043EC7DF7C85C90F0B5C74BE4
-53175EDD7F2CC5A88DBC2A8D98EF14A6662B45F9EDCDECD6B5F690CB8B86D1E1
-CFEF5866E030790E2A43DD660401F985F1856D8A743A05A7099E9DB4894FFB8B
-1B4D720DA23033A1E4595B6539225A4FF6C824D3668BA06F99CAEDEFED78E4E1
-E48221A5A1C3AF12ACC3660294CF3A57D420E1B16F6EB361F51A5C61042F806A
-336A3D066E2B22CE4AA21DF6444BCEA77304454090E8431BD9692CC837AB2CDD
-B96D2580162FB55DE3A8773700902570E1B6E689296A36402B5366E366A3F0B6
-18BA230CD8DAE17DF90E741DAF4C0404CFEFA8159E8C03AD6016BD663BE33BE0
-8F1BF9AD73FA922D5791732A50354D38F2AC7B83C6E60FDA761F0F009F51BB1E
-4A2E82673D75CBAEEE3B8EC80DEB9A7AD2B328AF15C78F762F88EEE3BCE81410
-4789AEBB271942176DD52474A07BECB54DDCDD8FA2913380ADBCEB87D1B23C52
-50E6CF2A913E14AB5F4FA802604D35C98AD99A92917C87F15EE76AACF39DC28A
-D59C5AAB05B9216F5385146B25B50655E1462E191FB3ADE1C97E36C4C9369577
-A9402AE7E9F4137E8B1E4008D50F76483BD4E9806BA9FB98E54537BEC1E56B05
-0591EE6F2266CED194B29C73E5F625826522A71B7454D98AFFA2EC5926D93DF6
-D089CC3E12C7584830CD9C77EB43FF7E2583A5074773D7495361644C85B6442F
-844F2FD71F0F5D3A1CBA9739ADD039980F3C0DFDD485C50DAA60F0E81C6CD3CE
-9B81C179A12A51A60BED147CEF4B94BD26FB960833A5421A65614D08EEEFD011
-C48432359ED7B999977163BE124399D38B9700FD5728086984A108426D0AED4D
-E505C25C4BB3F80F2231043459B22628709EFD992EF0EA0BA2CC26DFE03B1B42
-6A0692971A2C35C702EDF29A9A30D5018F7BEF2A2E72202215A421DC6191EEB3
-CDE5FE41A2E43F9FB0CDAAC238AB9D87AF0D43C01130B7318A4FDCCD2B83F46D
-DA9207EBF4F608EE7D8717D7483122FDDE8644B02F77ADACAAFC0DEAC9D16048
-DE81C482D21B6DB8D5339D3139993093EE114F0C58BC6A3690EBA9AB3FEFF940
-F6777596AF0F6D352CC2A5DC30A39BEF34A73610E4514E8E68B893B761A16F3B
-186BED0C92C7F61E6A524C90FF77B606ED46C9BE9AA64F536B0C7B0BCE755E92
-1689D7508D047A690D50B31A2F17547A0F53A935829FBCFA1D6EE4E246C4611C
-6B9B6D4E20BE924DB9EE7543D963693F2482BFDF19109544CE83D4546A1CF959
-A2EF1E1C272871D221986A4438A3689B43966B3698AF22BF4246396D928F7558
-A9F9D272B43EFC2F57201500F6B8EE48FAADC453516DD08CDD2A78E3E534AFF7
-C1DCAE8635E1A4B79193E73B8F62774C0F589244D4917B994ECEC314790FCB2D
-0D621A40DACE081033C26440721DB001CA83F44508AB923FAC6A0857D730C281
-6FD89E28346ACDDD9A398F8CA668C3D39FCB3611D0F03B73D2057C38C83DBD02
-F1CC338EF812A3FE086A4EF7E4ED14F756A7FA5C79AE83FF0108D47FE72541CA
-8E34DAA88E94B5BF75B1B35B4D2B21F62640EABDF4BF68B4216D51A8D769EEB4
-C73AEF6AD4C9A27ADD9C5CC129740699B273C1F01E2AEDCC75619A80B5256A4C
-7228B41A07B6A32A969D8B6BBE6116589A76AB2B9425DA1306C2AA231E3AC37C
-2FF072C9051415AF8DC563B0A765C33B07804A9916ACA8BE7C4AB80E8594BFFC
-046939F974E682C3A927591A25528FF07B614AF96CA8F847DF97DCD48EF1FCD4
-B2F45C6055A75BD19C94B2FF9A947CD5BB7C8C1AE7338C950A8E30BF328B7B42
-971AC3C4B5F3ADD9C31166DCC4D4978223D949F8C8F4A775C642789043BDF923
-57A0070FB40D81F4803FB76937D4C21F2E8F06A1F4CD83A627157395A28521C0
-9B2C759EA0A02EB28FEED28AFDC824647FB9B6AA04740C5279F7F95BA34FB925
-BB5CAB08A9E514AA9F8B676A96348DCDA1A82485B6C0B28F849307EA6F41B821
-153DF55470564207486316071549B5F80E0238E509E3F7273946D3CBB0AB59F5
-E08884F4AEEAF142F32FF2668A9FF3507205D25179B9CB593733ED0498C99273
-3190A30C5F66FCB0FF2BB220B009774F5584EF66B6A419034E51EF5B3E83DAE0
-66369E8D16259EC1BB75BAE6C63DAC64E07759FEF0DA60AE4DB990226E9A8093
-D291991FEFD6417251FA873437C4AB31E643461B78ECB1BBE5D5AE8789385F2E
-CADE863C9743222DDFEACC25DC8635CF6EFD759DEE67ED0FB286A1C045337693
-B6754495C96352F9F74EEF9A967F67024CC5E4A6115F3085AC7E07785787ACB3
-568401CD3CC278402979B44FD0CFE93F078BBC1B050563FE0CDF9FBD11CB1550
-8AB40ADD10B9723B46E7D4F53C42FC7D8C23EB92C9790D2BD26EFC403703D017
-1F91B722610A52E62B23FE31BD1AF215611DF847B9E3131471E386447ECA86E0
-71F65B0612857F360B036FF3E407F90B058D4C2C36AADA2DD6D810F916489A36
-877278F4EDAD98B790D771E06FA859F0AF592545F8873426ECA440119649A1A7
-084B2AA1927A97280E11D065ACC8D60C6D44BEBA3149E7FFF76B02918679489D
-976C50673A3B07C3BCF33302DCB31B285284903D64CF5EB0C8E8D47E0FBE0FDD
-DF6651D6D84F30D7E9F90DDF5123A8F152891229089F736FFCBD03D90DDB1D6A
-27176D9A9EC84376E9B4F575568B3666D956899CD754137A2680DE933E201048
-0A858CFC4B957F6079511F72544FC23281464669FB0B08790CBD44F71A5CE530
-B0FE5FC4DD698652A8B5903ECDAB02D650448AFBAFBCE58022C4B7F78C7AC6CF
-9B79596025A761A16EF0EF4D922CB211697568EA0D83DDD7470AEF757CFC14F2
-9527AED9BD969F2179F0DEB9F491D1A7F0FFAD4C36820C72F0B71252D6A41F1A
-F3E76A7ACCE5D49836E95EF0DDF5A6170911B18FA7E00F9FD1587294AD441F79
-B7468205827884BA231CB24CDC62D8D326E24F7229DA8B246571FD46CDAF9C4E
-09F9CBB6D7E3F70C1D177444A7DFBDADB125EC54373679C166205C7F1A1645AD
-BCC888749B56996A65A1606C0E1324E0514F7CE999D420C283148118A0E352CB
-27E9B0E393765D0D98A166506A4B10894122DE49D6BEF4058A85D8E55030CB7B
-107FD5023CE33DCBF4C4BEA7C3B7886AEC9D1E31F604411337613C9D8E273A11
-DE7261463ABA89DC2A2E06A270860A98B3B460D87E2B2D65974EE66AB048D945
-642152EA04CEBED61FBC84A663DBE4E3FE75B31F21F8C62447F7E85DC4B54617
-B898B4F47348226659D98F746B4ACC7C886D401BB86D323AF4A253D4825792CE
-5C855E4D548FCAD5CC74C8CD9FD20F30B2B33DF38880823D6658E4AAF624BC23
-24A2E64BBD0756C1EE5ABECFEBD307DB45FB2476939E0C1EDCAD9E0CE0CA7CFB
-0220E91C707A11D75BD9DE2F376695E5090234848D21DC1BCCE385BCDF41AC17
-6F6CCB0189A8810D8120100F8FCE871ECDDDCF2FB4A626EA3E54C4FCC981AE50
-23E59C140399DAC4AB7206A228FFC78AF577117C26314FA2BE52F5F88B9BDA46
-CFA6212ADE3748354C5F6081037FA10DB289438E67FA7E906D1257BB91DC1DD9
-3C2339811ED975322A120CD1DE2FF1B9648B651F2FA0F64EBA306D5F914FF59B
-C0550C3A61A3771D7CA1E02E242B8367C9968B62506E0770228BD5A95B11CD06
-695B828C7E712276531E5274FA311EE31B47CE4A4D218148ED89431DFFB7C22E
-DBB1EDF744F824A08C0F3C7091BA4D421CD3BEB57CF66FD77A0142D7517C9A9D
-BEEA3F9311A4D84ACEFCBBE93186078BEA4102AA3251B14D7F763DB586405BD6
-1500EE9DD1542A6484A2276DCE6E17458FC6899671CA0241E1802FDE52C7661B
-11A8704BD7231C892DEE22A02D1188F5540252C69D02591557107B909D641D00
-B755B1F9315E1D953BC99321B635FC596BA68F677C2CAC1180036F2E911B30FD
-779371239D1E12965717A66BDB540A99385ACA8A0C63A4402954A2615248F1DE
-4D02ACB29A17A63F028B3D3B9153B315A6A5EB6C8AF611D61C4AA9082520EB6B
-50B642EE1018A45DAE44A7EA71AFE82F53F6BDFC19F6701B671053A71CC394D1
-5693DA65C246A400258D0E127F7CE599DACB334AD75F550940C108C8FE279C12
-C9380437E0C6C8E69EA83C47C4780BDA38E755DDF36B9C540CB5DF7E46F95B7D
-73D1A4E00F352E6741B81C1F82D4B3D5333A3F98CD3B956510A52A7D60F68CAA
-74DADCBF5281DF0D81EAA61B0193BF918F21FA9A454BE34033463594FEC414E0
-E14966820D96C5F5FCCA2490E783EB61240174B0CA2BC9B928745D067D263D28
-B2CD61C2D75015166ACA537C2D3B8E241DD57D9AF50EBCF715410CBA17746A46
-3E834B64D26FB7D887A038DDA657C44E2E422544B4DD929047B4CFC58D760FE6
-2A52AFC76D250DD6594776F573563653D516975601F6831211D5C748E66B3DA7
-2B861E300C72D7AE4FA0A19E1605E8C4F911B346B8ECF5EB7C654F62254A33EF
-4ED3FD138A5E157BEDBDE5C8FCC333F1DE4AC6C1030F1A5407E5D1FD230AB639
-D06872378FF6DE332EE3F0A1DD26E86C0FFE90B9CF08E811404ACF29A13472EA
-3B465F09D3D4C2C6FB189E70713D8E2FE03E346BF54CEEBFD5129D1B285D3AA7
-EE9B581443C09356BE8D8A5D7A8DFB81F0CF6CABD86C1E75E3071AA45FB963EC
-0AA826EBB493F753816876C8F102600C1760DD1EB9D2CB6EA36EDB43CAC0B78E
-27C4A1DF528A46060226219F4DF76707718698CB4B65B4C52C3729BD958D416D
-3B27BFECB1727E6B721DDE8A1FEA8B68D007EC57B5A4519E023C3CB3FA937247
-792EE9F605956AF4ECE86D3CA47BE1CD114BDF04548FFE59D2E58FC9ED82BF46
-CA02D51D3EBF597CFAD13410F309468F64F1011E84E2F7C3893BE1602DEC3EAC
-9229C9A95FD563E05EE029C9F38C59542B66D0AFF441FCC67DA214EB207CEB74
-F77A10A63E1C7446A41F0DC71384CD637D6A3C414035A56D9039E891B77AB2F4
-B2CB91699538D79CF107A7F4743E37FFFF5282F1BF9EBFAAF827FDB01233E5BD
-112F5660B10A4B963C243F5B6E6FAFECE94554DF537649C97D7ACC8DFAD9D732
-79D5A9841CE59E79EEB948138FC33EC003CEB51898F6FC62812DB37991335EB0
-5D8DAD683A3D300D7684AC8D9E587C77B74D1B7341BD5D0369552C3E756BDAF8
-B6A5419476B97BA84BE2FF05636B6B2A87AAA2AA72D82CD95016235CFD06A285
-456A092C53AFD8C8EF8FA4CA0EB461AF88C279D4FE01FA83B8C7C5343476DC87
-FC99EC822E7CCC6B05A9608029C0DA9AC146918EEDC491AA22278E476CC848F1
-14FABBB7EF247ABF5C25AC641A8EF9193446DCABEF1A7B521AD607E3A84B9488
-A16CE55A941A1F69814E5A0EEECB2824FFDB5219DB0ADD43C096E6E039CC992A
-48EC1C588EFC34690DF3790C5685F375068E1F42E5DB5AF73EB79FFA6F0AC4FD
-FF769FD4D55C546D77940E8056F40D6B01A034DDA886DD574F00742A34308E35
-C2738868118C127D04C92D9362116B4B7C09C57EF6A5FA878D727F79A7638F17
-2CCC14FAEBD9286AFE00298C925AED083372A0A8328CD363A7189DEE38FFE591
-5506158D18AD4F371EB0B296C2FAB98BF1F7F38AA06739C9AB8A57448A1B1A0C
-B99CFDBE803419CE23291A8BFFCB4E21D9FD2BFE79C3622636DE477C67487A22
-E91D6BA92330DB07BB40F91378096A362BD85B959CCF587C5AAEED19BAA9212E
-B0B34870481D8FA4337223D2E3F5B743F5B57BE9FA7FA3B3E43F4AE0C9303B9E
-88D1F88B8864C4F015140F8A105E0A61DA5E1B93961C4B4315E28666C275626C
-A647AC5B4E0FCCD862EB470F014DFB77AC2EBAA1C4DCF9D7834D830670F07E02
-350D8ECF29DB5737462A0C36822C739D93375F8428C37A873A87B3EAA65FAAE5
-932465C8B530D9FE423A00CED684050AAF64F5D747C5B856444AA93F6B5F03FB
-CC41D94D6DEDF12DBEAF6306ACAC51CC75302D9C6A4CA70CD7A684AE2EDF14BC
-CF388C39179DDCB046C6738AF421A0A01630530D0FAB6FFF8E6042E6AB17D810
-96506BB827EFF95306E7AF195EFB0B9EEB55A1899DB82C625492234CF4E68A29
-C07C2EA2BDE38220EFC6B9FE83101091FE396587248417D42283C9D92847BA8D
-881C8A716F84557E12DE4E3DB791F6AD527E51BA7A0736E62CD1CEB66042F993
-9F92E25D656E42BBBC9C6BC54A5F78F21660B4CB151D0391E97B85362C22FA6F
-8E67858CB6B040ACA9E7204C2599D6155D37E75A7E9C0F3055482311B764F1C4
-F17EA0B29A546C1B81CBDB19F30D0058B9796E4D3289A9C2E86B6D56552F5762
-3C02F83DDA7B8F61ED2C9EF0D14105465B0E7C3D688792C287D4DE2D71652CCB
-182B0EACF0FDA865CE6A782D33BB49540A0A6B047D19F57FB0EBD39072622032
-1E4894586F5C7CF31EEC0427D5FA06B29FF0C5D4B900A45E790E8C23C8957133
-CFD400F240A030C2FBD326712D9F5120037A7FCBBA4B39ED0AAF1C18C0D78A72
-C6A1E291E5EC47F4B66318B47422E6C455A3D6814D079E22950DA752F46ED341
-6126BE00C0A6D8C7FDC227C8A625D08FACC075E2BB529A385EFA7F38B172CCD9
-0D731A652455CA8F4B4216C60CB1A1B49224D8B00E4A7F8D3C31DBB136042628
-5A9BA1323DDE0BDBB408A024042BAF622E0040C17CA813A7A6530D5684DCCAFD
-0634936916C2887CE72703B5D9359E4C887616695DFFF992C5C9F7904C5A5627
-1AA1C8D9FCA58B379F670C6141B52F1AC84D8C3A591C0713B5367F4F8F6957F6
-0DC81D67C0BD6BEBAFE4D030B5D743B30998EC0EB70A70A58A014E8DE3EC0850
-79D8A751041D488D8018059A62B44FC0C40D8D11A740D74311A918E9204F2236
-94860B2644D810BC3E87B3DD527A8423A2925C2A59A335B8D57F033691216BA6
-E3D5D38FBE15A498BD87B5C31A02323F61A695B20B65DBC985CCC2CE245E6F1D
-60601957C468607BA412319DEFB3D42315609C925522B96F4ECDD70131CDDB10
-36CD036818025B63C235ECF08FE395285B9225AF765143B3F13FE8FE1353EA87
-B459F98D6EE85DF6C06C323F421927B129DC2A9AD9208BDCF859CAEA206DE82D
-7C1464425EA25D04CF2AED4C83AEDD2511B3D4E08FE9F147419CC9C28B38A8C9
-FF8B9BE9CF6951573A98EC461C6B2303DC86E3A5BB8BD938ECBE7ACB705CFBC5
-1701FF9EE7A76C487E72C0822991C15DFF0BF6983029B812C970F80782A09687
-DD10D3CD198B29532908C4DFC2EE7496FD230AC7BAB5B15331F0CD8036367FDB
-1ABB2B332ED837ACFC52CBB63C6F27572FB42CC28E67AB9D2FB3712BBA12007B
-B11CF498A6DFB4ADB9A2C74994D75A1347A0B7BC8AD7A7CD08CA6AD68C7AEE18
-19BCF01DCD01AD1D6965CF93434325E788D7552C8B1852CA77757C86AA675338
-012ACA95E484E1199E7ED174B9A95EA7015A3E8B1FE6FC8AF744FC86B4D2F614
-A6C6A21748436EBD06A8D5BBA8A67C47438690A85BF8EF10CACA4B2261825B5A
-B3856886BF5D7FAE24FB07F5610E0DE95DDB232FAFE284A770DED27022B513CC
-7CBC92EA51DCF8485606BDE0ADBE56A38CFE8DBBB4945E6033B5632ABCCADAEF
-28B51D4543938AF9EDF15A3B05DDD7D0AD6329790D8ED77FBA7D3E9C484B2AFD
-80A9418BFCB205A8F0F24B6E72298AC4E592F56DDC0AFF071227D26099A714D9
-AA03D76B9D1AD77EA2755214CB70575FED0319A5C32B46493718BF4FF1D61044
-49716F0BD726DF7F5093B93AF7AA3F1F4BE65D5D8186079B15A4D83DAB75BE9B
-747CF15FE3BAFA4851AF8ED91A3016F531485EED2ADA0C65D785F4298F9EA5A2
-4217A74AE867ADCA725873E97AC8AA70D537189C683636AB356AAA3787397966
-5C0D75FE27D177376DD1C5C63FE4B3ED139D99FCB62383BB6584C2706E405079
-90F9E7102923AD74F8A10430BD4B220A8FA119FAD9DF27961F04179733F2F0AD
-48AB77D0FFD04B815795281D8DB5E61293C8CFA8D0389C12615FBF1475DE1CC4
-4CFFC5219DBF80685F8AFB23A10C1DF11C649EE187FAB44B0666E3AD3A1FE31F
-431D63F220EA9CBF61D5434D435B4AF4CAA0991CB1EF93702B179EE60280B0E2
-873274B93A37B799E141593D6677F6468017C019D8078B0D1AA9C251C1ABD9C7
-93749B520966DD021C8B4415E36F9B03C866847359946583E7E3F63BF138AA84
-BD006ABD37D837CD7455D3D5AAD9723F236311650E466193CD8852ABABAED8E4
-E633588EEAA7570D7C1E682ACF6ABCC2F7226CE740CC1BF12F04A0A4891652B9
-1672BE774E5CC37C5CEDC9E9681DF791AD13C7F5BD62846778493A082B820E42
-FB5BF542533E228BB93428AE9198E0DD790E148847DE4794D82EC075DDE75DAF
-EF2E3A232EDF2DC309285C9796B759E0887C0DE13A5094966E247226B51BB0F3
-1771D58DE6F9AE49423C72EA25D53C0B80AD59C5C443D294C99A5B909332634F
-AAC6BB5BBAA4C99D535938006518B19A9E2827E94D296F8899314143D7D9E14A
-559014144536D3DC4920B150B9C4659E7E56D889B729B0ABC8F889F15AA73DED
-74A3668D53E0A98E91788A60C2EA71673CCC9A9003EA4F35862999AE1F55D5B9
-906C64DCB360F272E882F3D699FA8AF743726FFCDF98E058F4CE87EAA1CEDB60
-032203CD52FE9E42E573F96800D9398C431B5D20C41802D63DB076716CE894EB
-BE9759DF4562C6FBACDFE1F474FE4256DDCB4FAEBB69A91E8AF74D0E6C2949E9
-0BEF88A4B5471C335A622E28838BB7771DC79322A95585B002DA09FE6C013DD4
-7D668F3292BEF05A929B7D18CEF6BAA71ADBB2D156B82CB219E618D48C3FF60A
-8C9D26CEA3890E3037FB722A412FE89D6DD2861458863FA44C9E2A018D30BF82
-1B18F4CC928F36B5167DB984FDFE407413A91C2BC655CE98E171F0F60C42290A
-05B90184C60CFF41137745B94410311784D318D678036EBAC713F7CA201132EC
-C764F2B6E9619F68BA347B9BA629E0F7EFA7DC7EA63567BFBB75FE0345597BFB
-2378827E4A825B97A744F2FC97A7CAF94E76AF6BB4A16259DEB2A19F9A9F1FF7
-581352A33602FE2D088336C270637E473B4D7557418C198D35005E2641B2E7C9
-
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMMI9
-%!PS-AdobeFont-1.0: CMMI9 003.002
-%%Title: CMMI9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup
-/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI9 def
-/FontBBox {-29 -250 1075 750 }readonly def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI9.) readonly def
-/FullName (CMMI9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB
-7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67
-7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8
-BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365
-82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC
-E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74
-91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E
-540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112
-7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8
-93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D
-EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756
-972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A
-6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149
-796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94
-DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B
-D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80
-E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D
-0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83
-F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9
-ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97
-72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F
-F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9
-4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1
-692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C
-BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109
-4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1
-CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59
-41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A
-9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20
-5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292
-2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5
-8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B
-33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28
-03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1
-749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE
-CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE
-3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F
-64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F
-90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05
-DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8
-F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D
-4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF
-49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4
-E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117
-58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE
-88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3
-B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE
-7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776
-01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46
-19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41
-194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55
-53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3
-F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4
-412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6
-C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC
-C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108
-4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831
-E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81
-AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF
-00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A
-E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91
-C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC
-B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8
-2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980
-F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50
-0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023
-28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4
-E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A
-C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42
-20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B
-7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE
-5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4
-74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4
-90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55
-3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621
-98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066
-54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7
-93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC
-19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A
-9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD
-E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84
-A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB
-107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA
-5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08
-22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95
-B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D
-403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789
-D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6
-20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6
-943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33
-AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F
-A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70
-B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA
-2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84
-2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F
-E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D
-E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F
-8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642
-87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4
-2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842
-D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC
-512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4
-4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559
-6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9
-9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A
-0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040
-9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B
-FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1
-430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8
-56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE
-718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3
-F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE
-95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B
-EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE
-6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7
-6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867
-630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111
-6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA
-89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475
-3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2
-90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47
-38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34
-EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9
-B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376
-9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9
-1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF
-1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C
-62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5
-84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2
-AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618
-D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196
-BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6
-4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6
-531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24
-FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2
-43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256
-D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6
-0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4
-E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53
-DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358
-99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD
-8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1
-8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73
-A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5
-362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3
-C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79
-E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2
-07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F
-0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6
-190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4
-5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D
-F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50
-005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8
-6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C
-D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9
-F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087
-F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE
-2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752
-F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0
-0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD
-73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2
-62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79
-5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98
-F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F
-6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7
-DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109
-EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222
-E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107
-536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18
-36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF
-B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3
-F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0
-431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB598E51CAE7E4900
-5CD570C914EFBA426BAFF7A56FC775ECF5BE13F2C42E51EF96784E5201C0B64C
-074AC229FF0BFDF71E6D5E08D8755D2C12B770B6466A9C9C61C15582DCD2FF78
-E9E74DC2B1CAA344EC0339EBFF92CD2CC1D62E2FA8FF15E7459A83C6CFA58A77
-2F1A40BD276E76B675FD6834052B33BF9190F04DF6AA5FA3BB7D77A88DD5B600
-324C5E28216F47682EC29EABF35BA842BA2294A3D72B126EBB852AB741186C9F
-FC84B12DC4A6CEC08F2D03EE61B65C845841EE17F1B765649A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMSLTT10
-%!PS-AdobeFont-1.0: CMSLTT10 003.002
-%%Title: CMSLTT10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSLTT10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup
-/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSLTT10 def
-/FontBBox {-20 -233 617 696 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSLTT10.) readonly def
-/FullName (CMSLTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -9.46 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 58 /colon put
-dup 65 /A put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 88 /X put
-dup 91 /bracketleft put
-dup 92 /backslash put
-dup 93 /bracketright put
-dup 95 /underscore put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
-2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
-6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
-979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
-ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
-B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
-A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA
-3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F
-D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC
-6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F
-3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C
-4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90
-DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2
-753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131
-54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D
-107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3
-7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231
-328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9
-85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C
-2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7
-308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450
-CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195
-739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93
-FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6
-F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312
-3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A
-A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F
-55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC
-A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB
-69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50
-82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0
-8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8
-0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6
-0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8
-1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1
-D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F
-B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737
-170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863
-767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D
-EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F
-AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3
-826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235
-8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048
-345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE
-67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD
-802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E
-20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127
-5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07
-0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36
-22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC
-4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF
-CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B
-4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880
-0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5
-220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403
-7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005
-27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE
-B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300
-7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07
-A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D
-45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10
-F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7
-C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65
-AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012
-DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781
-FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA
-997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4
-3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A
-2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605
-31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22
-A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891
-43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D
-4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5
-94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E
-425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616
-FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5
-51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9
-859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852
-E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F
-2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910
-82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA
-22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D
-200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5
-892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32
-0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140
-437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3
-BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9
-E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402
-DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1
-CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551
-80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F
-FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA
-9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41
-031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90
-9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3
-9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891
-4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB
-57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B
-2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39
-0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9
-03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067
-22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79
-06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC
-39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD
-E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163
-A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6
-9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6
-B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F
-79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553
-2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5
-8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA
-1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA
-0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2
-BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3
-312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3
-B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F
-9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16
-A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6
-91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F
-7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D
-78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC
-7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09
-766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11
-016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D
-C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3
-8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278
-E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC
-6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8
-B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959
-44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB
-C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE
-5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB
-42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A
-F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57
-CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009
-9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2
-82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72
-0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5
-F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9
-EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA
-E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD
-D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD
-F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F
-14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8
-BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2
-9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5
-6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A
-6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116
-4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE
-C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B
-A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C
-9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780
-42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE
-7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024
-1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D
-4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540
-CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4
-D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81
-CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1
-0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9
-92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0
-57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4
-5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4
-57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158
-8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0
-C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3
-7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7
-B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674
-EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521
-D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9
-DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074
-F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D
-D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0
-56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8
-46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40
-52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA
-19477F075ACF64D424279612DA5AE02B2A140048386D01B1F30EADF2050B71A7
-993773D5B68C6FE65EAC53411AC6E7E26E49BE5FE1079A8BC565D2CEB7E3B896
-593D720DBF66CDB26DA5D8E533A346845E31374A7C85FB6B06C3D54FE3408013
-864CB0954A2FFC00ED17CC167AF714716376B789A71059DF2032E0E907761E81
-F0C887810337F52662AF43FA1A7528923B0A30A217FA184ACB73207EB3018D5C
-09EA88CA0873AE690E94D43B360D9C1070D7CBAE9BBA72E82EF9914D3AED6D1A
-5539585EA969F0A1407C8FEDAB69BA3EEE3097D5B123C5770D5ACBCB0882F35A
-E8A3E3B1FE3903A941EA2090266B60D218407AB99EEF38F18C9FA307D73E2F5C
-42F8C37E2F668BA6B0779791D8404E2B2CA52E28F0B34C85250B0D6AAF9D2DCA
-A12133B5B601D971345EB6D892B85FB971DB8C4A4188ADA6575DC6DC42D2F0C8
-4EB946AB47F487B6B4C4C59B2FCEB1291C386805C5B62B61FD7310A13B4620BA
-650DDF28FC1AF21FA124C16EE8ABB98904F03E7F49E54348B1AF2211A1768768
-D62E35EA2EF7F2756B58168F9FFB5785DAEAB324C90FDF6207E670DF277D6AB5
-F0924B26BCF52CDA2980680320314F41244B73DA6367C434B5DCDB96B6F0F454
-89BE7661D1416F2BB409A4F10AE9AFCA3B58EF5798E2994CC88293A853CAD2A1
-D8712BC2B1B360BBB14942FAE41436ACC03DF5595C79C747FB5F2B646751D0AE
-2AB43E7BB2DAE44CDAAAB59C2A6AFB2500FEFC77B9252F96A8EA041EBD9A40CB
-E24BBBB5826A75D759AC1B9A89BBDEAABB51FDA8D952D3E35F04AD6F0EAFE0FE
-BA3152C0E7B0CF0272A3CC2EF21D3F4A0529918B37463124DFF7ACBDE31DC27D
-A6C9A32FC00743FC7447EB384935D1B4E4A8220BEB3D7576C129098BF6F0A28C
-8C1833DFD6E7DD432E26E99D5FE7A36497E42745DF80C7D5931EDC1820D5EFDC
-CA386FE9D8CA8933200005168822308456ECC75A18A2B6678D6A6DD1C1CDCE99
-6EB4FEAABEFFE9A04DE22253498D2B546258C954E40B5097A9C42C68AF46422D
-50C34D78CBCD6E77CD65721C6BACB50B22DF173A2E383D1BBC6E16E6DE9737C9
-F5C46DAFE7C4D184592E5F9F6C90D436C2A0D35C75BFBA9F47E1536FCF3B62BD
-5630F2B9E2652C818333A659CB4AD99BDAFC9D6B50FC3E4DCBB61FB4B186FB42
-9287092740DC0C5DB7CA023AE8626ADF777054FB51095A862CB68F84ED7D36E9
-CECA94A47892A980EE03C9A1212209F8A4623BB9EE9001273E053A8E669C619E
-07666D6CFE3E3C6C4F533394C0864528A90B85BFD5B6D2B9C04BEE46EF498809
-12F6D45BFB393D783BE43279BBB04D1F2B58018D14AD1755829F61C579CB9CBC
-F8EA26256A90F6B155ECDFEABB35C183706FF948DDB61381F9CA54A664E46AA6
-F3D97C9F03A069A9AA85F7A556E98F87B0C880A8929B1A9DF8E112853F74C475
-83AE38CD2E65F734115CA4830DF054E2FAB7968BB99CC3CE8D677DBEB8F26770
-4CE748BFBE6A29B20D9FF170D30E46690D2A5BC3F77098108CED5B88D36AC5F3
-6A686299D6F9E0706A766B669E8A302D008DE53A95839CAEFF2678BC7F7711FC
-84DA7ADB3876B5CDF624B2DE323A9E002834D3679C8F1F8AE772603DCE7EE00D
-96C109C4944A88A4FA3A1E48D38E0DAD2E3E0CBAF82D64A2BEC8F32935A38BDB
-483C166E05EAB997540E5FD5922F512CF631E3D5C149A775C5152330054B9ACF
-AACFF2A8392903089F325855E24B8BAA4ED862A4286C1DE4531980F5477743D5
-1ED23FB205C0F0755058BEE2F86704B6CB98680E09EC6CEE9605BC7D4AB58CA1
-64FF9BD83096345A4589BCF48ABF3F54F5D08A135C7DA33B900BC3EDE866F07C
-E09C05E42F134F04FA4B8A55B3966D486A863F160F3C62426B3D64F8408C5BAD
-96C31B4A72224CEF8E1FBB77F122E7C155F106BAE64F161909B66EDB7081E745
-2EC0007570F1564ED99CB9A647A4E659A139837D69681DB37DE8B379357E5527
-F3387CA20455A52E2CB1221FE88EBB438EFC560FDD041713FABE8D1C82F9B048
-157B7A2DCCC4B2624E21DD37F8A753D3699AD6A81372B274B7D7D3CFB8B4C169
-7F845A6C60D4CDE3AE7F0F1F90FFF855DE0993B998BEFBB60EE1B30AC7C59C51
-B9CE0C1314FCF644D4F17529CEFCF1C6C2C2BD9939B15D7FAE24FB343EDF1424
-60848153C749EFA5401A98691B59FF055DA0E7C1D6BD7B945CAFEE87A27B7910
-22AE5E1F604788AAD06B916F566779106DA9AB9DF430EBEEE7159E72C0465B3D
-C66488F37EDDCA25889A443E9FEB7319762D01E3AA5C195729F02B73F9FEBF4E
-204D57EDCDD17A17E6A89B70C28204FB8322977A15C84DAB234AC710A1EA6634
-8ED81F5BC34EABB93A1E6B2918A0BCCD28FA41A014277BFFE68627705996FD7F
-8DA9125C56C9B1036CA9E9181E61BAEF8AAD942D673C1A84F756850B7F5D9AC6
-BE89E2E56DF01015926FD734EA353E9891F2109368BAFFEDF7FD331D9BC8A722
-6F5C29110BDDE6D6C2E4991D95D878C1F3E6BA8AE7840FBAD7589CBD7D825B45
-BB3ACE32B065F60243B776A25901290B6E2EFCDBD90F3B79E6E030C00B05F42D
-016F209ED5DF3C3DB9BF16444EEAE891B81033F4F4AEA1BF3EE566FD5A237566
-D4D16B04B0D126EE44ABE56A7DEFF9978F5AC7031CEBCB812452F9DA3981916C
-4EE6B5DEEA3353F7EFD01FDADF7086F9D70DD8043E827AFD4FAB75A0DE80BD22
-7603D334F0E7F2F4E855B22C628C51172AB1F20488B433467856518FE6DE9445
-DCDC76B5D75B7284682F4F228EAD998C8DB78747BE42C7B0D7F43B2FE2656C04
-971255C7EDDC5805CD59FCF68B5091B07B1DEAC65B60F0EB3946D2BB018BEE54
-6DCA7F12722BFDFF31EDCCA40414F3A64C5052F900B9EF0AE1234641E5C5C7BB
-E0B452DD15B50E6227738204DFD93087500487249ECF155319888CF7F686B138
-872E91CC5EEEC22A93969569A0E03B077DA738DFC0F9BD69005ADDC1A611BFAF
-8F8FB69B08B98D75D06BB40B25C2369D5C81E383D97F0F96881F5A7B982A1E68
-268F5EEDEC4FB52FB8E3E3C8BBE6475AF5728C99BF041D5958A5D753AB435F87
-A4CBCCEDAB382020A904B613D3BCB3784407443AE4F78A696DEA9B0AE78CA3B1
-524EA0957D3C05081425D506425B3B122761491825EA48BDCA04C20625A68137
-AF94F077C4486121A6FB83513895E34B1D29DF35A7CFA50E58157E515A68179C
-91C08051B3EFE431872F7B9B62EE1105F3939FA1DE4E28244AAA2F118443CDD2
-7F2BA82EC0C71822324DC4FC15881091499E798A84F34289E26BA03BF16ACA15
-DBAA5FED36D331BDEB501CAE6219123188F7793FD3D5C194A50AE99D7B1078FB
-B7FE8405341B656F41123E03A0AF7168B0E96DCE41E89FA473D78F0C917584B3
-33284EEF17763C600DCF0F5BD30B7C0E459B6C65FE119D03EDC525EE115DA780
-44425B22021C5F3CF248012D9D26E9D6F648B53E7CB18A20ADB284E00928AB9F
-327C6929FBA2461D976387364B2B410C69B342C33874E7B7D2BFB8695C68E305
-3694872014B65AC4522FF45D913F25E79B7CE6E9220C60167DD08649988A1CD3
-57D7C9B11E453F28D0B48374D394129ED81F3B5739EF81ED9C0A05959452EEAA
-01058C577E07D30EFCAE3C7292896793FDAE8E2CB688BE7A98864C771D9D693C
-E7A83BBC74A835C07A71CB5CF932F0B500ED5AF82E64FC05E8E0117EA4EEA8F1
-CAB20EB32EEF2E704830414169CF50E24E619326BC7E91D99D4E9BC97CBFF31C
-E71ECCF0190F59137E3A1315792A7AD6553B3EC6A387119AF4469F8DA798044B
-E11A0A0F091CDE2CF19F162F8FC1C429D80BE807B89AC5220EDA163A859C9752
-53812F3007539B54C28274808899D4DEB1047F5547F02B8D39B7E2D48ABC68AD
-ABBCA07FA842F5C2A2D238601C9C56E2F80F898B8F058E640BA00CF38A36AEBB
-F99AD2FF4D908BFA9DD63820A54A4EDF9818B6330B28209093207B72ADE5F1D8
-0DCBD00013C2575E940D1476FBCF5ACC3A7209D70CC832EAF04146F077CAA204
-E4CD7EAEE1D95FD5C37782FB069AA69C73451C1AE8B2A2FD49BC0496D50FAC82
-A181BF3142D71BBE26853F4569EE171BA52A3F9EFFF265BB16BA0AADAE9E0C15
-5A20F5BE3A98E0ED23455DEA2C0206A58BF642221287224060DD97F798FD1739
-5AFA36A37EDFC06940A6F99C9455DAA5E3088497AFAC9473228C82E743D848B3
-4462B30ECEE8DC3D33C8B63F94DAC92C905A65F8DB3942294172A09425F85992
-773815DAB48BA4EEFCC4687216A62D36488CE7B69690A8934D66FA7C4918CF07
-09DD0D35B0CA08777CD0A159F3F71647CD591D1C1CA401C664AAE87AAAD53964
-BBC0E92EEFBCC775F52E8633266B3BFB020132B3B18A0B5E73DFFA4D8417E1C9
-7D8AB843E654E3457F00006C2535EBCA7F9D29CE923C7137A9E775EC2B41FD08
-E0D0D7DCC54DDF2D9CE472A796CA81010BEA458B09A50AD95ABDF4F7C5EEB665
-1E2E9CF6B0B08254C2B7C9BD5551378CC7B074A8CCE4CF692FEA15F040620F88
-4ADAFB38EE05A8F671EAF425A6B2436F02C1F87840DE181F4F8C177F9E78ADCC
-459333B5D2494EDE947E16ED4315C1CE6B4F46862902705B7095EF6F619B666B
-7C47E85B0A64442099C1C07A73F699364C54125A879F6C286321E84E095B22B1
-D54A1B2D12F57006DF2F0EBCFA0C88DE80C093E600E98C79D92A839228A24CC8
-2A6673B6AC22A0B8F0EBE7DEBAF7A7DB3FD0AB4927B92F9F74A971FC95D291A1
-89984D544B388518C564E163387D0E5EDDD2ABE271F2C7A6FB6FD3C9C9F652D1
-5815E06858EFB87AF35E89B7607B9877A4729F3AB735AC4CAE8C742BAE248EB8
-F1B6BD9CA4FAB7420F62B9FD0CDFAD2E178F4D27CC2DAC7F3A6DD0B590CE5DB9
-B994207EE82AEAD8D2AD611B19044823A301213B5B1752ADE8506DCCBF87DF25
-B6073F0857E0BE2D375F961A2C76E201F78AF74F838131B095F608BD66228D98
-45A53E99B115C62030BFB83088B5A1597C8F04459718F785D18EE3335263CD8C
-C50A4FC59C8F125C01A37FDC9D3F24E8770989F132CB68B1C6D636A84E01A29F
-8828D92EC29D51E656F754389A2852C0F84F7195ABCADBA13DB79D5C430EE9E4
-175F18B24E62D3AE825BDDB1FAD35A48C6136A5853CA18C980778D24A359B3C9
-2636FF2B66BD62091CBAD4879D327A0A80C4F643381986F48F4693F2E543C18E
-D4DE32124BDF5258159FB7BF4B3EB5A4277DEF61774685F3F534B40389489EB4
-4FF5971121477119680CF31200B31AE1BA81B31AEB708F04B7335B5F20B601ED
-BEE306A1EFDD1E40C0D3B0C893594C605646CEA4F41A3A3CE7FA6FFCCC4E8DA0
-E7CD0BE4BECCAF5DD5BCD2263F87A635F30728E68141ED93D67E94D5339D3139
-A996E4168457134F1EBCD8654C99C244A6C28AB0EA7A1D6A890281E27F4F638B
-D1259E29471DFAFAE92DB07BDE750483FDAB0C77370599F68B1EBCE369A88FA8
-AE69B8D07B1BFBF344C13A0A07EE7CB942871C2757629F20CD6A32F89B3A82AF
-6B82AA6938271E14FF0AA6EF837F84D6970D5FACA172CF761D19E3B058C9861C
-9E659E01CB15E66938EFD6A6DE69B2C2DFF22DA6C80ADB4C6DA096DE7A172FE1
-306084EA02E91EBC722A7F909A6DA874CB2259EF4AFD192BD3DC1CACB4C4A36B
-6FEB8BECAF982640042243D295A32E43FA49F58706271DDFA9D334181E722A5D
-18CB85477D170197713A3886AD90420365F393A6187502C4D9D91D2827158BD9
-77B41E1CE502B14CD069EA15ECC41002423952D69A41B03F6E30A7FE84A54CE1
-F933B9A994B56C5EE47DE91B3FEA0B24E00BBB08656DE9C3E9E4C851801C4644
-A739AEED4B90BE9A1B0DDBC5A91B507F4A64B14A6D68DBE60A5C9E0EBD53B08F
-8DEB5D748ABE0A84D31D094382EFF8A748683C410CFE9D4C17A2F47D0214EE3D
-75136CC32F1A835EA74B42C5155165634FE009E1B7902E070BE10F057F7CE984
-2EEFB7122041FDF2134369333FA120A9F514283EEFE328EB185A51D59866AA6B
-38C9DB9EE702B14EA2DE443430E94FE0F88768D09C81EF5ECA49D773A575EA35
-7FCFA04D9B7063D9627644E769DE37B976EA9350425B98E357F18ADA04C74125
-F4B820DDAE469626025EB1C384D081F0C6099DA4B520F1284E1B7CDE9C1B0159
-1EC54C69F01AA515B505DDDD2D64E6127600D9F1F05A5A1AE58A8BFB20274F4A
-66ADA6C4D44D0703E4E63F6A46B136CAAA111891CACF3886F7DDF30D78EB281B
-8C0E2282C993A56B43A0E61ED1C9A124B565DFDCA61974C32853734245B3D5E3
-A84A35B6E9619F2207E17B12842E5CA9866BEE012448BB627C2B6F722463EF64
-7308BEFF115C47494A1C10E81EBB2D7822DC22BD21AFF11EA23B75427E1D81B5
-6DA4631B4871602CA74C86B63959F6E97FE075DC667D581FF744381746278A1D
-2D52B58E5AB169332E14DD6F0655450902121698565EDBD73701B1CB0DEC71B8
-FCE9B8284EDFDA4B3A80FD4E4666A012C7BF71691DB3D3C9CF79360782FDFC28
-C6BF1E4F3B23CED3B679D37402A454757B00990297C3EC01509436925186A520
-906CC251DB6A0BDA931C321F860DB695755CBA0DF40E74D1D5021919C8454E79
-1D6B85947769695E2E8E939A658AF386683626ADB9F1AFF13FAB7556136F2575
-107569B7F3781823CADAEDFCAE8E39C79EF5F94660BE3A6C7DD8AF0DA6EE2C89
-8FCBD266DDE05C1CCBCFCB0ADD7D6B5E123651EABBA155DA39C611FAC48256AA
-380F81D9F887A2789FD27231A1FF26F317DE7F79CFFA76DB8A93A7FB70929EB9
-4079DC9695D2FF66DCD57D4FE3E0C2C49D4DABB7E88CB2E1257FF57C5CE8763E
-797F2F4A93EAF2A359FE0DE7D5FBEF0152314070872C6C1CE209C253E1BE8772
-CBAF2F4BB9B04F0742E1B6861BA5A46D7A77A9E480CC10D373B4C6DCA394B03A
-A362CAB0A75F1B5C17F17933066A8D5B082A80E08F3F40AC9B9B36B2A4E0B81E
-3749ADE72F1ED8E7DFC82C1B4DE06F3164ABF23FD921FA5BF7417630362BA707
-CEDC386D2EF5E075808966620072B2FF95B21CACB784F0DF17A1F3A538FADAB7
-4BB0435AE26F1E8DAA648ED136CA2E8AE9F01F5A43E0994C28B11516FA7719B5
-D6939A6C4AA546AD47043AB150E546410FB08E214B67B8CA80EFB751EDCC1F51
-FD6A99A414DAA56714CEC1A0B9598357343BC4A6BCC60705FF226BE6A3138034
-0E56CFD0C8FA3D208DCBDC7D3471E201B9A600AE135BC39CD61C40C8C9CE170D
-665161395A95A227F046138F54344DD6C102BAA86B2ADFE7375B22B0EB10F968
-65981E49FDC62321FF88C8481DA773970FBB90077161F2BD041C54A577AB3BC2
-8BE0E0D531A1643DDB36422C20CF9AA44DE638B3F206E085F5B17BA7356F90CB
-54CB8C9FE834074CD1FCBB6E3F52374B64E14AAF03636CD9928914D368A14521
-1FF2B5C03DBBC8CEE7B8BC64C430E5EFC0D4C6D908BD1088A5CD04EE9A85F5B6
-3FF9C887475B6C30DF691F68EF65F00D055048A8718DAE76313C63827530C398
-593AA6B14CC5533037EC6DEDAF60D172E8554A531388202F0C1D5D20B504C98C
-38D4419402FEAC0CBBF31B405391D501B0EB657F48EE1F22A18EFEE3E3D13411
-09C238B9F3F355B18F801A7187F1B04134597BEA4ED445F981147B315CA5C0F2
-C7F1228E1E33CA82973542CA19DB98222E3C6B97D9D956D14DE1C3B7A39CBBE3
-E75DA0A97F44C6E33E8FEA6A74063EB43BF0F0BE16A2374DA4AAE3AA092B3604
-F6B411A2EFC17FE56B122F6EBA8B80121F62C421B99E17A258905AEFA15E4072
-E23292932E8E6FED27CECF5B2CF0B876D7C42C3AC3B75A7BA7EC277447A9EBA6
-218D8FEC83CA85B317E5E0D9BC6BF2BAD11B92C26B2020B531C9B333B648936B
-4716DFA851F088F7E7FF54D1784AB51455DC3EB48DE4445C721F70B849F52D5B
-CD72DF1C99C3194C620B6F7CACD4732AEFD99FAA2B8F3C98911491195EBE56CC
-D89D6F4F7CF432FAB9F342A751FDEBD4B5D65DF0E91CAD522A65FB3EAF09847D
-8FA97DFA47329F94DC21B7775F26DD9AE910444815FFE11F86DB366B6D6615DF
-F7C4C1B1FF8A40EC1CF736E951B22A8D5F68C8537BD22B1EAD454FA7ACB6995B
-97492BCBA8378684FC26AC3FA25BD4EAE96A4B121532BB8F8E0872412526349C
-5B4DFEF69DE970274BBBF1E5570EAE710F97C39824EADDA3364F9BB237CDDEEB
-C26D2228608C4A503A64EE0123F5B726B160AF08E9471B0F3462DA3DB6EAC1CA
-243F72542C179ED6DC40BE56F757A3ABB5FCBD977F9931528D33BBF0638AC6F5
-39C214B175E2033105E9F69299B390B92221A93A0AF3E8D1B14F2FBD2E07CF26
-ABDC2D78688C6F11ACEECE52C38FC8C6EF81CF0A2955830581EDAB98508C96F0
-17BDA6D8DD302D9141CBE51C3A5F5D91AA83B2DB2A3C47A36B852F52B1936789
-4D25D61C559B8F4E24FAEA7A1DD93B834180CB614602AD959C3371021CF0FB45
-A995CE10413276CDAB20EED9FD9B6FAD676CF7FCAC3FFBE222BDEC9AD5782F77
-E2BD641DC04EBEE77622F76A82C237B8ADBF847BC9D943A5DE026523ADE92F17
-661FFE7C46BE6D51C345FF951F7B8E63ACD1C43548C064CAF598C373C8728565
-CF383F4F4AE6DA0FD01AEDE8D668797FD7B31A016DA8905F9F0DED05680485DF
-BA08EB111C2AA00B29CACDB69F57595D5A2958B0C45775C4952E0335CC11102D
-C1402C1B4978AD5EEE4E777F22DB0700A746E4A26765F079B173AE4CB42FE1F8
-009B0F206C0AC05AECC6082C9E918615173624AD8C65B1F04456704FD96ADDF2
-929A48FF21FDF6F1306B2E22F51602D66E063A9B5B29D7FBA399C3619AAC98C1
-FDC52415E3987794D128D4EB72A67C5DB42A01A281CA583C747C4012E8D6EB5E
-51D172F3863C4533E0188ED8C764E69B74ED02594A517EE4B2C2B64768F35F96
-CD5EDE5ED7957086D752F87D6F4C742F4C4FA7179F5D2AE926B8E190732E8F85
-276825EF844F8ADEB36DB2FB95C2BE19FDF1BF0373702B5275EE2E39CB398AE7
-6620F3B93AACA8764F26B2F5429A09CC38A5840FA2C0E399AF18347FBB1E6C9C
-020F0E3A66AEB4464E64F7BC64CE884658F7A8CF8543F66C3AC2423F9416E3AD
-EBB22617BB90A4851AFD82035F472FA2A6A76B09C232DA47CA3C37192FE085BB
-7450689126F8091F287C18DBE8E86F02FC22B7ABDC397E8FE1A282554EB550E4
-A7E0F7F874130B3E494E6EFBB21E3C7D8416DE593C6BD274AF2046A97164CD3A
-DEFEFF0D861B99DB31F770BF00430E1874DF2ED27DE885F50262DACA4FC33637
-CB83C374EF8BAFC30F74FED6879A572B20F0BB790A747A628FF2B318875008E8
-D16383CFB3DDB522B7681FB084B92A5391C343365F25B94B4D96BE3ECBE54037
-40A2C785CBFD09C73182F911B4E3AB988FFBBA9BC094A1A3721825AB774E5150
-AABFC5F90D9B98E1AD0D7F535A568C8A7FE3BCE1EF9A44977F5669329A5D8339
-317FA48D323A9F3B0FA7D2742853234EDDDBC738E53D92409CA38A533B67E2AC
-72674DED7572FE79896D9D41C12A517089F3C33EB6381811F89ED012ABFFA687
-34C550A18047D23DEAF152C9EA546F4F0680BFEC21379959D43CF4D8363231AE
-3A5B922D324C665806BAE1B3D7648BBCDD735EA8D6DFBF58731FA4C8756E3B44
-FF1945F532691BB76FF61F5D5F49CDDBCBBD561D40EE4C6DAA51080D2EF2C3D7
-11AEF1AA91F5B8196F880B8D0F0B674E8D4F9185555FF679EE68C0BCAFB5173A
-7E8C0390B539B71A102DBF47B7270A07BB4C2EC67CE41D79B991B0920F32A4E8
-16752CB08E310045A5CDEC36728E833EDBDF003E4BCC6CB50ACD5D60038805C9
-E6E19CF5E077FF510F1CF092A16D63C467A7EFCB0CA56A51A91689E6F1836AFB
-6125651712D1E991B41D66F4F3D4B92A57AC24B7BEE27846E7DC434947B922BE
-912E89E55FE4137B2D139C8A43AF4E8729DE84FDCE0F028D1A575D3C96A798AE
-8814CB1577EB8377D2D2444A470AF935A2CE695DFD30EF63589D856369ABBF11
-923374EB3AEF2024CE3E502B2EBFB7FFEE3790F7335E6A5A79B403DBBCFF9950
-778A70D8A49F6455C1680435B9B718DDE2E57870BBA9C1EF1DE72C4BF0203ADE
-73EF0BFA03116A9E20A2A072D31B1BE412246014F8B18E6DFF757067472694CF
-B096199002C26FBFB559CAF92CC6A52D1FC375370B149883F6F216EE73A9BF82
-A289B4C1D9C3754EBF959AFF4417CEEBD34824F47056A2157270EA3B490CE194
-32B7A63C8B454CCFBC054421FD8C309D673F62128BFA95220AD63F017B2DD90C
-C01202D904694575E10F09AC475171803BE35FB61FDFA5A4C76099B615505209
-DE041FF5A4FAE4BEF467352A5A338A8C369732054A6ABE7689E4177A3D4C67E7
-04B63B98B8CD27C53480EBB85572BDC098D27E2F215CC0D5031E211AF2C5B3DF
-171CDBE3DD431B22B32C28293D21F36ACC74B2D42AFD5358AF83367155097F71
-76060A4C6CD9BD8A16E33683A8AA257E3C98550AC9600F9643AA8970FF116599
-9D1030ED4F4784343E5C41BBFF45E88FE069AFB88203EE7971E112BB4F7CFA0D
-B90177A5E91E7CC1DBA2753545683F26092EAE8EF51F09339805023190DD1B04
-67596F9174147DD6A720C0B5FBD29569537E06151650BBEE1AC826BB90AF8D7D
-FE9BD8E58BB578EDB28FC6AAC4C381DA93B471D2F859660C8BCA1A2D36C1F220
-C2CDBA5118AF8906E55CD02266E2339FD67B03C7088C40E18E04B7A85C9D4D71
-E8FA8792989F908803C663995F5B360A0A0B8035E6C8B8836925D04B7F686D18
-4442F032DF1AB15AA5F3A1B862DF39FE3468186ECD90E251E1042AB5B53FBDCC
-EE045BE2F66C67D06764AE3D678D3B796E903E0D3438B1C250EA3763C3D2BC9C
-BB2A871875CB0BFB9C7491F1F2C7C660A27AD532BF912463A77CA2271045A343
-A011F8FCD72AB7528B2BD85F3EC28A2A5A788F0A85D96215E7406E6590C74371
-60EDDEEB8BFE0F9B7607CD87CF79BA82F220111BBBAA912AB5ECC108654FA375
-FC7C373F73873CD74B53CF7C1F41AB448E79E209CA3023378B9E202E126166F3
-A5ACDC664D05A2EFFE7E259D0C7BE45BCF1A365123B9E676D442683744348028
-79BE3419A3EABF948F4C0405C81B41F9C4DCC45120FF0B5A7EE102C87EDFC427
-C91123661198B29A815B11E97FEC93A463FA20BF1C8656BC613382F2C0432484
-DC526F4F401A2030CC2E449368ADA8FEAC4A2C205A7AAAAC03A397127B66A40C
-A908D917F2F99A2442839EF0851FA3232475448CFFDBC8308E96BD381B9B44CD
-C0480BABE4180C153529E889690F8976A9EDE83FCA615C4C6DB215F954BFAFC1
-2AB3F1009C136C3AA060676FC8104BEB7A1C35FB69AB2A604B25B885C1C0947B
-04478F7F4EE665393358AACA36
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMTT9
-%!PS-AdobeFont-1.0: CMTT9 003.002
-%%Title: CMTT9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup
-/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT9 def
-/FontBBox {-6 -233 542 698 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT9.) readonly def
-/FullName (CMTT9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 33 /exclam put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 62 /greater put
-dup 63 /question put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 93 /bracketright put
-dup 94 /asciicircum put
-dup 95 /underscore put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /braceleft put
-dup 125 /braceright put
-dup 126 /asciitilde put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0
-42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259
-4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457
-689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521
-0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA
-610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8
-3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735
-C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933
-995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE
-EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723
-2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0
-4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC
-B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014
-D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE
-510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5
-BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF
-93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC
-F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385
-45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757
-4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47
-088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8
-9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A
-09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988
-E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C
-0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A
-FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C
-94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741
-03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF
-409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71
-45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95
-39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971
-58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85
-84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A
-0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F
-F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD
-B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD
-D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B
-3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B
-7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D
-8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737
-712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E
-C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3
-E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA
-A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC
-2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467
-757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C
-54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981
-DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9
-08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD
-6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2
-A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5
-336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D
-E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB
-3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A
-E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627
-1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903
-FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72
-A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6
-465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0
-3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32
-CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF
-573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA
-9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D
-15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D
-D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5
-15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1
-64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789
-D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C
-D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8
-576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540
-ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135
-EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC
-9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099
-3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A
-1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD
-FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598
-C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA
-4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0
-CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7
-3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D
-D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9
-BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6
-1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D
-4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442
-C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D
-80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C
-AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6
-59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647
-3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6
-14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59
-B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34
-F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8
-54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588
-34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191
-825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439
-BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54
-4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F
-66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E
-2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF
-F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A
-1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416
-37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6
-741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1
-39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC
-887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49
-B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD
-15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526
-5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1
-80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839
-A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404
-BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048
-2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B
-B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598
-F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B
-9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483
-CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91
-DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62
-6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B
-7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7
-D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B
-9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9
-EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12
-0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2
-1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10
-85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0
-EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F
-D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518
-E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0
-88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842
-E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8
-01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68
-54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A
-97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78
-B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2
-D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9
-18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE
-A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13
-1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62
-31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5
-408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF
-1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E
-29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33
-BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B
-AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8
-0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D
-99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE
-480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC
-D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481
-FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB
-587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51
-A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C
-C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C
-AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D
-AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4
-48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367
-385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56
-8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38
-4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C
-839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C
-320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63
-7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E
-DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D
-DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F
-461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A
-BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449
-1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A
-3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500
-0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77
-EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA
-AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8
-F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4
-097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA
-53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7
-39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78
-77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0
-1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F
-9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D
-84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F
-737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC5723EBB357
-73DB0933927DC21081E67E5DCF4E41FAA6E00E8DF04128F86348FB0718068FA9
-918319C4EE9D090CDF348153B6CC48648C55E889B4FFD3D75466F1B50C437546
-7DD9CF20980B148F60BB146402DC0732A27F255DCB859CFB6F9D329C12FB14A6
-7824D6DE27B03FF85BC59703A5D6C5B7D1CEBCF3C3FCD71D6D6F0311E41BF8BF
-0609D23C84720FA9EAC961C9D49C2E962D9618C32BAFBAA8CAB0B2F616E57DA6
-8CB44C5595A22377B28599F7D34A3BEA4173E1D31A2A6C5670D1F026EE2092A1
-DD0D2BBACAB46E5B0A7113B1BC379709C5870981E482E01EE3D16AF9ACF1A5D8
-7ABDB4BA5C3B13AF047826F360C8892642B482C3C61FAC97F332888AE156B35C
-5C8415A75B4F0F25F8E95BC4102FEB4A8287C544C99778EB0C163C22481F615B
-0004F764FB7CCB01AE01A614AFC9650D3934F748E8785416BBC89F66C696AF5B
-B5F6F125F115241728D85E7159FCDBB10B64598249BB0E6FF1AF845B0A2370AE
-E6A973023FCAC4BB6158D48B0C928ABC4E29A0DD611D0F5266AAC8239064C266
-82D4D33B032418967406BC98156CFCE1F091F733D8BAB9523690B4D6765DBADC
-210E814DB8715A269474EC0501CF66FA0D8FD224EDDE93AF243032E73714F730
-FB382372C0F9B9372450FA6F13689C9429EDE1A105F234B216263A7D0A917A15
-D1FC128580A16B5572436E398C353A0EC62539CAA188901FC30DF7511C1BF6E3
-B462203AE937653C4562FFFF03078EE7A184F554E6F01932AFD07722A00E50BB
-2D2BB785961F76273A16CEEB0EE833DFE14BBA539CC7E48F67A9D20C94283137
-BE84025E86C714DC9C6FD7CE4D1D0C50B6EDC79E066521FDFAB6285C83A68B4E
-B1A119875B4E45BF5403950A25286214CB4183C345173F72E6ACFEA5C13B4D2D
-FD12BD235193EE6BB66519B553CD963EDD68E7EF9439DF0411C8193ACB183C09
-4143657304B1BE2AB8D2D0203E677FA1DD01152D2ECF9D987B16C3FE0B3F5F12
-5C920243E1CB5FDCBE97DF55102EDED12811F3F7165F4FE1F6FD5A6BA809824C
-041FF9441529509EF4442EA873E8E7FF507607D526DD27315859B31D0AC11475
-53C573EBF9DC37A4667133E99D8AA608ACB729F90B736395211043CCA3272AD1
-470F1EB485629AA8B9DCB56479F734703D859F1E4EE8789FD6F739D0122348F5
-1D487FAF1F24EF7A14CF69ADE7A87550F55F394506BC7627A5E319B30F362528
-8AB497EC03B69B58736A5EE0AD63743E7F22125536104674EA63F9AC5286A746
-47C73EE8E0320E7DC098CF43F23EDEF32D213523125110140F46202435EA8E79
-E285C7F3AA0C5877F75FE0F16BDF478A00A6F380C7B677BE479FE900ED3C4A0C
-832966F634C63211B58E9AAC3A3346ACACBD040164B491287B45E0131479046F
-B430EDCF59B0DB6B0594775AA57CE029EE8DC445463169EA976945A5765AC390
-CA615933FD05173C47D30DD5CCBD56D89B4557C7192C31D7B500B779D7DD3707
-BD4B64980767B6C9A1BC9A948DFB8518AEF581A1D888C6F767F3315EE99F57E8
-4EAA54D04A3A9E34B100024AA7C49DFE273231E3DF17073CCAF5B0EF20566755
-6831F85C57454D1B0A5A8438EFC7F4E396F09CC200643564BADECD2208915FEC
-78E94025CEC8ED965EEE5F6B8BA081478231547355F93491915CFC4DBD619862
-0F99133CE7F44756C593C8DF1874E973237ACB17F9614B79D45672CF62AFE009
-EC61B395BD96B0081DE750421A41E9D474F0E030C6B8591D364F29A6D7246EF1
-6B4CF9B931A9A474011C62D504F408651692921AE83116CA0E4E6F41AF877FC3
-CE77764197719291E68B01570AB7038D91B8B81EA501DCB5ECB6083B6764BE3D
-DF21B4B3A1E1A5C917F324A1CE5AF92BE3B2F8634A140637425F9BDFBD21FF33
-CBA42069981B230D211602FEF410EFDC199B6DF283343FA5E6B4FF2804DE56A1
-61DDC684579F82C65DAC3A4F92B34FFB6273EF4F4591317B8D2250850BBA236B
-C1E36185BC3C8C7A7654B24D7A10A489BDF675F6EFE7B4253F14CB3B5ECD1756
-1882F3D139EB5EC7860D70A176D1536F5119A6C23EE9AE9AB21B586DA19B483C
-6BEBA87C457B9DE3D7C71DD7F97E352B642D84455E44EFC54417ADBE7E190F7B
-7ABF6FA0EA84A394C8316BF420D6E2DE5B867E6D602365925C3ACFC69ED653A1
-DA30FF3B49D407237196B9401B1EDB7EF2260E582D02B18EDD38AC0016F28896
-0A61CA720216012D0FE2B58D5D675D25A679B1D70FAC10A4EB38060C0BB1AD1D
-D1C59BD5F44FDD8768EFBE75B6795543533C02198E21A4B8A5430C2C432E45AA
-0C0937D6CED532EE6714C58ADFE2B15B117E9AEDFFC1E172716C756260BA9931
-23AB837CCC7C36BD6B86B628BAA7D6002720AF00411E9D039E435EE479D5015E
-23DC9F3993546E50A442CD9D0429F7AF22D9F14064CADF2A3062F218582CA520
-3FD8E0F30B224408594EC426C8DEA57ED60FAB24461611E86302C421BA600CDF
-D4EDBF4044F0E2893143D4BABF0A6AA09F28FB4190B779B82A61C65264A199D7
-C2F50BD82837F08970F630E1CC74B4EF421B1032967FEF552DF3C1C83ED995BC
-CB9192ED8AAA906CD9708A4882150B27B1E75FFC0D1383C50BB3E6C36F5CBF28
-C0572BD2F01AFFEE5927EBE3B6CB8FE778ED2B524E252F59AF00A3F8F880116B
-8EA655D9C6A68CAA28DB7A75003D0C3B653C7587BD1A7D93BE73CA6219024EA1
-07C31E7F7BC9B874183C9337538C925226CDC48FA25D51A6A0677A2BFF699AE1
-E28D9E58369BD6AD73ABA706531DE565E1984A9C89D0C1EC6FC030A93D3D863F
-C45EA66F195CFEFF9A03A1673BC544FB4F491AE5E50ECFF7F34B095DA96288F4
-31C02347DCB6792ABE9DE684A1A92318A2BDA38C2D8DDEF29B8FED450DCDCC7A
-5C5D124FF0DA047D37E8874370D5537AEE869E771835EA607E1634BC0707C0FF
-75D5764B867BEDD8FA075F0CBBA7191B3CBAFC9EF8DFE79E9D7FD5A58916101A
-A920F37BC5EC845621EFE3A953C19853C2989FD31952FC4876A8F7C58C4F21C1
-31E6ECE0389BFDC8D6E391B04D443EDEFAEB77985808C398583BC4D8C9979A38
-9842C4FCB7A4E84BD67BE72551A43B2B330293D8655A3D6655A2358E014F5686
-613D19B474AE0A92A80E6E701F4B63EDAF59C3E12DD961A5B413FD1CB5400743
-91F673B3502C6FD90A1349D649EBA4F5D8A6E5AA41F1A4DE1C387E22C9CC2733
-D542291D5B2E5CCD0E1FC1835BD6A74F5DB97FC174730AF33CFE5E68349BEFB6
-F2C76171C578412F075F9730567BE7A2644B17012DDA04D681018CBE09BDFCA6
-1BB460699CBD6006C031A02634BE0B16375FDB9C582EBE6683B60768BC3901E7
-4388A7E058B61713E3046F28F5ABF58417DA878E1870787C472FA08C2FAC7517
-4CE71727BB69D19BB40AEB50F1BD66704EA37D2A0B82F60D72E15440BD27064C
-E67CA41D97349309151DA28E1A7850587569A794E9FE46848A4611066291973C
-A6CD19857B92F0E36B271F24D54ED663A7C64DE3534B0989D41E21E01469AD69
-916AE35C5177C6BA8CEDA45C92694077DF3EBB0377269619F9925876919A472D
-14751E6515118EF9B84A5DD8C92695818BA4C959485EE1EDB6C6D3553B6FBD27
-A0FC42DDF20BB335F7D46F0951C51E9BB69FA6E7C76A8C960FB6A4305FDD2A30
-234A5EFA64C34948422255C14C2A0D8A57174AFB7DF3DB2F520EBB401CA2DD79
-FDF6C624654DFFCEA8FCF5B34C34CAA7C6EAEBA6DC98E8557042126E49E51C3E
-BB7C91497A44A69E4EBCBDC0656AA5A7F419D0443576F530C8136AE8612589CE
-781205654730006F3A39B4F3E5301784F164A2C87C2F86C894EAFB5E79D7231B
-E410219BED0210BADEFCF27EEF683A01FE01DAB70AC8DC4E82ACCF6B5BFB4DAC
-A42AEF344755A06DE8A6BF6F2786435E2EB1D103C8FA4306573BE699571880DA
-53548A1FC1F24E50B3C2BACE9261C0245F671694A0FBFB4ADAD535AB9949C020
-DEFE36F7EA12B3F8D80E3E3D7B3CBBD8B6EB0AD2573DD5DD0B4FABBC790C9F28
-428B33CA533D5A6348D1A64D868863F4385A3F19D9F4766B6B81CF634981090D
-AF0D763F09A2919A9DABC0DC4602D72F8747176F947A92077956FF59FD0D88CF
-FE224B9B16C5DD710E6DE3B94D47DED695BCE5414A3794E4CEB7845915272ECF
-E4A657C7B53DE7DE96A8C901DA24D54A467EE083181CEE606E5917FED2C97728
-57887C7D19EEA950AADF6E8A99798789757BA126D925E330BB7D931FDF4EE14A
-04F58858CE09DCB1F57B8F780DABEDD1C26D72C9A5287C9DD30365693C5DD06D
-7365B309AF1C97BD3443B393309929F6D1AE27A1CB55C2F5085EE81928E138F4
-4FA21E90C89F0397C9CDB4D707780F2418B38D8A8D76793C868D4BBF10AFBCD2
-9BBB8202DCC02C37BE63D3CD22208A23743025921A54307A72037E6356EF807F
-B2E7DF2B94C51F19895C3C059DB4C42C2DBF4E08E27E31A294B580E2367D2F63
-0C074F03DB73EEC7293AB98DEF387B3C18761C716EE02C95315A36D42BC5334D
-984E6E35587BC0711D1B7F8EA8656C8059683C49CA41B0520D6FE1952A1991DC
-659D83269307EAAF5A9CA8000FA086B55587FCD0C798FD93905B1CD88A9AA33E
-9DBC2FE2A89CC800565567422052BCF5BAA443EB441E3B7B6AF0322014458764
-7AAEF162D0E03F28F1D0A0EEED8714442E9DC41FD4B90436DB8A7E3A9431E726
-FAC0CB7151B6236B2438DCE9EE814A358DC10699244FAFB932C928E0E878D91E
-36E840135A9F372A0DC2EECA730E8490F4D42DE218150497C5EE87A5FF5C2282
-3AA9D4B71996F86F8BDA700EBC01E3054459AA3F87CAB9C3A230551D4534C3AD
-18F6C76C41E10DB9DD67D19614A516BDD39C432005676C78B36C53BDB3646934
-3AE6BC84D339851BD4D07CEC26129467C7181760DE58D0A288FF1F0DEE52D68A
-8423FEA92D3D9331F75E3B062BDB37BEE45D5C338BFC462612D1CA5CFF432D7D
-89D34ABEB9F42CB40A63BBECECACC033538136B3F9B81F1230453A52549B648F
-E8AA9EE2B0AE82A1904FB78A6237247DD96B906B82945AAA772DA058B85494B5
-DBF53ADE76C1013C1DCC7A19AA3ADD198E3EEDE3269C4F3A6DFE54CBD17C7608
-3BF7513E37D9C8D688087E2A09B863882D46454A5B99CBFF538C008FA9BADC2C
-004ED4ECE65C4301862323B134BA11C6D4E691AA899C0E83CEA6A625AED13F65
-78D330A389A6D6EC23CD82D70D53D4F571C9D872E1A09679444FE686A12647B1
-6BB67C8AA4D500F6DACCB2E0C682C835D24C646A51259A72ED3E281C93743832
-A51B3B89D38E575B8521A39D87F8105F892AE9BE53FD758B8DBE2021716ACFB7
-350D5408C621CDEDC04E63DC4468C301435C2C2D61F3B2C24117F9ACBCD9E3A6
-BEA36A9A4227287DCACA0EBB1C6267F23BC0C3E0F28A89184FACFB919D49843B
-AEA30EDC40944FFE38FFBD7B33B6B05F5AE1D0E168E924AC698B7200D2E86C14
-E79E6768E27E848768A75DD694B48FE4839058824A9F5C472081962020B96FE8
-45DBD7153E2086C2DECB97B99850286211660573EB090E315BD727C989B8FE41
-D25635F195218A2F15FE8A5C5FAD2857F75969D1257158EE5C52055C1E11D18A
-8770E2DE895D7118B3886FD549441424F56DCB3820D5709B9D838435AAE4D64B
-6F49CB37B640BD905D6C3FC1E53C8304B0EB694269D6C48D81300DD537373040
-65B95EF64F81AEE581FFAFFF8B32DBFC16B4F1F7FF9DDCE9CF5D6A8A6D79E4C4
-209E47E16C32343B7D8B65D863F33717FC01CEF14A0F012805FAA46552535809
-14126B88CCC2F0E276F5EB42E0C7628CB2397645DD951E31566B9D80F4379A57
-8D10288DD980E93AD47F7F5EB41C4E0DE8AFC5118CFE87A804F309C6A9D1E126
-C0912E55D9B1FA95611FE7FD22C722610746316AA8703953AEE8D52F4B67F0E8
-1C12A3A1A38B3AFC87E78B29AB79174E1CB09880DED63F5EE28AE6916E9BDF2D
-3DBBF6F8A09A229BCFE45B37D0E28A3A519DD20CD8B7AFAABCF0EEE058EC5BEC
-98CA3FF46CDB8324A5CFD9985AFD545B1425BA1B1F8A3209D159925194C2C7B4
-F353F587F1CEC839996FB9761DA1343F24A17BBE4206324041E9DB6DC5CFB21E
-789DCC82093269E3D2894773C8BCD25DB0D6B3DBF7A799276936132C262C2F0C
-980D6689EBC8459C62E19C91EF5169439185F8DB0946D7156108A689F9B0A52D
-10E02422207CDF2CEF1C2B5D3D50E4D458B4A6C936CE9E6A6C4975AFD8790E5D
-057FACE7B96263BAE67A549B42F8CA016C5EF42B55C2FDF20D3A25A68B13FA44
-99D57478B9FFB6BACF69CABEA3C64B559A0D0897176CE2BE218396DD2CB25D70
-59BB599060F97D2CA6422F46D28D3FED8AA36FE161A91DADE4B621EC24BEB0DB
-31FAB9F4B67209C5DA12F4AC49B8BADD510C8226962D4657A80DD7DD49104E88
-A0287F75C8784516C98BD7BD15D91F4513384B46BB097291EF6D6229A529BF62
-0A5F4AF3C21150A058B08D0B47DAF540DB98EAAFC88E117BC9DBA9AC19DDD756
-9A90C45BA3E8C37368C7E44BD6BDFD96619ED819CB067ECBC13BE325409987C6
-CB804C705C040AE82EEA129A1A7AD4B7B362E799F2CE5C0390722A16FC60B1E8
-44B0B85D097AE0D5E08DEC18C3E576E22268D7F0CDA46D9469019C20EAE9BA74
-7B49EA6166F5AC94672063D25C4C0E8FCE359712939ACEDFFF9AB5E7442A2A00
-A7E7A05E9E10A209672155C03EB12CD5E80155A5DEE3D503BA08D71E423C472B
-A74CD26E15A200FBAB8E94086928E73860E50BB7389B3A8E0E833ABAC5FF8C62
-B894E007E5C220FAE6D53ADE85C747BD84D88BD0F40132A0D1FE51ECDCE1BE9B
-BD89734A56C3577515520025A7743F45B01D74588DAED6FCC209CC819CE0DC65
-B590337F93D92D71615422728C6A8AA4D357A4E350BF6CE2480D4E1A818EFD9C
-E6243B96F72EF5C5E88645A73189D9772E97911A0713A03201A69D78A98F743C
-C0C8562CD876F8DE0A488CCAA3EC11142190BC32B2D8FFBEE6E155EFD20BB003
-055C74D843F2AB34D9552E5620FACE9E40C04DD84E29A602151B7C3352798963
-94674A8246B77CECFCC9A896B64F296EBD891E669A538343C0394E6634D9BDB7
-AB6D9C584DC7DEDF6AEB695FF83953653CED9E2B7F6E5D2A965B60F1FD3DC752
-3FE4EBD010AD47E0A9FD989B15559783B429F50B3A70A1D8CFCBC150A492A8C6
-4F570111E78A66DB463BB2EA226890FC25BD5CCFAEDAB7DEB2D081480821426B
-45EDFD5C048A41F295415C43E86930C53961D954B54F6886044A1C5F6D2526EF
-F6521BFA9BCEA510AB3E1731719DA2E83729BD08AA2814663532756B1AC5E199
-329025C143B47106919977514AC51B681FBBF5B115AB82A15E24C7315091DFD4
-CD11E813DCFB89355F4CFAFBBD54822018E7EA7ACB3A06DE7B571267E0C66BD5
-6DEFA8A8AED615B9A7F40B138841D094D5BEB32197BF5213BA572AED3C87AC6F
-6ED6356BA2A2B9A3E26E43B3E6780BB66CC93A1A2CE94C90D48ADCA2BE608B64
-7C0C0410A9134B81EF24CCDC7426E5096CAE44EE96D666A4F3F72774105AB03E
-320FC752F294CA8A537BE8EB6FA85F069E6809553D3A9CB3384E132275D2028A
-DC6CE52E75DE9142E8D19C656F7A74D985BEC5367F151A151E5D41346AF70ED3
-14D68F0C83E4EC225E6F60A48200AAA0FAC3725551B8859AF513FFBE2AB3C205
-DCD56B1177021C5D819DC38BA8A042DB92A0A34224E37250AA0F65707C2786C6
-189F518C2E635D327D999949C4358402F4EFB6237C8A0A8BBC01E9B01F58A83E
-3BF161E39EF504F2E31BB62F27B4830EAE9B05977DA47EF338817109E0BA1059
-6DFFC6426DBBCE33297E6D36D3492B098C1691DEA31FDF967BE80808199760C8
-46E9D075B01F433DD5A43A2AD872061B3852B74BB421B3564E57C44ED0DE500B
-D976E02B51C656974673846B1B5E31F7F9EB5FAB81F92F62ED34EA0715950780
-6F5674E2D6120A4B9B89F749120921EE65043A66F0272B75C05BDDD09217A10F
-E9E93E647617CA513F52252556D23F34248D0EBDB3FFCA6BD7C31E3369CB1F0C
-20BF53BDF7C4F7A1C37BAD112254C227FACDFD40CA33EDF4688600E16586A5B1
-D53C2AFEEAA2416B29948B4FA677FC1EAC94B4A7A2AA4EFFA901F90B56BC2F04
-921AAC33FA46982497BD267EC185F64A2C6F51C48691908568A4F9814175AC6B
-E1B34565EF12D99AD27B74481FCBA29E4C58C8D031DAC1E58E24AE5E432C74E4
-CFDA7278C66FE60C11D9501EE25CFB8F816F06D1427D8A8A119F7E9A66471847
-90BEA16129627D6E12463C9DB6E4CBF9AC20F51EEFC808ED48D41F334115616C
-FC0F037AAEAB996F754FA6A8653B8912BA0A9BD0D0EA381B3A54A86155156D1E
-BF1BFF694F9EEA20EBE388D4F01CE5117C0EA6E061B807AD4B53270006E6CC45
-5016272BB7FE8540070D51A260A018E09D9A1C7CB3E3C6409BC1993E59667A42
-049F2393C872D0E8EC41FBC2671D0F5E4B99BDC5AD13F7B0930B881CC049FC39
-938DD4D270BA8FD68DFF2ADCC21C7C24ABD1391C947142F1C7CC6E7EE5D31252
-F84B92C304757C0B8394E9E2C2D4DCEBD7709FA645B883D8A5F9657FE6116F2C
-891F3DB3BD7DEA5922EE488678297C5A043720DDD777451AB916FA664519A6A8
-9BE9214DC67D68FAF516E19E1F65F162C246B6C010911220978C2FAEEA7023CD
-E2C2A175D2C79817AD4E4364090B9C6B95CE86840857599448EA77982CDEE30D
-F4E739DE78F7C1831B2FAD322EB48FCA0ED8FE56A0BE9E26E6921171C31F8E79
-D5A59BC6225A0AA217FEB684D1CCF1B12E21DBEF1F1315C920EB46163B5C2F46
-80669943D09CD519256D5A4DE9144FD5103B52774A530D2A4318E9ABFFEF15A0
-24F0590F23BA7612351FC0BD9E5F9A5A8D6ECB677978C4E2AFC4560986B7A8DD
-0CC30A82C2CBD2707A18D988C164F2B8CED74B1C12991E705F005E3A8D10BB25
-F5A45974096ED5C5F8A09ADA293175C763CDF9C3484C4B9ABA9839BB9028425F
-DD34E700820CA4B2BAF969C1DEEE659A6FF568EDE7B58400C07BDA06310B92EE
-17FEF247A7FAFBB56044FAD23EB2933D8F313A161767FE211FC103F392A9A1E8
-B633A259920A15D19A4F5780C09071ED04C83FBAB9ABF344A1B0F1FBD2A96A87
-E03F2785DD00CFD5B3B95736CFE6315E86E8A5E838F4C02B36859AB4CA203FED
-4AB0D43E2964FEF26993ACA619F1CF12D3DCFBD8E50AD02A72A6593EB876E244
-D5CDFEE1128408A5C10B5E70D680299E8A33489E1179FA0F753B7FABBB826BD1
-39D7F7A8E7C15C359E24B6569640123700FF628B2D76E2B7B2DE7C2F098A7A46
-8309CCDEA49CD277E96366EF221C4DBCCF17882C4565340EA41EBE83998AC89F
-D66825F75F751395FACA772DFCEDA5E3368094CF378C31DF2B405D92690F2546
-AA982FE7F32660E0FB33BF253F632FE978DDAFEECCF840997558C607ECF0CD57
-5CDB3EE71642ADAC37D462F7A23541F850382BC1140C8437FC62C34CD9BE7002
-0C136657F2ED4AF914AD3AEC860B2E873A77C818E491440EEE98075FBD7EE393
-B68FAB94C574EC914FAE259B065C8666CBB2D3604F9FFAA52DEB5F157079D53D
-3FBBCC93C598FD83769A8C039EFA0C7BDC027A34721E437E548F120137EC099B
-15D65CF68B5F2E5ACBD11A46A6E2168F6E38DACB52D0AF949B8BFC8AA92A6C1B
-E5A362B1B05A46F3E58921F6A1CD4C97730B14D31F0C1E2C132D25B2A63D631D
-C65813C00332FB695789D21D9903B3CD1425CC36C25C18C7D49014F85BB771C8
-D0D18204492ECCBF69D97B2342457C95A7CBD46C489690CE6B4A4363653B9D46
-A5A03BB8BC675B56A1CDFC8E0C3BC7DD7E4804E61DD27EB6D25119887EEF49DE
-905543AEA98A60471A3D512D63CFA12F8768CBDCF8F9EDD9AF084027DBF313DD
-059EC75136FC08C22D280B76F1A4AE628CF21DB9A6E567085DCEF55E68812A8D
-F72DFBF59786430216884E02416419FEC67428E36B62093250EE61EDA4E9FDC9
-08F01063F9841E1A5FC54F34A65F738A9E330E8074930BD9E85F05AB0E9DDCF1
-2CCC343C8BA7619FA512292B53F37BC95635A3EE07C3E4E91B123E2CC34EA9F9
-123C38F41B1DF9C2A7034BD05D83CFC2B86D69639B8C34940F53F44D5F549305
-F196464989975EF35F33B2B4B52CA9EDC6B32033B63BB03462CC58BBED662365
-2F36F7A46A371A60B245D53F9A7DAA64428EECD40A8F4C93D460490B092558CB
-647E53E34771DC04DEEB2C285965F4DCF2CCB8669ADB238CC12897F7DF46E6DB
-FD9D5BFBEA1DD262C4CC1B24E681643FAB80B34D057BC920ABAED5B39D2ACFE7
-4CA3A1999ACF8C9AD0F99B12922D37C03D06B77985EF38B3FBCBD6AFD21572BF
-84A7BB8C4ED5C3BE657673F8E9F3A1655C0179A4CA565D3B6F0949B2CBBEC189
-B0B46D5727EA5EDB274B66C9FD872C00969B9C6B7CDC3A8CEC053A443CB847F2
-540FAE81CBE3F6B306D1B8B913919D1B9FC029CD5D414DB2E16C7EC97F0BC73C
-1BDCD5F3FB0695EB84873FA73629005D7CE48A9A1374CD2A0DAC7F507D3F04EA
-A8F71F37B65C4D5F5928C7A59BDB73E1702D4E9508519508DF62DD29AE1209FA
-8766D6311A78B12C830AC0D870CB02DAC0D6434801CB48972C196E0CC92BDDEA
-398622BAA5B384FB8A0396777CF517A08F646774EFD5C6CAB81C37ED7AF68276
-C86AD81C3C41476A6398A6A22D65421526EEC405F6CC9F2520FAD97FFDDBA3EF
-9E8DD5295CE2390650C5B19930B45A410083442196A24413ED58BC3994D003EE
-F13DA0A43E7D99C70365FE768AADD61628BDF66FFC0D4195AE0CB7FF33EE475E
-2B0EB97F66B2FE63D3436568729519B2639BF5AD17F7061BF9F8A2EADDC7F806
-50C1EBC0AF0BAB233868B10EC7711A0C2FFAACDCE3C49D3A0301C49B82A2DD78
-92BD6740EC601CBD20D460B90EED562B2AE48E55A7C28C8643B4DACAE95AD33F
-27F2CB34AC65A0E62BE71CDC3D05361D1F07584945E4E89514C40D8A3132C707
-A4D56B054572CAF5F12E40406C26E5077C9E255516000F1733B136CA5C58961D
-A9B22F6FEE7B57DA278A3F8F2B8A2B52B5E2E1FED54F14AFC9F13B18734E42C5
-C04846F7CEE4700920DAC45D381100CF7D5DF4E601D3B933998D86D5FDFDF666
-CC4ECF675477D74327EAB256DC1727A44C3F7A6A970D9598EB46A5C38E81F3C5
-10D8307C19D849BBEB0C962BFBB37409195756E505278D619A73140B2C661235
-2091B4C6A3C81A3F532B8168E69EB1DA998C84834C2C87A910A2A65B264A20AD
-50F7B5B8DDA82DC3F45F394BAAE1BAAF5FE217BB95A30E2164C3193083013EDB
-950B9F2F8559B483BD35507E77A8C59CE5E6571EF07AA5ADFC51C4E54346AE1E
-6E22EE5A58C7B31687B936299B29547E214971677A0D5FDC566E61EA08E86BC6
-976077F73FBC8EA0CFCA796D37DDF0977130FF25C4791DC6CD5B7450A594BD1B
-291A8650DFFFAB3154F4129AEBE08C3A0F76A61F23A6662795F20B096772DA49
-FDC818E8F431C8D7488139A55443B81474F5D80D63E1CC6B1AA2241C0AEE0169
-9077ED92D2CB61C71F765AEB0A26665F2677D214B6C5EF0111171B165531D3E4
-7E9E43F1659A4F3E96BFE53F74D902BCCB2557013D900D19B86DBEE27F12CE31
-A94697D4DA12D98DF2F197BF7B7F6380E1CD7D1F9E13B65D5841A990642DE6F8
-0F86E9C087D82FD2A903B7C5191D7D87CB2797C3B24432F7D29BB50DE05D37A5
-B9090F2D26B1AF1EF3DF11645E317BBAD8136611F64885A3D635C3C1F1F42995
-83BB3D6719766FE2D016B42753A30887C1D57DF9CB860FAC2F95BF993EB7DC4B
-F61EA29CCCA247F2728D4504648A8EE0B7FA0A766282E63511F89CAD7B612348
-7E83A9D8F233757716321B251D122D9793FCC20090AB7BE19B1575A3AD6CB93B
-9FED5A9A6CDD855A1F09FCBE5C9DD97F93C49FAD92D3DAB4B32DFAE82E36165D
-5A6BFCE2AEA0F568A481C480D75C1F32ABA8FB904CCBF3FA6AAF58C02B501A62
-4D6C1F8F690BB4B7325A31B13A712549AFA18174BDFDA6010BBFECCCDFDB06B9
-406732F56AA41EFBC80266EBF0B9852EE08E76EEB14A276935114FAD24214CB5
-D177262C90AB93798A00D55A152D635C96846D70395C7EAC49F7A750027F9024
-3781BEE23D56131397B4B241BC6976A4F2B04C8C64EFD55E801D833664019765
-7A22B810889C096B55AD2B4D8963CE240D5DF0FDAB71E9091A167A80F5A3418F
-DF87AA78FFB1EFEBD8A2C97E8E7667B289BC23CFC16F0B138CE179402015CC4D
-F36912CAE318490F6A050B56B778DCEDA7AD335FBB6F3F05C526C8B5EF0B7BD2
-DFBCF5FD5C40F39B6A3455B86B34E89060AB0E6AB96C3914019CEE49EED033F2
-EE547725E1EDD60358DDF57F9EC734134515949C482D52079316D9A2481A1547
-94B4CA6724EFABBE3DE13F07951329A119D84A07CA8CDB199704694F4B3AF26B
-95DABE0B18F99025A88898EDE46BB3C314FDDA77018279B5DC8C854096F3C7F5
-4DE88F3BE84881A03C5E19A77B769EC57B4F6E5BB885485CF242A23C6E5FC322
-04511A00F27AB274232A97A2E5C45188538013667C552E804283C579F1700DD8
-B3C70F6D22FE133C15FA6D5095582333F9B4495282BAD0537B90BC6548427F7E
-12C9D744869A3F5F133CB2CA078C83B80F95AAEE5D64203110CA1AF12E5E0273
-298B2EB72DBB5FBC3F6A6D7004FAA17AEFB086870C83E8D742EE560DEAA5F727
-CD7BA16A4D6FAB7ED191AB92BA39300BFB73EE31B7820D85DAE74DE35B2E3FF5
-8879D9D02B251D7903CA30DA07E2B5694F23631CFB5EB08656AECE21A93DA6B9
-EB6CE1A290631B795A55CA75A5EFBC99BD1E21C40D7374181C96B43B696F9079
-E7BC8BCC96044E09E48EAA625B9D5C53CAF79C84E8032A0F976EC2FEEA9583AC
-25DCC02DEC8D4798E0C145CC523E5EEE82A1A73AE0EFBB08876278A7983FFF86
-527052AC0100CB273390888702DA5C62889808C3DC427BCC5B0A8D787102E641
-2ABFCA74C325F26A74AE2CC7637C9996547B34F33CE355165910F2C0E6445E7E
-70DE25D7D187EF97902D4D535956A4ADA1F1FA0CE9881399477A0B72CFB5F841
-1893157F662F071419B5AAB14EE66E1D478AA9DDA4E4DCDAFB7060EC629ADFAF
-5C779DE9AB8A65A65722109954599B931C42DE431F5A988459BE94F48F7D2539
-1A8D09133020EA37FA9C7CF8A32C9C1BAE51E112CFCF59CD7FA6E9676BAFD4D8
-093CBF4FCC3BB2E468ED55E28D75DF47CCF621662632E2087A8227945723823C
-02629CCDF94D5168A3810B815522588487CD8AD69EDE6D7FA593E638F603D808
-0E2DC9278B63534E63D22876BDEE3A7CAB88C637DC55C9D1C4F3309C01DF68F0
-3919523B2CE7CA52961AA3C2E618EFE1BBCD2C8DC65EC648CD380E3421F287C7
-6F7308C13F6D857C74522BE6A0B09E15420CFAAE8DE28CFE6350217DA9DB5083
-D15B0CA455D343119E3C1D25F1CA143D5568D63CE32856F21328D5AAD69236BD
-208BEC83099D6652E91253440A613155EBE7F2D902CAC765F5049FB5433AD361
-7C7EF2BF062877DB1981B9481F961A097D0402CD89E0BFA180027E29B990C2EF
-138AACF0D146CE117990CB9561FA6C0A8D1929D5B8BA4C4D9168D6A744ED4B4F
-457EFD4B36189371E60DCE4D2D97EDE139145241DFB26394A142D4457AFC0E04
-990DBBF7E40FF9CC5B0624E9B898CEED3A63865690D1CA256330F472EFA9059E
-81920A9D365AD4CF9618E64AF8FE19DEFEFAAABF8B878C42C07490AA600C0E56
-76E6C97F5B0038169395855E4338C84108D1ACB59E5482AF5FA034769A116EF2
-F408FDFAF2205DAD5AE5324EE9F1AC7192E070EA40EF350817F8A69D680DCEE2
-1B30277FDCE432D5541D27536E9086C2C74B2B0D5AB976C3E188EBED10777172
-76F7D7F73E38D15D03809B350C2F55E80AB7EB7D4C4C9B7DD97179F36DB5E4F0
-1140662023CA3C389A8B168A68303117179A4AF84A64B2C2A56ACCBECD6A98AA
-14CD43B8CD3FB79202D957E0D5BFFB49967E5421426205FE24C9608E5F591854
-DF895083505CD0A4F53DA06D931AFE3BB68F3FC3DCEC7059D3FF5218BF5F1082
-CDEA29587E7E9E357EC1329411FCCA0C3078E9787A12EA78D59B2E8CF2AF09C8
-DA12B2B0EA4A43283C8FC9AC945EB0E63CCFE272BE758B0F8B2C9BAC46F3BA97
-D05C0E720C584E805589D2804EFEFEDA9962B4CD5B145FF7305FA959B660FC9B
-37C79503EBC2D1639D2593B0A9F24EE3CC07352614C0B6C531585F27CFB6EFCF
-044F2F2A261B0C2D79FF78899DB6B1F2FB06BFAFEB488504D2FD579F55980DFE
-9D15DBCCC176E41EA7AD6364D40D931CE561E0AB57F5FEA21549290E539A3C7F
-DCE12F4ED93538385B2D30DFA578BAC6DC92A144A72D1C2CEA334ACA6F6C2133
-D1996B97AE8B102EC56426ED5D59DBBA11BA7D6FD39A8692F0931B64538975F5
-61B79F8640773407E873FB4714516037A5C6FFA8C796A9B01898CDFDC2A3F2A1
-5D3BD4C09165F6AFA9EEA3E0C84DB1D058A4C54EC0673860170038CC318DCCF7
-1F3960F12AA2C9447090D91B0EF8A320E933FC8E89FDA5D5897266A4D156BDB4
-077745CC076FB9A12F9D3BE989E2F8ABF44F4BF842DF548111DE129B36B535ED
-E5ECF8AB96D94EDB9E0484E00BF942491ED250EA8E062FC59F223A85F26649CC
-AB1AF18824045625756CE044529471B253B1F3B5FA2BBC3DCEDC457C0A42E29D
-7A152AE14C8D60122C5AEAF5D4360E51BE81A84F3A6CB164181DD1B62AB204E2
-3F078794D9FE570D6115B1C9DEA193996CEBDC5A32D8EF3EA3C309B9F87C726C
-5F2957494663A92639A418C450D42D027053DE7342921EEFD3CCF162DBD32E16
-9C8FF39084FE1117958230EF168E6FA9B48590EDC108D7FDCEBD76BAAAFFBD0A
-4EBBA485DEA8C89778456A1A36F420FE78B0A8F854CFDE7E26E76CDC2270C983
-1D5D914F3EEEC7E4105228ADD1646013CAE11C03108C6971EAD9C13524537A4C
-2CC3D193CE5CF0FED9939AF23E241FF6C82FCBE73CACA6B4B6F88C17A18CE4D3
-4F49BEFCF830777A1B26CF228DA61EA5177A826645B18F21C10E06C748E113C9
-03402DFE318270EAA54F518FF635C340FF581055C1529CD6976951F6819D5A45
-A4DD081C55E7597D257DB9E2E3DBD46B0878895155DB0C4D859B1E61291EAFFA
-7F2816E365A5D6AF6EACFD49362833DE3ECA447871D071BEACE9EB8591F31EC7
-CBCE3C2EA428301FCEB42ED2E082F89476F39F7EB993044B8DC23832B25DD3AB
-FD6E0A199A3CF03A79F323FF826682C8FEC47BB2B74C22A92D01F0E0CD8CEBB5
-C59ECEE83A7B02E949225EDEE26D5D11521DB381A26E30CEAC4D8E2FFB87E0F1
-44ED94C0E3C022D4B2DC2922321EEF1BB71DE6C221535B0EB6A9837C8A775440
-BDC58FAA05C859F05A654242BBB4620D92E5E8B3C5A937B98064BF97549E68B8
-8FD29B4E57EE27055217C910A199900E2A465051AE0573E3D46E5CD541BBBA59
-5062CF9444E95536CAB30FDCD35A56AF4F5038E65690633DA9890CE8229F6EB9
-E5BAA68E54F9AF6590B4FDAD42B7BC0A6708A1C2E809B743A5767ED46FCB9847
-8274E288E9B2A49803D238ED5FAEFBDE3863B29D55118E3ADC937E4B02287439
-B452DD41CE8298B10AE99AE275D45C5E0EB5680DDDE9F449855FF97B28AD1A9B
-BE728BC56C8B4632938A4337D794EFDB56050F5459C031DCCBB1CFAEBBA79348
-F5514685F1F16FADF390B55DB5B671D0E020C03C8D301683FDA4BE8CDB3C7948
-2F5648A2E049A495608CE414857236A70AAEF5EBAABAF1A0950A2B0B814AFD0D
-443CD6D2E0365332CEBFD557DD16FE1E3342A85057C5C8337ECEE5466406A324
-B7A5F881BBB2E442C9775A1C33B5321887E3A8E8001ABAA65B1B2BD1191D6659
-3BBD32F2B01A37BBFE2A3964BF37646262E4D667BEBCAF970226BE5AFFB86A1A
-21CC0D74E7376B9634EC8BCC46D551FAA67603D4B707DCBF6C65D932FC76C2B4
-8B2D03F5E29C4E2327F5791CCE1E42395319739422607AFC0B6962680A04A5CE
-B9FCA10C3EA7F9B1CFEA675F44029F68E3C9C0B90CD7751040239137508E1E3F
-1FFCA19DA7B0933ACEB8239703097AFA4DBEC0FD8F94AA7854F83DF191A44326
-EA23CB5F18E342A9110D30A1D9427492564E7CA82FA80CDE8B7ADD8787B3FCDF
-A5D52B14B6147262461F3563101CD20A457672F78F9BCB7F996D7699975C018C
-07ABAE4E0987AEB32A45577BA6157B51E9BBC37839FCBB886B8987389D8C82C2
-0281A89F98874003140328866916A547FF0B47F24982E346FEC11458EF35C95B
-033F35334E2956A631F7192A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.0: CMR10 003.002
-%%Title: CMR10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
-/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMR10 def
-/FontBBox {-40 -250 1009 750 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 33 /exclam put
-dup 34 /quotedblright put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 37 /percent put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 63 /question put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
-569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
-24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
-2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
-8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
-3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
-D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
-D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
-03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
-767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
-8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
-DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
-94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
-22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
-72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
-8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
-344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
-64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
-07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
-1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
-78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
-CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
-7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
-BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
-4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
-5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
-EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
-EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
-4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
-0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
-C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
-314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
-DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
-EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
-DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
-DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
-7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
-1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
-69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
-EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
-7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
-CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
-38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
-22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
-0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
-BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
-4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
-3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
-B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
-15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
-849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
-FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
-4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
-1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
-84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
-7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
-CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
-4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
-3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
-F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
-F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
-DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
-D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
-56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
-8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
-59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
-49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
-87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
-8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
-C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
-D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
-D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
-F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
-0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
-5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
-229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
-17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
-01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
-F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
-3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
-689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
-4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
-A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
-DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
-364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
-7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
-26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
-43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
-8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
-C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
-94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
-C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
-B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
-4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
-7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
-204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
-B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
-7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
-279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
-E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
-CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
-65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
-BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
-6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
-B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
-63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
-4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
-A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
-67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
-DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
-5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
-C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
-9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
-B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
-963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
-D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
-B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
-72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
-B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
-8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
-3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
-668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
-ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
-69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
-C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
-3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
-407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
-11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
-2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
-4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
-2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
-9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
-CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
-DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
-0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
-5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
-9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
-EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
-09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
-2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
-AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
-324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
-486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
-EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
-52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
-9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
-4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
-B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
-BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
-6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
-B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
-16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
-E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
-546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
-6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
-559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
-C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
-ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
-04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
-7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
-8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
-A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
-94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
-C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
-41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
-7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
-18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
-9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
-E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
-5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
-4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
-E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
-9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
-89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
-7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
-AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3
-3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E
-61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B
-F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F
-D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6
-652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA
-07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11
-6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB
-EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2
-BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77
-2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3
-9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B
-B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E
-CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E0009760E9470F037FDD15E649
-93E9C8FCD9436AF02447C7F5AC380FBE69D1405189E8DBFDACF0E7DAECFA095F
-E6AE1A2E9ACFC032BA9A5DEDE9DDEE22A88D9A1F1E0FD9BAE2D88FA168386D43
-4B93EFF3AD84A9C05A80462BB3A940B2F7311CF7054F501BDD4F1347213C9327
-5653B73E9D78866901235C66B0C49CBDE3A1BA3A11991E6B8443117745D96020
-38F4A74D9676E4E99291D4420C57ADE4A8D5214D07B14916D83DF15114393048
-FBE0DB83223F609ABE120AB877FEF549B6E2389487BB7ECF1979BCB0785DAD1A
-2916961A1DA60AB491FC90BCD6578571226B4DFD204E75FF18FB5E72DFE8A028
-C66F8576254930567A877DBD22F8372E7BA4F23F9497ED653906F5F67A66A1B2
-51957AEB8D443550161075E5523F3D2AFF386E2640B276C3EC5EDAB74AC0DC94
-7D975D7F5781A652BD13AA7F97ADDBE68847167997ACDD038E74E930D8248F0C
-2CCBC094031C7147BD8D4DD664184695CF8C474845692540FE2B8A72CDF9DB62
-BE05E15A05F59D56E5EDBE7C371BE5CB3B276FC7A03B5942057EC3136591A1B9
-15E504DC497B663A9DD1729EFD1478C233B9317351D000DC0982F061BFF25A3A
-8983E560AE31E321DFB137C77C0AEC704F8DA99024232F26AA6920D58CB17DE3
-C1BC8E20988FBC4705E594569BEFC3F6666785B2FFA49367E3CC695F2A1EB846
-DEB37E120B0F4C0783C0D54655C143C4F74DA0690C6D08D07ED225F361BC0F86
-572D79540730791DCAC15823991FD5DF1AB8F25F84EF40C085B17C9070C59EE6
-31DCE45AFA78440BDE4C69A4D954C2006070A2C310179851F2D39B1B5D3EDBAA
-289570BE80F25D75116BBDA61F002B832F9EF2C32B53258B15A1174225168B28
-EC3324C6EC61E5711811E658A1BA65C8D2D47CEC6071CD88DBCDE9CFD2BC34DF
-1ECD2226AD588B50AF2399D171E99D8086DDE33E24640A767F249797B1B742CC
-F4E95A64E1AF8D88FB128194673CDEFD6A1672DD1D03B6749E729587C0CB7C6D
-13BFC785759F35578D611E924CD89FF87DFBC5C93FA7BE150624825F7D137CBB
-FBFB1238C1A397826B8D1DF0A39EBDABA5F10B37FE8C27568E1C088F279A0E28
-020DFD377694024FA154AB5C06EDC3CAAC3CB5A69297E1079F5C2F351D81614C
-D73ED708907A96F6F8FB0994D3247045E8D41028432E91C7ADB2F22066D6F8D2
-701298CC9FDA7928F99CA135B69808AF6FA1E0A3CCE1BFDE234E9218A565FE28
-96541CB9381E887182873FD7866F5F8415EBE92E51E7FF064D6CEB7BDBEE4DF9
-97633E53488AB11EE93137AA185AA7E4AA043BC73DF1739C92B4D3A8C46BA689
-B9F8FA73BE010D7C4F9007937AD0EE3EE4E3041C72A2C4DB92C6C5433DF33A10
-700F9E891885DAFDA44A00781BD019A9FFFDB6FDF9361520D50AA5037E654C8A
-ACD179511AF61BA10DB29A0535972DDE8B838091B5EC3F6C3408E02B8CBB3FD1
-E213E2C53DB7AB14D465CB0E4FE2A2CAFA20E74BF4601CC23687FA7921CB1B86
-6DB57E04C99BF7F56FED75A052362016840676DE91888490B4A1DFE0C079C88D
-C8C3BD3527F7C006E1403DABB47C3F9174208A379C221931724F06270985BDE6
-A53263227EDB00124C5677613BEA94BA029F9D6F8BD1F7B87C4426210AE554C0
-7BC707199BF6DB673E40D55741CE1F0853504A414099BA8E0BC7F5EBA5392684
-79552A5D4F7C0CD3A6D80B18014008AB011C8C66C74D32AAD748EF30C1AD484D
-B56BFB090C5BB937E81189912665F332911E11E83CCE75A79DEC2838E811D5B7
-DA85AD6ACB7D8A98D15DEC66504CF2131FF06AC9A8A4FBC4CF34EFB8455C231D
-0F73A50052AC8FCFB2B2ACB95033AF04078E9CB99551FBB1C46EE6C413D86C90
-AE8BD7FBDB7BA6E9087658C79C4758E242256C0546DB76A3857BC89F26A4DD9A
-F4A848104BF1ADB2DCDA25C79BBBDB66CE1C1A45C7427FE7CE5BDDA7CB599B4D
-B5D346B15414DC9688A9D00F0372DB98FD33E6164E5D78D6CCEEF0FEA60A7F5A
-9873AA7E2A7F98893AC5A9598B71BD06D13D2766489248190A262E5EAA459888
-6D0A38261697EBFA55180F3D416C2190B36C309202D1619A405764612BAA3506
-7D157F49FA1E0A7F252FCB0B8459A30975E02748AE1A891FD6BB288E0D7C144A
-1D348F1DDD145912678DAE1906796591E35012373AE01E18515F5CC3BB29A629
-F8B28B54376A9E10D0CFB29B81981E66F27B6AF44DDE0A3621B9ADADA9588201
-11A0362FEF840B200C84480177C9E3F0777350BE92707BA916A90AA81160D498
-6417DB6C7E15766EC5C9058CD51879041BDF2D2514B0D6B968CA0A300EE2E30B
-6AE41238D76DF324B0502BF79D58C2DA1FF7E384891182AA59918DC8EDF92299
-BA162134FC3DADB6FA5CEABB94D1CA9BE1635F769EAA88377AD96510A4DA8F8C
-5319E0C06CDBDA1BA9845302F716DECFF7B965BE413A7BCFF3C4EADC91626070
-9A5776EC64C67DDBDBBC66F16962306631D70E62616DE4997ECFE39DC6BC9A75
-D2297C2159066195F43B7002138456AE7EF69220925877C87405D06144D250E3
-55EEF1575DE8564BF98E2ED403591F2EA4F6AD71A126A9B1F5D350819058FE4A
-949B8C3A7907A725B463B752EB3B44B090C731EBB86FAFE24340D1A89D3FC0A6
-B89E64C3FA480C91DFCCE4922C000B0533A052FB9305EA3B58A38A3AC2688715
-A7C7418637C393439725F0509B3B08E07DE5E0350A005E4C5DB815CD317EDACF
-6460DADCF9281BC6523DC8FFFFE18CFFB2EC61884E7B324806851A91F7E0336C
-F86AF2C88F1EA1EAF0F87013AFC7DAB6F6BE426D92A406437E38C75614AAC461
-4EDBD8F129D985A1385B0F9F1A4E6D9936FEC600F4E431C653DFD1D56F694471
-FABDCEC7BAAA0C266D35D7380AEE587F61DA5CD1229D99F82BFA7B1A45A165FB
-658A4E7A741E11931D6E5C1358CF76056CC0DCF4B623C2A8CCED91694E46661F
-BCBA0225541BA9A58EA1F2E2B2402299EF2B691C39A87AB3D5C722DB2738EDC6
-8ADEB09750D714286EB392D198A55784AD908470517724B92849D539ACAE89E7
-A8E37CF20CA87635FF92F1140DDBAA76CD52BFC0B40FBFCA768F837D0AFBC7E9
-BBC89422CBD6429B284F67AD2DF917AF69346A5BFE8DA3DA8F9597C2265F3BC5
-A90CCE79572DB45176AED6E1A5FBADC98816F0E29BF58DBCEF62EF76A8D8C845
-4C7E9AB94A0EA43D2FA271BEA800890613D8247171938596CE4948BCBC7960AD
-5B2BA3E0A4384749A7D88F3DD515CC1DA7292EE9775B67F621E156020419D0D2
-1A6AF5B51E64D3EA7D182AA65AD1F663FB28739B86F9EE5880A5A96C3AE1C563
-7A002FD0ECE3AEE80AF18A0FBCA3EDD496C18C8974E856BA39226C382CF8541F
-F7E2C35B3CEB1DEE3BA8F346199944BE2F350E4C3DC89D789250C3C5192236AC
-513D1A3058230470BBA11E0B39141F48065B808B6FC459A897C304B749B5A656
-38B55950D6F379A535CE2816498DE36D03747FD07514C2DA1764217BF2DE17BF
-C8FB2F06382136D301953DC42EA0B429489275571F6B86AAF496E6A2EB196547
-B76BD6DFF6054DAFC9CDC11FBC541426DF0351ED027FE76128411F6F62DAD159
-C116B43AC59C885B3308B158EB74405541F2BD247BEED5D3B35554EABCC133F1
-B71EA3C7C7876661EEDC141818A3E8A9C519E7054E26DC023320A0166FED1C19
-DB1C3044D23E5BA7F039D86ACFBCB5F881A6FF9135E1F5DCF910A873E6F7DF8F
-11372C039D09A875DDACA3FFADB73504C1749932C3792CA80D78979CE0269AD7
-47CBE7CA39E26FCE1E71DB711D176644423FB964CF8CCDF16FBB686877B1B99B
-FC570BBEE55DC7F2AED8E81FF38DFD61322F1FB69E5CD6EEB8135128A35FC23A
-5ADD95D4F873B2EFD14A1FF76CD20454BD3BD2752C9A5F0C21F1E5F39C5865C6
-D4874580E6224B22FAB9240E0346C843AF0C495E7FD5B3310D90A6308D47E882
-EAF80772C87D3F7FB9DDA52F253FE4E3D1E56EBFCBDB9BB9A977DC7E9772428C
-47EDCE4D4F793F4DB9C66E65827109E83723E50424A87B36D6E74DD05B327128
-E407252F937ABE315B18312C8BE965E84ED9C895D275A331EBA6E872DBCEE1BB
-C6254960940B95F46CAB4F8469E7412F546E62683AA356366F454308367A789E
-B1E6F3A07B87829111DD17856727E948E0FAECA4EB00192F125C2331011AABA8
-F4067FD01D56853FA445ADEAE5901242DF460ED8AEF939332F87D81DBE9A30A4
-18884AFF8A7F00530BC7DDD3A1E6C40549BE3E567B225E7C8844F0AF3E19A4A7
-E61F818A5F1BC836012FBB9AC4A5AE737FFA908EBFC88B2EAA62877B05B1B1BB
-65062420B89BC4C3C4B7CFAD1148C6A373F26ABA9A8DDC74DBFE47937035DB49
-20F0B8E788C0AD02381732BEB2B9587D6B50E6F7B4E9DAD171B8C64B60A04776
-F70BDD9C6C8831AE39561701FB54D68810E4C3249C32E4D39BB40C500C8A735D
-F316A68985E3A0338D8CF730881326E2B76D75BD2566D7387C0DD8C5724592D5
-1FEE9798B269DE09387D3A1EDAB20063BA852726BC7EF07CED98E2DD1957F94F
-7E336F6047A935E128444DA8F525FF1E458ADBCB1B6D910B68955DCC59512591
-2F1228007F9524A0AA6113FC6805AC4ED806D5CE6E03AC9EB6830EA9A7AE975D
-99A4FDA50B92FB6977BCE8BCBE2D8EA44BCE9B39718584A452205C4349561CBC
-7B1E281C058D0BE636CDDE883E1C1AE3802A35C5426443AEB6FF705EC26AF94A
-2A7BC536F373C0EBAB41C780E56F5BD1CA645DCED5090CF32D4F0E5A780651A0
-477CB27558B2D0E2AE3D0A02565EE38D5F437D01308A6BEF55E80422F5B5B56F
-6DD11ED717B034083F9BB1536D76E321255A137E618B398875B5BB8F5AF02B6E
-B4DFFB173C424B24BCAF3C9271A54166A65927519C9770B0DC44CE276ED0C20C
-8EF41AC3AEBEB0996DEE664E8F872023710D0BA81DD3A3EBF79BC24717BA1280
-9E9CEE362F5BBADAF6D8200835311B1063FAE4D6EC8325A694EC516AFD24FF99
-EEE758AC14E76FA1573462BCAA75D246AC363C412185D20CDF1539011C35D1C9
-B3B3717F6A37DE522943CF9B3D8CF284B4C0068A1ABD9B58FDFC20CFDC45BCA3
-DD054AF00C18CD7EAF8DFFD45C28A82C7B417AB7188BDB49A5871320B2EFE0B0
-25CE25F3BEFB53856689A44D365C55218190B407B7BF9855ADCBEC5C0094CA63
-11E014EAFA0D1BB324D3B1D94DA4A7AAE9D29C71E2D5F122F1C79726731FD066
-6545816A5E05DE1F8DEF865DDAE0D80E9AD0120A0C81384AFA5BCAED3F8FF80B
-B9F8C8A7517A3863034C312BE64AEABAD77A5269253883D460DCB2F0A3B28700
-255BB96397D1D613A14C3368C9F27F3E42B887108793F4B12E2233E5A3620BC4
-F886F124503FE64421C1A40C37B25127094476713D39EB73004CB56E877935BF
-BA0C7B095414A1FD59CA11573B86EA32E297BA38B907938B3A25992F0563022D
-CF54FD863B8792EFB58A27DC2CA6C4DF48B9388F5676CD462C1AC745488F6BA4
-2B923427A7D29935417E010099FEB69B16BE5A2AF7B4883BBA80815A09693AD3
-2B78D3A939FF18798043F7C88A76BDD527B554BEBAEF922FDC9B381D72C7CD3C
-49698A1444FC33E276D3B9263CAFA375F1E64C8B39C89D4A65FC42A7183E41F4
-1C3F0CF7EBBE5260F862EBBA059765497817B8597DECFCDDDA5C1D15AFD3C3D1
-6F1A8E43709540948B1E3B41E32AC13B469222867483B0E765FB427300AE9BB5
-4CED17DE5C45EC8391687036EF43D57835CFE689B99FA0B860E3FAA6471417AB
-BD505F23013DBD726BB5645F3006BDAFFD5ED0CAA7428EAFB448E0A30F8B7858
-311E3FC16FAF9FAC5E86998E4954AC4C9E32FBE6E9DF280B457BE80DDA2959A4
-0A874282A7F9AE5236843298C26D5D4160A4554ADBD3EF0254C4F2D108D49DAD
-E1D1B996D5147560D574FC238DD005D18CB32A6CD73C265F05E0AEA17C73E3F7
-2FAA00290D1A6361CF67EEAA68800D9212BB5B8F0259FC8D133A21E6BD375FF0
-4BB0FB1E78F065E51298E97164C1FF241336428932D1AB97E1D0ADEE93BA8903
-A8124A3169AE0B905465D7E8DF132D903C9B4C64074147F2BDB1F722BC261E10
-D366C246E8D664CB57A92883CD7174218655BA68D9919D0C8678DC4E7A7E66B5
-DD7DA4E011769991DA9D93311A06A623B680DDCA32B287104A1D7BBD05AA061E
-019BE06684F9BF987FA635B9764DCEC3A3286340A7D50355663D5556103267CF
-8CD9DDB4DAF109C47176A1E9443F3E2703788B85B6FDC8951783D08F02DF72AB
-DB5F8739B2B9B38CC813796F48FCC21B0CFEBC8F074E464989AE5EDDEE5CC3EA
-69C281CC4CC295360FC11F67AF3746CE3598A215FA109709A4B193BFEA270261
-8ACB9B7081A9D60CC49AB3F25B0B6F922672E58708BD707AF7DF35E32E7CB939
-CC25BE8392B3DF687FB67F25342671FA831264230CA39D189AB6267095B7CBE5
-09DDBFD5512A8831DFDCF53CDA45E3F0C097C0C4DA1F12589F7AB3D83178E9FB
-2E9B5236ABD35A872EB9A37ED9545C6ADAF8FF2000E67AA8C8A8E61C9829F29C
-5555FA19BF6949AE81487EBA68E8ACB6244ED2EE8CD537155B68BD1305FCE20D
-710147B9AB3CCF6BBC0F2C3D8D77D783ADFA68B208829F05522211E28432729E
-AE8A8C09C04174BAEF8D560D62733BBAF506D2EBA030AA77F18A38EA8E98B38B
-C03B5A3C33A7B36EBFD1D55D503FC06F19056EEF9D1D01CE279D2BF23B04E880
-D6873E16AAA583ABBEF1EA8E5D6C3D038738573081E264C01DFBEEEF02B8844B
-19BB8D27BAD7354AD310ED720DE2D4240F3106275AEF6F7ED61735D799306DB6
-4A3BECE20525769A0D99EB90D957297D5913CC48A98EEE84FEE5D02B30651CA3
-B7573DE50F1B9D8D50E5746394DA8C5BA5D71CF1647F80BC9337F00EC31476E3
-1019B41BD01DE7FD55886402565F688D1E09810DD8AF982032B048548D87AEBF
-B20C6B938C6D8F96C2D7B42A1E69DBFE6AC28D166804E03AC698B180A48503D0
-0549D2DD2EBA5C601841A711DBE9D7019E5DE56CF78457F412E42CEEC248DC5A
-C0F349903F745E40897D0331124749D0F9F9C71B704E4CB0898AC7120A880215
-236800020AC60B1E5682656534F3332C2DB06A7510AEA061D9206B4C033A80F8
-77DC8EAF7D32A7B791FA3930647CB1A29228DE62A9733C6AE072144BEFF15651
-791C8F99508DA1E3F8B451985DC68251044FEF9F91C7578A2F3956D97D544D3D
-0E6A3F7719F9561B47D76612D833BDB64780728A6456E8CF273BB708FFFEF743
-CF069E55B1A871718E02778CA80A5D21597D597246C260AD390E5F4A285A5CCD
-E55AE1C37589EE307C6D2E1DEFC605C9BC33511968CC8AA7E61F5390951087AC
-F4376C5BC48DCB22D8F0CA6CABF25383616DADD012FAD655FF4198245209E305
-274D18A98D760203C8AB09F7204A967D07B75E7650BE0A0595742F821F74193D
-CA0AF1A4875F50D1F3F2786C5532EA3913B3589215386E78157D6F38C4860698
-7DC51E51908A7AA304DF1233ABAE2B3C9B03F2496B320DCA5B7DE98FFBFD6FF6
-EFD2FFECDCEA32D0A7F799382366C6325B89C94B37CED9A1A1BC88602AC5D9BD
-1BEDB8D5CD2D38FD1FA33703C41F979BC24F1609B3B35295CF756551F9F2D770
-ADC3D23C5B7C6A777CB33A06791EE8481BF577A94016A061D8AF8882466F7499
-E66E7E93F104E599C79CB6F76D42608B9BC1171A9AFAAD93E846008330DC3C0B
-6E8BC7623E8693C1E7E8B5B8BC426B1EF8EE705D2E806486775BAC15660BDB75
-66BD708939D23762BFB8628A863C4F9978F83733049F63709066CD4203476CF4
-575DB5CA5B5F01D8E4DF345D78C2A938B5EEEE618507B2AC9EB9C4BC9B64CFBD
-AECF052FA5D93B306C075AA8A645E5B93D1005C252F0DAB540243C7E3C3EE52C
-0886A5D89A30DAAB4ED8F38ECE11217F0198347E62BDA7A1BEB6D46482BE3726
-33CFBB23A78756BA63741693D764467273078167DA48362985CCEA2889133C7F
-A5B0BA827E92333BB02221F6757E4ACB8C2198BD7A976A29387CFB9B7F51C65C
-2E151D1D1F73470B14587A6F11AAD77465975961CB77306E7793EDAC65EA7AD5
-E562F2673FBE78794C9D38659647EF5189F6ADD9B4250085A59F84C0448EE47A
-A073B712B6B1CE984DDE3125960C16AC77098424004666BA6116A042551B48E7
-507FA464B21209D31C506D1DAFB628FC2AB30279E6148F3A2DFDD183FD770551
-0CD3FE854FD619E7D2B62A8888C300838E41744BA759EA4E4F19AD5CD249E8DF
-74E81BFBFBEE42B2F67370B748B1B3FD5C6201866D8CFFF8D9ED127F43F4009A
-CB5D9651587B54ACB8C6D410128362A74EB358437D0CEBB9E0FEA7FFC27A5509
-E799762B27F30B5FAA4ED3B492752B04702E48B1D0C55155157FD7B4E578A560
-5C0343A472546826E9B9B80E91867D2D4C3EEC02133BC338954AC6B58499AA9D
-24CC3CBD2023E962D147618C08BBDDCDF36E91EC2D51D6DEB97A1477D8156707
-9C1B858385FBA45CF0FE74563A5D5A51ACCC3EFE991429A8CE57131AD56F352C
-E95401BEE11B310C96E9C3CFACACA00114625BA7B4400FFBC5947574317E8699
-90BD8678107AAFFE1516A59027E9907359B61C6B8A97B4F99A338BEFDA2C25DC
-D6413A0CAC46051E76BF732CFFCCD0FF1408DD26C76DFFB54F7745C79F3A7ED3
-1D9F8BED7C6977067E6C8E46EFEC63AE0D3953175A6E51DA38EFA2DEF475DD93
-1C34376F5C6C6218DF78EB84773361B9339FA58A88E96C646F291CEEF398D281
-E0DEB2EE21C3EDE0996427EDA0CA0A44247B1A0E03BD9366E75F763C9B1D2BD8
-00D2066BEF933DC6AB3586EEBD04E6D750A22978ABE902200200B468135B690F
-B840BEAD5EF80E068F6F87442D93848684A127EA79F4A8A24DE737A373ECCA3B
-B405847430C138E51DC18C367702E868CBAAEF6890FEE68A75C5781F32B96D86
-BF5A0C99F04DF2B7FE968B6566BD816C96D7EE35A863C0D4635047FF09F68302
-EF62B9293BBB8BADCFA64C6CD9024C4F739C8C730BD62F2B613C6E1923F04BD5
-62C556E3927411C2655045B9744C9DCB7F1DA9C1B5C70A145E9A35DACF1B68A8
-B5DAE1C62DF9220483F1DC721D559B87D7CD802AB539AF1BF3E434EBCB796A8E
-378B1139CB3DD3134DE8F40C716BA87185D3E406E3C941D336A1436D891803E3
-D2C8E627204A343811FA82FD1A232FFD6915501C1B158E890C534CB94FCD9ABA
-F64EAF649056C1198F0F58F56D3E1C91C167D4D9B4481D48A12CE297D5DCD0BB
-8BE16BF18DE1D58F7D2587B70FF5734EF8391DC5F709BC39E729713CDCFC2EC4
-5E7AA863CBEE1CE8185E657E7FA6565EBD6868F478554E96FA808A708B48E463
-AACC817DF43EB9A5233606A402F3A83FCE99F73B8DD819A4D014FB435BA7F23D
-F2AC40C473A34FEAF0A5DE457AB5A18A6CEEE95A55FF604AB5225C5C1DB6C6C7
-0C7647F075E5FD3CBA9F3B316887B4A01F1C2FE09719B4BD09A84C5A3DCB82BF
-F5EE9FD0133F987FCF77098E0CB919CA7FB8468059FD35088B97705F180D5A19
-CDEFA29A02C5D3EC4893985A2478B0BE83B18FABD32654040A2F2A9BF7BB4F7B
-5781D2A6B5E416BA14BDBB481B3D619B0C885CB392111E32B2AD6C8BA13E9F93
-49CC4B5A35B1F93B68A5ACCA4823DE44BA8979181E50A3804E43D6245488A15A
-BD51999A729A20B9DE927F728E59312ABCF89176C35BDED4BEBEC14636B19989
-CB8BF2927C1BDF5460BBB09BA81FB83020BE4D4B69179C8E3B838D6763946166
-B328ED82B448CAB5EC2331CE7601EE8B39B334BCE11038B0EBD8437E5463C640
-73C5FACEA06A219AE83515674CEF03AA2F5FEACF656ADBAB944CBB237813CDC5
-06C303EA518CC59486410D65F5E5395DE84D0EBF8EA37633BECF5A08851B4758
-1BAE6460B2B67D29A8F88FBE52A26DE7A6E6D859CA00BF437837DC123C459B9E
-43FB6DA6B79DC16C60F9035EE3B10E2CCEA9F7ED4FE29667E0559A3A34F6B550
-E4184ED8E953247B104DE7D912C5BF66F3259214FF091096DAD710C9F4EF531B
-B4C6B3BFBB4715F3654587A5EAC63C917E100F37862B03EC240E762F2DF72CCC
-9CBF233ED204EB966F6A34519C0A169EA6130D18CB8E53EE96B7A63C828CFB28
-45CDBBF7FD775137119B7C7BB2A665074691199B387ECF452A3DC5F859D4248F
-3A02D4D65167A9E6C92E0A16D293ACE234C049D98E961D14D070DF2A7F55C232
-B2CBF0378ED83686DF80E05DD417153A3FB34A7B2F0DEFA69A34E19CBFF56D1F
-14EB4CEFE99DE9CABC5F0FDDEDED79A50F29151294E2576CE97CA00F734702C7
-B94243299D8080957B7102AB370D5448226870CBB5DEA5A295D3D5C8F7D1B5C9
-44E6F16F703E4CD3F74B37AD19BB53635CC4801A317C953F2A131F82DBF39694
-FE552FC18B94EEFC490A579F263DCF470D2AF1336C166F0FC69D84800CB1765D
-85937598431461E7B5DB95839BFA81D51ADE49E4242E2DEA4560DF41D27C7733
-2D1F036614FA1AB505537197F419E6722D4EBAF5DB087FCFF838E782D239BE68
-43AB130B26003747C36CFFE7A96CF8522F3F369E1E6443C923C4EF6616241DC2
-5366259FA9FB2559B5B797ECFA474D491E96F2CF07DFCB0765A1A7B0FA8EB181
-0A82708A93C8C8C2EC711CEB46D4A4D51ED42E6D023932F6C29F7E4D9735A5D5
-269481F9A92673E88970CD15DD2F532A2D96C48150C10854F3A98B200612EED5
-C2074848780E53C5E086AB78EBD0444A064C5377945680900997D1739E93EABB
-520519269E2516C7757FFACF312E6725805BB2261552C760CB68A7BCDDA0438E
-0BD4E6DD87C204039396684FDFC4398421E1D94B110F2831AC0DA589822357AD
-A78CEF72FAB2EFCC848DE7C5486AC56D56DBD0BCB39D608F40E0981572B9FB0E
-51F11778CDE7A9DCE029ACD63D61C22135CA5AC9DA490C29FF12165AE20F3127
-9D57AF7441F31659BDA2872A720100F3F63D9CBEB596FCC23FE1BDC7DAB26FD8
-00182A4EB8C9ED92B3BB9971AD01063CA67ABE06F51F66232545EA42AC145113
-1BB165ED65DCC3A1C0E288FED14706BD7FA08D3D4F143B8B3BA68BEABE09225D
-2D0524B51E2D7ECDFAC0F8D66C7D96D885D0D87B7657F6134B3E7D0493E4BA5A
-6DD7591027A957EF7E04AD08B10D93205A5F268E65B30242AD7D07C2EF59238F
-F5B6FB46BAFB04D0E354072DD934FC5C63A4FD47541A4BA4B68E531E4614BEF5
-15AC43BEB87A1204B9BC873E9E79BAE958F4622077B7F7C2EBC0FFB7F7B6EA39
-C9D47152C26BC4A41188B367569A22762B8800E715416B7B396BB3B5ABC11A19
-C427DA9CC6EFAB2450C54030DC95A775422AF14156388FC0DB8901D3D13CB248
-B774DC8E8E36C7FEB216ECD93288F0520FDA6FCAC443C62347D680CFE38039F4
-1D15F56B06632BB1E91AA8E098EF73D8A054AF1A8E327BC6E7D37EF19166633D
-1714371B2E916869E420A69BFC9AF4CCD3F1DA4569D3542AA43722748E5079E6
-EBDAD7306314586BB17C9C7FF0825D865AF14F0FB03EA08F5E2D22A97B9702A4
-8A169602A94B3F08ED7A0CF6B9288E35FD989F2D0020411EE777702C408920E2
-7A7F37E36734BA4937FEC3B14FB1FCC92BE0944C9D893929A63DEA8030DFD9BF
-86C40A4E5421C663BEE7F2C29248B4839E441AD9D04F051AA0991A6D6EC47280
-10CEF96A41D329CB263A566A2D0C993FB918C6356C1249BC14BBE3B39596F7FE
-DF719A7A9175B271E37F0C3B46B6F1A53ED40E6C3EA4313A7C90B65997EBD308
-E2F08EA3B7038E0694294BE05E9583BC74306255DE19846A692C0D0D64506C30
-F1E7B83EE2090F0B0C9A1DE01474DF9DC7D618193149E95DB2F6BD8C0DDE48C9
-625313BC0C265A6A4BF5FC9598EF8E16477DD19068CD1AB4C52777E9CBD2EF5F
-99E28F5A2CE31E2924C196492A8E3319B1024C84CBD4FC175BE286F1F0829E3C
-7628AA9FFFB1810C93336E3749A818E46206A3E415139064C9C7D004D0CEC1F1
-FAB611B672C0EB951AB9CEFE67BEB2817BE9248F887836DB614BD26A59CCA79F
-04CA82700DDD8D792E89EA14D0B90FB3F8D6648090A39C99894C8CB638EADAEB
-D9BC62555D36EBED36A39AD7601BCE938D26C84EB1A6302CA1111B0C362C7718
-3791067E2B506460D1BE71A13D02451036C4FAD7B917CC9CB347E8FC30EDE59E
-8BF9874561A4B0E4235BBA799471EFBAAA64DC644958D1695526A86D56DAA3B6
-8AFA3A1AA7B66C840DDA7860072BF4C937B37FDA41922388FF8B4E3C305335BB
-ED114714115CFE1385261C6EF0EC27CE200A0B2434BE519CF064FD5860CB7395
-C934A9D7B06DAA01F039DCF3318F393E22AA8CCEA80F58094F5129B06A5856C6
-9DB2EEB9B377135ACDD04876012CFCE0CAEFA831CDDE6B3ABF574573EB6D72D6
-F03D294CE59A42D5348781C90D1F0D8BDCF770E6989A939E3FD42A68D34E6B0E
-A0AE88E2B52577B1BAA36EEA23071FCFB8FC4C41A8FCB9F8871F265D78B274B2
-D0D8F92D55011A124E037B5254162E7956465E96DC76D0CD96643AF172BD33A9
-DD48C30161EF717BA3AE6C7231F05DC4E330964C01F6BE6EE652AEE0AA41086A
-B2FB3DEE6697965BF24EFDEB87D49BB4D617A10480CC29C978C953A0B826E470
-BC73AB39F4A8A94306CAC840DE844C60F650537E695C6323991AB9038DB838DC
-0264EDB30E27E3F38B9073C8F7FAEEEF4B8285FDFEFF1C7CB16E43C712D78345
-813848FC335ACBA0768BCA0A9D57E99026CF04808F002FD842AF9DDD4E72BC61
-4997B2B39E28E971F60F8D96B66D8EB5911B8856287E3CC2D24D662312C238F3
-777745B73A30CF91BCAF4C6205808A2286285462580052DE31EC1EDB0BBDE46E
-5DBA461A815EEDCA60F8D64F7A2A84613DEB4C4745EBD6C04DAE969BF4681B5A
-F95ABFAFD2E9FB49A8504348551E67EB6EED4F87362FF9A5CC9BF06478E815E9
-EB946FBAC21430CF51569E331E0060BABFC7B21535D987B480FE1264A3738EB9
-F67197E54D9C2B032A06AAACD80FEEE298763DF5CFD00E2814F58A69A8643AB3
-3902057079A36C46D8ABE38C48ECCC6F7491D4D4A581A452C48CFC961DD8E85A
-5929131DD9543262E81C96631C7FD7B94C724102DE9C365AD97D6ABAF44AEFEC
-BFFCB5DB96D395117A665FD30A70E8090C3883FCF7ABE76954BFC07E4467E5D6
-262D9C949ADA532E94F9676D15DE90911D34BA384081A789D304584C688025BA
-4F6EABB4ABBD427CD00FF823773B11F283241BAA9B9719808D7FC5E77FCFFFA4
-F95DAA339D4843AD99133A1DE37103F386B4092343814923FCC22A87D8A91F98
-3E72139EA419D61789C36D99A207600C188477278887467F15D6A6635BC18D38
-53FC280A6AF75015E003E2C80F312FC1D967203234583FF829FF13890D62FDAD
-69DBF4D1AA69AB22A11A64662AFA11952042294C55F890EC1805936402B7C229
-F0A33C29453754544D92CB1E338AB7F3337BAFDC535CC93DCA0A049368B91FB7
-07670DEC8F84592CA1B4B8CF94E0D6A64A0DF9C0C239382D283AB166206B1893
-510E6320866A16450FBC2B0F82A38E460689EB07AD663A0785971D53E42EDD4A
-4BA81BAECF10B93B346B20FBAA70E4D15AFEFBE7CCA040D982A92E7853D055E2
-065A09DEBCFA1B2ECAE26C38F8DBD378E976FF597397C27828EE0E6791B8641A
-95CEAAEE1849027B06DA878994B70F94C835444F6B69A2DFBD6E4FECA5160C53
-7F12F395CBB410A6C92DFF74F8CDDAF64EFCF4F8ED9B832AD75E48B3F01DBFA8
-86D7ABCC22CA3C13603580C64B639948E2B74654FC8AF03B4F56BC8302645BB3
-B682950933DF6086F8641FEA62CC01F451312D22F4CC5804EDCDF981F6DEE997
-BB777110A8E8ACADFAF6428096108F535472D856AF4165C255A1B43342202F3B
-A72C931CD8A966D1898B78B12B14DBC0D3663983A9E2153CBC23184A4FDA6A0F
-779AF83DB6FA36FF6258473B17FB452EA4AB02F0D34C0B8C8E1FBBB35B680D94
-0201AB0D0F0637DDE7031FDD239BCD083FF5A28AC9AAB7271D9179A8AE589B26
-A897659AA8E9CA50ADCECF5D5F4D21C7142D4A85678466CBF033D883ADF819FD
-CD27E3A6046F3EAEF987DD9171440DE702ECFD3AA51C12AEAB971FB8E3128291
-592A3619A00A4DDE933F960CF460C31AB712D12AE4A37357E42CAA235672926B
-00FF510B7686F013ED7841FD01805D2496293CC262F80E730D2FB94EF320314B
-2E9BFC65A17A0BCC2233F53ACCC3ADFFAE00F19277AFABBBE4D2E377BE54EC2D
-82038A9D3A35D7B13744E468A1AB3D0231D394EBEFF06BC1D52F18430F7F77E8
-DB47FE2A958D86452CB7FB6FAB65198AC7507BAC92FF4F46B97A265BB80E99EE
-B2211B9989BBF73B1753B4BD6730271DB7679FAF4D3B223839094C1C980C15D3
-2C9E74DC9DCE7CE0D48B1E2A8E2E3DEBE2DCF6FF7B8407FA88F59A8D572E818F
-0C6AEF5B4A99F83398F97B162429D82A62E2377361853F630E7D0A7D728DFEC6
-EE39A9DAD89967BF1579C57AB99CD78DE820C407CAE52C2D7E65C97A594FCE3D
-378AC8FF6F8867E8953FBE91D2D8131AF97821F28D6EAA5A9F025DF790FA0967
-2C0A1339E953EEE5FC75F76FEEEE780F332A1C0C08DD80EEF52F1CB7E02DFE52
-86F148A998753B27CB823FA9B4907B37007A5FDB8395AB3FEE7CCD947D1F6CFE
-E81CD88BC9690E2F89F7CB130C9A2834F938B3D562A42CEFDC45A38E6BF62ADA
-1517974E61F6D35267795C7A9E945856824329B14E70EB350C997756A8FC0A8F
-7CBABC48C4AAF0A5D6A8F58AC190AC3F980C00D93FEFF1539D417AF2DFBE1021
-2882782C625D2BD323B9E0D53F1494F8CEF84ABEE30CA90C251887075A697386
-89F38001C3B2FDA9991D9A5EDA186C37DFBD0A77D47E24204981DC0A45B3AC66
-DD14D43A8A9826A0BBD96FE2279638F5AF12F010474075C381BE0243E3217199
-ABF00214D7D13F66411A6AB4FDBFDDF295163DEF72E788302F63FA8225F08ECE
-1F32D71BDBCC1ECBBC067187C9713C686E3EDF304BD3C58981C76B6943E66F34
-2BE57CB3145FE9A286F570074DC259CDAB2A415DCFDCAF46FA3E195FD43C38F5
-A612D653E3F178E16D9FCCB637CAC9AFEA648AF52B945B9BFE37F241DF9DDD61
-5425B37F903B079F337E8E15B70CCDB8920F15AF89538608A573E7C9008BE814
-FFAD305F0B94C7AE5F3DB35D34C04C1A250E89C252759581AD933896B468547F
-BF0AFC136FEC40C7436120A944979C9DB4D492A52B0FD658E8083E0EACBC60DE
-67DCC01E3F87F04754223A34732D211B43248A5A5BDB19992CAF481A564DC9DE
-B16CABD3BBF40BB4F84D67015773F7261FB175806DBA97597A0A8AF8920596A1
-3C77C728F23CDA310161CC8573ADE490419AE08CEB622DB6883CF0B75D43F0B8
-B37715EB9AFD9CBA33DEC10BD2D78E541499738D77A6450B93B795EBAD5F44C7
-311134D264B1881069ED3422281C15D1822DE565FF7768B80B58096D5B03D168
-0158B52A52B7B5B94609793DB02F8EA785A2E0A039FE4F8CBA3CD0C2A934F2D0
-A2F862F75093FFB2743748EAE9947B5D9F56CA0D67ABCC01E4432BE67E22DE05
-39664D8D7E9D732A897F03DF889A0D3C09E60C4F3A3996AED7293B8743353739
-DE1D41C5FEDC2BBF6662BFC35660CF8EA4F2C0DA06AE90AE91A9E0A8BC94D43A
-B79F3778BB68BB937032EE09062E1C4611EF8E86CB7007F2AA7DD3E46A31AC00
-8CC36771023DE9E9BB5483C051FFEF412A14A65F30DF95C91990408BBB8A1E6E
-FE801BA15666D3C270F045A8178BE9E424998653471706D0D86D49967771961C
-3F62F1B6F36652DE97526AD89E748221893C9B6E5915C1504FF46B6CD09D85F5
-57F881284D70C35BEA64731C99C0D865E2E9C9FFBD50806164157CE198DF009F
-B560FA76FD75CF742308B01F8ABF13E7F9DF82298FE454C1F709387B6F23C306
-61FD8651CA2F51C5F28786D6766B4339928115601BB265F6895712C39D4EB75E
-1E1EBE9BD2E808299CAD5092397B7AFC8B386E992AF8A47FB618101925514570
-2CF7F3D9418ECDF120DE0D9B14BA35A19312BB4C87C9A1862E7AC946AAF7E0DB
-9126282D6813095178325D6F7510550788D387CC3F7936E5BDFC55543FC2AD73
-0A47BF75CB6B625FE8F087C3E53330DA3EDA69BEB3601FE3223BF111C6235FC6
-8ACA71E69693779A68F93DB849000C3915225B007E9F1A64211A66634F67247D
-CB39A389107705AD40B0EE4D1E1AFB6B6F6E7F1D59D12847F748BAA026367172
-61FB9E0FF8EAD4609047340623E92C4954683F777B761B09A1B6E06E13977B66
-B7D5B557C9E0682A0E4EB4B04EC5191E68ED14DB179A9E167389023CEBD2F046
-05B7B10F352B91FBC1D499BC63A8B63A782692732DD2C49C0532E0D98BF9B5B9
-F1EDF5A5E00EA42DF50F9FF5700FA06DE26B5EFDBD15375BFB87068ABFD6101E
-4DCFB11A4F6CE0A126B1AF08A0DD21B487FCE447DB919FB215BF614D5027E67C
-CBDD8B631B0755EF9B2F6E261D4EE7D892285D1579F3027F9B04BCB1DB28A8E3
-BB0E83592AB3BF25CB92A3BA038A91C5854402DD5C47E1F535750D1090DEE1BB
-A5AB0785C67806FE7A4D1C7DA3A8D40E5F8EECD2DB7F5221ECC3AAE50BC607A5
-6B91C718E2092102B2958EEE11B3FAA96868D425513142D1C374886E63A705EE
-6D996AE31AC5F89456AD296DD490CA6E63BA98B78E4E9FC2AB540F27D47BAA6D
-C8BA9D2F10FB380F3C37575FDCAFC69F42E83301FCFA1DC31DEE29087614B306
-F158970D92374D7435EF08EFB3B32BECBC3C6C9FBD42951801B86C715A7FB306
-65B90CFF9FDE5AA20F20BC8DA696E5FE7214E98F39D2EE60185F926027A6CD5B
-960579744D143C1A7BC8BDF10C70003858B2A6EE72F854CD35ECCEC8E92BD664
-F9734FEBD981C41DAA2A42AE83697E3B030C9E2C6C3969293D324A7D68274044
-487004C3F6FAC5B64BA149DF711EDF2F17881864AEDE3E1E4C3147BB3DDB4ED0
-2F79305B402E76F974CD56CB04A4B562DFF36B40DBED2F35D38DBCA5CE8DDD12
-70C28A19C891D126927DAAECF16B2DF41802882956716BDBB442E9F062DAF65F
-6E3808CF58F9A4912209644195F04B4A5B209314017E96A700903AF6F4A8E8EA
-6CE36F67EA9139F816CC75A806C3585BBFD882F14028770670FEA22F34358E0D
-CD9626705BEDEB3A0965697647220C1962FCE67D0D3E2B9FC5DA3C3861F84209
-C56B90CC792B95076CD73D35974433DF6567FCE72A24162B434208A79117055E
-53BE3CDCA527E33638F940BED805EE57A3526186F80ADC5B6ACAEE25E2081A63
-3E6D985A8A6256F923B971E34BDA04D21EA99D34095AB201BF44B62258B19ECC
-45149754F896F64FBBBA939E41A11082C307165C5EA32F7C8CDEB80851B5219B
-7A680F7A8D02C9BAB72FE3B941E324F554E34F5DD5E4936250A82DB846F5966B
-779F29A9A4E53BCEA49CB4C6CC7D0034515E9F7B357B6AFC0FCC6FCDA1A34B5B
-103062647367EB77762F6B47773264536E40536C5DB2985C3048969F9D6C698A
-EEB959112EC964BDB8DC3C6F307477C2615BB536C03E9C9B346A7916D1C69C0E
-116DD955FEE0B8F6A0B476DDF245B7C901473A96C2C53DFB5BF4833F984F4D42
-C06B6751BFA6D96E9493139AEE7BE7839B8CB2290735C80542C40D266283CF68
-4DE60FABB54F29A930357CD2AAA60F5E85D1E674610F2E7C280401061AD47B55
-5A1EA0B0196423DD4DC994CD41094818332B99FC9218B2D628E86983DBC5B842
-AEDB7362D479C940452A947973C8BCCD46588808F0F9FFC55EF2D75C1C075BF7
-FE6C21DF51E5F6B00D807B033ACD1C7C6A8B3CCB7332E5ADC93433422095C0C3
-8CBDC619DC8EAC0382428C88443B16ED0DF49CD042D38082CDA4DFB035CE50C3
-9271344F46D3765ACA3E1B2942215F559EF1E308DBC2AF0659DC980F5DCEC6DA
-B33D596CB3F26EDD5A11D6647DB7AC5AC4FD41B62BC353356CD12DA5FC6EC2ED
-86DB312ED5C8323E1C766A0108ECE43C11D2BA0A63F1BE2B0A9D40EB995647C1
-82D5C9FC55169F50121ECA94D1953CFBF9F38B1FE0C7DD8B786902A841F24A23
-B8762B929FB5AF021414A5321C7288BCA19A240EE15D106043DA19354C4EE1B2
-434A967968C29B9125BE84A907D22B0BC2A2CD09AED00F3CC3C5C7C9AE7C906A
-7050756D4E67E11F2F2C14DE59A92C013849CAD0A1B6CD32C0CEAD2A4B20AD3E
-ACF8CE2AA125F1EE154B79690659E1B90563E3884B47699AE1F7A71579C3C4CD
-B66E6FA9BF98769452C5A2BD8B54112351F05BB77D3D3E3EE9250953BBA94EC9
-C0DAF20B0606C3CFCE4815A876F9CAB8A9A2E5662F7764050A0F5A7852B9AE4B
-5799C95B8718D481452AB4262A843E01CCE943DBB8377B7052FB397600962A01
-25E5FA112149DF197FD9C8F16BE5819096B87CB3555969026B8A5F4FCDBF3171
-BB1D5F36E7CF89D94457F4CFFFECFD8BB3E009655D799C4F262FBEF937E5107A
-511677585FE4D4560C34F03183E6293EC2BDECF5DB400CD1A29BA1678083CBDF
-EAFE8D078B72B42BC1CEF9FB5FAB5B2EAA044F5E98D99D9B907A3FE4E1BD4E0A
-2B845C58D7D0119C323AAC85463968D97A651A087DF3B6866EE0D09BA5583D8A
-8DB9837B487DF5FA27624BE3C7F17E6C734D294A1D200D971EAECF983A0A2378
-BC2FF6B206A5121EC01229C14E0C22CFE7371AE1007ED8F556B54347ED545D05
-EB488D7DBD5F668F45986703122FFF97A19523731B7D3CDFF8FE45ECCF2B91A2
-0907AB03E8698E0E3F6D846A4417B9F66703DEC16AB8DE158431D3424BF6462A
-70085CD88F8BD3DF2023F0738FA6E3F36E752DBE7590F6BBFE1BA8092CB69B54
-BA30D871F6200BB9CEAAD3D6A5AD721FD4A48D002BDFD8E339483D6E32ABE379
-914BE6B673F6FF3CC20BB2A971184433A714E802CBAFE2C85DD5F0E29B5F9459
-16AFA7D594B373139006786FB5B8594D50C91217D49ECE8E684C292946D79658
-A9BC010ACED5F757796BB9C32F98409ECA6511351E340C2C9E3CE2AC1007A52E
-95E6DA9F56E11D4B0586F88A149FA8A2BE78DD25F89BF504A99140A7453E4C3B
-EC9F94B300E4F6AB24C4528E029DBC0C61E116BDA8F0AE3108E3269A76927509
-95B41AAF17DB3759D04E9F0E7CA4863A9A771A49293B1EE6CB38E33A125342D0
-6C63AB27F308D08F60F4DEB8C0A335B115D25683F8AFF549598A3B1E88BBCBFB
-7C418723054B346E748DB987ADF0EB40FD0B8FAAFE5871EDDF9D68821C8C9643
-7A3EF4FD3BDE591022C83EECE829BE8189C6D819708103BB96A29CD107F416FE
-3230C3E7E358722AFD9469FFF2C7FD9DEC35BE527B99BAFF00C799B99080BE0E
-C88272197BFDEE472E29D1A197083F1BF10324E834C9D76190223E095487AB37
-50BB4FC92179754DD1138F9A55269137543FDE3173BB57BF3E5A2C42F5C58536
-BF4FE748D9033B0E319E3061A7044883A795BFF107E9C12F2449197FD29A2BD4
-C5B7DBC42C28596D43CA57E4184250213D3EE5D447A0D8023E2BDCA6B095DAB2
-3094B07797FA4AD49A4BC874F462D46F9DB4A21773BA0181B3482CF9235D9C78
-B967B280FF82EF3938F51211D5822F527127A5B4D7D643A443581EC8599C62A9
-A91D57B358D8787A39DFC4AD363869F6002E1EE878EC3573521ABBA11B6FAA80
-2F73E889DE675B42463A8488C72AF383482D6509F49786ADA521F76D93C4A91B
-7A5B23417305F5F89FB34261C2FF16B3BF983B19DBAB9BB6B1A2EBA3C2AF80C7
-450248EFADA22E1F8D18CBEE599C8D210498432C47CA067449143710A73DA7C1
-38C859665D0D88FF0E4ACB573E954655B5DD4B8C7DBE9B8A3B2C4526872CEB80
-45CB40C3D53F89ACEF33BF54BA05439AB4137D9F6A5F7CC983CC0344216AEE0E
-2BCED1790BF4506A8908E1D7AC441366E9938551A962C6AF4BF5E2E6B706CB0D
-8572EC4AC8CA0714A5EF6D4861932F42509F217477AC1547A3F96CCD15787A6B
-B7DFFA17B0F44E83A08486E779A1E36B7748B17F2D09FE6D7717E1CD3E306004
-F69F2EE47DD0A9FEDA1D43558C8217FC810C109B8E55446B6F151D44C08FC996
-63530C24C7F0B8A59AE9FB7ECD212902BD8E4115A6F6411266A57CA3F7532E2F
-C631F18FAAEE1F1B7224B598AC585A4279155501B1BE29E06893A8C56DE80D66
-4D5586C74C54B88D1B61602D44CAC618E21F447A3A17123F9032AE7B7854C08E
-E63B5335540A7F4B36DCD11A47FC8E672E8EDBD9BE813702927FA8B0E0715943
-E1AD81AFDA2350A8D9C05295A208EAB36592672ED05E16C4D9392B3CDC1EAC2C
-526F600BACC7C2F6E0AD1283259B1388E83880DF85DC9790DCED3EE2CB06245C
-3FA795567CF8F6E63059D974D5E2DA8B5262CBEAE15984ED2D6FBE0C5580CD20
-05640AC7C4D28C5692D3F814A1A90A7BA2633A68A7A9752AE74761AD428B19DB
-79133438C8E0CACA1624A5780A14DF07A74003E6EF75F75662EF6E817223BACB
-0B0B47C05B22016F6EC2E518EA8AF4DA0BDC4B02EBBA5D746CCD8F698E5F25CC
-47184CA13E1670BC214C44C27A70CE6DFBFA31B6C82B015C1A4F64F2C767960D
-E2E40BC61F84B19C6F874381488053602966F43AE5058C0FAD7FCD563D01DC11
-09C7252BD1FC94D7975F72047395F685A7FABA083130F64B8DEA9029F14C6AC6
-874B97B05248E3D6A435711263526F395BA49D30A21D4AE548141E399FBAB5B1
-6EE081015FE3C5663CCC484B8B4183EFB92E69EFFDD7F01F518569E03A72C4FB
-6772A0644FA922FC56B0B99B1F35832A11D929CAEC8280793D062109E3BC57B9
-43E01331FCA8548A573FEB914F916BE1D06D2561296972C28F6AB92BD7C739FB
-B1D5251FC46E2ACA742585DA6C13ABF373F66B51B45B44DB1471220A3C5AC33D
-B1CBEA5B541B8C1AAEE38ED30735CB1C12D02DF0F6770979AE08BA566887CFF7
-54C4AF9ACC382793D4BF251D09A088691EDF51E72BD9BF9F2455A8380D40723B
-1D90B78C210ED9972BA6BEAD25A7B240219C012E3757353802DA6183C365F51D
-D94C2C57373A44EC5C422D3959C140BD87F1271405B33BB9747A78E5460A96DE
-2C1E98D4B4FD3A15E10989FAFBBA5C57644D6206CDB81493667B3E4FD684F3F5
-8FAEC6F36B47625DAC46AF37D9A04536EB5D64B84D17FA194BA862BADF76E107
-548B078BD5DEAFEC764E789E6CC8E78039801CC4716FFF5E7857B0FA3BC31CA7
-E1AB37C519A9EFC58DD1D3926226A3AB147EEDF10D63CBCDAF2DE66E4356711D
-EFB9601764562A81D21D943A01AAA3D814DA167531C164BDE763F6E3D619FE40
-4705A2A03672929945500B4D11F01ECB2B09CED1927029D49A9ABC19B23463EB
-0FAB85297CE11F97C1D560C5CFD27691E39FAAA95B468A502988BA484664EF88
-2630187E829EAFC67146942DAFE5DD566A72FD6BF32B33F27B383ABF99F9E438
-C30F7CF8513F209A6B4E76F16BEA603005E8F71C817BA98D25B415B930988A1D
-4EFC4CC7BA7801869D53863261CCAF234BBC398FFC8D7F736F231E77DC9C0EA3
-1AA359D0A1962649825F59DBBA3B5975D70B2D6FBEE024FEBB2908E47858568D
-4BF000D59D21F549FBC46726878B0123BC5F2450F60B092AB46065DDC9BB7D41
-8E3CDB9982369E2CED9B88B58D47A94A108324E6BC009395CB656230FD9C5EC3
-8631D1F70F5B29CBABA91706687A4EC238AADFD7BC3B43166134AC044E72007B
-8BB28A578560F256B2C9F818D948CD3CB57E351BA8F34834C164F3AF6F544B64
-0DA5FF8D23E70669BE37DDD66EDD81132EE4AC92607D6309C5CDFC6D800FA012
-BEDEF9E53F5F3DE3B0955FF6D7F6AFAF7C5026F2B989F8103E4FD2E39176E5C7
-A50333B89EC266B1C39E2534EA4AB75B62B90962065D26D8958DE43A879FB0A6
-316D86559080C6048BF798AAB878E578673FF67A92741F60CADD40265C658184
-A42E9B85997CC8BB4696F50CB08AA5F0F1A658041F6C32A0859B99E9B41A0141
-E9EC90FDA5A358995A7FE0F8E7D5B74F1CEE7C6EE8272B35BD242B5219AC103B
-CDD20FB4F83F7BC30E2D0DC150B036CEB93C92908D53C6FD6D2D5BE1A1EB1596
-CD9374A4F388507EB1624048C79366F13C1319E410B9EEF4F33C5BC5BA7392CE
-852B8F2F649AF0781AD969BA91CE623BAAE3A45626D4A6D98F210C30C60DFB30
-72C19559C54ECD9FBE406551B0B3C8B1833A8834E1BFECD87A20D90B25F4859A
-3A7A21054BD82BD20A3E2112F447ADAD7BDE83EE87ED04683DAB283627AEC13E
-450DA15C25855BC4ADA345C1D92CB5880AD4466DDA84568FF703A824A8EE8E29
-F0E221661D6BCF20BF046F80C044A860A2925E96063CCE02D044DAA35923E5FF
-6DAEFA7845ECDA7EB4D3145F0436EB4850AB3A65120C32BD2AFAFF65518A7529
-AF8B2E8F5DB78B7F789ED6144D3EE5588A64DC1709E64C69B3907A8B4872AAC2
-896172C0119889060CFC265751C8A781208282157BA8F925BFDFE72E4AE0BB4C
-D472F838F9FD40E229A3B36F18D96C99FE8D88CA44BD2702C5723D7BD75CA5E7
-E606909DC6EF9550DC7866C54E6F08F6993E6AC0E78CA0FDB60DB16AFE9149D9
-CE9E29E6461C1FDCAC59B0CA7814F7CB663BD335998F2B946407D92791AB32CA
-BC3FAF02A19178205981B654FBC761D3316337936BB9C02F4435E9FF33A93228
-CDCB3DBD347E15779CEB58473E78A5AF2F234F2FF350FF5F2589FD2A3F38EA2A
-0411507AE1ED51B550AD45D561344D3A6470C9449E25522F261E9F861A87F272
-250144D4A7FF42EFE2F53F262B4D50A9296958A5FCCAB2A72192C87AA4D7163E
-F5C23005FB2BFDDBB7696A39A987822C4D71A1BCFFF58FCE32435CE6580DC9FF
-F02B40A04772837D1C090B31D98E73E79D6E63D973AF32C762643D50575E99B2
-D2944583F89A5C23DB7BC78F34E2A23079DFE9CE9E9AD70C5EA9AC910B721861
-9CD2CF56C2E9F92311D2F4319C4E55411BCE3D593188E4324A653B730C2435DA
-3D2839B68C3919AF4DFE343C1F1BE951985F50F264253552CC514B6962EA363D
-CA92F7AFF2A2F64B14194F69137D3EE3E4854B0BE9E9D9400EF10A9F1B40A01F
-0AB88A7542A3F40A29B012ACD52C644EBE181CD24FBAA9A2687A182BDC142695
-6013E51C2A8E561A067760B4696EC55E2DF1D6A04CEE65E74A11F712BCB2F8A6
-9994358EC86660EC04F7DA6C7A133CAB415B034B567F36DC71EDD3DEF8F0802D
-437DC1488532EDEC290E147FC9279F4821F0EA2F5BA6E2A43B64CAF0B1942F33
-215C18ED620C928F1EA7D0452613927FE3A78377C01542FBA8A397D0C6D6D26B
-AEE8F0A3C15AE5CC927CA38E4C0CD2AB9C71B6780E5EE878523177130C291C70
-75D865FD73B3A875F450331C332ED0205F74355A07C528AA047568789CE16005
-A3CDB32578707DFABCA888B476BDB2FBC69425F9157AE29C0E807B4D996DA7E0
-75C8F714F2EF2803C456E2EE318F6111C286CC7305D2C1E270643BAD7587DC7D
-4030E32069D4CB84C8F07D0DF1E492E4F4C9AC6C71ADC174925CECA25FE6878C
-4C2BD2D4E3A3CFF16E0FCD8C308B759C2A4FEEDF484BEB0F5BB9B7895DC641D2
-922631FD2E23257128523B31B369AEC4D3A63E3AB3DBE2F649BA1C2E4BB4F8FA
-7CC579D3C6FBF2B045EAEC3E5522802DF1E107179B98CDB9F0A9D400CC5DC89C
-561A93455644ECF841E34C28FD690062504AEF2D5E09E9E84230E93B56B741D1
-1AC88BDB4E77B90D49DAFF1333758F9E72CC153F4F1823407E9EA929067E180B
-989D5B459D867D3B242CECABDA3439BA08BE3F96155B62E3323FFD874DB7897B
-CC139739546D83739C5C1665F6CCD89F74CB7C07138891E23DACABD4B67AD04A
-1DA2D547378B8E77D1D6CF3A89295BC499F383FEE55EA8359544EF60ACF1F750
-1C607FFAA1AA10A361DDDE23B2858E77C71F0FD2D47ECDE5E77CEE1DA878A8B1
-40211679D7691011B81246ACFF2B487F106FEFF52E79B7B7B05442D846FA7381
-98E1EE04940FD3446A516B47C815943870C9CA9C1B1BDA2894AD89DEA6E1B96E
-60C94BE49C89A0FC4B009AEAA8B9E658798B79AB404EB06515D23D0C83465473
-4833AFB6B56761858EDBC5E125891D58DE477CD512943AEFCFCCA741D39CFA02
-E0CBD9045ED5FAF2580C39A1102196A85E1CBC67A1C56A7CDFA12BE2AD351D9F
-37D4783CD6A8B0EA717B5FE28D7B39000712E37E622A821D040AC927726402E3
-63345131FE928E3147B83D619DA8F212E144B19EDA829C7F6CBDE636F76ABEB7
-82658AE7276C2F8BEFD02188598DC592E05666984DA2BC8C9F3549E96DF45D44
-9FC713AF972127020E99F95AF3904EAA898F4B67D19BA296AA36FBC14C4DC5AB
-C88DCCE567002214C7518098D015FA37AF02BEA5D9F5845FE3FF9037C15EBC79
-4CDCB7D79129ACBFD2573A884EDEAF3939E2D3D6967F1A0117A0DC6C8597FD47
-01813A0B01D60D7709BC55D5DDFCB08F53B441D7EEC6544FF96638CF1ED431EC
-794A0E716F63233C0D80E8B4123F30E632AD427857EF57A6CF6A106F5382EF74
-F9088615AF05E3362609E86DC9CB58CD2F709F8196FB61FB4F82F9B1F0792B09
-D6AD2F194A9353F60EDE331B84B7704F0C797415FAC6F5DBD56D39B44A45D1DE
-B6A2319784AF1B2A9573DB75B573926AFC074627FAA9E8B4BF773A802896CC96
-65B535DDA172851A2F052934E7D7D593D3E2644444F7C635179D00536099420E
-CC56526A9FBCA1B2DDFC48D479DD9A928197AE138735926D72737FE8EF7D1B21
-6425B94AF20B5EE8BC00FD87705DB8DF11ADF16715177FE917C2AAE6DC1CE5EC
-EBFA2BBC044398B8F85DF05D50BA8A53E97F44D6CCE9690F901A50B844416408
-91F0DA30C55BC25008122D9A08EE92A8C84F6CEACF40591E4320A114E2B62F15
-92971E5DD0613D6D323245F1DE0C5397802E88C79D9C8C7719F4A13902828BDB
-34D6E8D8B68BEEF5A4AB6A4DFCD93AF6ACE8C60A16A593474CB17982F611D6B1
-3294A28699B8E8E73C27C68910AB90B2CC147944323A5F339A5844B674AD75EE
-7BA8094D3BFA4FBE6D1EFBBF7603607E38B920BF9CE43E418452E4D61A6D28C1
-F91CC04699210332A1555931106ECB43AC1FE2D08882F0E9180E5924C0335693
-AA13697E9F7F1091D71360D373661CBAA631992B3B2627DA5340DC655F712572
-FD675340127A1CBEFE3656AB4009BCD1BAE64048275146C32E79F031EEC428A2
-0B786601B1B44D5BF9E464CAF224E5636B0D2D83EF07E81A545EE9A5F9A531D2
-064EC94A90714E13760440450A6ACF3DD244C32A9ED0A65C546BA46C27FD7801
-C94F5C0735A1E9E6934D30AD680799FB3A761896C9E1F1BC0422CEEDDE021770
-1837B9A79B0F8775340CE0C2A18E260F6C471E98A3C6E4AC73A148CAB6EFAB3C
-E50F14240785645FEE335349C9B8D59B99FD884EA4A1C878A5AB6934511DA544
-7D009675FD5B62F999ED528C3B70D337A7D93D4D14522D1270B5C345B5ADE5ED
-518AB80590221630B0E66A85B1DC67A6CDC6B3694F8EE53BF90223FD68ACF7D9
-A4106D543E16EA756EC3CF9C96FAD7E45A8966B8BBBD5B1E5E9509F2DDA57EC1
-AB2B457D495F9C8452376C11C649FE4015844D876967666AF9824AE5E3ED033C
-D3DE8808897B223FB36CC42BF7867775B8B97610CAD61760B48C7F3F2DE23908
-035EA9A89551B4AC734DEFF55D121AA9D365BFE4C621AC78344A11360E042213
-EE8F7EB0EEC8BEC6C9294D22467B5D6DB1A0B0E03F371E1AE162C5DD46DD127F
-F8F75142EA07F5F5E3B4848E9F4B884F0257D4FCBA87797839A716CAAF03EE52
-FF4479EB9FA912146C609AD0784C7EBC41CD480FB7B3CBA7D5BB91BEBA43B5BC
-AA5E4A9CEDB68B34B4EF7A15AE58EEBD677D7D2ACB6570A569F79AA9F8C08334
-2575F0AD37AD980DECA14BD61D6D0F38DA4C8F5E4350778BE866AB63AA8260F0
-3D9105FD3738B1C5417EBC9BE27027718016DAB611E3D06529A5F9C2C0A05371
-3A7B87144805AE4E317F26B518FAC096F5A9BAA8EA45D77BE19CDD1E352FC955
-1ADDD93B080C6E95DE94CE3CC6AE60E797B09EB9FF1EA0B5C60822953F8612A5
-93923E7D7FA07A86AD52B23D3D0B88630B88D6E8C62D009DEF41CC7D95EAC8EB
-B26AC8E3DCF0929016378EC4841E1C4F951059105BB7F4D9D827ABA155102A09
-0242EDC57D050CBB9A0B6C5302B1534EC041093CF0C05C0E30F0B3513F3F5356
-75E913640AE066B795197E009D880CF19ED6C92FBE4D9CD3C96C88A59F2097E3
-D9F0F923CF7537FC69D5C714DA5E53CBEF307D8BA7FEB8CAF2DC63B9B07D4556
-CF751C7AA7CB1268BEE3591838C5DA625BDD22B4748A2118B7073C7AC7A885A1
-4996A7900CE4F42B19383E12F0BFBF0862E3A539F952038E1149B57D3B92DD18
-FC33B2AEFF202D53D5212300869B57A104AD5640DDE1A5E3F1240482EA9CC7DD
-A63BE8B6DB82A2FBB5DFD31E72A6CED413ABA65C6DD3674A76E547A4CC9C1C5A
-504992A649C7F2AC469A9BCA5E9C84333AA74C686A863A05FB73110E466A34C1
-3E3AE5E21B912282BEDAE14864E420B05F9E2EE8B1C523B362A4237929BF2D06
-A0D398D91ADCFD021113D4489736B4D8E703D77F2BB92973874EE461E76ECFE3
-D114EEB3F611531FF20CE6310C338C6C426F2CDE535C69E3F14CBFE16F48C7E7
-7420777D9A175710174DD5E23B2BA6FFEC521907939AD66488857BE8021B385B
-D6E1162BFD8BB36174E0D5C238BFD778BA5817BF31B2624429080A5B93AC98E3
-B6C5E9C792F9B1CBA7BBDF63277A28B6891DDCD36D0CF656C4F510C77AA08991
-0545717C76D2289D77C79DB34F2FF22E29AFB3F5E9B6313A2F582E4DDD2373CE
-6064843D24FBC35B1A08AAD4A9B408541301166DBE585317FF2A8E15C25DA94F
-5A5B9D11F5F0B1A658648C529717151A96623F590FD41908A5CA20CDC0D75D84
-6DBFD25E5D4739177AF9
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMCSC10
-%!PS-AdobeFont-1.0: CMCSC10 003.002
-%%Title: CMCSC10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMCSC10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMCSC10 known{/CMCSC10 findfont dup/UniqueID known{dup
-/UniqueID get 5087402 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMCSC10 def
-/FontBBox {14 -250 1077 750 }readonly def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMCSC10.) readonly def
-/FullName (CMCSC10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 47 /slash put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 105 /i put
-dup 108 /l put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 117 /u put
-dup 120 /x put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BB89566A9BDEC70EB4F2
-048A6EB631F05C014D372103E37FC3FA317EBC9973565A638403DA02E48B7D31
-CFF6C241DC5CDB470561002FF46437C06EF93BC99352DF04393C661FFFBF4BA2
-0723ABD9B3E9CA9E63BA57EFDBAE684655CBBDBA15ADAE43E1A2C98A3CF060A3
-D16AF8FE3A49B50A24C20EEED716E49AF6013D4D38CD9CC41A91C17E4D04D79D
-567E1EF49110AA9C34464E95D81A730ECEB2C9AF38FBA6B45E253288438B4CB3
-DC75B3A906D4357293BA41E59C35223A6C9CBD6FF5FC90C2D07CBB376C7320FF
-435A6251822BFCBB612CE630EDF826C37E95F541C21B93FCE127591D5E38165E
-2B58A34AAE37712BC58B63FFD70AB80F4F24612CFD2F1466BAAF3CA2BCB45148
-D0DEA0E9B8FBA4C4FF5B8B3CB02E461355051842BD1C94F41066B9B909DB83B1
-DCDCBEF7CD00A43E4C0B8191A29600CA197F0BA227FB8309BB539D2A620BAC70
-8A1AB2DFA51ADC9873B8E5582DCD3ED154E5D727D1665F99BD89883D69E6CC2F
-DB3A57AEB612171A88E22F038461DE03FC357F771675E34E90D4D19B4B36891C
-9D2333960400E97494F4FC4DBCE6A73C34A0409E433BBDC0AAAEBA7D3555066E
-1CFBB4515C8B573C9B9DD12ED5B6ECEBE35AD0DDEA9DB004FC6CB540B5117B49
-59CABE5FD74C6F5B6482B42C20B5FF0467D1DBD7CED2CC651CA57852B6FBB402
-A6764DB342889132C911CAA713A7F2FDD8A5E849345D6C81025E02F5B8B682BA
-90CC9B467FBC37362436EA6BF8EB62D784B01D5430147945BC09D1F49EE89F2E
-3E2B8E6D439248A56F82F2E03EA5C7A922F2813BE6538A3A423BEBC55B345AFB
-3B3C125306749E137C647D78028AE1FBF3E1A82C260132832A9668F454D39C41
-736717DED0A99F6B11F005F0E1D07FE84713AAB4C042FDC166AA146D7B5E9198
-E4F485BE5B135EA281FF1C1E616B5AAF02771F58C5840CB5A427FF9794F93E94
-17FD799C78AED1DC4810BCEF4C6C51D3C1504EA2C6F2B29805B7ECF97B5F637D
-FE92E168CB9029E90404CB54FB312FC7AA8A9F2F524C03E61F03B1E31D4F061E
-1677B39D5D30C9FD4673E1723F4AE3CCF38593AD6D7F61E9DF3C010E51F25085
-35D51105E1464BA146A78D7297D4D310AD91342A0BB942034A3EC0696B467367
-3E39D202D637E6B14D0EBCA6AD3CF22B07D4CA69C0FCBB6C93782B2F0DFC5AC1
-5D8A16CB5EDB671A0C1BA9D10F63CEAFCD0E06E42C730C8EF769CCFD57937245
-658F486036D37E8BDDE5670A212FB488A8753322A5B170C9662750AA958C0BBD
-8E97D8239D2A08B30416504DEEC4E506013E037C91785C674F8A6A44E23FEE6F
-CCC00CC5E4D355B0871FDB8ECD64F70EE32449BB5D6F84F8C8AA2D5B1A489BA9
-D7FF2DBAA8D0B84054E93D64D3E77850A3724824914A0F821EEC3D605DD851A7
-606936B8B9E24D6E932E16C448140FE94DD96C75AECB73850035ED9C04A1D93C
-64B21E7D4657E030483EC5C3554AEF8BE4D0FE5B9743B875340B09E01273DAE8
-F256C50A1A8F2E0417440A8BB0173F59E11523E1CEF2593A4AC5AF2167627B00
-C5EA97D125EB8A4BD4C372877ABF10F5B7B149D73787E0834BFB3084E9508DF7
-072DD71637019599252059738D4D6BC57A9358E4B14F6AF9C4B31DB8E25C29B3
-7A15F9953BD73ACDE5F0445A5DC406BB4635FAE51C1D8202AE31730E6F355317
-1DC197DB0B6177307C60E5D38F4487363EE051B2E609A52BC4D45B14B6558B6B
-5E1618748794B8340752CDBE7756C068975B559615D4CD5A97CE30BAA7B2B1A3
-2FEF2E055232B24FD8A21BECDE1B6A479A28EC80AE2CD16DB50B30B4A6CFCF06
-491C7CD5AC29FB964D4846415233947522676DEABDA0D9535F8507D33693930C
-B4E4240A02B0CE7EA288516B8A6EF908D7F8BAF9012D052C6AC96D9F8F6ADB07
-8984F3559C5E7E3022A957982155FC9CD599C74E18328D3AB46F9DD15D1C4C3F
-9B93ADB4489BA02CFCF57DE6270F3AD2F8597BE71786510EF08142F430EE5568
-4F9DDB792B7C46B6135E341DBBF062FBC50FABA80CD4A384157BAE57CBEA9781
-AA4416323265168AC097DE7E30A0D4750143A4FCE70A863A31876A8FA5327C3E
-36E89589E363AA2B1A6E8B09F5AEB8FFFD0396067173465B6503383DE517A6EA
-88C0FC08578398C2A721E5AEB29F4AC9BC990A50CD87BD35A11F9E81F68E7B85
-5E5B95A4F9A5D30379EF90D78E1E466DEF867BAEFC4F5ED2C762BFF099C1C2B3
-5E0DA1C2FB33BE1379413CDDB1EE6BB3A495331F72F2FAEB8152E8AD5FD334A8
-AAB0082A71D5574B618EA8D487B8FAF1B445F3395B1E21224F5492A0E06F5152
-7726835C900E2E52BE3B7B654183AEDEC68053DD0AF19EF6DBC10B6FC08EC7D0
-CC0E2C8FAF8C9A4C21FB7C34E074BBA4EE64226BEC8C928A784C1BEE35B72EC8
-E9295240B29DDC2539CD118BAC38DB3917D14CD33AB45FE47E827F2A2B193AFF
-53C5396C52CEA4F43F06AC2D08C74CC85D608CBA267175EC31311EE25AB48DD9
-FE811B411AE426C9FC0B6044D1EBF130231623F1566CEA4D1C06D8032FD9808A
-94479C842BC41B675CF6B90113BD681F8D43F51D5016D80EDC11D7640FB950D4
-E709A46184406ED90D0892A4CD9062938A8205697A200DBE1F38EB166EFEA0EC
-4FCB45CDAF82EA103DD6FDD03D146F3E42EDA6496064DB3F4FC1C5280C9E604B
-D5EBCA08BF2AAC90156C11EF68137DC76502EBF216F3AF3EE30DD2676D218428
-F41C655093F8B530FCA378B5769F262A6FDB4B66B83F18F050E77227E28D71F4
-5F4425CB8D51B3DAE872CD86D7804F870BC564A6DA1CA13EDB00D131CE4F6460
-7021661B99612629DCC20C85CF155EDC5111E015A77B0B82A8FC1EBB374B7EF2
-361419BA93B857D5C9944BB5B4AEDD86ABCC261542077FE09701C96370168579
-5F89D5AAA08D700E2643E88C2FB8D1D56D37AAA9744872E7C050B4CE046B47A7
-83F224FA9FD311C955EFBF173042C8FC66524135F579B1397828870D5C9DC71F
-8615FADE2A1CFAEA90F732B6C266E2F3048FC43EDA7A6B6D98E9DB793CF457B3
-F5877E7A055C92B0246FEA8C72B3B3456F93BF36E2651D32CD614C3AECC0B4BC
-F824C8363E593A6458D37408FC5B09883B280005DD24123E2D4B1B85F4113327
-EEDD9186A4AF2CD6439B46C5C168C125CA80F9EE9E68906620EE126CFBF26E15
-B269838A54224EDCFE2A373EB750D4829BFA410DE5F1541E428BB1E024AF496D
-F5F1C151F5A645C8622F2EF9088D57A2811868A8A8BFCDBFCE3ACB8463AC35B4
-8B6F44E1C1232805842F56FA468F81FF37D5D55B81CA56058558544C142EB3BE
-07CFB1F75DECB1E48C14D6AFDD455989AA6FFE8B8DC54F462B3C20E31D270BCE
-8E68E2B43A6625AC7E9792704FAAD6CE8BBE0B341DA7189EBB3E9D5375B27FD4
-12506D5BCA50AEDC6955E6C3C7BAA84BACAF7ABDF3A270C7734EC3C6EC22793B
-E67B0E288F99699D38DA8B79F2D21DD97945FBDDD132A8F0BF947950D3C0B4AA
-EB7B2C435AFE54489E1930610311D718AC610C21A644F34CB2D1959B3066F39B
-EADEAB5CFC6AF4D191D86B02402B00D1C5262707861C5308730579795EB53207
-A291A27A8B5C4DAE0A87A0C6A260026CA3CB620E1002E066A515D7990F3DEA29
-0FAC962E0B82B7A6C86B1EDC54007822BAECED673FAAEF88C8109777EB79A53F
-AF3C58546974F2F56E70E9B5CB59ACB5C27CB01895557B2D82134D7F02029B24
-3331621F38E68717F5CB68A8892D0B9C0A8ED4F8BB56E80505170D44C6856128
-2DED0254ADA4875CF56B4D97372AAE730D4C77A2940DC8C178274DF88A9EE037
-215C6FE7B9D481EE4DE809B124C0270782411ACCCF89906A8B143D0BA8B2CEDE
-E9B90465C3E57A4FD9AD2702323450256ABD09A1F8C26F08480317C08B75B720
-70A161C99715A35A94DD5C9647ED0F8A5337B774C8E54F9653AC859485A1FED5
-37B725A7E4BA58711CBCDA6054E34CBD8E9F9460179DA7DBD243D81A1531FDDE
-BF2BD425BD9DBE75EAA333B1F5793669A215549A774597E6ADA16D323FE5601A
-EDA41092730009A99BF5B5AAE281844A6BF3292D4D4EDE36B4FD8BCAEB6EB72F
-AC5D3CD53D0D621CA9EA8D254FDCB2B5161EE9E80B266563F669805A3A15271A
-0753983004A1ECC7FBADF62AFEA4DAB49A178C231759857DB910668BDB07CB3F
-7E8EC24901863088B3231EE3FA563924032C91CA9D68DB398F9BD9AC0C651EC8
-9051C9F709CD784F3FF5951DECD7E869ACC34B83AECDB011E6594347855EE7F5
-28811F744A4BD70D4E9077EA7EC19FFCF612689F12B34332857AE41F13E6D16A
-962DB9B6AAAC167B9FBDF0068EA13412F318384134B29F3F0C399F1973A3564E
-F9C3C39B5BDD4C98D81A6CB476E565860B50704BD65ABD630A5F1372F2D826F3
-3AD47C08B8AD3176A170C369EF3CEEB190134006D6135C5B8CCDBE1C11FFF1EC
-3F6D8C46E15C4F5EB9ED9F31A129594D542D40DC3815CD075A0DBB648D868AF5
-15A05C4BDB28BF23653A3AD96CF6AFC065DCCCB23D5D9A945F8CBB539DD3BFA8
-DB8F1FBF9B6F25B41EB4309995CA3D5D6ABD70CBB4A2F0C6364E5439AD1045FF
-72F6B45A30BD3A548CFAADDCC6C15D46F6D783D3E520215751DC98335A4ED512
-D7D19235CDF911CC69F3CF4365B678EBF3E87C456A4E77339C74930083445588
-462529C22A96A28C5CE87AFA0C981F26CAED5A1C8DBCDDA612624DBE0373F026
-465185A4D8C73CCD8D71EE97116F8F7D341B87FD78F9CCB9FBDA2A7799711607
-6BBA855AE9D5C505870DC85FDFAAA130A351D56AADBFBD6A7D52055E3200F8B7
-8AE9A00092B55DEA8BDE224B4BA7FD4A191CB1FFC4CB995FEE1AC2883AB69E1A
-AFFC09AB5B9AE311A030A5BA05E2213F9BBF016C8FA80689C069314D91274B20
-53FCC65C7D7B3A7504887525BFFA060304931672A078BCD7F269595686310E34
-E1ECA868899BC402D17EC36CE40D5041D7CEDA77F7764C9D98793F5334F574DF
-E93CB10A5E8ADAE95CE63D2339557091B4B4911A4987CF21B7F1DBADBC2DD605
-8EB72473C1F2EABCC44E0D0339EECB55DA74085606C3F89D57ACFBF5755A5395
-CA8D4BD47E4EE8D8B882D3AB31A1F0C62E74654C7E041E4FF2693A38A9796064
-46526B0A37E6B5BF8E48E80EDEF81E34DA8F6CC9025936A4D0E6D709D61B7B5C
-AB550397117F3F9D2F5A542A64DEA8E1178F7337124D6B56BA92F659AAD694D7
-391028731E01284BFEA635314A8DA8DF7A34EA3B6B2F8803BE6DCB423A9E8015
-55EBD90EBAE8A00298B3B6B1C02BA516AF528122C1F2B07EF69F5466C2C36643
-0D665D6561705509B7582D8301AF3C32E2F3B9433E3E04D62117C7E8A368BDE1
-0D4DAA1C415B2A6573116D2A169AFEF700A83F55D88813585E89C94C07802BA8
-3AE8F9BC3CDBFD9C2E35D062B1FD6E79E1EF104FC70B0AB09D12CA027F33F85A
-22F0ECBB4AD55FE8C616B82C46CE69A600E4F767BD7A9C5F9B37A3196B038384
-5DEF76A8884425FE598A63AEB19FA698C2AF7CAA4983CEC789268E22BA051EE0
-20A40633D22D8F707626ED30E8273EAAD1C065F0B2E1718B5AC853ABE09330C3
-B0082A71D557169BC1559B6D285A3499D41C4CCF1F74884EC3917EB9C574371E
-AFE8578DDCA459B8D22C0188A8D150437B05FB92022C95EB6FBCC954216B5FED
-CBC7C90B9A1F061376A9840FB64390A6BA99CFC8279A86A730C6DBFD14C53C4B
-7277D676BD42203677E9ABEEC8C97E13DAA626474513B06F8734DD784F2FBBB9
-B3B448B8E8221E380AB4A86D3A683B86A54129519D50DD4FE63B30954D805CED
-A9A5D9A39C58B65B08E1C19555E927C6DBF7FD07252B2B57F62B905D6B488201
-213D106A41033B26FFBAC2E616DA6ADA6D560BADF10E68872806CFD6F6E19D7B
-57CF1F7A030A7BAD374F16A977E0ECB8742D034ADAF9C247DA19C8AEA74EF6CE
-DAFD6B1DC562FD3B77E4D008BDE4D8C7FCA9895DA1AC9EAA01C32A0DA712B082
-9438E77230D38FC4153E1711417B918BA6CC03203A5FF082AF880F48518D8271
-C1121E4F1386B30A7F1BC6F10EA98443F8A65C867A109336B808BC9A8E2A75AC
-F950835AA84B56F59DA4C8A18859C3B68F6B6DE09A6675F639EA9107BDB67B0F
-54EBC564BC2D781B61C14363A54956BA78A2BB89C9F966C94EEFC29EE9F4E23E
-C0BF750144DC289F0DEE1F8A25BB52E54F656FAFEE4BD2DA57E1306BBE648051
-1D0CFD6A23A3DF082E3CF13197BF1B7FB22B2CD427BB78F455C9634DF989DC90
-7BB2AE247B1C99AB2062855B2948341B0F857ACD750B59E370A6698C6A1F5287
-72A4A9628A592E313956C242DF8277EDD2F1FDFB07CDC104275FFBF796D7518A
-DF49FF3CDEC3BDFF1D290C382F244DF18005ECDABF0C5C2C64EEC4383E2E07DC
-5C82587C071E59B46B7BEF31D268F39D9B12D534344FBA515E9DE8F166FAD1E2
-7D1558967AAAD3829D3F7EC6938D20E5379F414532976ABA844D97A5E9078901
-EAE4D0ED1F4C7EE7A2D80D891A5013D6409A38ACFA497F5A169EB7F9F4890DC4
-62FA6A89EA48267331F086992B9CA9305E16611E6AEE67DCDD588A25D37F45B1
-0DE75C802EE021E574B64B3969DE2E5061ED9364B646C38D4BBA86802CA6338A
-94E135D2256920EBFB1AA22D9E90C7D16853F0DF9F2D942748EE540E4FCE63C6
-5380D7AB4ADD6CB00FE8F7867E4862D8DB432F28331428CC350CDF7F447A65ED
-D7683ECA35A22ADD06E9FE6BAF060913AEEE7B2B8EE4798E437698CC9EB2428E
-74CE73F84D0D2292DE709D71FFF8901C3505370E6F1D4E28E6B7372492C65A88
-159371B1D60D77CEC93B272B6C5394EE1D2EF9969DB2838B8E128553879A1BA5
-2884B0A596E8FC3D1E648B7E26A4AC57DF09B9CE09B2F91D8CA618CA52AB3DBD
-D005A56A420366069B73146A6F58E88BA49671A1AB7C2070C3D42AA770285143
-40AE7D7868C0E1993506B07C086AD7D4F28CE2D15853FC5FBCBF9425D8012B9E
-DB6E1E5002517659C8DA69DCEACA94F368537668843D281FC11782F1C5F71977
-CA215349EE6F20565DE3D8D8212A40E1227A4B22965FA64A0B02C62BFDE97E6F
-C3C54FED4057EF9D258C42D7440C78C5E0CC58A40DD74ECED4152F70A93CE71A
-1B3A57C46F74A6D27BF98C97CCD31A8EA487260F224A3E40F52C65490AB4098A
-7B9EEB54A5A415C8C88568F7D9EFE74BBB785FA18AA27D9201F28BBC477A20A5
-D1307AA78EB8C7CAD409AB64B29E4115E45F5FADDCC80CA74B296C4265A40614
-37F2ACD8386AC0202D6FDB6711E8CB06442F209D781E940ADDD6D881D4F8E874
-357C533115923B90138FFE31D3577C6AAE60D768970FAAB682CD0DCA3E9A9A68
-6393E4B772691C1013ADFFC90C508D51B02D2518ADCC7E79F7DE5DF9D18B8435
-6129064DD1A3995E5A6F45D78287CC10A0EAFBF47223494C5EA934B1BC2F7C53
-686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F
-D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8
-EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6
-3088F8D19CF2364A329162D39E166AC728B267758341630B00398D64538FCC4D
-E3E6CF103794C29AEF7F7E56970F6B1ABA87DC8D23E280EDC77556593D02DFF3
-154883CFE4EF04E07E7539A4750FA1CF1A994E99B656E728D140C83AE1F196AD
-9F049188A4184C84556C0476BE46DDA8ED86888DDA3065C5091D99EEEAC43092
-40B97ECF9E6EC8F51ACB40869E5A6E08A0BAB6B7892A232A3A1E688B81077DDB
-844137AB35E862CECB9761D4FD3514C707D6C00DF5F2109C43785B93336E939E
-B40A8E211CA36120572EEE2EA522F9BB1A60FCCF768D4D6E62F4F6521A7490A0
-7CE1F14CD451B5A1D6149A6AE7D0F27B7E0E31F556E2E06F41340ADE94AF27C9
-C8C0CEB284B103EF6D31C8DB0FE731362CB594A3D6D3F6FB52DA232DCFB65F66
-B2FF61B4380D93ACBB9EEFD298C052BFC0B40FBFCA767F3B1EEA76B1520772E1
-6C7915DBF8C3C012829FA69B8F3A265EFB97D093DDA4FA5244191C7F7EFADB33
-2D0EA8344CF7B8F03811562696AD81F736B1C3AA2C6CBCB5811316E0C1D139D1
-E6407C61D8DD5ADE2F04C13004D5F31EE929B8D5462DBC4AA6D48704A316A0C2
-E22A8D139D91985FEF3BE7B937A3BE91BCC9AC2F4359FF77A2EC81D686435C3C
-184241368906A4C566E76C74B5C24D453534A7FECC771106BCEDED5735E4E116
-AA0593AFFB47F3F3BB30602EBDBB815DB9059A761FB609C52B6D7DB9A0A6310C
-1B1C876006A573F53F12FACE12B3E27B2AA92920ACD28917B5F494B16034D58A
-4B1D27519970B25A67FA52EF9026B77569820BBE1DE8724D5B11F1E5C7DEF2AF
-CB7FA37CC69354C383D0DEA937B0A1EC4C27E4254CC7260D2683CAA547789EC8
-C09D8A3BB0E5D27B2657DB2AA0A2B17AFA5DB8FCB819073EDE520F94A9FD8CBE
-3EA35355AC509C4889EC55CF0E1C1C31D46880EF539AA5C0E56BD734D4C29D8B
-E90CC28C35FE29CB1A9D15FD8A224248F586DEE4286C5E66D870B033ADB5F05F
-2700309D1BCE34C5706C56811F7FC1E25BB368B6F9E6DE4F87D50875FA90945D
-ACCA92EE90E1D87850B1A90CA61B7825E9A0E6457EDD44FEB04431DCD86F3205
-39036FFEAC731AD38B715B3A0F360FF4BACB6E6D420A01789A64CF4AA60104D4
-285D48B767054D9B7F0B269955CB466BED12DE796929F2A9999EDACDA78F59EE
-00A2C9AB5CEFFD50C1BC3CDAAF6848EEACD2B6CC8B50A9A7B2727B954D3DC6E0
-6EDAA655BC07DB79D50B763CED64D9D53F5801A1298BC8D8151D97B517A6F90E
-88CB64B69997FB57315376C02E4AE6EDAD2BE6B6EC67589EE1E4B6EA4A7238D6
-3255D4EBB3C26BDE5B2A36B874A42672F2DC05C78FBAEF08989566012112C866
-4459A1CCB2FFAEF70581DB8A582476D6A4C277A3F36FEB81EAB7D05FADCD97C4
-ACDB8EAFC7699DEC35B8ECACA1075B845B9EC9C043FE1ECAA4ACD434AA81052E
-3AA97704DFF6AE73ACFD37F87D3F2B05B7164D21F9023C51AC35F020644183CC
-4F6973D6039F7E33C33B3ED9AEF22E78F346A44F918A18E0AD5072EC9D01C014
-F325735DA7B62A9DEDFE7E2E4F3542E955041F0F16841F672ECE7C2AB698429A
-42625DBF8C54AD77F2AB02324ED2C64E4CB5F4717C4F88D5D0704D041C1AE94F
-DE6FF8172C889533A86E2E0943872BE93CDE8A4882D98E2A1303EB3B5C623745
-4D3EF466459B4563BF9D64979CAE5043583BB3671E0AEBBA6599DB6A9E6DA06C
-5AABC6F5563ACDB0B88EFAB5F25306242361D4AAFB8DC02D1C67A5E66BD519CF
-CFB4D2B254952973094944D0FF7F44388580E39A57560E9E350DE63E336F660A
-22F297555F1A13E508188B0C720213782C45CEBFE87CE36761DCFE98638E35E0
-21C3D9B8F6E198C8B65DA0CBC6D17FA11BFFA1596D5D17525BA86C49DB5F39B7
-D7DD0C015EDC0CDBC68261057BB07F2449E16084F5752B7D04AD13A0DAD9C11B
-F22909BB65408C6EC3FC6D0965883F450B570203D65BED26A76FCD06B2D74E33
-B5CC12A0346A142443A5B57BD44C4482BB56A15D874B21E53F1A8A8E010D6827
-74E952402BBC7EA19BF16738DC6D7823363BE37F65E066D2D1FC935B357B726A
-C8A4C4A05A721D8221769B05B3535A2DABD2993E941346A3C8CB722DC01C4637
-AF69C3180E45E87B3074B41589D4C20B2A79D60EE1D35AECE1AC4FC65E8CC398
-CE3265B6B6E4B32060FB107AB18548B486A46D6C703C08B4BCE5B0ECC6C5B36E
-4B541E8DC6AB90BD9AF50AADE1727E15C5C0CD86A41D04C01FC84E6F043D0257
-18FD2BB385F123D32455A0C55DE1A7D757482891368B07B42D87649DB8F97A73
-365EB9CC190555997B8E318F399DCA5B4D81DB352C024747589487F7A93B27E4
-CE1A24286FED40C39DBC5F06C8E0E0A539A7D2681AC1EBAA2BF4BD7B60732364
-CF25362033B8DC7EDA9E52A868DE398ED08F9A07B1ABB85AB1B49751B5017292
-20202619AEB6AF457663215843E298104616F960480039C92E55D33EFEE37D89
-A31420B8ECF9146DA43030D2AC28E4850A34D673727FFD74CE78C99EABEF33B9
-A0BAD12471C5C98119EC8A114CB52D72CDD564C61CD767C5A47A878DF1068A04
-0435FC3FB7E797719E4903216642A167381ED5D702BFD850672E1B2107A2BF31
-F03B9A59F850AE86C4C406AB6A9E2D430AA47E70D54179DF9D96228FABEEC960
-7B3D43F9A6EF86977C23FBE9F0DDE32D96883327344249BDE9FE27CE11932BFA
-AAAD0EB7092F32FC9ACED53604FBA348CD04737665A1668CCB9B84D0D57FF86E
-A19A5554BFE4BCD2BF954BAA60FBE8C9A7EA1F8C281F3FAC4FDF3B0F7F5FB94A
-31B73010D275FBFE26B0BBC46FCCFC4AE49AB90257A67DD0A0E3F6F341DFB4B3
-9398A8A9BC17E3FD3D060BF73B47758E8BC29CE561373FFA66D29598B78AAC65
-263805825686264CC0DFA6A6330F279FB3DBEDB8F11ED26A1596FF15BF79823C
-253EE1AB6BBCD8E5B86C1AD2B5C3D26F80FC355CCDD2FA2E5E04D7175056CBA8
-AA13B132E451AE035A06C2D47B03311EAE636DBB418DA0DC38C3117E9FD041F4
-90163BC81ECF991AF6440BD23BFFB6FC4F8B081CC71C6BAD6E8C7A90FFD72E6E
-6A9B446D0FDA477503F0A97E8E22E6AC6667D1F07B168324C6188B2436568D44
-8DD464B907699B541EC76098D3C773DF8E4B32573A8C2258A718FE5D4B855ADC
-9A403B778293BA0AE9A04B408DF47A31C44AE3319BAC07EF62381F1F761419C0
-ADE85DF798E9DB479179C271B93A46A16E3DCF4A4DBAE5D8A51C0023875B9105
-CEA9B873B39E596B042B83481C011BA9314125EFFCEC69F5E4EAF9303DC5E606
-E1FFC6A84954BA289336CC62BC4F411C5BE730E24D4261D71E0F6872083AB32C
-764546C806958EFC69D561360865DBABB8EF54F4FAB58D8E3B27197B7415192B
-A1448B6F53C9F659B5017F5B3E29B9BB58CF1D808CB2C3D2A1994FBAFDF928B2
-F6BE9DD53735E92387394CC85246F4290DCA7A9FA28BE2A5B42BB8017314D00E
-A6DC63CD2ECC10AD39B597527EF7DAA225B7C2ACD81856288366086FE30C3ED9
-04BEA02A13DA57D69FE284DB157FD587F5B0A9FA8DBBE8A9F471CAE55F56292A
-1079D1A69C4AFEC851C4E402C76AF809E571F25809746564F75FB0D87B136ECB
-5A7144EA16D58B378FFDE9A672442B76F1AC5882CC5CC4893A5C401035BEFB1C
-D5D7A85E24FB670F8A5EBF8D99D600160DF2596C7505152D8B5B3E17E46C77A4
-F8D142D6FD6CCABDCCAE648C60304850E01FF12A539E5B69070B5231B175DAF3
-8C70C4527576C445A63ECEA5342EDD8CC4C09272ABE45D08EA1F4A81AC514A01
-340AA85F34B10C3E500DAADB58B9EA6D4D374750B062F4B7A8DAA4ABFD1BA656
-97670A2F5E95481E9997F838C70A57C2BF08EDBB2E0EE7DE5D06478493509E90
-F261CE44E19589ABE7E33D088675024F87D68CAD8897233A64280C7BDE4DFEF5
-FA827E632F76CC9FDEC46BB14A98E931DBC01C30908A6E51312602AE381FB317
-90D5FCD15B7E69355FD30C4F1043D25388938043A1F43BC8BB841DC13E2A0DD3
-2FC638B8FE39DDC3B30CFA9BA34D45FDA9DADE671A455029BDFBD93BC6E6E59C
-C35C028F42BC350BDE9BF90A705FD1F31464DB23F635CE03EF6F4DDD972D5D21
-98076D9112F645A1804CE57343D8725589F85332D142A4DDF52E6D5AB5856122
-E6BF337C0BE21C8F8232ACCED00223AAC3D48B4B588164D8194D8F2C287178BC
-D817D22BA486CEC56BB77396968DA2AD4DBAD82789869F2CF55C413538F4A5F9
-33004C936AD0588B093D08BF19D1C55122BF12022538151AE9AC1DC6EBA1DB5B
-208881BE8721D399ED24B08BD70DEED6E90981E6EFE8E6A6D0927AC66BF4908E
-13BD31C4F65F1213F3645E17650E0899A84C867CDFA7534E0AC5ED3B88367564
-AC6A4DF0C03FC7CD70B0DEBB3C693F074E58FFB1B068016AAE2C595E9680EB95
-BB876A20976F1E146CABD3022D2D090F9E6C12999A81EF7ACDB90FC6F273422E
-D1640C2E860B8875125DC2044B16BDB8B019175CA96E62286FFA32B7AABFF1AC
-F7D7A5C8BC2F096339F8E9B6CAEB43FC684A25E675489C816D85576966897BC8
-FAAF75FF9F5774F6CDF757121A81D15DEFD0604FCBD5705C27A0BD527671B2D8
-0151719C05EA1845AC8CE83B42EF3CDB45F887A4AFC676F12DDE4E376C4F0316
-0D3A98495C9EE09BAB5164C3FBD5E3667D72FB196F8F28F55961969990BDF4A6
-7C9163CCB7FCD26EDEF2ED5AD3A0BD0266DC60987BE6800FA9A5855590971A16
-7C3A4A57602F3C9FC193200382488FD5CD976620A84C2C4B2E853C527C2A48C2
-CF32D64ADAE36F754425B3BC52C5927B4DF0823930B58047FD162DD6850EB34D
-01560FDB65BDA94F0BB1C3A27A5EC439B15089B04D12CDA52A187D2E8799E364
-EAF39718E4C02C0DC8195579C77ED3DB82FE19E9F8F38F332507E5999E82ECED
-B79571F205ADE2E28F80BAF4E88A95FBAC0AF0AD3C39A26B6ED0B83409EFEDFF
-B26A73E4E7D14FA1FA28767B95F0D4A427FE18A5AE23A8236570
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMTT12
-%!PS-AdobeFont-1.0: CMTT12 003.002
-%%Title: CMTT12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
-/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT12 def
-/FontBBox {-1 -234 524 695 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
-/FullName (CMTT12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 45 /hyphen put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 110 /n put
-dup 111 /o put
-dup 115 /s put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
-7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
-A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
-4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
-A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
-75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
-9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
-098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
-ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
-DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
-5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
-F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
-2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
-E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
-C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
-42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
-4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
-95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
-830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE5
-5925388A2E95AE46E8806E0F7B954D1A9F70EE29B069A9FEB0349298CE5311BB
-CAB039C21AEB714781BBCDBF2FFCBE7C4750D7693ED142ED0475EE9DB5D5F94F
-4D4613E2C379E494464447C4167C625D70B9DBE4756DEF299974B704A3C238DC
-FCD3AD96645559ACA5056F7FD695D2AA709960E30F055ADBDCC7FDF641920A9F
-A279AAB98424E76D01937F9CFE3CF4E3779650D7C2DC38AB27FB81EB16C19B13
-D47E0AC60C83641CCC1A00136625FE274C6AC706B516CBF14C54000BC2B7BD20
-A28D40FCD6D9B321855BDA608E23BD365208DAB23983C0D8A7C9DDC28ED62216
-12A20A3068D843B5FA016B8C6B9BBD36356BF85A128F96F0CE861FB9C998BB21
-E8624E3DE453C686D41DA7B72ABD919C5BE2F24440D11962C77742A8C0115A72
-9E974E71247FCD58318A4347813D4D5A73CF882A7513E2EFE05CE8C7195BDDC7
-DF250B59AD14D02D2991E2D0CF2D0022EF52D78F043D6D7FEEC3E77B6982B1C0
-8CE51E4D3C8342C08ABD84EFCC8239883D8E66CB0FB0BFE8699155B179CCD63E
-884C502F7F0496A01360C67D7A9BFC8533346485646AF058A743472B3276FB96
-EC4C82188A4A67763ABCE6AF7898C3B924A01118DCE34C77F22E62BB4C4CB561
-75C93226142D43D5ECB9F43C3A275A52F9E5AE4C9BB9E614082AAEAC5E7453DE
-B3F71F9FB747033E227E84E853E75E79771B71495CACE8F911329274CE752AFC
-46C993132BA8CF6B9DA2CFC11A0BD57C9A4BC11B7A6D68A4C346D9768E6A6204
-4227F51932162DA350878EF80D0F4084C82CC61F3223010D771EBE7DEC1B80CF
-327393AAD4C689BF6A791CA2925878C51069C4F06ABFA42B66860082301FCA71
-EA52BED540116A9B12D9741A4C078F207F92B78923C7965A47A3130CCAEF480F
-6B4AD58077FBECC4F99F53BC1F4F24CF3777182A7ADC32FE3260C774E5244912
-470697609A0726EECB72390E6C5C5A1204521D45316989E3C0B4D398958D4363
-3C7A4524B500241161C55C4D8C4CB06034BD825AA2CF2A6895BB9A30BFF00422
-553E4346A53B271C70DE5D0A5AEB92F81CAC1A0E75E47229AA80C8DB09EE3B19
-6E9D3EC0E7ECAB7B879C652282A376C52E5BBF5D4BAF051A0A995460B7F427E9
-521743E74783312E8D7100DE1F31C1C7C85DA33D8D0A626E6E6184DDD538EA7F
-46D50247225E036DB3E6072395C88026D429659DFCFC6416D22A9BE285EEA910
-F7B1B74275B8B043721A829F2D4FE6140E5AFB78F0CFCC27FF27ACE773131462
-48B271781695D31C909FED024B2F3220C206B63601A1B02DBBE2C5D94D027982
-F9E7EA6D4B0A812D28855CF62D372A040F138069F7C28BE3344262EA72795CAC
-2CC8E21D1A666ABFED384875FD2D098066FF0CD902AD6725AECFE61B2CD83860
-82E587B8893F5E09B155EBD813030499E534C050D6902E5F8BA296030512ACCE
-BF19933ECDDA6DAAA1848686DAC81EC429CA7AB1A73B7DFEC0750B404F601F1E
-6755F07C0784A56E403C5962905E9147E44E8042C3858E4A91F7B8A71143263C
-21DC47E481DF1A38EC4A9F682FE059FE80F257576FEF3A3300A36BC27273152A
-78019783D0BC34AB29353EDAEDF48FF6C5DC27C1633CE1CE2C03509992549B87
-75AE1100939A6A2F5AA2BC7C534357687DA72129B9C9F2E511BD95452F10DF8C
-A698CEE0BCAF726111B63C4838F05AC5B2EB43D04115145CDBF2EDCC1EFAB612
-5E35EF5CCC5F4296536DC96F1326B86C65DE657BA06E5B97BB7C4F8ED11DF9CD
-969FA4302F06A5D43B48D40D3DE360F6A7B8F329022CF5B13A33980E8BE54325
-17FE37C9D78E73A74B5734231ADF0594A2E5F2DAD9BCB682A0F5C59507032DE3
-AD0C62E50C258F1F820ADF788D6611CBE6D1988D09D07F8813D6A3EDEBE034C8
-05F7EDC5DD2E4C15B60FE9284E267C8F7DF53F3CC13C131201DE819049324E53
-499FE93874A92EF07AD0121B8FDA88F7D60DE52E2B20AF958A77421F221F8B29
-B2188307F484E1832988059E5A68C52AA7E840D805E646F17DFFDCE1A2A8C0B5
-2CF6F218A06EE1E2543461030E9697624B086FC6619205C04230CC8DADA60721
-F5C4622673ACA45BEABBE3941E7F40080D652567DED98AA3404A4384DA3006A4
-E8A9298AC3FEF04C92A273
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: SFRM1095
-%!FontType1-1.0: SFRM1095 0.3
-%%CreationDate: Wed Sep 12 2001
-% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
-% See the file COPYING (GNU General Public License) for license conditions.
-% Converted from METAFONT EC/TC and LH fonts:
-% ecrm1095, tcrm1095, larm1095, lbrm1095, lcrm1095, rxrm1095.
-11 dict begin
-/FontInfo 6 dict dup begin
-/version (0.3) def
-/FullName (Computer Modern Roman) def
-/FamilyName (Computer Modern) def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/Weight (Medium) def
-end readonly def
-/FontName /SFRM1095 def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/FontBBox{-188 -320 1445 942}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
-69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
-CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
-F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
-F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
-EF25195F68A2A98170E48759F33528B839DFD4B92DF0482493852D12053A7904
-BF6E144B9488970F220C299E80886366662C1276120E72472BF84082B9EEC729
-F7007ECDC5A850C88810EA679DABE81714004E65D938DA9ABDF29C949A52EF02
-EDA8451563235D51286E9133FFC7A27067DF0332ED614AC2D4FAB88EC84E6CB9
-FAB41C933E84B88097BA8742BC30A81416D1CAA3545F08E2554B28362B99B79E
-FC42281922B94604AABAF5F7A9B8E2D9A4358F38F2382EF9544B859D098DF243
-034CC475CEDEBF0EDD0A60C907127BB32F7D85A62A44E90B4056D9B4B2FF3A49
-786032C6B25794E2C0003C7852C6B0688351FBFC43300FB0B72880BB7B58BB61
-3D1064E7D4DDB128A9B38EF7510B7E5F82BDE39489E2D1DF08816781B13836E4
-89390F84577F31776FE43A5F94F817A4AA4A698AA4AE84B178FCB65F1B5A5CE1
-334417595F6E40849041565BAA497F6E4B8F4305D849128C9A26A98B909EABE9
-8F2659189ED27C588ADC7C744712B4D9AD0C5DD25D1233E979DE7F53C5F1C47C
-E9DF254086E5EC70EBC6B7E080060BA72F15E6BB75C75011B15B7ABB6BF761DD
-428FF1BD688938C75BEABA7DEE2AF49364D2E198FDC7F8FA2313BBE598ED3703
-7ECAAA4670BE3A85C693ACA829A5936778BCDCDB38A5981D4CAC8994E2B2F086
-26D8793AC1393D49A8F2FE391F0EF8899F63CFA5A77BC739C867C6CFB9A226B4
-620AED34573F068052604331B7E8E1F0C3BC0BD7DF733F056DB8C3F57E3035BB
-EC82DF5B511453A952D429AC721A4F94D5C9BA5B83545948643D0596F4C6C9C5
-796BEC7B26EB9D729F337E0FDFA91E5955585C330D0C4F193FAC870A28CE054C
-8942BDA170717B7AE9927C936DF0076507F55CA2979BADD3EFACC0A599933EB6
-F148BB7C3D61066CCC93A5856D253D759F30E37534743210743F0D53F58D0B45
-463F053E19A16E5A1B111915D1E664802F8C6C3ACA0F1BFCF3E209D1FD6C79D1
-5D867E142AD6E69933768274F4E2AB57CC518AD5A1C120887EEDDDF18C291BE7
-B3DB17E8FDB124B11B6142DC60F560DDD668D700614732F3FBAC4637B9F41361
-54CD2D8757A9D9BEDD1EC72FDAAED3CE4A1144F1E919FDB952BA7CA1E3D31C3E
-9E434E2E44E7A83AE3480EBE89E0881584045E4AA5814897382EEE5FB5C9410C
-2DC7A2136551DE2AA713487A77B911A7E7AEE41F0BEA1FDAC1950473B1394479
-513741DE60091BFB9751C780D99F2DADD5AD8283DC9CD1C81B902C9F3C9C3EB9
-55608E09D6DD423540BCF72394A24F81135C9D9063C0F4441BFE0120E03558D3
-4A16744457EC281AB2A60432C97DEDD16B2F1FF4C1A90D72D46C9F9BE984C6E3
-E239F98B59A938C2A6490889B437CFC21D923572530E41B7567A9C7E2464DB2B
-18FAF3EB7CBFE7BED6E77219C0366A7D54D469CE3FF62E75FCA2ED6A46F3E5C4
-489992EE1A42C19DA52F0CB2B1A6956BB3F1767B97FDF225685FF7C9E9243497
-144D31ECF634CABABB79E323CFD483BD7A7B0C2679A9C3DFF0D44F09F084CF3E
-886CBC91C5386A266730CE2AF3863534E2450583F6ABB520C27C4EFEA01EBC8A
-F019D25B7BDB40CD6712D7DF2DEBF0BC70A92D3B64D1FDF723DBF3D4AE939E96
-D93646BAAE0BC57BB244AAF47ADE59A5228F057192D917E2BBBF588335E09095
-1CD4AA406C1D10C8EE6812DA676A8FD166461064BE4150CB95C41FC055FF8FA1
-89A4BAACB0B978A58EDDDB0CBEBF6566D47CC0AFC93110751B59EA33AB5D6EAB
-0DB9A65CB16A053495F06B0D49A70BA8A7826EB571B8428AFE5EBB99AB9B56C6
-F69DCC77C25BBBB53FF25C5DB5CB8E742E3C0BFC25098B4CAEF12D299C886881
-0D4EB71D637BC0CD4D63BD6B4F5FEF9B083D95C34FB9E7BC9FCCAC0B9C7D8AB1
-1816B17AFBFE1DA146662723887E435E17AD2E2315AD800EBEE700B3C12B50EF
-4A48C2839AB4BB367E908F59BB5AB88635C3E1B89948BE9F32EFEDC2E439CC79
-BD9754280477F7C982850438092D309C213D70F8D476728119E8FA03762C22B8
-89AC2A2A7C0BEBB0C91CAA95BCCDF91AA918766C82A978B7313870327F89107E
-11A44FF02F597C8D4B085F6D7A098233ADADA521CDF34A78081F8965DCA615FB
-55DB12C1E3459E49C273ABD2663B13447365C9C1C52E192282E96049FD58506F
-FBC9507DDD77014C29275D1352CD5FC765853E858A5781F2DA41360D32FB5A54
-D04E088FD99F8C01DF740E587AACB0E431E03E170CBDA9FF1FCDE8D9FF5E43A5
-73166AF5990B238122AB322F709FEF2F0E2FA7C04FBB62C5383997BC9CFAC8EE
-3FAD26E788DB37ECB388CD80A7D861AA9E9199E7BD065BD7A4D21A0D56DA9323
-2AFAE158CBB662283EA7310D32FB5A54D04E088FD99F8C01DF7535A5156B8344
-F1CCDE84A46AB2CC7F0CFD113074A1C4D90758EE58F61589051A0150121A7BAB
-A636171E6814A1398DCB9F13FE9B11ED5A5F2EEAC14E0C831B2540D10BC0EDAE
-833A83965A33180B0AEA361848DF8FE8E50DF6856F1D10C8EE6BB5198CFB7607
-B6B044160CBE8D4CFF067DF3579918B19B9128C2A83512FC0567CF47B38961BD
-CC60FB8C6330A30AFEA9B276DA89313D6A83343298F34461B13C382575BE392E
-F94E3EA3004D6D37C025DA3F1846E41606DD510D2C7D0BE9DD194E46BE7CAAF7
-A60D496CE85D2393457C50B2D586E010C7C4C7272F496F0CED0084EA956455F6
-2EE57D13B6485B968190360A3E30210D2664BF91C73AD1A811651CAC09A9DC0E
-3A328E1DCA16082699B41A3D533703E58E366E871C982F262478E41DA3483028
-6BDBF03E444C6F0F4DA2CE9AB049F324F887732D21C4BF9C5365C603C9971CFA
-7E45249203329FB9B4054B163C166E1322DED12CAAE39E289C126301D25076D0
-2FD409FABA5247D7A25945AD5881E18C2DAEC09606228CF925557DDFA155400F
-8D446CFB8AD19704B6C544CFCE47ACCB854A74DEB5C646318679DD738987F800
-96844722729076811B5054DA998F9AEBE37DE5068418F41A007E645599C0BC21
-8363573C695B3F68111CE4A6199C8BD40D61E46A153C3C25D0C7DC125415D125
-D0C6130BB6B603ED78153E0CFE7384F7481FD4EDA141C27898B3636398EFBBC1
-9E81060816655B2F7052016A4C72A6A1CDB83BCCB2EB475A9BE17EB08A5ADA04
-CA8AACF6FE68BBDE580243B111BE76EC06E70CB7751A8B206143D0134BF52670
-BB3F44DD8AA7D26283A483CB46286EE0A9BB4FDB0337342BBF362C236C30A120
-D85812760265E3B283F48C05E78F47CF5C678F54658A30EBD7AAD5840F3C7B9E
-21D8CA390CFD164792FF2040E07FA087FDA110A93430C7FAD65C951AEEF79D91
-FC25EC950E250511BB22156C2886A249CD442575934D385554B2B4534AC28C31
-43A657DC937CFAF3F6C87EF4F2826BB02C41DB634D91B70BCCC4F83F4C32796F
-C5664490597DA5F2CAC7C0013B18373EF51520DFE081F95E0C1693D02E39AA2B
-E356FD312C233285B2A8C8C337504C1EA7E9E1F6BD250B5874842F68C92DA11D
-F74E6068495709EDCC6E4BB3A96AA3A4C89411FF06B66DA03FCBB052CF5DE837
-4834FDB84E2248DBC10CD7454636E97E399A7AC5A16A2191D763AFC09588F5EE
-57E80130CBDAF18FE2F530BDBD2CFC21D684AF84A8CA37BF2258C80CA61485BB
-27EFEBB52E5FDDA77E57AC8EEB3811BE2BC948A926FBBBAE974D9CE89333C945
-A9DFE37E5F34BA68EE97019BDBDAC7482826B8F71EC51A777B64C52B1C37326D
-1172F83F6E4DF93B37E66CDD6344810758B10B2EA8C68918DBDBC72F8821F1E1
-96AB78288A2E00C2E03FA05640009DD0EB0D0D318C6A726DE5D8F2B1B035C658
-D09053A4B27B18F18BE4396C900A730908D832F3E8A21C36E32F2D603D0263C0
-8EADB43290CC59C43AD57D357057B13C9ABE55F11DAAA8D78574C430939CEF9E
-FB36B462DA71CFB6E86C72ACAA04D5FE4732AC386F52D4AC92C47F9B11FC32E5
-B188AF2890EE3786AE2772D2FBC5D75A7FC59B0519F32D930B71AAEC8B88F1F5
-DCBACC2CBB9951DCC8F21A26F197A309C26ABBC4C25E3FF22B2A511A96F0BFF1
-2BD9AA37DA5DDDF261EAB0E48C62DE0885B8D074A7642D59C8E216B5F0A8B327
-1794E0BA5B672E41832562DE119AC5DA1AFB74AA66885ADB605AF60B44C1D904
-EF85F00E1F143A19DAC00F751E77EE62D394ACD26B463F7C7EBE4EFD40DD93F8
-81C2956C4250F5F28207671D7AFB3AC09FDD0126533384CF1B2004F31E053135
-44EDCAD0114140E52B7E153C354CF3F2BF37A15E2D19A2ED688710B6F9F83C5B
-BA14795934112F7963FFD217F016DE82353B915549CECBDF7BDFC6FA4F7B74BE
-E202170C9F25C7448970684BC555C8390E34A5098F55E0B003B841CAE775D48C
-1603730AF8C091C0622640AC5A0B46757165B44F0AE1EC1072DA26A8EE0DA335
-A6BC8AF994F5508921F3D9E4E09B375A58ACBB9E6B0448903E19A5CF2A51F619
-81D2A539A4556B9C25722D4DFAAB480586C90874DCDFC2D70716B18572557BE9
-E9CAB7F5A3959D5419DD9FEC22D015EBB5D4BB5CABE110D76E8A76D6EF3513DB
-5C23D3AE05BEFA77BF6B4ED5C413E8DB87B5ABD1B2FA9B3BF37A81C784ABC42B
-1FEFDE6DF012974241B33B67AA67FA38798336F7354F0984D612DBB455D0662B
-C8F15F12DA07E391480C1A150213ABBBB0F2927D223D5752B69C930053655C34
-FC487DD271A8AF594F457F6A083C4150686FBCBD60832E4E7D0D4987CAE5484B
-CA81A230A21F9C49DFBEB24C94C93ADC954B9B3B3EC484C502BD0DFD605F6D5E
-13158237535FA2EADA044ADCC1E1AD42918C8C67320F6621369C250D5335FC05
-AFEA1B294EA5D2A6F335FADB80CB26FCE9EBC0A4EBF72DD47806EBA23C3BCD77
-7F175E2041EA03E2F0B2BD2B81E9A6DD43BA3486375883C30B8606D917C678B6
-6E567A92A0E0DE89BEE5E5AC45C9202D46EED5E045302B71EABAC5FD997A9A7D
-8F522B2CA316B7FDF16CE4981DBC25E4E2FCE3981324B16A18236476FE242584
-AE70C683199B7647325D295528EB7CB15A7E3940FE2D248945015E9DEEB9EB26
-7012041740F5A2A6C7DB7B2358EBC0358E9385E734D208957ADFC7DEF83F5E5F
-4EDE55E2F078E994312214EEAF63F8D0B481C3D523E712901AD838AF2D840055
-E57D34F8FDD4C842D64D3D94B1CA46CEADF497A2FC75A45AC59F8696DE49672E
-E33773AEB31A204F01793262E820E813949115DB90A7C798BDDEA0D5D1E699ED
-753593F2B6373BD24D4647CF35A448037ED5E72DF3175DD6744ABAA0E2E0864A
-2F4EFF3B07B035520A598CDF1AA97D7DC3057414513DDDDE40C2A9DEFB23631C
-B2291ECEEF4D18652CEA451BB1559C0743FE3205BFB6711F1026A613D244BB07
-DB3830F07F32EA637775BCC1B2CEF0C6B0D119AF6CCA17DB1B03AB1E9281C568
-33502239B067013D261BBF33358AAB8803C451B2F570EC34BBA052170AB42F95
-F9386DA11A2C7BB9C05E8C9FDC96111549EAC90DFD8DC906C03F0281C40EC1BF
-EB6B15455CF32FCE5C7DF6F55C91132223FD13FBD62A787EB15CF3E4E6E59AB7
-A529DA186B178CC6E8A4D876794527F3AD72FA86B7C2BAE14D3E5A41D8F90754
-AA28185D92C9ECBBDE4EE53E2BBDF05AB4C9700C1367B3D81FFC1AA34A79CEC1
-1CA7D422CB58C8E21870F680E48EB1B2D5A30D974A7E9B24DE13958976C76225
-45415635E32FF316DC4A69B3CD5EFC6EF5F845C8E24C92166C9076691817FA6E
-AA5D1F1CE12235DEA3902F3C355CBDA5CC344376A5394AAA7C2CB50BCF32DB50
-4B6D9BED63F0A8928C0C06829558B714FD54F355501EEBE29882185A6CA1703F
-6AE65F03CB07406324CCDF00093EBC76627A11A84B5EDB688D20DF49616D8D3F
-7491719761E7627CF8FDCFC0DD2265160BEB33ADBE3AD01E7464370E3E0F9D45
-51FC9A87C678EAE5B16A564333DB11687FCB4D1D82C75A2F551FB4F940E0C71D
-74CFDDA0974D787BE959B2B87FE13DC290C53819DBDC2081CCD16F34F0A61AF4
-3CF53914B713820BF8F2243C0679345EFD56307165AEDF16E3BC771EFBFF595E
-C6B1DB8B028342D5DA1E8CF3FF4269126B48BDDE9BEEF7896CBA70EC77063CFB
-0EB3C6FF697509736BCACAA7F03C4C326875396F0499B198DAF7842384C36C2F
-36B17A65A1D9FB77649DD78499592C817679F344E0B88D80B8D78EEF9EC6A9FF
-41F4D635520B2269035CEDDCB3B5518D63DEBAD4F365A70533AE119F11323AB2
-EF07047536DA6370C07B2215C3A82BFDB44DA593C6B3A33BACC38A105BEA2109
-06DC63737E3EB362A122FE90CE8EF37B9C73FA6933BF27C39EBDE137F15AC495
-7F58F6549759FFD86C2BD3A09490AB47B60E204B16910AFB0C18E4F2361AA033
-9BE5EF972F4B52F18548E3CB947F083768C7254FC019CBD8C4DE7E01DFA456A1
-065EF834C7B146FD395ADBB9FB72B8EABF58EE9E2B2276C87FB83CEAD49BBA55
-7DA56ECA50BE1AE4819EA3C72DBE30F363D43C75287945B0DE47D1FF0283C494
-EA65527E8708279B3B2437BF1CA2456E260020E4FC0A85BA18562CDB8261FDBE
-0B928EF40F0DD40E215B8BBD40BB5B5DCF2FD9AB4D5AF64F82EC77BFF8C37BE3
-74BB9B2E44C819E84CE2C634D55A9EEB4F6DA28025C3831B601AD254108178F3
-3EC068E78ED8C72AFC5C3BE0BFE17F31A23B55E7158FFC40381F36DFEB6612EF
-33A54D2004D92F0A44B3468DBAC0ED5E34F70561F5E77DA369754685B7F6B04F
-233454A59AFDF45F28383B05B6120717744B58D2A96BA706CC9317B5E7FD0848
-56665EB38E31C7F8C87B0C65041A5D2E349CB4264523AABF9C10CA95CDD3BE1D
-9923C1A11D046FFC2E82A09E36ED0146978DC383AC6D70EABB20327360CF7EE1
-DC4DE736760F5CF3B47F7BA082DCBF881ED8DEBC1A4580C287418295CFEBFB01
-51B09DFC98C8A8C9C5F9AAA6971CA95D96A23166E5931F7E464B288F4E357112
-4111BB33FB7F0E042448478D3ED7AAEA57D1B0B4E237F919152F8D9E86229BFC
-B8D59BF9FB9E0062A3ED67A367669D0F2F8EFEB2219E5FFE7400A9DC725ADA62
-706D4D1860BC04D4432F49D7F4271376678D381B148D72DAD9012173FF3779A1
-7C4D92B28D3117888C864440902499FF0F9BEAB0C83FBD788E26B0BA47484188
-FC01B0349E045421E7D912E1BD329A536F61169344F16D65F6B90DB87E22F72D
-8E6F486F8D21E6DAE282C35A2723464F560CAD8B31A931CCA7A2FDB9530769FC
-BE0A5F66F1D4DBC0EAF834D078CFAFA415F43DC87AC62A1D8913334016B3FF37
-20902A7E5644848A57346228A13D7B1C757DFA9B5FC4E9E1DCB2C2AA2FD37386
-87E6B350662256D158D8C7DCD2F7AB1E02D6C5C8E3ECB1C6055A6C0B807B8FF7
-997E562EDBEDF7646B64165A55DED91178BF13FD30ADC1A6B6D621B1A7AEE1F4
-2E30D49CF3BD0656F584CECE76A17151913D7ADB223727B47EB3D7F491385112
-D36848973526DDAD7C1C1C0FB672EC627172D10DD33ADF2445483470F28AF65F
-29CB086189B3FFA31E0CDA710B6DE2B0EE515A46A3FCFC354AF01AF5C5D0B301
-C8FDEADC6DB9D492554777965E2751A715F8FFB6E0248AC51928DD65CA4F6574
-BB1E01B3ED95D736691EBEA8ADFCD8265F128A67C372720840A206056F66A7A4
-10E1722E4C1BDEA8C980250F9E034C29FE0F7D2F5DAACAE3173C865CA9C4C240
-49B6D4D0CD90B75D3BC68B8C84605923075A9A2D5D6F7008365E52796975CCA5
-02770D168EAF28C337D45762A08817666907C68142CFAB9D75C4F6D6A73FB4C0
-748F038F140CB009A24A80270037C9B5E514E04AEAD7CA8468C4D22E1059F2D2
-EA0E7CA2979C7066F1629B49FDB893DBECF6620FF9C48132297E81F717820A90
-BDB45E16CA1D0D9C152B12D50AF4E1B2519FBB2B779218C5E42E31FDF82448E3
-5AFC5F90AA018902EFFC4D5A14D4326911F7055F9B7AC5B592E2E2D3A198E2C7
-F476CB49DBA0FFB2CAAF494DAD087639203084CEA25DED422E0F8A30634FF1DF
-EE5C61FEEC33D547A17961534B3535AA673AE15F560DDFF08EA7AC126882B57F
-A1AE8A5313E6D21F67FB6D16AD32690FCE021616D0DB89C51001090A4A7FB515
-139B751F6137DFEA833004F4689474DE3A8FF64D98EF09D25802C3B35DD2DED9
-FB5300E4F50E5CC70FAD3A21917D15D5DAAFE30DC1CCF79A359B81AA3F21359D
-297B9795636C03E483A80D47A4826930854329FAC093193AEE3A19BA91063421
-988EA0ACD987862A716C42F071140254B72AC91B91911CD6A9D275FD7F6636B7
-4B1B0A47FD39120411E1D5442E711A6C1EB0741C67B0A44C1A2F98C9FF245A9D
-5AE4A04B529CC5FDBABB1C6E8C1590B3CE658EB77B58F4D04803DC351C5645D0
-4DB49D76906E068C3FB553AE91FDFF5F22F734DC4BF8E9D019B06D3A1BB7CDCE
-9101E9D2276CCACFB36B9EC74AD213BCE896FAC45D08EBE43E676816DDA135EA
-8B78003042DA8581975D4C14CBDECE0B027AE87DF28611F387E64B951812C848
-B661FCC0DF91B39DEF14976D7D00609DE2DB8195C186E376F4029CBACE3AF24D
-AABB788FB1AC87D58BF341F95EC2DBD14BFF27D3DAD9A06569FD4EEE40C516AC
-D809E761BFCA049DCD6F8E43E60A0BFE64BCB922D1989CC14EAC1987147A5559
-4F1CA14635DF029AC387BE36036BAEA8AE7DD09D090EBE271FE59FD806894A72
-61C714D6D08322726CAAF168C08CE31F26CDF6613C06CC50DBD59B70DA211B44
-1BFA22AD62D56AD098FFB998E25FABBD89A2C17EB7A3AE81F79C05AA4677D744
-7F412484C16CFB322FABEACF98AF9F152E3217D0F2593D6863E7872C5B6F82BB
-FDFD09B13FA639680E972DC7B086D7DAAB076CF346814556119BDFBDC3A16374
-E7B92CE50B3BEE8B7C26856BDD3C2ED98337C2B877ED5EE4878C50F06A64F750
-E9C8CA83B7FE6C91E10FA717CCEC0D2F8E21CB5A2367B5C90A81897B6973FAD7
-D4D95F6BEDE4E1EBE6D852A937D5D814AA6BA62324C08AC12FC09C5037588F7B
-1B043BC503D725EC657F47DE02CBA939ECD8418F4B7C705EDA3E9AF1E623A989
-074165DB0DDD59B7ECF513C714B7D0A1013E4E3F2B071F6A6DB89B7BBC2774B8
-87ADA7C572B0AA702156B715159829BA38A9EC28E1CF3494B0CEC876A97B4617
-2CC9162F204C36850CA9188B0B97300CDB1AB4F57B55D39BC539BFA5047B032F
-02A88CDF11D098FD30F6A6B82B98AB9D288570FE18E4E6A707179D96287D438F
-2D5D3C2305C5FAF075E0979EAB1DB645AD9DC87A621219C260FF67C2DB8D541F
-8BE9E20ACDCF64C4C721AEF5B2B65761D0310CEF36B1A3E57092DEFB978A43F8
-B553169F523517518CA0618E31F9A5940EDA42D8B9D851AD1E77BC1C0C8EED23
-F469B0568B5A556A5FD5A20F5F4E00FA6F030ECC5E711865F1549E409792F7DA
-D1FFD1BE1E6DD22619163B98EB0425319E738254ADA0AE57FE29E121B0D8F172
-DD717E0B59842BE9F6B37FEC3F1BBECE15664851EDA3DA3A1848191C38F2CF60
-7A262D4440322C26150C605AADAD4EC3EF0CA22D6A2F63BE63C9C08EA643B68B
-9C88ED95D2F2F0868CC40278DC2752A1E61C793FB87EE69A6D348F98A0174B09
-5AE09E214EDA066174A6823347B831ADF2619281E43A71D549FE194D5AD4ED5B
-1DE112CA90BB9D92C57FC3D89F1A57F7CEF2ACE8E944B8B725557F567D9DFC72
-3D28B0E11DA3F81633C042B5FD05513542A2B431B3744E2E9581ED828F5F8A8A
-C600F526EA874274FEB94E64F0AD787F47C98899DAA4552E447D4B97B3774334
-8DF26A38D7CD36EA79B64CB31DB0302BFD0DD2280E10FFDEF59E2D1F6452FB09
-E2A7015523BC1A46AC2F816135FD4EC198D30E95203ECD2623E83FFC1436FF74
-068CFF87C1ABDE2D31AD1FEEE6031D889A25B9F2C05036F16BBDC143705545D8
-4D14A2467639644AFF1D239BB08AA769BB5476DD4FE9974DC01E85C02F82958C
-12C3AAE071BF1E57C358F72290F15A2655C1C79DB5E5264133AD0139F9F9B540
-972A3FD82BF0377FDB8711A746B9F4C6016172C30CB33CEC0B327DA0DE2668BB
-CD41
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.0: CMBX12 003.002
-%%Title: CMBX12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup
-/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMBX12 def
-/FontBBox {-53 -251 1139 750 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 33 /exclam put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 63 /question put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 91 /bracketleft put
-dup 93 /bracketright put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 123 /endash put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE
-0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D
-2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608
-1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C
-42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557
-FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE
-78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18
-22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE
-A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811
-4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065
-4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7
-95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D
-9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC
-5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF
-9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3
-CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511
-BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65
-9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68
-EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A
-D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE
-2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE
-947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B
-0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6
-4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C
-BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2
-F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4
-6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514
-D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415
-F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8
-481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24
-FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D
-419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6
-7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B
-70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988
-2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE
-0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC
-9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A
-C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D
-1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2
-A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969
-21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530
-7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198
-17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60
-30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F
-3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257
-96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3
-B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950
-1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B
-57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE
-B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC
-8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91
-8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59
-B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E
-BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC
-21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91
-D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4
-FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F
-A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4
-A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082
-A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA
-DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38
-7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F
-07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9
-BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E
-8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89
-E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C
-B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5
-45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67
-2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5
-5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF
-A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28
-5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975
-E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01
-5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94
-6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30
-8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB
-BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6
-9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB
-B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B
-B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E
-8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD
-595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E
-FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15
-13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A
-FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3
-DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB
-313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248
-C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89
-F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD
-DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844
-8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753
-E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197
-A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3
-C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20
-417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43
-19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4
-9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85
-12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83
-3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1
-A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68
-90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94
-3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5
-B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B
-82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550
-1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94
-AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D
-9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985
-2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5
-99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A
-31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414
-3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86
-F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5
-70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E
-5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891
-84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978
-BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047
-8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7
-5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7
-9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B
-F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E
-94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE
-0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC
-E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4
-7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581
-596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442
-F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E
-7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1
-1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785
-AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE
-4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F
-744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D
-67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA
-054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA
-6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B
-8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE
-CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39
-EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4
-C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76
-57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5
-5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F
-C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1
-CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2
-848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C
-B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB
-77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28
-87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58
-3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8
-409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7
-A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B
-72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D
-99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD
-8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB
-E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C
-82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3
-C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0
-EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634
-23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A
-59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F
-C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0
-1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C
-403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90
-1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893
-75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E
-0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35
-82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25
-C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8
-A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC
-9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06
-0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C
-5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060
-62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D
-6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E
-1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5
-648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1
-FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6
-754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A
-E124929876488AFA97FAD262BE3D172E2F03F564F1325C9F1E050C83C12E0CE3
-C7F58270B5C40B46B3F592FB41FFB7F59EBD69B2F489441E398FEF7F84C85055
-531D95FD21629B0E509C2FCEE995D025BAD5D3F28CDBA5CD414405ACBD936C3F
-AA4CB2620D7426002161F983AE95E542EB8553AFF7E57B82E05FDD5FC433E1DB
-BBCFFB1ED92299DB0291CAB10A84529B7FE279C62628A24A2FC36B01976E13A9
-C528A198B8EC8654AD69CCB5C209964A2B25D6DA9BA0FFB366D19D8C69701D7E
-8ECBEA88569601C80ACCC2D5487DDBDC27DC463A53A8E59F9EC17D0ECB7D2188
-B6CEC6BBCEE631DBB9959A9855B997481B5D88B8BA29995053CF42C5518A3E8C
-AD21553A0F6BC3483624B013D3537F7C85D7C558A9C772554CFC1C3FE7A70633
-318A99508F5D2FB656B5A91E94F80F74C7472F507428AADC375AB9F18CCED8EE
-9DD57456CA8DB8D3B133596CFF2D510746BFA00B23F4001A3D0E8A24476C497F
-A14422160995F3378EC9A74A5D72D776BF8BF91146E73518E61C94AC5C7ACEE7
-783E29B29962E638F75366A0C0235475327F024CC6C824A52A6C25E669546A39
-C3459E06945AF250269C9F7B541B1EDA04DF9B9C7B442CC7484595E7B1A860C2
-EE36E1F845BC6E79C445E11925A881A0D3A9849030954BC5FBFED8D254AB3307
-A399E20BC127C05EC76D54C928A3CE1F99F672A8F47C8520C5D444D1EACEE114
-A71EBF58CA1088DEF117A723C391F62C0AF3985BCFD5526503360C33B1DB957C
-039360854589686E27DCA9375B709FF2F8F5EAED9564F979A245AE2498556344
-69E2A27804B51D5C52844E3582CFA648E82492354EE0A312AFCC4E90866F63CD
-173E4CC6A74D82568D0CD88E078BEB0A5232202C7F74C3A8C80DA4CA4BE6C421
-15B80B4A2A50F91F7841F60C5EBB4DC67ABB15A3A285214E20B5090E25EC9C7A
-2A8F1C9F2FD755368F61370634A37A2EBDC4B8728D2439D55B73596A2D5B28BB
-A83A38BFCE4B84AA3D8D373C53DCF5DBB5A327D9364288907C0ABC0D5E6B1D1F
-7E57E3E21ECD67DD9E3F0E86E00BAE52ABF645D6FE70EEBAD9C853FE34801A46
-8F6BAB6A2C22BAE5DED459A3F06096ECBA2D20C707A5F47FA067FCEC8C8D6466
-9E478B07712A577400F5FFC65EC107578C4E6F28961509BB7C41E49F5E45FC1F
-ED4AF951E8BF1B261E06E4D8AC3B4CD60AA0FC495E73E6203605E5473047818A
-46C98482D55F198EFECEA05092BF11A982798FACA6AC540293AA90208B56E2B4
-05A05AA45B2F8A67CA109A6987A670340523EAABC230E0034454E773C31543EB
-C1C2A99CBD1DC7532E2D2169C3C25B5853E2F0148E4AB501112B8BF210A5B39C
-1C4E8991DD2DDCC634D3D63415B5C7DFC564102751C1BCA38AEAA8F4E69D603C
-13A5B5A81BAACDBF724AAF76189BF3DB6239A7E19A1B2D6DB4943910A0FEC76B
-233994CDB5A903872A55E51561F06A6B999E0F91C9FEA20E0176612E869FC157
-CA648E8C2C4859D3C17905352F1E950675D8C56369B50BC8C75413021319BE2D
-C982926A6CFC9FDFD4BD728E8FC1B6FA1074FD7271C136B260C013A9A33CDFED
-A82DB154C0423B391E7BDD9C5B35D92D3C4F5CA5C773AD3712840EF3BD5F3C0C
-9BF19092B9296CFDA740566999ABF31B92E8AA5A92D29840D33625338A3E7C02
-5854A6B272591E3B581BFCFC1620C9C0F0B128B0B69CF0FE34E56B191FF65DD0
-59BB27457FB4CAE161551620278082F048A6BE2B9073ACF7A6BFAC7D1F9F7F0B
-3DBB05CBA5BE5424E1A07BA58458074101EB3731E775802C97133C9FEAE5494F
-C0EAA6D6CF2DDBC064CE7696F610A3DD93024161BFF27FA1D8075A295BE3B80F
-CC225A257619628F07D9D740349854CBF43BD72E25F63249470C6AD3E171C6AE
-149931C1434F22B467BC377604669C077F5806E9193F9E16A737C19BD3FD5C3B
-7420A718C022EF57CFC7D7BDFE22C3FE896EF34BFDC09A6D5A6E559D6E1F4D31
-8A6B69C544385C1CB338D352749ED74FD1A051ED6579D5F1673522CB02BC25D4
-5A9A51D740B3A9B6AA52F2B9532A32F4C22FECE7BE96873ACFA2836063BABD50
-D4D0647FCF2FC9975A2ADAB86FE1AB14A5FB4C3A576387A993E9EAD3D401D3B9
-F231F890215B7192A71327BE72F2405E94E47EB82C9A7479B00C6122A94DFEB3
-293F1F328765B0AB7A2D4B51C48E5E2B6E7C96C765EFB49FEBCB593DF1A90284
-4C0723CBD625288D62D821F47FC3C28473B3C5DD3322C8D16C4EBEA14523376A
-844F4E51F255B2C1FEFDE840EF9F3E5812411FDB55185100403155B295C63B3A
-DBC92BAC9D6973F0D609CD11CC3C3BE89C92CDB21B6C976164FCE64C78C7DCFC
-DC64B362067DB28BA59ECB57C2A5880EDCE8DF84606B2A87979DB086E06ABE21
-2663D35368F31CE867F91BF71FF831CE0E38084F98D501095CD4706C2B82FD59
-4E1501EDA7B03CCA974AA84EE5B39FED998FFC3D641B2634D72D92AE5B8BE9BF
-64FBCA1B8A80969285372EBCF24A27AE19B48009B144376992058FC36C23CC5A
-6E4A0CF12337A9EB8AF4EB6694621877CAD1C713A85940DCCE4FA1EFB2CAC5A1
-5FC3CBB1E61418DE140D044900F52A6BACC68CECF39C9491756BD3153D07768E
-9D271FDF798A9BE772E9D6203CB03206020B45BF76810C0315448861A5A2030F
-DA8EC1254C22D7CC89684B5AAA2141B7FE3AA4EA3BF55D907B8AD5FDD7488DF2
-A92B28261638A4862130B2EDC13E78F97B9E61B0E933F0AA0EDF58A66BE288FE
-84C209CC1881C5E57ACB026EE9EEA1CBCD4A4B02E7FDEE62BF76D885E26B2297
-2C274B7FB21A9B660E934FEA1471473999B90DF953DCFB6D68DF5D2E021349D3
-14314662237C892EE094D4735D2858FFCD6DD748530645E493C98D80A8285CE5
-6715A6328533B1397C3705CD56E0C75387838B370112A8B235ADC17A0A56E03C
-D175FB1AC49115DF3A8068BFAE58E8CBBCE530216BBBD0F9F3944427571544F2
-8C62339695952397AB33C31BB14D2B0C9F3ADA35ADFA8E4C4B60412A4ED03363
-7EB00119980897F8FAD36DD39AAEB4D841CB7FD8A232A277AF527D50DE49C5BD
-936E0784FA8D2E9820110C5BA10584B294B2791FD0E49A687753DEE31EA923DE
-BBD92D8C08FBACD88FE0677BCAB4938C5902229AE85756DA918D1EAAC6290FF7
-D9F6060953B2BEF26E8C07CC430D70EB307F1C727A57F3D46BD6267A03FF3437
-E1D2A9716E3C4054FC42D3C0246721BDC61D4A5BDD65016F90D55BE8FB63BFD7
-06B527A49F84B91FB321607879A9669EDFBA9668D1B4DBD407A7D53F7EF6CC40
-83B4F1A930BA2432BF2C984C4EA14CBFB7030CD0BC1DE50473BE03E04BE50DD1
-7FB991971A7410A7EE4118F6FE4198835C448B709D612075D0187F1D064A55D0
-BF3AEBDEAC29A16EB33EB458F44B0664E74A58EA5BDD24B9EE38374F68E2A923
-8E6EF9E9F26315A22BFE353D875F5ADDF0821009F568476C9642BD3B942090F9
-39B7902DA57E8C13BDD10ED0E137F3521D1B29F287FD6CDFA7D26E2EAF839C7A
-38F06ACD6D713FCBFF0510C4C35038553E463A0761F0A23DC9030F6CC4FF96BF
-99AF97F7D9267593812BE751607032E736626FAE21BA2912CB67547A5624F9FF
-3253923D889FEADC594F8975A032E566CEB10E876AF5047937881C262732BFB8
-1F73C6FD56077C00902C6EBB852D1747B8FFFB1468E8204A9400C4AAF7F7504B
-89244B5317C1DB608BAF91FABC56827754D6AB01EB4188C1DD73EB4258F962F6
-D18B5C14089225B509D23D5CD4C1DC4EBDEAD354A1B108466BDC3DD86535C7D5
-9DC062AC8F099821864264F13C4AB2441E7ACD2C47AF331AAEE509B0BA31A92F
-18CCEE565B5CE02FF94D635AAAFD9497FD00E8CFD213D22F06BE684D43369131
-24DA92CD0D50373B137892A8B6A9D619094621247B06BE1E433FDB25CBEDDE0C
-A7DBFF7A6CCD6DD55186F56A089E3901136B014C0F5AC86C819D5824292E6FBB
-17704445C90AC7BE8252FEB750B78804B33B2CDA000073A5530C7A7F2A4AE279
-4D627939E1DF094EFFD5FCE391C4CF81949BF45203819647EDEC018D18CC1D5A
-C0C1B1FE3D2BCBABEA21861E2F2FE5DA884F134A93F17F001DE4D595014F3E76
-D4ABF5249A652CA8B53ECE9461924FD87EA819F5F68893EED1A7A1FE4F231514
-3E69D4993A48F014F7E4FAAFF2D8685DF2FF50A41F309F5626E6328EBE3D7793
-6B8EB46F10997C63901343326BC91D6945666C8B3362A1A94A73AAD158E38E2D
-1436AF6B3AD32B064A6FFFBEAE70AD11ABCE5ACBF810974EED6623FF916F947E
-8897C2171970FE02EF18874092950F75632A916FC6EE77883AF461597245F0AE
-8C9C7005217A59C63F192A57B8CB74D07048E7A25F294418AAAB0ED28B0229D4
-2571A21B6B46570EC066319191D8B155B903598F4942F692E3547AFE51D76191
-3A16F163FCB3A73C36471EE438FD549754C91190553CAD1FCC0BA3B1C1921470
-78784DBF40B54294F9EC7EC7F5A8D574CF9CF9D22B5AFA790BA5659631FA3059
-E2E1953F58FB83780B1C99407D48B75A13999CC536089B8AED30485E52DC4985
-82D1A5790B451407C982AD06399DABB46A1A4AFAB1FB85F11B558723706CA227
-37FA6429311FC4A178800ED5DAFFE353929EE385E7AC9E04E4FC63C66296C1E6
-3C5E2DEDD62975D7743C6D35155A5A8367EF7395E4092F095745C3192A5A66A9
-7AE6B45029753FB2230B881A5F7B0A393AB2193B15C06535458598458618C70A
-CA5EAAA28AAFE895B5D4CF0A6B2E3C2573F790EB4E0B91C69E1E17FA78B77CC1
-376510918CDF6E955F231BD7DBE1D4B0C1B663DDDBBCD1D95024181273D58215
-A7455285B8DE11E9795DC15B579EA328D21E9E2F8F276D3D7DD7DD69A5BED0A9
-351216C84EBFDB27DA7A3E151B42BFD9165B491D670014B3FA0274F15863F51C
-54C322A69313804D6960AA6F0CD14A970F28182796656266DF384B25F627CF3B
-5D51F9831719A33AE20EB9CD0511871B416E3DDD76916219B7C93431CF22C76B
-DBBF4D6E85432A920C532D8EED18515C4352A52E0B3CECCBADFC1C1133267F2E
-D66668799BCCA45FB84FEC96E1BE5F9F62784043B71C05383C353CC53F04162A
-9D8419FF16DF736F4CEDF9EC973C501587145DB5E1F1ED63838CD8312011F19F
-94F8BDA1CF1225204B9510B972ABAA4F6E9A92A86787127AD97A42BD3952C5D5
-3C588E96FBC8B48C088979F3881BE01C85B53BD456E0EAC91B8A899BFE0E5C1B
-D6E38EB78BBA172D26B7F1F6E90F029AFD3CCC6E3B101777F6E045D8892C2005
-12CEE278F85797C382624E847BDC406BDFC013F099F6236C6B4C21D85F205D3E
-6FFE140165D3176467E7B241E4BCEDCB0850B03E2810045E79E3190BC6D251C9
-8A2D9CA4314B334868DD0B63DB9D00CCE4D80B4D359E54E9E81F01799905F8A5
-FC2860201F49F53045CAF0D9DDF9EEA4B00221BE2EEEB189D5E1CB6B15DC91E2
-DA3C7A24A571BB9517F8FAC84F7DD0A41F53148D61BC69C6BA042714A69340D2
-86F5874B6653A43EFFD735CBAF59B539B91C1B05E6699A74B1995D5E6AB5601F
-9A606A94F85F32DE43ACF78E3E2B75411565BCD9A90491E29E22DB3596F92BA6
-F7C2DE622841483492295376FCE5EE8BA0B13D54740109D82F686810A03CED91
-CA7442086B0E3A5DCC22F11FAADA1474AE0B6A893B3CA6065343D21B834F7239
-48B88675A71B046352293E2FA73932485BFFE08C8CF502F6BE95E999660D8B2A
-0FA634AB11C8C4765CB478F19595D5AC0EEAC22E20BD6F30B1A1E3B10805CE25
-FA694E5DEA8DC007C05D654BA6593C846B1FB7548A7ADB2579811D5785EAD68B
-AD679E1B61F5FF45E4F8684C7EB447EBB9C9F19C1D346A1D321F2D49E84FD923
-5C54CAA7F85B97232B8CEE6BD06F88F71755AFBD86D0CD6FA10ACF67CE92B40C
-605C488E397A2CC9C206C3D96133EF0CCBAEA910F86DD04D645AB8D40F440439
-3D5F0DE8C89DD451C007793ACB6592E65441A9F49BAADB4C33EEF1BB685A74A1
-25BFB78143CF48AE6E4220532452C6437E8FA281C961C9D205DB1B9ECE54A7B2
-02128113842C8454CDD922610DEDEC6AFA3605F800A2C66B1E014EE0520FA2EC
-E033F8E7BA6C6A64334D877426070CC64F4A30CF382F2FA2511FCC4E8F32B68B
-10D7EEC8A2D3FEB524B64E1ACC9A5D888916D1C52CB3358E4064926E46A0E80A
-D7D379A531BE1B3679CD227B51E6D6C02FF46437C0689E7E5346D47AF8694844
-8DD0BA48D36677A4E612DF41F5109385E07B96AE023621BEEFA0A691E2AA2B90
-E8CADEA34F5570B8B23BC40420ED1D6B2561C28A147E099EEDA54721E38D48EF
-4C685E67F4228E94F657486A8066269822E58B38B3BC343F9D5F57987579C683
-1568DB43597420CE2BACAC2BB30614464BA2D6CD239CAA21F4CABD42E0025967
-017314B488D7E5EE80E110F82477CCEE750ED06A76054A57FEA3E58EDA4E3C3E
-E420DAF021E8ED0D4EF74864A7A1E824C4FF703ECE2C7A1E6BBEDCF03E07B370
-4E1165A4EDD682BE80FFB57B031CF2F1AA3A087FD8F0097423DD6C5CB7534B5D
-657B06513CBA6B7003EEF17DE1694B408603A07E466032CE47A12D891803588E
-B1C2A4654A823859C31F6A9C1E43A6CD1BC33ED401C057ACF6226FB683A81D5A
-9275BE95DC05E58600D03387859171860B5CC021542EC0F9A1D09564CD5D1AB9
-AB4D7912746DB575690193F7AF9F1E8796C9D768C36CC1E7881B7DAF0B577A49
-3120506D2C28E487509CE32C3AF08DDAD24E3661C510A118B1E6532BBF715A0D
-6823411E2F423322A0AE1278664A2A391525C51407FC44082FA112B052D18241
-C4BD149FD298430464B8805A392636365F16B552C3A8C85FB4391779C219E8C8
-7666533C8173D05FBD8380AF078D402E8ECD110D8211100B61C2B3AD289F2ED8
-06513E48847DEC3265DDA8589CE2D08462D88BC1DE42C42C7B85C5814FDE1A22
-185627E533C6D6FEF2F08829E4308401F9A3688E43966F682E008CBCEA1FAA78
-AF167872B047977087BABE9CBD0D32C5BEE00DBA8FB601CA91632BCBCF931FB2
-6A7545A1B85240B4CC322AB87215F7FD0861E2E15D6610793D37343DDD37CFE2
-DA8FE76F21F89D36681AA6A43DC0A18AEE2B8890A7888DEBDC7706B0950C5941
-1B4E0DA58D126082D077CDED69545AEC02608232764F1BD76E619096084F6A40
-E2C90B7DCC3EC1B44B0A9D57CF9A26175839B5E794DDF3D971A66BD17066F96B
-8F5BCD802920130F76E434A76F8FAE8CE36A682B88013043CD4FC58F0E43957E
-6BAD3CD19DA0CDDC20A1A59232EBA4B3D7BFBDFB03B340476C88C8D1E2610162
-AFA87AE597856905EA9E3BF9A9F876708E4EE74EA2B873CD6334EF39934E82EF
-57FED286EC865B17F0458D8C80EEA530A48AE583D90327BEF4D5572C2D6302B7
-2826CDC8273D472681AADF689B1C35468B4BD921176E2E6110B701CEE8849057
-1308F271EB8865D933305FAC772D81DBB57AB63B9FE4A099FC5C12A3D0C3B53E
-5734D8F9A6363E7A495DA00171614BB09EAC3DBDF70FF4BE66A1B7CBDB0EE947
-A66EFB7FE439A044014FE080B3456E6882885826AB7F7607B83420EB3F1938BC
-CD256A898830737E39B674A2AA18FFEF4A5060294EB206535C95C56EBDE03FC6
-58A99B4F468DFA4BE4F63E1355C57B9365CFC853D4DA74774E8C6EC887F1BA26
-5D1850271128267EAD0C2B707BC18382C8F1C30F45DE1BA668B694AA78AFBB5D
-C8948DA576469BA18204F616F978E606BE2B07BD972F3247351D3F8119EFA501
-7C471171B70EF45ED3557A26501F599B7606A1F3D3F543C840B38AB2A9AE7D3F
-9AA1633E6DE860AB2378329FB9513F1B479B9C553EE43B4565E49D4FB7E39CD2
-998D5FC63EEDA03C1CFB5CC07F3203AACA07C853B69DABD3B48FF745B79AE1F4
-E6013DA04F13E069648104D5A38A2678F31BB1DD166D07578DA08A3476E773E0
-9C23D8E05016ED76A0CCA6BC01BF814996AAF260249389C47CC8CE66B454A5E9
-2643DC04C42CFB12FBB9ADB0E78C79C982D7F24B2FB4E5D32EE804FFEDC9FDC0
-B9984261D8124B3086B2303636C1DCD552AB7CD18AE2E6BFE248D02882014F5D
-659C48DB8AE75DD1C5589272EC3D33A552089E26F80142AD0CC676F70A94E2A8
-70BD0F2DE0F1BEAA038C6EE73CF58AA15BE408EFFDE8BC1B2645E1C13272EEB2
-45E63EC4B4E34DE3F1BF7E8530DDDCAD1DB9477E253BB0CDD7DB76423668F37B
-6D8CF668643783F562D1A88F831885F92165158476A408B5891AE6583B10E0A8
-2DC1178398D7DDD886B05FEEEF6505C499EAE9A4ED51099D3D424879E7BBD4AA
-61C14D18B0239F63C1E6A3D559D232C4833E09C36B5E7A22ADC68E1963610666
-1A6BDFB86A6693CC2CB647A4E339C09BF17FDD40BF22CD952491A5F5A66B9732
-017B68D7961C360A317C013F335CD54FAED7A0F75C75C25C575DE3E65E3F0FDE
-C30C7FA545BAA0A3A1A22BB859C16F58E93FB0CA74E98E3899D7923C055AE485
-E75FE2C05DFF8874F452796F95BAB9CBD271423DB40C6087626C5122454C6A9C
-BBF205BC00D07D9830F8AD3A76A5A228E9911583358D2122F959B233A8F590FE
-BB916539D2AF54A10C52AC6541B1C1CE997480908E02A722256EDB75BEC4E962
-1CE8BDDABF01A673F31775C408EAA2A5FED6AAC014B05C36F3C54D9AD2DCD025
-BB70733EA2185F9FD618788854DF25427E870D37224C6B6617E3FA0C251C3FB0
-6B358CA539D752088A0945DF665D6488E37017EBCC6502CABE9CE267BA87A6DA
-E48B1F12FAA0BF3C12FA2E860259C6586FA7843F584CDA55404C88D283141685
-41812C6FEFA7A66AE6C731929D09CE093EC6712749285DC2FD2512F40EC1B114
-70B7613B43D761CB6A02F570A059331ADFA10921C3A3C4E6BE9637FC8B690F23
-138A098D8E1EC01EFF56C86D246BE7270FFAA7C512C6FBD96E3C472F939C1893
-C8A3394C34045B700CF10355913744AF99463D6E2573106B2FB9ED07B79ECEDA
-F9F6D041B6061CFD8E02887E5C5B0194243F3DCB40909C3C03333A279E0D9A9B
-037B84BD6F7300D0E5EAF980EE53B7FD883886528D521DDE4F74536C7F1C5BA8
-6CF279C90DDBB82DDD1EED77FDB05E8350DA91080BCEE5E3C84F003325433D10
-D03C08B43EF95318EA3748DB9BF84D57A712C0308E80F5A54A38F0B2F7AA403B
-C57BD4BB6243F7A0B09AB0C885735D9861115ACA7567ADEA6FEC6F59973584BD
-43B3AFD18824327CD6C21D4FE1F16F6C67D01B97FBB6F70DB5D7D6E46FDE0D09
-DBC1E45DCF82E9FB3D465175DCBBF254C59447D3C3DF1F66E0EF8CB6653EA52E
-4C1D346D33499D2CF129D9704D74AC399DA2A23092216969B5B8D8B520F05DB0
-345E1BE31E211BE01A1B1FEDCD9F2699E9533385D29F0C80F990CA5A874EC60D
-8CDBC045FC2E2F6E7A2E426C485DD04C4052A80568951B7C5B7A7FDF8DD163A3
-CA1D6A36A80B7CB4401674E6E1B9E8F2DEF2ACBF87879AF5131DBDF6A0458B01
-3243CAFB8284DF8C4F946C328B453A363103665491D387CB40A493B9159F46F1
-E95207F8E71D827A15A895EB17899D2C0FD610B9C3D3F8378310602034DA6BB4
-6131CE208D659FD3AEB590D2CA5918ABD2C10E16DC378CC922D605C66850C6FF
-2CA7BB0A1538BE6DD5CCBE51CA7509A995F2FBA6D2813AFFFB625604D25D5BE3
-4B677D6CC459FED33F0A58E740A1EF93455D2B7CD3B6D7ABEE83D3BC3823F2AA
-FA77DA4784BB1DBDA4083D991F9104BB62EFE168D1BA37A2E3EA54BFE6FC2C94
-47078B5E340D2237B312258AA715FE854291D40061B6AA9F9907146EB2FA3B1E
-A1CCF2C8D2FB8230406FEBA3D184317B4F7F777410261D500F55751A0A445DCF
-8B100FE5B149B2D2880C3390422BBB8E8C6B8A8B773072A0091C1BBF8415B329
-D16FE300AD05CB4B62C90ED22ECCE09B5786547455213BDCA572889B926E3DC2
-6FCA839E42D5519C1C2CDCF412755B645AF3BC38897CE7750B8E47F6E352702C
-9C554B0E2ADB99F2A0CDF93DCF419AA331BA310ACD315C11912F4F8898EE964D
-C1E9B8606981B25AEB7E411114D74B37952C0528E51447675CD888D80A0F15C6
-21A42FC33BB3346D51B6BA20B726EC79F582A90EC43EE690F0A83B83D2E23F3E
-4F5C12E8BD48F1CFD04A189937925596C040562F4DA681B185BEABB00F7EEF7E
-1E44F8ADFC6792AFC7C3C809338A6B1C046917289139040D382F60652624775E
-6C6214AF5BE1D81A2A23CF2380BF6A13E88E87E2F1095B60798AB4F657A26671
-FE1C598578506C804FD43FFBFB76DF8D4C8E647F9D021C46011E70880A8AEDA8
-CBF3F181533340999B7620066A460E564C3C23FA8B29CC1BC8D337E2B1E49ED6
-9D10EAD96A52AB4D06982F4C48873C6F4872054695F253B592B83A1BC90A4BA9
-8371C4D319DD261B9A0AB13F74274E5B376A3288FF60C93421F114B51355E725
-FB265D39C00AABB2DE4300968FBE7F652C4EC71A7EBD58A20F2B4C1E2D1E3646
-902A0F815E9D67B50861D6CC2AE3AB45BDDF3782D685ED8E41C0D8F1FA37F238
-00A8A3ACAD22D898CF8E95855558179BC84D199C6C79A3EE2651167A4067A9A3
-49109AE7F53B59EEB1F57DFD4A00077DFC2BD2CB1E3169F0A348D4DDD2D9BFDB
-A31951065B0230504FEC2975FB5015838759745EEA1347DE8591A58783F1EA48
-C7A7456E94BD2ECB916B85160277F98FDEC95DEFA7FC19532AF90C6AB3399C55
-86BF03B871A4C4386714AC62E44857919EEB2658D1AD72570D70F1F9926D6B3A
-D12988299F620196898ADC3125C5A7D11765025B237983BA1DB66418B484B022
-EA1018CB14150269A089EE9CB3EAF08D4F7E15E29048F729B9D39A15C00B8715
-F030F927C8AC027A3B040CCD0CA1FFC5C6BCBD00457BDDB418BA3805C30AC43B
-A8DAAE706D404E22DFEB24AF9874D741C9DA45B3163C259E8DBFFB6ECECE2B97
-6BD4335015222631F5D86490C0F9BD7C22ABD32D6DD412DF772548B38399EC08
-0E28700A2ADAE8F0D50EFC4CA8642E0E996D72BFCDEE1CFB252A6F4D8E03347E
-F6328BF18282ECBC88DE3FF382726F910FAC2DD599E63EF7C3068C1CD785D101
-16B7671ECE1E0D30CCA1C6F2D3AB5E81E309696DBE4973F71D240C207CF73CAA
-D620DBE563AC9B2000A628E8657A45A24030432AC74B5ABDD022CCF6AB855E1A
-61619EB4DBB848A6C2ED5745005938EC8F516979806AF5E714704027A0CECE87
-4C44DAE80608392EE0EE0E39555ACADF1D3A873D35CA84D87ECC2AC41937CB62
-B250E3C1AB878BA32AE2E161D13FA536A305B352E3E0210636A81C6655CFED25
-A2B75AAA6FB0D2FCF696358223E78DBC2B9BCA15271F7612769ADC00BA66A2FA
-8E38ACEB99E18B7B4A5C2B7977169EC141121F0664EAD87EDDA372BE22988222
-27D477A6A4715C71091CB2F01C6B3176160BEE79CC8FC854166DBB093A49DCF5
-E45AB3B20EF3223684E83C8FFB2D5DE9CB49754799E038B748E75C99EBA6D69B
-36E162CC3860E33896371D0164C14138181F2E00FFC08E2A3619E1820A560C7F
-63B054216AC8CBA7B034AEEA8E735705AEBB0D78F17856E1A0476DA6E543E985
-4F7AAD98E3ABB2D7B4B1629FB0E24B9FF10F06192AC8475CF8C35EE3E635BEF6
-ACA79F1847FB84C4B20E6067BC0593C7C39657E08A3CFF64915F887D5B99356D
-91C0722A917B347945E1A867B062C016EBB7D924F11C74873EB4656B61A41CCE
-DA1780D204D28B6F0CDCB1E059B3517A5AB44D45B43221DC53FC699BBDC4F2D2
-865C697EAA3B49D2AF5A4CBB66244196A3D8A09C8815FFDA307DA47760CFAD34
-434D00946C23BE41A6292220F0CC19CED3277801C9C1C3CBFC755A261B4ADA4A
-0C9C3E7F8ADB77A5C68021775619D9CE770B4FE975CD468BC5CED173CE1356CD
-A26E6AE273197511E50A014B19A5B79C7B75A57B08185B20AED966A4C9DB4426
-1294A5BF040A05A4FE60FB202C7CD2BE018DA7702CDE728193B72F03C3C0F1EE
-58CEF81EF167CE9F8967B4DB7A3A3BC0868B8542DFF05D46DA08CA79F62ABDC4
-39373C66A08D536491CCB5EE828E410576057488E85A47D5D9F99F748E19AC88
-E207C21EB573B9429A7086A93CA63467B3EDFE08931BF575DB82B76AA9C05E00
-29C7D4F53CA16E6DD53BF23A0991B1C5B4902E4DDD5178E55C2BAEA308C5877A
-3A21D1184FDAF68ADF993920AAD2EDB045E98C990584EFED9250A332BBC01217
-DD58CCBF7DB9C0E51473CA37655DECE639C28E04EB47E5B52DCA10E92BF83F08
-AF3EC395D0A74BCD4377EB7AFBD1F0B521F6D8F0741A07BE28D6A8C235B90B7E
-B448354C9FD450F98270B3083515004B56718E81C4C6654E40B692780D83695C
-3F456A401A6D24740C67A485AA8B616B94B23EB889AE93CE66F5CD6916E32C66
-809F5D3C4D52195D1335F89D1AEA6C07A1AC8E8F30AC662E11541536C50A6763
-5D8C71FA8E0EA2BB0141FCADA7AF9CA0A69AC758DF87159707038D81DD706B6D
-123D53212F77FBF6AC06A7771FE86D254F9E6B29045CB60628EF491A26226D02
-D799A4B2E1E4DC25BB157BBDFD0958E1A4617EFF11145D3EB94A389F514D1247
-4B6A4CDE1DDF18A826C0BA8FBDCA2045C3BD3465C371248428A4CE147069B2DE
-63E85D5F92038E8986DF08510C6FF1DCD615A7164A287A8C8C869C4B1151820C
-8BE898107D19E768E66125C6A6BCA28D1A99BD7E6F58F60DA14E77ABA2001B54
-899B488C4DE7DA167A762CA3CAB0E8D157F6BED3679F019546F0322A7F6ED7E0
-D6AB34BF0F646E07A4C08EABC1DC40062E17386A406F88FF43C3AD322E8A85B3
-9EC8C24C751ECCA65BC7A2ABC5BC0E8C883ED0FE37DC111181650CC6DF943495
-5F0DEE475D1CFED3C23655E6053A884DC41E8A4D194A02051E5F7F38C625FF89
-5894F611575CF75A533095881952BAB2C81BD8C303C903C81D937E4D72A28261
-2167382EB3632D975CADB689A7DD5419F12E32DE2345CFAD7A85A9ACE0E63BB5
-3C49A690274EBCC5CDE015218223D2FAE1A1E7344932BD8CD076FE564F523B92
-6B50380301C36A67A264AC735C9B038CFD7D897ADAEC00EC65E174F47EF1EF0E
-F4A1C83EAEC77CD415ADBFF5E3AF7769661AD8506C356C20595B1BBB7BFF1808
-92015E73FEBB58376DB5368C54BD47B486330BD22F9E1804A05B350671BA373D
-737BD0BBF7E78ECE5C76FCE2B1DA10BDC7074164DCE3D2940F1CDBD02A996EB9
-7F4227B2446C7BDC11AA79B727696467941A4C2E3D51E3EAF366EAC7857F8180
-AB05461898B99098E955BFA09A8371FCF1EB671DE86C89776B7C90AFB9A4EE02
-39B35FFDE25BE1585476BDE88912D1E2D4C1083BA56BA4346B90EE84E6CE5BDD
-A7CB599B4D716F7F25668D8C559E2347F20311D49CC7D3D4AA0117D017F065D6
-E43EB82320EEE8B29B7C7B83A6CF79D3A20B16393235FCE7F9D0D5592A80B33C
-E664FD2F2B0FFDF29C89F7F5A5B0EA96456CC42DE1C2BC36E791BDEE54293D48
-BAD9DFA71606A78B5C2B8120A45F17A394F417C60CC181EB7ACA7D461A1A8095
-2372E368C1869D19E4A1A23607B6C2B0FAEF474C703492E7C1D68A3248CB8F77
-FB17BDF28A502BACFB2E4601BE018D24EC2CEAA4537271B2B9BB7807CF447BDF
-5A7DF27A00D96C481ABE0B02EC0B61606505E357FBC1BF8F1A198A184BFC8B88
-1ECCF1EEAFADC8D299F72370BF10AF53EDCA219DBBE145E0F1FF317515BEC422
-623045574C79B689412F5E7E5B66FB463E11C507DCFAF31AC1AC380F35CB7DA3
-FF9A0B82402DE0696CA50B4CAF93667A489C1640867AD454CB797645710D9929
-4857D74A887D7E458109B90202A50ED46F0375F71482C7C6BC14E5CA6B001206
-62A44754C351B56B41AA8324EECF26A80E7D3FD85086741E70FD33C8BBD546C6
-3AA832DD5BDB976D17B28481B7DAF12DEF348DDFAAC53E3455F82DEB8056C13E
-931F9159178FF1C744AA7882E7D49D88398EB3D023A272B8A89FB5659AF715D3
-0809BB26F3EF80A788CF54449988A73B416219862845F904E091951992A279F8
-33FF4A4CC37F9AFD5521E41F6FF1F12B1D9C7C0482BB38D1BE007DDCCCC37C9E
-1F7F34B5ECEC3E6DDF6F6EDFD95605BF60F55F2B1D345430A89813FE189F391E
-844C44571502F66FC3A56B222DFEF0D676041A660E6D741D8F72967DDE8C0A3E
-96BC0FE3243DC07CBC1F0E99619BEA04EE85039B404122E496AA7BE34A4775AD
-E4A310C1C020AFC6E74279DBDD0F6F374691D8E3B6EEC90B11AABD20E59F8595
-3397C7E9BA2052454250585469A67EF40741A9F09BA2A2A04885CED6AAAC081D
-0475A63CA91BFA5D6A3770C1CF80F9D01521A51D815ABB1F31A89EA13412BA42
-7F1916165E012C0A94135C485E42A5161C7B94A02724B5E6D196D42BE3F408A1
-C11D207F5EA2CC3F2DEDBACF246719BD222861389AAC1ACFB94496CDFC5F3348
-4ED4336E52D03342822CC7E267C2C9694D9C07448ED043C56C57123B08124AB6
-8EC0700E42478E6F0FEFBB0549B2BE787570D2AED16C44AACBD6933A925055A2
-022517A427181398FF7ADAAF7910954360EB4403E16A92D7203A4587ADB06169
-EADDEBC7EA4AD684C2FCB0C1008CA92508C4B755E93401568145C5555C8B794E
-F9FE03CDD2D904FF6B3C4429188DE0ACA011BC44D0ADAC60939EEDBAB25AD69D
-48A5E171F88DC43B1511C6883DA9AEA734590F09FB58793D0BA23CC46DFE5FE8
-A9C82D1411002EC457793FE7DA76D29FB65F026587DB905A1EE651AF6E4F2122
-A8561A524984E0FA2FBDFEB7A8A4935DF29E126C1CF41ED66412FCDA7D07053F
-EEDB110E865CED746D2530704C3D906DA828873B6AF2FC2D9E9EFD835D71BEB4
-A0C889B6156AE539B48E0D8026F5A8FD0DEB71FF8EAFC66BEA2130B9005645C7
-6FCA01DE45783C2D7B75EE9A9A6A8F5BA5F1B13EBDAF2F246D701507DADB5518
-CA8E75918A1975617EDD5F5701AC7FDD1365F9408E3BA2171D4903A78D223BB8
-0CA0E842DDBBA3C6B41D2339A7C620692F10C4FA9E8C950AAC4E86607955BD81
-A4E3B0131984BEF21770B436B286B93456646004854BA2055C3DE31CDF212205
-883E2D4DDF58152F192E50B4663F0F9779B455C665ACD6F40E7948351BD9F78F
-24550832F18950ED308B402D5FC6327CFE094F1090871431A59C7238CF1AA562
-3A976BCD5808405E7BCC3DED691D332C9B279C849936CD65A6FEBCF58CC2311A
-054CBD1D630459B59071379C3865C3C6A14E22B5B0381F44372DF1DBC8727B1C
-59A733C294C4322E243223A986FB8D2BF832755B5CEED304E6B3699998B223E8
-E28EA70BEA1358C2CEB7AB07112D30B83197B263E56937CDD0F074EC29FAE7BC
-8D6A89133CE8F837D64B703BC40EB64F2DCC73C763A0D31F3C058B5E9443EEB7
-52874573C500ACAE072071AF89FB9C4F4641AECCD14F7315150E5947731C8963
-55403D9A4A92EFAAAC4F5F6E95B4751351C4177271712F85495397CCFCCEE992
-98E7DBADAE9D3C1F273AA78F75012CA5AA357DB035655B3D98ACC2988169E894
-C573D80D60010DFE08394A6D05932944E07BAF050AEC00E45E04A424C6C351C1
-511DB1E856616281570F6DB61D75078B2D1DB18629731358D8663C615782D63D
-E6D7D9464CD95D8B446E563D684D16914B0CA2978C473CB514A5A06D25522569
-9CD74C4E46C95DCA19C8AE79ECF576A677BBEE3510F93C4176A4B5F1A4F24E36
-E0C5CEB30DCED55B7B051C01AB5251CB839AC2E371944C169D9CA4AE4B91450C
-5503BFFCEBFE1AFE8574E2020D3DF2BC16BEDEEEB76C7FBE3FEF7F085BBF4BCF
-2513333E3A01DCA64322049010D1802D1E50B50E39768F960BA243AE4A79C12A
-54D8F7CB63476916E634273F76663E4496466DB6BC16CE9E74727C9EE9FE79FD
-B27EF3DF0E46EA9C028AA3FE5470E983BB251AC803FC07164644F385B6BA347F
-3FC80E540BB262BB5E0CA619CBED3C8A4311B9C2B0EB70DAAAB4DBD04CA642A9
-53FA5B77D48384A8FE1F706DAE7DC478145A2F97FE5075092149C536F32A83C8
-32DEB9CBF5177AB311222565F16AAC5109F31F7C84321824ED15CF558D65BCA4
-9A73C570753D325F081EE9A3A78AA2F18258C5DFB32739242C0297C185C22200
-34C6F979B51240A7B1A3326677929904B567550051B4D548F3AAA253111F7316
-D3C84FC22E64F65882773C7AC585041DFFE3A6A15F365D825FA0C43DE16DB215
-243E53975DFAB3C1FA30D6CB8B52B9C55FEF96526624D5D8807AA901B16293F3
-AE0C4E03E6E22ABD78342AF9837A380BB99B68ADF493C1FB18CC4B968D707AB7
-B744D296FFEB8F2178B7C47D94DEDEAA916AABF76FA32BC0B86E2526F66ECF17
-6FE4A289C2571DE0F86B9B44459726C41C6C648838F928A8E6FA682A43DEA7FC
-3C724137DAEBD60591A73E72F2A92373103808D3973501F08647028F83F2A9FF
-400344095BCEC1EDA8A93325FDD58769ECB58511436843AFC403B5ACA14B7F22
-AD9D64C888F1A8F4E2FAD374804A72E16C0DCC0F2F56B91B3908FAF52A2C6DAD
-EB9BF87C40FE29015B6E655F40FAC45FEE240C5DE731CF7B54C0F48027697146
-3A6FF6ADE84F6CC90E3799331799DA11AA92F445929BF4A95E9C5F4BD4D63CA1
-C84FE7BE3CDCA2ADF4DCEA99EBCD25D7724760516259D45DDC9D6CDF7E538128
-F3D92F8676AC2D0CFC3687AFB29E8BAE8671ADE209AECC9CED20037759EAB6AE
-42E1B41111C9BB92D422CD344E7CB85A7403788C7765AAFA62CBA09A5522A6A5
-0EBE06D0ACD23E77BEF1A15A9E99A4713E67E7C08467C6B2890EEE9AA1F0558F
-EC24065FBFB04573E13C52137EACC7A931791A5D5F675AB42E9B716DECB6308D
-EF96E59E36E8D40B99A1E6D9F2DA7F32C1E47091733341D89DD109FCA2AFD4B6
-2D65D6366EAFE4A5BB0891B9344557DB94F065B3CD7D75874AD92F24454C2B21
-C4D2600AAD92684996A07B4DBC73BF4A3A01620373202E31B7495DCA42DA4B50
-6464003C1431AF808D30E08C4AF67E5CAE26F78188000AA0E8C97151491BF1C4
-94B1CDD72126412E0673ACD9B9322C3EBAA2AA1D039EFB53BD2C708873BF77A4
-7C89B9A48EFAB9E55ABE4FBB6FE868A9B2D86F96A5DB527514C6361DEAB44B53
-BC93CE3D3546324D72B13FDCB33F519812C1D9D66ECC126F8C3724F4D194DCD6
-3FA6E6F06B2509FCEF85C6A80F9C2ADC3D15A9562D2A65C4D1392FF915679CA4
-36E048D8C93D540DFE0265952094E7E6C8CB33BDCD517247FB81D564670F3964
-E65AD1F253EC49752D8ABF2CE12B2425551E7F03D5AFF08A7AF854E99322B8AD
-4C2A300672CB3A06B668A11B752BBE824C07531EB46698EE6C6B65112CB77F0A
-FEFA9A531F51D29EE7F45E8D0C73ADA57B32099FE3F0DD59BB97BCEF2CBA4E84
-D892E8B6880397808D46E78E05F42AACF717A2DDEC317BE5E5FFCAEA963032AE
-515B76D34F880C049F3DF624FB85DAAFE31882A2D7CC9C29E7EF28E2AA4C46A2
-FE2B035FF8303879C436EA4A2BC67DF287FF0C3430E9566857F0CAF38CDFD955
-559249751A61BB9ABB4946A31881ADED4F938C6468318A97B9F1D60A59C996C9
-C8154F002185DDE6063E67449A6E0A9D9155EF95A7EEC84568EC8DEC4E3E9D6D
-5E3E37F01FA5CD500715E0777C0B8FC6940C4BB4E6BE1CBFF8D7F461CCEF1641
-9FBBE9EF79801121137F5336350701ECC4A2ED838874BA412944545B2395C1CC
-6873816AFAB5F4B71E978EBA442C309799F81E66312BD6585FDF500075CCD649
-DA023880E008D9E046660FEE0C93B5FF18722BDF423C5D820DCE694C6803B83B
-101E61412650B945C63348D5053C3F97B6D38821A262600A8231E151718268DE
-4DCB22329C49DF12D9135872A03CD900DAF07D8F3A396A39FC9A5FD04C8AD26D
-4A41211D509B31D9032418D372A90CA0AF2E16DB8996E659CF103EC725BC4820
-9ACFB3C8D5155D87A2AFCE311BA6A18F95E37A9218BB5A45620FA20FD485FBC6
-DFBA5A3FA163833657572CC295C5BE868D584046555006623FAACB6602F612B5
-E6DA8CF67C8C7664992B8062C25E877B578194A33F29039ABD44B3DF14980E77
-18F51B2AC035CF9CC17F6C6C3D75D2FF145B14CBC4F9A551D5050B7E52C855E7
-B5D02F32D2807518958AF87E7380B6968C51A54C735000F02DD66B2E837EE0FD
-BAD9D9603E517B55B8A9765B5C6301040A83E56AE013786CB760C98DB9537966
-8D9AE205EE938ACEAE707397C3BE2980B090C3B50C814A247F82B3267FD63506
-A21E253CA1FE7DA323C9AEE3F8BFAB2D9DF4A01F18DD530E3C618C889B219610
-E313775F33870ED4791EAFA21B649142534100060E28CA081A2391F1458F3ECD
-CAB0BB41419C90D0C9CA95C5A4631A01DF76F52DDE04C6570F22578D556AB841
-A38FFC5A97300AAAB48177442755D76247F84BF57284B05E5D8DE15D0F69D689
-0264FCC502E5A8D8FC2DE3F7823A0363F1BDEC4B694282D0850CCCBFFD84F4AC
-06CEB968973837652E674C1F953725039933EB7988BA490D4D8567EE3BAE7BD0
-21CC586C3CDD38F79B0A3A94FB81FACD7D9ED04B4007345A4C7A47860E38F965
-8CB23565121D1E7A0D0F3F3B7DA86BC3BDF2B4CF412BEBE667E6C427F3F86E63
-DCF7920FECF73F2E421E54F6F0A8E84A8BDE2D0B9C5E441F4C428CE8622360CF
-6D319385106B2590E0D1A8B6C56DFDE8874A3F30D6DC25C1ECB02356D488BAA8
-C2BA0E8CFF8EF6DA75E2EEA6D27E822F511BBA288F7AB46B3C519FA75B676B55
-72E553764D23EC460CB17BAB327FACE33450E14D8329F2339600F0366869153A
-D775A0F12471286F485A65054859B96A00723E1C451C6A8A05C88B32D10AB013
-94D834F675EE8DE2A26910F924583509BBAB4B1DCC5B1FC8781D80E8CF024EAE
-BED6FE0FBBE088F73987477FCE10B4055C28199A91BFDCE080B5F52A1DD5EF9E
-8506B78DE1DAAA88DCDE13C048AAC003735970A5A74E469EA21D2078FF721966
-FEC29EB8D667540184E3CE37797EBA575CFE7F484C71F16D84ACFCC11A769250
-585B7E825E70BC5AF10B9DA5D4E0D7661B486DE2B1357259D473A57598E257B3
-993F51D3FC6E6EEB9F4792150179796020914877D26AEB07C527CAA4468AC50B
-56D8BF2F137F59E55AF7E778DB993EA55FF446CEE4E8E5D87852F211CC342557
-D2F3647F6BC423260E2AC6398D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMTI10
-%!PS-AdobeFont-1.0: CMTI10 003.002
-%%Title: CMTI10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
-/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTI10 def
-/FontBBox {-35 -250 1124 750 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
-/FullName (CMTI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 45 /hyphen put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 118 /v put
-dup 120 /x put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
-2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
-EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
-8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
-CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
-7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
-32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
-482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
-118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
-1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
-C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
-8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
-61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
-C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
-3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
-9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
-D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
-125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
-34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
-30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
-39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
-9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
-2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
-0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
-3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
-9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
-802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
-FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
-98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
-5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
-AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
-A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
-5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
-DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
-4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
-8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
-A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
-E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
-42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
-3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
-A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
-7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
-49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
-D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
-0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
-CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
-1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
-8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
-6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
-83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
-60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
-42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
-1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
-21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
-206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
-D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
-7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
-55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
-6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
-4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
-871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
-9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
-DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
-41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
-2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
-220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
-A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
-981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
-337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
-139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
-1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
-100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
-1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
-F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
-72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
-A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
-310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
-7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
-1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
-8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
-80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
-3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
-C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
-4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
-865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
-301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
-3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
-1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
-E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
-0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
-30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
-2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
-C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
-14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
-44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
-CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
-DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
-9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
-4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
-2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
-21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
-47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
-F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
-D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
-03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
-886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
-352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
-9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
-9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
-92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
-821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
-3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
-47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
-F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
-9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
-AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
-C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
-B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
-D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
-F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
-81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
-970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
-6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
-97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
-A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
-AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
-971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
-514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
-8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
-392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
-3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
-464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
-C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
-F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
-911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
-261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
-D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
-147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
-C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
-C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
-61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
-FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
-F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
-2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
-7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
-11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
-9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
-C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
-1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
-5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
-6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
-EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
-F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
-AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
-8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
-376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
-B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
-02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
-4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
-9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
-751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
-3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
-40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
-2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
-D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
-0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
-8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
-AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510
-6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B
-CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E
-DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D
-098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337
-900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B
-41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149
-7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA
-2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC
-A91885E7410F56F60C29AB8B417E2D6092F8BB70A2DD5DEDD4BA1077D7CC62FD
-EA43428C6F79C332342E15F75B08A1ED360B3511F823E75AD49BA7AE63B19238
-2AFE8FAC2715E2FDC895E95036D23127557837506A3B542B0E4651CE2B89C252
-31EE8ADC26E2C04E8E30A9CA12F066CE01953BE7867171FF6C7E834742C36C3B
-58E74E4B482CB85FD4D24DB03D753F260A585D552CDC9E1941446F2F5B45FF24
-2DA4932B973139F328E7E92828B900BFD398B6F41DAA0D6861C66AA7F5E3299C
-87A5925CE0E0F9E09AAE0792954A1F2C0AAA8288DEEFFE579E38A3CE8A943EB4
-55322A87C1634074EBEC25F724DC1BCC1BC10458CA6C4395659B0DB6B612C151
-557CC669D8DC37769E59A5AC6BF061C79FEE265DBB59520EB8FFEA273601D1E8
-2984B8AE31AE343F37D03E2BF97DC48AFE50BB6138C7B9F9B5E28672A37BD8F5
-8F8C98DC43DB22C6537028798198E2D3B0453ED72487267D653DD50F1BBBDA92
-833A987A95FC1F275B90B581B4BB62B6863A4CFAE37F715EDF3EA5A33679FEB6
-4847ABB4B3D170C275B9F1AC3156D731198DACE0B051674E85B758500AC9FBEE
-ECC75EBBD85F8D62AAA328FB09C6526F853077AEF7EFBFC2B6A29D6D508B1E19
-EAFA4C67EEE44045B9F15B9762B3DDF5CE5C18B23A5C2F73A1F6DF7F8679AB78
-843AA41FD2A7DC02B45B729EB76C66A89F5F76E5C4A0C0563B1EC5E75D72EE35
-A7F1FC89216B60D82F6F2B8DBE85E4FF4D63712C689E696F60B52AB622C2A4F9
-37C380775EDB72638D3F81F61D8D74C76D813DDFFF35ABD9A502F2BC7FF65754
-2A8660A5A53E0CDC2E8A95B6E33CA153EB711DC796D313C8183D707D3F0E3EE8
-BA65E0FCE3F1C07F3D93F77056688B5496AE35A6BA0B59619DE78640A8C3F7D9
-7DC5E94894E1E63A7D80600B945B1CCA50F1B85F57673C6CE09EFC4E229D4635
-48AB466118D273BAF7C1B52A067A88C00EBFA7FCB378F1575BC0145F294E6F7F
-8007602C6560476FA20BDB91831B22404DB1C4C167594B1216C25226D262FEC6
-F5D0DBAC4B8D743C669CFF2068CB9BCD2DAE8CD6EE1B33BBF7514C4E5EA79D46
-11AAEEA72B791C22A1822E686F3858E95A37D9CEF904EDEC7EBFB0E60995CF64
-57CF0EAAE6D4925126349DE06E101868BED82BB51E911852E6780772912570AF
-CD5690C6DA70110DD9903BAA3BAD581D206571D1E57712C75D112254C7A3DC8C
-892B66CA346EE682E7D910343C1CCD07465D9E49489839BEDA6174FB2E0DB935
-2D2CBA6B67ADDA1BAA6A51690A10C819692C9BD35BDC689F9DEFEA78BFE79C47
-C9CCFB3D04D20F1D3E0B73498FC0BDC50A3BA6DDB3FAB9458803BB26487C1397
-511717CA3493A7590E27B34C2E2E1BE2ED884CAFD5F7C185CD6EDA68951673D6
-384E6CD12944F86D178E73C8D78D9048A5B1E2FCB489E723F8178F842B362BC9
-F3E4D511B369670908B2C8087AA29F8B592B8AF7018311C0F12A8D45A3625096
-D4C88B19890571C60821F38310685F8DEE7A7A5D209265986F92AAF11143DC85
-F435BC210621851001B6A402E3A07D0F204A3B0D75DA3CD7FF6637D1F434B962
-F404DB3C6BC318EF517AA0836A975C5196976250B5D6B21DF528FB47181F5279
-E1EEBBA0F344D7EABE71904B5C1DB0FD07694C469085D50DF4990E294334E785
-5E5BCC4ADCD38685147CE535B23F3027AAC01A0D65AC751D9CA289B4A8906A64
-165427976FE6FD699442196B0C247C960C9086AB2E440885D11BDD314A3FFD40
-9C5FFF29B40110381ED22F58CA53CB2407E5B993930DE5E32CBC4CDB2FC46604
-AE51C1375F9A41D7B5CB2B2FA52F65CB925BDA5CE18BDCFC46933071789E3F20
-C08FC64F367F409C38279E5F88EDFBEE38105A2469CF009344F9E846419519E5
-8A5EC45DE2F6837C65A883C524305D18769A563691F5887D920CAA8EF0D9D56F
-F208395E7390570C6DBBE5AF515BF64478059F922068F0E473C020E54CEBF22D
-495D5E843839912C58FDE0A61D4E390E4502E9973562BCA49B3A17BCAC0352AE
-5C27DA44578C4FA5821B9A3B03FFAA97E15E83CE09AE155BE919EA42301E6195
-F59C0A9131C4089E97223BF614A37B5C7603190DD465105AD86DFEB74E65479B
-BBCEC9EF93508604339454483E244A348A78F29EC4A60554E77136749A4A74BE
-F4DE4955FFDB6AEEBE19705EA184605994D2A5284C05A479A33D56FF398DDF3C
-5B474F53743255BD5F42DADADD7F71BAC446A10084DE15876FF74765654405C3
-470144E2902EF213A594FB721D0B0FD823DAC347777B7AA58688EA834514299F
-75A3C80BCF2FD24D19650B7D2C21ED664D290EFB9122C125F5DE1B2C4A817905
-06C27E7188C9BF3965A6A25A5A9C0353A53D05BF64FD4C226837AF6D9599BE70
-04142CC78E03626BF10D68CE17C2D081B3A4248FF392E985A6946D89BE97AF1B
-C6BE7E9820405D06F5FFC06D6304028E5697E8AE15225A8FE19CDF3DFA2079A8
-BA537833DDBEB6106BAADD45E9ABD1C7B5157C5CB26F971B0E7EE8069E3C8FD4
-A7A1833B19CB43DE4E7497D505AE0B7BFEBB3E489315842DCB3D6CB7E6E43AEE
-E215D011B2854A3CEE5AADB34A9CB5AE595F2F02CC5CAEA9AB28161FD93F3FD5
-87D17D564939ED05A5055029D1AAAD21726C1AEFA777EFEDF8D687D9F2FCA607
-CE3B585E044A8CFFBD6E93849467378BAE5AB8C02615AA974546C3D7AD70AF26
-55C62A9C4EFE256B5303BBD0B9E13544F408F8AFD7265425BE1421FE6B1E41E3
-B6D9C509B4EB820507F2B41A92F93A584AF62987450095DCE78F9862284F0C53
-F46B02549CA9EA57C9C4CA8A0BC1EBE947AFE73B8F7958853BEAF81D78E23C25
-3BEB6EC3823E1DC7524E38CD63577795EC3DDE03027369957906C85A22F9D805
-2EBD287C2CAEE0D3985264AE614380E421EF23453A68F6E616B3191B506113AD
-F6D569E4A20D3B23961DFB3ECE07B382AFD2CCB1F2BC4F3C1974C06C8652682B
-EE7ED59D4B2F9EB8492FF978747AB12E123932B34C0F9F3335587C7B8B8E13A4
-0E1EE5212AB1671DD7A2AB5AF2373B60B3353C22FF8128198A5245F9C701B6E9
-80E92AB14A77AE7BA217D33ABDED222EEE9B5888AC6653459EA8738703FF7423
-8391380AF83E56A3BDFD3AD43F2F00E87DB9153D99A3B358A38313A7E6D6B43B
-07804A9928304B3EB654F7978C76EA1140DE21F581261F64F72DD3E4443EF2F9
-8D8A2B68384F317A3D3D674A493E2FD4B52873D906387E97911F85730051CB36
-28DFF8115D95E9066A4611246A8C37555F5E55960EF51F80BFBED7F92A5B8771
-2AE862AE94ADC2CD678738B999EC6C11530926AF3855292672C657A52819D15F
-646AC6BA0BC2004D39005351D53DD499D666A55B508AED6B69477B9761E2D229
-7C889C36033DBF3F8B43D2BEAF70768431EBDFD518333060C55DD3980B1E3C48
-8224F1619450CA198E6942076EEE81285FBB3C062791E063CB9D40570B5A3C9A
-AB2DC3552D0C5197433C3B4DFB31EA7538C61090F5D7962BB88FE8AE53800D8A
-CA1A0EB9DF7BFD70E1FD4E90686C26613B678419791AA936888316876534286C
-23AA95265E15492CD4A059DBC697908F1AC0443D74445257ADEBEC5D23472817
-A403FCA531CEFD99BDE099A5CF033D0C58DDAEEBC913AA97DE222019D49E4E39
-BAA0DC9F85DED250828098B562E549AC8539DA58D8C8247A0A000ECC0D355A02
-C750EBF77D4670DEE0B6D94D9C9278100C44CE1E4614FFDF550B03F44882F204
-E82C2F73E8EBF294DDEE10BFF014DB757A74ACAF6C77583C6CBE90131BB42AC7
-033AD78319D061D6FB9BEAFDE49A162A77DEEBDD0F4A7D92B18937F2C9BD997F
-D0C09E88B2696847080F955F153055DFC88508A483161F90C513AA673FD9C0B7
-A82C96FEAD4FC8CBD48B8606176328CCC23C38F930B02CC23DA8D9D3B241FA0B
-57CDC84AE69BB5F1F147065B11AD4DC8526C3C5D1A96E88911C283715062D02A
-AE1211A1F673F378237236BFD781255710835E9CC5317E4517E94A9DEB1C12EE
-8BAEDCB1B000D7BFA93AF4DDFE8C0ECBAC69271A1CC5CD0FCAF3E9B6FBA25F52
-E2BC8D70AD1DDBB11510E16269DBAF3ACE1526FEE212D0E21C4AA4221474C179
-9F387147835D501AA31BE514134E414CB3533739E6B46EAB31A09CDD9B3952A9
-C5C9A2082CEBB4E97F7035840A720B16EA43AE51BF523CE39CE63E92570A8ABA
-5F2340530E1E5CDF20045FF305F70CF69DF30449D2074920ABD17876E71C0E10
-5694F9FD0EFB234B6223B2CB6BEB86FA6FB55590198C0B4E5CD841F4221F64E8
-A2CD64F4936416D6090778FC774027692B44C4731E973F39529D7B879C10B9F4
-311CE06E3BA308D98B5F0FA1B67F5ADA006D99FCEC3842C57E3C2E8C7C201F82
-E8326163EB4DE30F4E63FB1FCA5AF541C79EB76D5F9900357ABCFA1BE4768205
-F1D4D2C9D54B1BCDC5108EB8C9F6732FA6C97E1ACC4A377B8C2D6A9071B528B5
-F842A94FBEC3DAED249F8D548EFE67630EAC5C94681B49CA87C3B45D17828EE3
-EAFC72C7E7DAD743BB6FCF4AD38B6DB4142D4EA23F4A30A94C801E7E74836426
-31873813FF9ED28D026242C3B7D68A8CC8EABF50A7DDF6C966B4BA17FCD494B5
-6F001621A6F693F6ED8F2C03469275D479832E22D9F933403E16B25660191D0A
-2A0544FD7ABAC0734933059E3A44167AB8991791690727A545117F72F7BC9E90
-DF5B3329A1A2F5D079693C448B0495A348B8F31AACC9AD8247CD43621B48CFE0
-D6959D5114EA53A24D885F5A03CDC1ACDDA45891B747F66FC07D8F0694CCE542
-24BCF8CDFAB5A1062A11E17D77FCAAECC7FEF85E25ACAC3E93F77F294029EA38
-9145669E8CC1914CDEA2F2C4ED969CC5C8C11FA492430AD3EE7C7DE073DE6CE0
-7D9BD486C6B77C361209E4C26BDB04D02D96EE75C09772522BDEA3195FCB2372
-29B167BB7C3CF0BB0FD5BB38071156DA3337A430F267A8C3DBC92E3CE5D8E689
-19C482B04E21874D2060E2240561B7737C95F9EA0D5F58291350F11201F05D90
-56EBCA27FF800F6965E26DF36361B7BA073966C8A1FAE17D5804E92CE947E695
-072C211BBD56F3C5B519129C9112A16E376A95001E23150E6B1F206ABC741035
-5112DB0E9387F2186957948624D0D50D9995321082A82DF379DDFC38EAB7BBD6
-69C3E14124B6C06D5D01253EBA966C774E7BD1D4B4CC80DB9EEF2097777E3FF4
-B3CC0C8C2305566EE9E1D12C73299F542CDE024C92AFC50AA69F7205BD4FC8E6
-0D344A8208C8D7ED445C34E82D0F969E2AA953832D094E69337091CA15E11B24
-BA6A4CCBB9CAD7242C9A6A655E55239AE8994D91FDFC1DF91745CAFBAFE4C587
-0464A72F9F117223A897D55658787F2125563B8B7040E4701950A02C8E1876A6
-1E7E963B053C3D22FE7714F6BCA2211F585DA40AD1352E95F5C5DC0A2E0BB205
-D62BAC7C49785C8B7106CC7ACD40CF106732E898E2F3A5AAA3279AA3E875DC58
-A2831CA10159E2D85E38D0C0C60AA7278AA042B74BB321203363B273B41C7D10
-92236116931326ECFD632CD34C59A3E36941508E544B4387AAE44B001FF0B401
-7A8120A9CCF897F7E1A0EC89F7AC6F9E18FFC46700CD67A1FE1162A3F3B7B59E
-2867D7F67AB1457A4B8C511542C0A5AA426263B11E5CF096DA591FECD734540C
-A9E34F311904D3C2DE5B2E86435924092C70AA2B8B3AEE950FDBC1E4C876A427
-BCF6319294CEC3A6CB7A5F2F60CAB90ACE7D002D10DFB6636DB1056726CE2891
-A41CC81794621788F0812B228A49E69345B58DCE7C50DB569ED3D26A9B6AB3E7
-F9324C86E336D84900FFE0D5AA3DAF902D519A818D0E1033C326D726939491D1
-809471D01420744A5072A7C79D9E58F882472A8A2DB6853D7DDEC80CD52B467D
-500F0B09033CEF13DA043CC579FBC6C23102F8B76034999AE268E893DF58D373
-297150A1BDF0C4148E62DD8EBB8989B660F14C89CF489886751E10A6D455A233
-F594F0FAE5216AE31A727DE008DEC0D709FC6B0209223481FCBBC971C701D2F7
-7EC4E1C51095EF407BB5E45E296C13B54957B43B2745C3BFE7B84EEDFAC60F87
-3F7B5E339758831CA697C11CCFA5C45CF59C90BE41F39A3EF52630FB6BCFC1A6
-9B1C50CD188D8CF285A40E11648FA0BF7E17291AB2398C889FC2D5C3CC78C6A2
-26B071B6D5F24D08A7E77B7B7470F8CB795C08A9D0F56495ED03334AD9E4D642
-EEAFC1EB175B8F2E0C72274793DE078EE7E819003CCF47C6A81E0E8901779640
-7EDE8172A90833A700B69D924836149AB1FC080FB4D81637EB97B37B5E7AC143
-43EBE65CA7BCD90FA7E9EE92A3BBEC9CB9B036BC0128C3986C226738270CA24D
-05C676BC05522D8BE97707DDEC642C26FB9E9DF5C420C9756BDEA6C0E32B6379
-56D684D57C41308C280DA1F87D62C780B847355855F8D86EA067EDB4AD9C33AE
-313D95D50D9BA129591895912714784A11251643A4F6902F31A129919A495A9C
-B6D0E875203A5DB0655F34F88B8A325D753C934D1A9810EDA53C63ABF2CB166A
-6805FE36232E748917CF3CCBD9AE81E39EC2BE2154A42F5D4A9A2758B9442B74
-63C0B3D2F48CC7E5A56D5D19454F73D4065A52CE1E981DC616F61DD3
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.0: CMMI10 003.002
-%%Title: CMMI10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
-/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI10 def
-/FontBBox {-32 -250 1048 750 }readonly def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
-1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
-7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
-0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
-EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
-404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
-78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
-A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
-88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
-C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
-BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
-98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
-E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
-143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
-981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
-88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
-4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
-FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
-347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
-FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
-C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
-B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
-F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
-29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
-36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
-048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
-80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
-9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
-75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
-4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
-74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
-D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
-E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
-EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
-543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
-710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
-EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
-7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
-03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
-01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
-500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
-F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
-AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
-1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
-85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
-4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
-6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
-55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
-085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
-BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
-2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
-CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
-BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
-D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
-991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
-6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
-E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
-E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
-B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
-4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
-1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
-B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
-8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
-FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
-AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
-BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
-E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
-38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
-7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
-2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
-DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
-22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
-8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
-44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
-D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
-42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
-C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
-0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
-66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
-E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
-6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
-1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
-B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
-897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
-EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
-A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
-F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
-A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
-2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
-51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
-598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
-87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
-178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
-4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
-7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
-AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
-3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
-337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
-C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
-DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
-7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
-6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
-98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
-821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
-C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
-7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
-B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
-A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
-23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
-C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
-969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
-3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
-9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
-1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
-B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
-95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
-FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
-44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
-FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
-E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
-633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
-6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
-FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
-375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
-6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
-EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
-E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
-F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
-DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
-D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
-D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
-9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
-9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
-B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
-D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
-8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
-FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
-B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
-00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
-909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
-5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
-7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
-BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
-C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
-BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
-BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
-4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
-94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
-F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
-E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
-92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
-63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
-CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
-B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
-5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
-86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
-AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
-3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
-35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
-155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
-AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
-E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
-226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
-9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
-8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
-919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
-A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
-9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
-523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
-88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
-2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
-AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
-B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22
-CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744
-3B4593CC8944C70F30925FB48A16342CC26D444F54CA15E5A624C4A2DAA2AEF8
-404145BBA339F2A2D6FC2F3ECE54387761CA1213C8D56FF96E37C6147CA44B84
-262EA87E7CC10D931E6B5B80D7F09813498497AA84ACB4AC69BC6C8481ED2953
-084F560D7B1CF90555E69BD2AF7C5D944E8E3506165014652462BE1BC81CA341
-E1B0725159D36DA0FFF3577D1DEBC5D91AE683FB0384
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMMI12
-%!PS-AdobeFont-1.0: CMMI12 003.002
-%%Title: CMMI12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup
-/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI12 def
-/FontBBox {-31 -250 1026 750 }readonly def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI12.) readonly def
-/FullName (CMMI12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE
-882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3
-2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A
-7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541
-0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69
-987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7
-609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC
-182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A
-CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A
-1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE
-C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D
-3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6
-D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E
-E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200
-761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24
-8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F
-68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D
-10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4
-262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6
-922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16
-56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26
-32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA
-7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460
-7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A
-46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD
-754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF
-88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F
-CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A
-7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760
-8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0
-BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B
-CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25
-8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B
-D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300
-135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A
-C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812
-1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86
-07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39
-14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D
-7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D
-2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D
-639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3
-D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F
-90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948
-10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E
-1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E
-8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC
-D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9
-1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33
-9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875
-EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE
-DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3
-60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8
-FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D
-203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608
-FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09
-DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F
-2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D
-244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077
-31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B
-724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8
-F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7
-D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA
-AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907
-CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF
-01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D
-CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA
-287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605
-8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9
-9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1
-6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5
-7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C
-192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA
-AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4
-A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9
-50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67
-A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912
-3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF
-CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6
-5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96
-8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE
-084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7
-92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2
-AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27
-97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF
-92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5
-7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824
-5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199
-13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76
-6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1
-5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5
-6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83
-F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E
-A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4
-7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A
-9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817
-E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962
-AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD
-F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8
-0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003
-1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31
-7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E
-38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8
-5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F
-3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B
-B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85
-15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B
-AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674
-6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6
-CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322
-EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82
-A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D
-806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4
-461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1
-4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361
-9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C
-172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6
-69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E
-ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690
-356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0
-E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78
-7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C
-B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A
-31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF
-EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7
-98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30
-C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61
-AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208
-E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900
-76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40
-8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573
-CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7
-761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A
-2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138
-89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60
-D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF
-C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485
-D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8
-B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39
-AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F
-D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3
-866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD
-207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73
-756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7
-60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD
-A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A
-1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4
-A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048
-C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3
-03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321
-1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B
-97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE
-D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8
-4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF
-94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97
-201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7
-9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000
-CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7
-29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939
-4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED
-66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31
-14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53
-84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74
-6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12
-49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C
-224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5
-5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4
-A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498
-1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D
-5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6
-40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C
-E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B
-C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD
-CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D
-2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE
-710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45
-FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8
-FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736
-5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMSY10
-%!PS-AdobeFont-1.0: CMSY10 003.002
-%%Title: CMSY10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
-/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSY10 def
-/FontBBox {-29 -960 1116 775 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /minus put
-dup 13 /circlecopyrt put
-dup 15 /bullet put
-dup 33 /arrowright put
-dup 55 /mapsto put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
-7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
-DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
-511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
-1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
-028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
-1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
-3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
-91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
-E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
-11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
-C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
-D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
-B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
-93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
-10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
-7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
-B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
-491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
-F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
-019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
-915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
-356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
-5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
-9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
-3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
-FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
-720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
-D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
-BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
-7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
-DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
-AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
-A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
-0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
-AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
-CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
-0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
-5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
-5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
-E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
-54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
-E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
-A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
-4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
-4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
-038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
-B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
-5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
-B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
-A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
-2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
-CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
-455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
-FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
-16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
-16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
-483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
-67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
-3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
-1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
-93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
-051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
-8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
-8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
-6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
-06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
-84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
-D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
-DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
-0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
-8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
-C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
-754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
-1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
-CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
-1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
-153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
-905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
-617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
-8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
-98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
-53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
-888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
-052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
-CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
-A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
-07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
-B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
-10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
-CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
-3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
-D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
-849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
-648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
-84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
-2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
-2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
-9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
-B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
-D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
-135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
-EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
-C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
-7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
-4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
-9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
-050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
-3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
-C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
-843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
-CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
-B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
-3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
-19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
-FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
-17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
-8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
-CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
-F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
-1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
-4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
-2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
-9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
-E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
-8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
-BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
-04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
-C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
-ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
-4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
-84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
-C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
-09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
-D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
-56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
-035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
-FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
-CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
-B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
-F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
-CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
-0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
-B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
-33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
-4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
-F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
-2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
-CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
-88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
-17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
-55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
-A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
-2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
-406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
-AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
-60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
-C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
-5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
-822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
-94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
-D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
-343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
-894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
-DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
-DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
-8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
-A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
-DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
-E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
-DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
-4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
-5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
-02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
-88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0
-657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE
-D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808
-AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2
-3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E
-7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B
-A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0
-2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25
-CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D
-9E592159338E1293F449380E13C21AE42E6D6952083BFD432F72DFB7B6F9257F
-5784C683A6E9ACD72334E0EA8060A81E14EE32300055040E24B49810DFA1468D
-A962DE1D1AEE09B49109257898F155A63A83D514996DCD2F96BC0F52796267DD
-DA6229F5E9024F78B02154C27EFDB9B6E09B131C9E9E4DB41A0FAEDD93A05512
-A919AC8869C09FC929682B51174D816B85DADE28C00F6391429BA98327848AA8
-C52FEFEBB2296BB78F06BC1950A8E0405EDBA2D8C51F1F607E73F5A2173E5469
-BEB7918844D450B652DCFBC4C0D0C4AC2AD678B7165AA8F053B717C1D417ECF2
-3A2909E864E503059135C05EA8F7CF185DA45CE17FA40B4076ABDD8B167B6F02
-3C8962F09CE07257495ECE5357F755C48E49F4385DB5CE4FBACA3AD4D18E39B8
-F7057F4BF581ED26ADAEE218CE130B0CCCA0C7B273E51D7F314F53EC8EC84100
-8292750A37A4D4551A5C2A65D2382DB0941409D83FE1005752BAD1980307F153
-BD7C92FC12AEBC7C04839FD7F01BC85F0880DB22FE524204FB924445B6B3DF6E
-1B657353086539BF4E60909524FFC4CCFBC8E0139F65F53ACF3EEC572C673CD0
-64AB1C29253049B26888A322E0FFCF7DF8871F701CAF5BE7B509E090C43B4755
-B100C929D5A8A4B9646E8EB39F2E705006AD23EEC58E0E1CD0C18A346D8ED66B
-D0D2E215F637D25EC4F05C449FF8E25250211635C9D5121EE0D51E712B7A8699
-19E96ED8451ECBE97A7197337C65CCB44FA2522EF6735BFB60CD053EFAC10381
-C70053C2DB3B6DB8DAD720DA6DA25069131FD9759EC2182D1B649AE67FE4181D
-B223BA15F5FEB0BBA498F9993F6A9C8DB9088DFACF064ECCB56FC4951EC8F9
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMSL10
-%!PS-AdobeFont-1.0: CMSL10 003.002
-%%Title: CMSL10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSL10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup
-/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSL10 def
-/FontBBox {-62 -250 1123 750 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSL10.) readonly def
-/FullName (CMSL10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -9.46 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 14 /ffi put
-dup 33 /exclam put
-dup 36 /dollar put
-dup 45 /hyphen put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D
-DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384
-7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0
-C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814
-25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5
-7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581
-299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8
-80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB
-5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584
-8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894
-5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F
-F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B
-966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E
-A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5
-9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4
-A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD
-94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A
-DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669
-E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929
-5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23
-8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5
-155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E
-4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038
-44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D
-8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0
-04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC
-A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F
-F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07
-111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344
-8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C
-567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728
-C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214
-C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094
-51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01
-66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58
-9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6
-2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4
-4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7
-5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256
-0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9
-233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D
-BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF
-62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086
-B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88
-DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0
-C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA
-CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC
-38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D
-FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24
-303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2
-8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1
-8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2
-C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53
-9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363
-4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29
-03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212
-93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8
-91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0
-FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27
-06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179
-95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954
-9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2
-7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972
-6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31
-5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262
-3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91
-CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1
-797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0
-DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112
-CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19
-8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51
-04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757
-78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE
-730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F
-021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79
-CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57
-90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD
-97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0
-F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9
-4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394
-40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7
-3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B
-362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7
-DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136
-7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233
-04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8
-DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B
-C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049
-B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F
-9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229
-3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE
-D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2
-B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571
-74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A
-44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5
-A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8
-3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1
-BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64
-01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4
-6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD
-DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A
-CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C
-683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D
-87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF
-550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6
-2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB
-17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB
-3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E
-F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F
-B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B
-1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514
-61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7
-124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2
-ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746
-0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246
-D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933
-F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2
-BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003
-75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A
-8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3
-B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E
-7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD
-F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F
-F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7
-322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E
-523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017
-6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77
-66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633
-B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182
-5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1
-093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838
-B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72
-6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394
-EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF
-A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966
-8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE
-144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0
-7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F
-172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9
-254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6
-5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71
-011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460
-B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC
-0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E
-3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB
-E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E
-993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E
-0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9
-18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0
-ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F
-CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228
-1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3
-A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A
-6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B
-BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20
-DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323
-1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761
-93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082
-E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62
-4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB
-F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526
-4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1
-361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36
-95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C
-AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0
-50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81
-88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932
-AB7916D44EC2210CB941B1455867E510E9D8A0B83CB645BCABDCDBFCD51A4E12
-60CFFEF0CCA548F654037D01CD631FC4E1F97B4F65DA9AE79D99F13A726E93DC
-BBB027B7D175FD17A704C4668F6F8428262959DACA9F8C687C923CFA053804C9
-9B2005FA7E0F07D81E52A9A37AD5CEBA8EA63929093ED0DAB9F7C99C82A50E6C
-6440387049A0C359218F5268C9A28F581783BB9D29E08772D7252FAFA6739687
-22570150178893C418531769CB3D96F799BF1C6415820F96B6EFAB5344E82796
-38A0DF66609F5EA332C1065274EC93027D264B84B52AA8AD82E13E2A41AED340
-B240D1888CB89FBB748FD10B214773D466A44AA2AF44371CA8B9A4450DA76EDC
-0167B4015A270B9983B89EFFA023A3DFFDE181B90C51D70557B08444263B84F8
-A2A807C55D74265931B553F6D7F132B110DDDD3361BC9563803C888B89881DD5
-09E1A623957F074F5B3644BB3F93D7F96770C73499AC0AFC3D7157EA08BF9D15
-DA7739FAB528A8BC30C0EA7899A3193CB9E8EB51EF67DF4F97D36005EC228B30
-E54D14471A6ADD6DFC0A9E182436B4C197CB675C37F29D0404846AE086C2A5A8
-DA576BD98FD5245F1F19D20D265FE8A6C29571864BDADF555E0516D49EE5FC67
-CD278CA322575D75BC18E682A112F3EA978790C6FB0202939323D9D520F768F4
-EE5DEFFFB37D802D896E4E6943986006BAED87780F3B9D967B2FC8DC44A4A529
-2103A5C8E05BFF06517D8851AE4EDE73EBF32875A148CF6CEA6D4AE03DD1328F
-651158122376528BB9826C2DD8D7E79847902DAA002E452D12A8F8356C363FDF
-76C5969E2CD60336F300EB511BE4B7F1F5585DA7C6FBF995DB71B8CF22C0B458
-B6ACE92E0215C34849D8EFC56C9052A3924B628DF69B0435810BA49EDFA03E52
-CCE470EC571986F64D294E0DB056C9E509C81AC64E65BF1E2C17024BC8ED4352
-636CA39A3937DC3800FCCB1F77969154EFE9A7091ABE21970887F6898A281500
-7ABAA2EDD1A825E36155689AEBF310C63BBA08FB3C7414C49F445AEC145A06AF
-E6FDB6A30B367DA1BF73AAEB9C503D23CAC63D77AF39A9AAB1C1FD22BEFB8F1A
-0E50F612DF0A30B5984E18950261544B3AF01D1E839CEE5D093AF2E3567278BC
-0D91A5301CE5FFC6ED8B9C38A11BB939EE48C37F2DE47E9BB52195BF1FC46E1F
-FDA886B899401F144E4B32438F28CDDD418CB529CE8379771A0DE13E584BC354
-2E26FBC8D9BB1B1F92BC0300CA7046145698EF64A6540A468603092D633E8B2C
-2F2F688ECC7F457BB6FC2F075F87EA556B5837E3632E993C79D08414E033C21B
-F6238CC12034BDDAAE28A09A9CAAE51667A3AE782A92BF7F4A89A37731426D6C
-FF47EFDB75BD2D462A79F9E55EB522FC6F5C6713775142D2FE1038D2D49FAC19
-39A26862AE2859DC5065C1565EF8C249D95D501A8C53F659CBDF3B0AFFF1A4BC
-5BE2E54A2BCC84402D4EABBA36CFB9932CBE589476A9335F509ED972724004ED
-289D44141EB8D3B63494CF9AAF357A2EE23B857DD0B1A0BBEB207039C30AB085
-28BC18F13B235F1B8C2881C0B581226D1230E7FAFB5652A728B50B5EC6AACA19
-26587B0CF2AD14DD7CD690373D166C1B9FEFDEB345C2023994F2755F34333FD0
-241342CB4CB78E98A798FA200F3BEBD3B1B8FB26F68A32D4970CC1BDF7880416
-EA7F68EEA9EDCBAAE75E762362127A9888D470EEE54D9103433F623924FE361B
-6C0B370C8906FE9727A8F249D1B4291ECCA02BCB0BAF9A785CBF4C9451321F45
-775970916DFC43E0C2FFBDB9194DE54EA990B1CBAB06C5567F4E6DA7EBDD7028
-A475FCF7506BB8B3CA785233225544C87F74D792571FF09B3F6599B3F1111750
-201DE0AA6472939D049C2D674F91508A19809E82D0BA3ED2EEB76916543B8A19
-D758901E5999F8348E74D24A8FC602B7D16F986401C0463C2FADDF67F3FB2C1F
-E08CBF9F753023701A1C9860135284C5CF30E5262C5408D6FCBCA90F14B9EDCA
-7E15F68419A3A1842CF2F988F6E77057873007FC22A2575EE9FCF9B80682E944
-83C776E6F32ACD52BCD48CA90E2D5C31088F646E6A81D27BF7FECD78CD81B2CC
-755155CDF0F1B951A3EC59012FF66E005CD4EA1F160C721CCA6C156957124C03
-0708EF85B90556AE357E27BBE9A6F9283D5B50F4C286D961B61C87F85DBFA44D
-2F9C0D008334B4E2B2C4E6E461EAC86699E8EB8FFB216DC850ACEA016674CCD8
-BF7827FA6FA3D167C6980D6ECC7FB70BD5668DB9AA8BC2013900C693B2890A3E
-5B86A27556DADEF2870ED87EA2EECA8DD0C1E1F58A7CFDF7AF3CDADCE2FE6D8E
-9CDD02887120032EE541A73150BBF388AF868841C2C5EE9598D78A10414A8599
-2D936D5A9E83CA777D35563263ABFF48D283CD76B3F88FBB8F41278BD2E88B20
-2D950635AED81014E46E425434214BF56AEA935150DBB8F2C673DE93EA9C5A22
-E1D305798D85CA7A11F194E47F74F2658DA990E6CFD068F1426650F59269B269
-D2BCBC24A4973EC99EF1C30DDF20F6F383807A59B615E20A05B75582B82520D5
-E1B9B5B145C49F70009C1BD507F895382F82807CBB53E303CEB5C1F693ED6315
-A545E313B6130A9197FF31062F81F623FBD6E4D5B9534412265A8BC7BCC76B6F
-AFE43079E82D77B54EAA36B21CFC2AE1E6AF5D19952E8E339507EB7A7A2D4578
-0724DB516F848EE099885D861A399E72D738395F4DC3E857BACF340C6D6E549C
-79820E43D624F35FADC643944906B7154837693057F2F19A638FD68C246A5BEF
-49363D787DCCA6C9A3FEAF0023FEC63F88F8998FCEE527957ECBF03B9556B68E
-F7BE8C04FBD8CCDDC4DBA0A628D157DE2D1C752B07A9FD9442D6A423E4522630
-133D1094AE3C72FE88E50F13E2ABB0181E41C3C77F30E94190A66A4A110B7A90
-E0896CC9350E9ED01A2CA395851BFDD8A5711D8004E8C79FE8C1E98BAC0BD985
-A7FCE6A92077E0CB291A0F7AB5CC6C30B8CA7CE2B39B374E531A38C5CCB37C3C
-91726D52D98E98A8908FFB91BDC68D30AA8A636C9788E6594AD2F176A9AAEE16
-EA3F249B42FC47A95BC492E52504C184B114389BE0909E827AFE2A33A1F61C95
-593102EC2AA44BEDF477FD2BD876C6F15F612BB8A2B3F6EE46676F36FA1B3BFD
-1C48379F8E92A5EBD064758BFCFF2C1E9B908DCF51ED2FCA8E07A5578BA7BE6D
-9C9FCF5FD25AAE03135B453279FAECE868B55C9D46C008AF8CC68B460C75D1E2
-D6F1F82FABD77EC7DD17FA21E207CB7EB7DBFF1FC61A36135E0A024FE527D4E4
-80C7E92B8A61D52A1C753BCFEEB2460B10AA8A72A76C87ED59600BA7D0ECB249
-65AEEB86F31AE0BA4D0E05FFDCE431884AC5FB9C8D149A1E421F82BE02E46E44
-240B53E7CABE9055C483981031E866C7231CC096AD7DA409FBD0EF0583AFF0C0
-88C7893082CC45C35D0CB712CC92A5156B98191A600FCD6B9ACDDBF31DF29BF4
-AAB4425E9D7C3C21D1F6E2505039DC84F2C7194A2CFBDF296D0FC08055E562E2
-123237E095F8A338BBBB0D4CE5A23BC1F722DC2D3457A6A95565420AEF16E07F
-E78B81E5C0AD05259E6393893FB8536AB9C151875B3B085827622F485626C2B4
-C731C01E3ED08DD36C6DF477736C14C8B319F0B0D29B9D251E40AE9EEA341C56
-59684AA49DD1F293F3E54DD332CEA090A45010A29F978FD4F7F9B8B85437527E
-0A17E7A5A03BD0D7ED518FD95353C931F84BD2B9CD6D4A0D6CCEC055850D5265
-856D9ABE52C7261B1CC637F5546B5476277908562F07E45BA586676A68798F94
-BBEA8AAF33B903912A65E9800B108E8463F90484747EB6E236071EC765D0B7C2
-D2B53047E8BDCB3C720AAAA41EA294178C2061710E8E5788F640C389935B0DA2
-B4C2615B956BEA859332D01DF2ACEAE7B939B68FB214621C5099CDCE43B63343
-6E51F0EFE835CC2B864DB358D8123DE4B50C49C1C16087A99FC427128A78891D
-9821CD5330FD6D2D990028C42B968DF91C7545E5AD2ED35C2AEC94828E85B1AD
-A18B0B1E347DA38E0076EB8ABA028E97424E3C902FE65E0FD8275E371DE741AC
-9AABA09E2BB7DC781758A6973C7B5548E2659727AEA2141DC14AE1110D24F25A
-D58CCBF9FE7C432D015150FB9197A4B2AA739B773289998FA15E8110959FD0D1
-30EA7B2AFA731E411A68B6F7963A3637BDC24002651F9FD67E8B7327C41A145A
-A18BD7284A293F0BFDC4CC7F04AC310B6B3DAABB50B67FA45B8973959D84832B
-11F27A2C5F2C0F9D328EF826D56A18DB5681D55784E3786A9C37B31DDEEE9E5D
-51FFE1C4B23D716CF95FAA7FEFDAD7675C4BF94B5E7C5BDE9166D5793BA50E6F
-C89AF166A3B12DFFCE61980C0D90C29776BF27FA7B16C14786C7DB3B04533AB3
-ADF781FB5E0A865E373CB52A1EB8D19F1A50DD3635D48313B3CD35CE6E55E0CE
-39D75C50C6FFEBE7737FECED33F77228DDC38679988807A42D4120CE1D1E1C00
-206788347219F6CF84FDC75641B6E918E9A12124CE9806FBA2972ADFA13AB2DB
-9C1FCCB6ED1C3C67448CB296FDFAB129F502CCEF4F06B5BE9640D9257CEF91B5
-9EE85B290F46109FCC2DF46F924BA1A5A841E78C9A7773C2F39C02CA14841EA4
-B002ED8F79827A85F158790AE542AB87B62ED40300C5F78B9D6B66DC1ED48C22
-1DFD400817D1197A4B82A87ADD3D469CA228B5D0DED28EAC563C3C77C7A564AF
-46193EB6A759EA60C670D7B6AA51DCFF9B93F8C920671BFAF1D7649504B80CAB
-C0C0C2800E3D9D42AA21498C7B8814A88D0A0C7FAB92F6D2B1A77539969B8F7A
-9E388660CCFF786522E3EF9A6B1A6A1CE0E5E540B6FBA177A37ECBAB0C4A498C
-6121EDD8874C465500279EF36D44F16F1C0E8E39F9780D8FB382FB99A606AB49
-A6497AF68BE879707C949F6B52223F577CBD6D55B16416465A2A18F30F321B53
-F86B6B4E4A8EA02D39E6AAC2EFC9E848E20BE60FF60DBB4B1F42D7158CD1C878
-EB878137575F3409CCEEF60008B8E5F2EC7262106299A2440EC668BD640B9B70
-C89AEE5E76B6C61A77CD81717DD17330385A1CA549BB232A8E7DE7B9E6AF8D25
-EDD53753C11D779F01E1F6CF64BD611DBC17CB4A9A3EB586BC51B0B9CB944678
-9D224BFD2F6BF275455A4ABD904D7018A00F9C3FBF4B06E52D62F201F870F53F
-0BFD9D906116A375102AF114E4866FB7876C405E4B12A764E1D2B16E52C2D454
-BB3E0658D12C847274BA1E561C6D953FFE020C4D21609754B7EA3728197C3F12
-C06B2AC1FA2FBF315B86CFF65ADAD5C9DB29818B47888B2F1942DE87908769E2
-F7B46935FF7B966F86417B5B59F68A2C9E0D54BAA2F7115C520A51666A24A17C
-945DA6E9E6A64FC800C0B13625C59B205EBC203962690C6467A588CE8BB5C73F
-C9F33559A153FF3AA8DB074626F22288F91DDF87512C86885C0CE6C2A634D51E
-74D1F255FCBE3F21D4ECA36B55B2704518C48AF9825683DFF3D7195AD31CE104
-7B81AC823A3F96575A87511D88F4BE86880C255960D5C6F8F6667FB4E91BDD1C
-189FFBFD488D6E0966EEE480B02D8D0ACB6434A69B0C165F3C2BAB407F108E55
-434F6D70C0D1D9E5F7EE1F1A955B2F1443E945C86F20F124ABFDC516D1D5C7A6
-0D265EA3DE933CB95CBD095AE5248CD7A019DC1B8E0CB17AC89EB720E10A07B1
-CE057341EC034E1F67F4C10A981860ADA5D9175D276EDD89526CF90A8B2A5B30
-720D30C059BB45974AA5FC3DACF45B6E0DC37C94DC04B73DE1682149EC449235
-AF23622F2B08551824A1608CE6CCDBF2B9DD243193B67E60C33ED2DA8DF74032
-08A047143DDC307C848CCC58FF9F49D7AD7D0D150E0DDC93ED7248BC4B7914B8
-814D3F203F42BEF94BE753B1F1F928272077C685985604245C1F2882736E52DA
-A24D4A438F7A8B6DECE1F2EC46E57E2501B301D1557063494E2E10A9F2DDAD5A
-4D77795A5085AFF300F89F4A18FC1671FE8D212A4D45B7BB75A9280DD9B4384C
-B1978B239702E4D41E963C93AE5F9D49D811D1580DF3F23BBE42A42B1116E177
-6E45D530ED3C60A097284C8CEB81F3892713030BF4306E3B03516F40BACC8CB7
-41CF6D5830F3373AAFEF24D890B199468D4FDCDA31DE44B5E0BD6088A899CA32
-78BF14F27023A4F43EA2AF37E19DB03974D146768A7AB7F78674C87C5B45EFBC
-DCEE7224DA2A09ABA73F289CBC2C2A8A038CB4998BE859A02491C236BCC01455
-F233CEAA8BD1FB734A16965E3535592E1C99FF1D4040FBFF10D67CEAF472A14B
-F47B062A156A5EE99400E110B12E28D7C3CC78C6A226B071DA7741338673A1CB
-AE8791EB72C96EF04395AA310C6FD72CD3D35AD5717B0A103DABB1E05162E352
-F5135940DDAA514B7C80DEFA7B462AC20575FFC8ADC2D692CB8E17BB403CDEA8
-51919D22000D71358A0941335B0BBDF97B17BE572219A048178D416F03C23FF4
-DD54A7E33A782608544AD9855A88B2BEC481E88F030FB1897FE724BB133CBC58
-CD2E1AB3D37A10D68B193B0A2B6D0290E7AC666202E54EF54050AEE1BD93F17C
-B7DFF6A4637E99573C13C83B5ED1B655B177832CD7D2269A1A049685EB9D967E
-725F9AA675D4F2AA894910C8282423CC21A76331F7B440B2DF17064F2CC315E2
-7171069DFF4FFBD2CD712DBA0318D0ADF26B74F69379632B62D9E5A84FA3963B
-FFAEC76D8595DAFCC582DE1D0298471CA74A0FC705A6113C8E450EBC3A7255CC
-616BC14CB460AC4CC4F133AAE02A6190B138A537FED28402C323967DE2CF9C16
-34D125235B611067411F4027282031D7C0018F2D1C2EA3E84ED19FE1FC897453
-EEC1984F610345D0E9B116C2452222876A85D70333F8C09E6625C56534050F3C
-67EA3EBCBD1701C8CBF0290A29F1DA9CC4031F9A1D031B0F46407FF674AC3461
-972BB99309342CFD823E2DD3D709B7A6D6B5A14627719A64566A194DD7D6B235
-BC431470D3ABF9F77C835298A94BD7504666111A77392EBDAF12EA6D151EB066
-79BF397C1A3688A92E8FA79DB5612849541CB32FF7D147CB3E80C67DCB827C41
-D152106CE160DA98B98B87CE52DA32E503A24A56A3D9CA5297AF041E7EECE5B1
-3C968705D7EF6CF9835F6F06AB24F35FAF950DB4BFE055B83BFCF139F0F36972
-627C50DC7345D8F0F2A96587A65D6A4DE4B871FBAC063645A69BC962D8CF6E97
-66D3E3DD5FD66CB36F0E88F515A20A9B744EC99EDE47C52D59973E04CB8B841A
-CD30925511E03316325363142BE60C05788A3D885AA056B4BCD3EF0CBA0F1E12
-FE691408B1199EE36F8AFEBA63222D6BE82401C4F92AB8399B7FB8468A7E367C
-5812897F5132D94AED7ED5E6B6D1BA9885921A26F4C3C0C74A8DE00A6CEDB86F
-BBCB4B870E512656BD06C8973CEB1C4491D72CF275E73FACB0EF188F5363FEB7
-60289B08B9188CA4BEECFCC1E7784EC4DC6A6D09270CC03493B12594C2A58940
-93E3D21BF4595B03AA66AA345A6DE2984CE6BF84E6C688BB9F63700B19E7E022
-3BEF869DF341F35204BBE57858C84E4F34EAE1A4EB2C572EEF95FDB7CF9C4096
-E1E315D289DB185F3D9C9DAF29C595FAE8A1189C61F18027BA7D020FBC437A52
-D732B1A2C01604D5A0ADCC4C03B7B132227A959D467538C450A7EB3FAAFE54F2
-B53512AA39D1B7EBEEAA695194B133AB002A5255ECB9C77371BA5BB96F07FD58
-29F170806E338E089F561675AA48691A25BFF36262972E0E25FD426EB859B49C
-9AF25DAD09D04239F0AB99560DD9438EC917F7D818BDD643E9C13049D4A7F4BA
-53ADC2F80C81B7D65C1B387A64CE36AB962CB9E16A2400EEA520168F2D2FFD95
-CC9CE4463307FD600BE92F3821F8B134CD943780BE11C75F6F941BD45E17E58E
-9826A5324FF33F5BE169E929C5C81ACA441A0E129EC0B03B208BC8F3F5D4DAC4
-8AAAA06FEF0ED5C64A633573EBA28F6D60ADD0E0617C6AC7A7E2DF9AC13F3E84
-B21DA463242695C6D1E5E477FDC4F44486A0DD5057DEBDE9F30805E69A95AB38
-F071CF69216E8B97B7C34027F02BF8F8DFC40AFF393947675609620795904E62
-CCD878C6BFE822CCD362F84215BA3E432C8A1D735764E6B94C8DEC547080E71E
-89B0330112912B6EE92ED907CD40671AB2439EC7164EFF0F6946EC3BC2FB8EBF
-C63173E727D0B5F39F90DE255EABEB9B651869B73CE96D12DF72D4FC9A1B2089
-229D78CDF2747D4D220AF37FC53FAFDBA8B59351F03DDAE5D8E384CA3C4F4EE9
-72661D9C0EBEAEACF659BBFD9FEE1EBDBACFBA58EB3D09D45DBF64E0684A4F0E
-8A4012ECF46C8EDC6D2A78FBFC0E270B25649869BF367654434740C9ACAEFB94
-C7245A96C497197F0C193261AD1B8C5E42DF36FCDB9346E36443DC25948EC853
-CFC83CEA22F542A850490688497CAC46912BDF9282194E26D21A8DFBBFA1B7E9
-7FB5F1C7AA0ADD56635852EC046B7AE2A1899C76FF2628E90E0E1B211DA41E53
-CF84CF171CDA201D2DEDDA1796B5C1AA566C09E9DAC7AB344D76BF15CFBFDA77
-09C57A65ECCED62AFE178B332DE685E89C5CE758BEFA961497C813624530F2BF
-04F22C4F60B3500FE8B79B2CCA30DEEBB39E1F62126C36A298B17BF6279D60A3
-4DECF56B9AFA112E0EE4902607265E0E2F0054A78C5613CC0A2B2C34C6986917
-BDE26EF41EE3B2DF98D842543807D09755592FC7BF83DCF9E68CEA9CE3FFB01A
-A75B0D707E94E5127B40909AFD7DA2D680D59B7F0E61023318D5A07F8D56720D
-2ECE0817DDF8FCE62CBF322B0A5B6E943A909200BF2B6085D30A98349C1AB963
-FC42E5DD2E97E251D18A840FDDF6F6842AEE8CD572A98FD9E3B919947CEE9CA6
-1B14E47992DB97A5F953C6B699BB97ED06012B33FF6D94F3EAF783B38240B657
-517AFD4522F3346E9D9F8A70B094F54E2527E85D9773C1370C3F899F11A61A61
-C3536C5140E72BB9F810F52CA5971F46F68652058D5871C78DAAED58E712F103
-991727F4D7F49FE30DAFC3A9AE78BBD5DEAED16CE4742EFE9249CE0B4D4CD0C2
-6ABB4C30E85A5886F590B9F444DACFB3E4B68BCC76F36684E9CE60DF5B2236B3
-5621DC80EA9DD3EE4F16465B801B33D4CE128B9C6A82CE08560B72C1B5291BCF
-358A2A1EEF0FA209FC7168B3B661E3E40FB3D30E2E08B4604F4300EDDC4E11E6
-B479570F9B02BD42DF120D18E77911AB884BF326B7142646962C80F0BB5C3C12
-2E3880EAB34105F292036EA0A88839AF654B5BC9704D53B3EF7629C046BB5379
-C094EF8FEB5FB5565E86A3762E057AD3837CBA0F536EA7057C84EB868C498722
-2AA001D636CCC2F3A72B193591CC6B1C3354838F4C245BA4BB9A4BBC613262F3
-FA6FBC748C8FACA17B135E49AB960DB6872C615875D5985C899F2D656CAC3EA3
-62E4053EE049631EA48B97BFE9B53062491D4C2ACA65AE744590C5EDDAC78F57
-1040D9442EB10927FAC2024FC24B2FF9ABA44A8701585DDFDFAEB432696138B4
-FE9939888A40CE6287299BFDAC91175953C7F38020C332467B704135E8644868
-42B6FCA4DDC9AC04CD32EE5C3C9B45B6893372F9498CF5C19651414A61F6A2A2
-13568EC8CEB032718C17E0E5C1C1D2876724532FB2FBFEBE179470F22B15CC09
-E9E6A22C5C1F8CB7F05CBAEC0EEB8873BC1B56FFC529437E57DF1B040ED1EC6B
-4BA14ADE52B503E4FE18296F0036760BC6ECF1044A15DFFC81EB7C11AED5F6FE
-DB81B37D82BD82724F1B77C840E41524CF1589388686FFC21C05394D848824CB
-4762A5ABE288644ACB5D973671B664B6F68104F2E7F93392EA076F819EA58EB2
-95F750BFC9D53EA8E1703EE20B43AD610FCB7784B4738ADE4C33458185D3640B
-DC0B3B5503EEDBC99E1C45B9ABDE7D779F8C7838F2B21C4398EF3C4D567FF21A
-E427A40E22F1E5DBF380B83DE726AA60FF43270D8E920B320F89E787C41274E5
-8DD0B2D4A2A1105A63B413215C98839CEBDA6194F9EF46837198DAF734775FB0
-C763B9B4162B93735ECB20B7C16D379521DC6A80209052A20EB8ADD1A00EFB4C
-CF393C91A9D4F2D63800116992D2FF10DC312BCDAB3D59A6E21C53F840A84D52
-15076DA66068631349169BA98940872612831C1E70650F6B56D6BE0CA3F75C27
-AB9C03BB10CD06F73AA955E59C9CEA09D04D49230778E065B691E693F287F0B5
-B59924424E61166BABEB8D01317F050F54BEAA5901B9D0B4798F9EAEF69D0209
-03B8E7799D4803392EBC7439891C10A669299CED3DF9AA0AAA8FB43B4F998D24
-43E93ECB1909A6DB6232069DBB017ADE281F5AF5812D74C09B28FD373249634F
-D74F3571B232049A1C2BF2AADEAB5DD550D8CA32F065CDB5A1FE05CB7CDD78B0
-7653F8373028D46D763D6B29F5ABCADD76212A375956C60FE89664F9B34FDD74
-45B9F8B6C30C5F79A2E95B6E334E5E572312183E77033C18B958B986A9CF82F6
-74ED57F1E160BBD3FD80F7BD9D17C6F289F76B87D5D8B1287F8F242B6808A8FD
-61E612E92370437378888C1D7036AACA20B8C81CE15A5FF5D927EB390A72BB73
-A55CABD8F077AD7FBAF38E3B51E2F9F73915320C0017A4AC1A7D00E2054D153F
-4BA820292C7169ED744BA9BE3A8C94495B7D022D813676CB59D95C549948ED15
-70D44B4145ABA9E9236D9608C0DFF2701A32E2787C0E8046DEFE46352F48D2D9
-54A29EDFF73AF590FB45665433EAE72EF04C4DCEB7653881ABC7BDB3A1F3C2AD
-C329FAD88C32EB5F8B33AA189A568FBD35C16B71CE8482A7B64DB55C86F8239F
-98933FC55FA21BA995C80716D22649A7AF709E358160CB5FF0324FFA4643223B
-EC275C2474DF68C574C9B18BCC9CDADE1937754FCE03062EF6F3CB90DB7A79D6
-339F7B8EB3B63685FCC0756BAED7DB4AFC9BAF17DE8E8836CB5DF8FCAF71B91E
-9B20B2B142E136CD6CB672268FF521EC5EFA6E56988E5FCA6F75FF15C6D5AD84
-82F4DEC84DEE67FBE91258DE2AA3D94DB48A7DF859E1C6A502DE1B9917C41E61
-E6A3C9F82997081E93439562FCFED61B664266C3A66B5AD73005844ABEF97EFB
-BB37992257469285B3EC714C9E7D30CBDB1E834602DD7205CC2ABB19DB3D1E9E
-5D6AA8AC9919845F826FB91EC327318FB1EABD8B905FA0BF9972EBE6F9E15822
-D6C47A35535BFA4DA0551BF2464F51649F6BF77E71A9806EA733CF96CB30FAF1
-7CB0677EECEF8142F3A59C751653C378D84C458B920F9BBF7BC108B6BE76B74E
-6490BAB904CBB88A7E0A3D503B98A9D116DB6850B617BEF14DB927DAFC53A189
-095B31448CF73AD25F25BDB75ADC18342FD1BF1227F53AF69D31C5E0B2D5264F
-EE7320D06761AE8EA0F0929768A77E87D800AD2B118EE10572D29BF71973BE61
-A348B2FAFF76F58ECF1A47AFDB4BC8951C5AFE7946323D5413CB292A56876EA6
-7A4E35C3D39A74EA7E138EE15D3B2678D91E38D94CF8D8B91766855CDE05F613
-D16873814293488AB11A7F0DE7EB574349A807595E652DB17713E59DFC1D98C4
-D65186BB1D6EF8B2648211FD4F38988E48A5CAF1B27CDB0BE437D558B669434A
-9CC69F4E6EB94B697EF4238DD92EA780E3F5CF75E34E18CDD17AD1E1C6B2AC7E
-50040C583D33E7A82C338BCA54F1693B4432C3C452E1F657A27BDFAA83CA6CC7
-2E890A145A2ADBF33C3567BC056FFD49D6976AFFE64D92235219FBC8A3C92B38
-E21B6D0C1A8EC5B6992475CED740DA6E8C853F8E443D9765B1F438B2E1106DE9
-542FA489DD082EE09FA5FDFB3648D6506B377D209406A9657E8C436F5E307899
-E02769D9D67CD58E6D2CB22A6D526B516BAB38B1C733596A102B82406A0886C1
-5D476584F0F6418055372B3C6002EAB0AC8AF380A6978669E78C2C57407CBF86
-4AB437DF85C25F59AE98FBF834C78C39B007A51A697A88C561E484E93599C72B
-BB562C7250B59329B8D1F7F4B4AB2476875E0AF3714CD6E4E7973703CB501E27
-A6A311F10B9F0BFBC1E0BEBB4C89CC994AC0E4D2EDBCBBB962D31A343FC331E9
-073233ACAB6886E2DC0367C7CC2992369645B296413C03D27BAF418C4363E582
-3FB2DA273C1042F3085F7F9F4FCAE40F351418EB5A898BA998F384E1932C5E46
-CF173F2A9786817045A1E08737D8F1C0B9A6133D0086FB96343E1EDB50739601
-1B7903BA0454745C2E9C081691D196C6D04BBFF988EF3FD5669E0EA141D48B2E
-B86009F1E4627BAE2C5791146FAFE1E91FED3CD8152EC28938B42392D8D3BAF7
-DF3683840CA5F4305E986230139D77D15AB1182A5DFBB3F2036586AD40D1D36F
-D49BE7ED69F75DBD3BEEEBAFBA28B0559149BEC6475301CE35E37D72A1BF55DC
-30C23CF987046E64D284D0DC3D09411CDA75C4C5C7868C2206E4A7998908BBA5
-1F522F266369DD5F9286B0864D45A01EBC7B1D8CDD1B8D34E723F36F682F2179
-F4D406621C2FAA6E554EC7C09DA5BE8527FD957392C9716F050C7942A629A9EE
-9A4897B6C15E8DD63D0DE0F7CF826D76124ED6DE77F6064A01502E1304C55049
-1FF9AA67092FBF18145D8027F518B10F9710760A6CBA733F0C1B64ADAF5BC527
-4C24B6B3A684DD13171751B4C437F32AAD123454214F4B2CC7629B54E5BB40CD
-93431C21EF4960852DE0735B223111FB1CF9854BB704EA64A5E258895195214C
-C6AEAE8B127B62C3E6EB8B9D23621B02C430E8DB93C03895D567226715E694D1
-48A2674E6512FCB553700A947CCDC6AE3847258D2E33A9A89E7F8BC93F44A621
-30F0E10E2A27EF0EBB15F6D12E8D95D9886280CCCC35DD78128470BDEFBEC5C5
-AADF6CC0C5D21FA4E2C207E25400CCD1D9F9FD6ECDBB1426ED4DD76366AAF04A
-D99225CA931C49227431B5ACFE00F965AD2A232CCEF1A25919E75914D253E58D
-44D02EE0D669608AF1911716895A40E582633F2DA096A0E918F68874766439A4
-C250EBE7F3E6949C02FE6B403B7F11643EB352FD0EDABB005FFD6A6398CD1AE0
-C8809EC535E6BD855A001364D6E9A4DBEA39E2C79B6C9AC0405502FCCC58FD16
-1BBE3EDEE443B184B5B6ECE6A965E7492D0D1698406DBB171A9B681BCBB74B08
-AB64BEFFEF8BED8D9233739929D07AE6D639529DB2ECD8CF90EF164194019467
-EB38DB6748D4760D097463B3173CA931CEA327AB3C74E228C0FCB0330251D499
-A9D4FBABD24E1E696AC6A63716BC620A42FAEBC720359452A7D9810907577EA0
-636BC1A5309AD52A5D0630B3FA14FE23F968D3A105EFE033CD1DC39C8E9D1D9E
-B0A0AD022C5D6A819218A7A31C95FC9633FBF852591441EEE8A03A1C68E67315
-CC66ECDB8A6D22DF313C5B3A21A0CB079080571F9070D2D2F87504E5D1E678BC
-C16A00EB2FDEFC760AF97982FD1795A2563CA69DC5F7BE7D6473C24B2676C511
-81105B3118D0E3BED89612AA3E441BE3D0F1698CF987891FFF04E20A1EA40228
-12953BE70E0621829E0DF6B9C369F34977E3340768C1B1124CDCD1694D3B64F7
-E81E95BD54B025CAAEDB75EC864BCC78723D0F48978744F0BF8419A55D35E273
-67D916F3E28F5A06630BBBEE1339CE5601738FB4FA8044D9561F484AB58E4702
-6061613EFBA708D398CCDDA3E15EA4A82DF5E91E9D5ABC00DF191AD6521F427A
-51208AE8E9D193F280C8083BE0EFBD75E0C33F398E59F318E6C193A7503A4732
-F9E11E8DDB511230BBAADA494CDE66C55B18C04170C247C84101A351C5CF1BED
-A8E1B4268B511B0438FC14FFE363DCB276D4689564D743D0C35EAE0E711C7A80
-ABA0D520949819C273BAE91A300550ACBC30AAD247F2B13922D2F343FE137C89
-E06644B88A3E028556AAD5D25883E61063AC1300A803DE78B28E7292B5738665
-360B72A19266842D48E68314526512E4D938C64D636FD87E3C3401D528D0FAD8
-B198DD4BBCD6FC518106F210C725178C7B084F39DFBF49007B012BA73F11F0A2
-FC8C5084A79ABD0C176C08357070672A1238B9000AE85B00D363926BA430224E
-EF247211757471C59755A710BFCE3E953D679A175AE6D1B0AD8EDA26984898EB
-BCF0190FFCD38ADF3F2210CFB9E40805D795389781A154ADF379005BB8EFD6DA
-EC676B8921D15EBA849557BEDEE27EC680FD2FB92453683899ECE7EC916A9C8D
-279BC3E6BC789AB0DAD27F68FB8FFB2C0C4FAE9BA8BA8BCC60406A67D3F8D44A
-3ADDDB77EFE9840B6A2F97BE6CA43512E91F1A5F1381D91A28C5CA612DEBDA0C
-0975398C316ADCF7E1B9FC19D2781D8862BAD0DD63553601A589446811D850A4
-7A5EE9DC3BDE8DBA90307EB406572CBA608A874FF2CCB28D43DEE85E29717E20
-D93B5A3727EE3957F03DD83AA7EAFD41479699D983CE2D5DA023B95FD3A51E70
-E0571FAC0B7475177A11405714BB1567BF1F8D9CA2C8A97110E824DA2217DB17
-06F148EA959F791B16899375DC1D9228EA2482DD7AA22B6155BCF232732DBB61
-65A2D565487A303798FCF9E41541E3430ABEBA47F456CE1A122A662A392C7892
-C3D6D36DD99040B3CEC1786B03B46A58F0F5BA6B6B9E6CC3606F05D396AAA768
-7D4CBEA2400C1B0134D72D1FD173316B5C96DF8EA36A61BB73ADE9EAE53DE5C3
-C1526D9F0F8E1CDB1D0077047FE0D37DB3D9BBAD7AFB720F533BFB50EC001C82
-59C8559A0132EC46B57F00B52BB55800FEC1D94278EF2D366E9A36B45F36DB1C
-8E476730CBCD0C4C16D338021FEE54FBD6B272196FD03159E57FF281DCDCDB53
-D67032ED477C0BAEC4BFD0708C0E527E6B849A7D12C434F970AC1B59A24F6DC2
-D252A1DF140AE17DE96263A66A91498CB5FAA64F9274E38F100CDC46420B8956
-1398D0BA55B26340B4885176992B50A0A1B52897D28CF346DED35BF49A35D82C
-923AE3807CA5ED589DD3D44445B4A9A38D7AB80190FD3D8CD06228237EB849B6
-7F229DF0CA44DC2562FB572937B9EF41593DA9E048271C177BACD692F5AE7F23
-A192387094CA82EDC627A4EC87E3D38C43C54F156F6E4E76F0BA6808D8939C15
-2D7441B265E800E5897FA43AF8F31DEAB3F504703F47DDFE8443005E8A2013D4
-3DD9930928B091E0F68601B71F9C3766D3807322C0C78E70731FD700A7580098
-D7E95A706EC6AD11FDA3A6C32B31171DFF4BEAF84FA3FF9055E97B302E39E9FF
-0C9C26A029EF0C17EA6173DEB3BFC8CFA190EC377A2C9E3361C212E0D6FE6B18
-190D70089E81E176D6627104FC9A25452BDF80B1E811A38F9AD3B08AAF5CC871
-EA34DA1C26361917ED6086F36F44B9CCD55E415F678871035A69E6F03E3320E1
-7181C1E00DF9863075226B6DDCCEB01A1E2014972D9D540F871E14170EC7492D
-F6602AF3F7BAE9B56484EED9B1FB10D9A472BF9A42B4A5A20E34480740F88EB6
-6C0712F211D8768AE1138F17F4BD46D49784D5267E42876C50BF165A04C036D7
-14C17E5E0ABE870BE2605234B378764BA7D62A90EA13A89872CE0BFDEA89BE4F
-00A006945A3095F26E89C32660D3F8E72897FB733D5879521E8C2C4E8A88FBCF
-E4B8ED5AFE948A097354F21566C09D4AE09D1D42D3210AF5A256E6E8E8FF9F6B
-F3695BF0CC12D06C0B6587C08D2FD03D6EE510AF09CE83DDF5D5DB328E36CD5A
-CD3FDB378F9FD85DC7ED303E13E0D045BB89464DB81B6FB5E90B9C189C69B7DE
-63D26B5ED513A021978B16B961C284A9316FB879382446215EDED65A3B53E4AC
-6E257AA871CC8FA0C4E7B5CDB20049C8CFE11AA1131C41C3E06CD50F5F943B68
-F7FBE41F4EF6A8D0F730804E7D5F83F5C07F5D74E7F9B862F9A9910FEA396AF2
-9FBF78DB85A44E01A2814721A2B3018A811C3A5525541CF2EC43EE6977BE6B94
-8EB93A9B201033EF1F579D96E230C2620D00B2019E1E931B473C18FB13ED752C
-3594AE05FBFE782E42F86323F1A3379799608111171BBEC2FC881EFF28DFE535
-D673AA5F6585A18628939AF3DFA6E1AC0D1B99D2EE76CEDF684FC2CBFE5F9B70
-3D5169903AECF35F70C6DB08E79FBCD59B022C1F0B9C4C8A056273FAA158B6DA
-2ED09E1AAA97B9F503B3FDDFBBD678B60E8854272962B5C3E22E4E349DE6B6AB
-3DF9C4972FB6C76E7C299F581EE84B2EA5968B17011E397F1CCDEF068F094892
-C6C84942127235EC69585BDB0E29EEEDE588D05A6C649A5B86647D6500090F91
-5D1D4A0A427B99CF7F32B3B2775EFE99004B4B7B0E3E39B378A0A7508310E576
-E25C4799D60C2C02C438DFA54D0EE25172DA4730DB65A97AF1D29F4A03B1F2D8
-C2969D2313478B6C6996BCFF955A5F9B87CC64C9B75BAE42AC8689172946DE94
-0C09FD5722FA7733180F3179B1AF11543F203A46A9811DF89A1ED63E4E8351A5
-A693F1275E32C63595D12F50F3CB06DEAD536548F9A8C02B23B32367D3B60AAC
-70E2DBE1527D3F3D377C6DAD63FF037FC65E921B68114DD6056FFAE6A6A7DF17
-551D45B0EB8B92052CCA1F7783BB0ED64BF63B1BD12D58E372C103D3B5B18044
-275EF3817FE6D81753AC36950490EBB50F7E832418251C3C2EB411F1DF7ADBA0
-5AB8EC8F2482915E8BAB115A889D764E9B7CDE83020655042984DE0F70AAED5F
-4C1A2DBC0105A5C5FCE2B14B87722D094B7148EEB07CC0B24D14EE0E49D80AD5
-4D2AE2B08A543C292DAD7F9635292D95DEFD842DABB1D376F4915303A116F0B2
-CDF207803CA5F54C0519E58F57969A771905DB60C3BA7B7BEC66A04B80080AA6
-F07629374B635D427873794A6C0177F392A2276C64D389B7513B17C9824C3D8E
-9602E1D21DBAA82BDF7439DB9F54AE2F4D9CAB3C798969FA557DD87D25E89B88
-19AED8E384D446BBE309B79E2C7CAA43091C88E0546A602F6B2009805312AFDD
-C8A6C65BAE07D024C353522DD8157C696CA6E1E66233BC2CED1D626DFF75C45D
-829B3A2EA1FFB6F9F3853CCDC8C42B2A4E9AF21016B33876CE7032052D9A1BC5
-365D76B9CA4545FDCE8DB019116101424C6476A1BF24F678A99244003FD4871F
-88FE0815DA4345CB44538CD546873714859A699D62E427C2FAB185730BEC1E5E
-7ED24ED665CD75999B4EB4DF93D6FBBE34AEF6A28B3926FB3608C82081C67BF7
-66CC514A1A9FA5183EBBEC332998941601D803A099791043EB837C589B4C05D5
-C159E55D6531E40B0B8BDD2A381500FE835D2607EECB2B5A624F3F642EED3A44
-8058D47C2761D0A025720D61BA3A07EA6FD1F4DC08CCDFEE89AB2E3FB1D187C8
-55FAA26B8421EEB6C2BAAFC5CFE65DF7C4DE2E82C1409864DB763BFAA4CABC8C
-CD3EE1B33A46F51165889E5EA9B3AB62409D5D3D82640507040E71A587A3935D
-91E21453D240A879785FFCFFA7E692F74A1C89F16B9A9CA69BEA517058D59282
-3451E6AF43F89A89B2FD284166636D1085619020F337CF3D1D91219BC3500D69
-0B61F81B20C3925456A7E0E45DB8C18830CDD3B3AEFD01ABA44CD65F6E107B10
-3269C83D74BACBBDDE201683E3FEFB559C2FEA062BC036F068C4BC80FFC5F823
-1A3A9559AB85BBBB14C660B6B612910FA6391F3F2BA9A4E43BA4014337B510CA
-AC86FB10D829E9EA54E33951E0394D0C238669BE9E2971E2FC07AC2DE0A96055
-1F3DFE71F8B6E36AE0D58ECD8396317243D16BA545EB2B30D7D9AE66757DF8AD
-425D3C0CE41F643210804009E1FD7DEC1B12ABC063CBDB35739B13ECEFEC1B8F
-418333069290AE870450C35535CD9BE88E50C3E08FD236921AC6D688596BF32C
-8655A239B16A061FAD80C1C562761C7E0542245913EF905DE20626167CDF6D1A
-82CD1C77A27601C870C2DD6EFC851BC7DC37E7F6E47D1B8CFE2CFF3B6153B6AA
-39C011A06D087730B9E90523F17AA253A4396FC40ADF13525CFC74CAB3D7575A
-CD9B5E5B48CD468B0DBB1BD9B8AE10E23D0F9D1C75D892022C130D7BCEE847C6
-8C61B019E78BD7DC599E082E35B28DB5E6FE364A0C95D585A61012997B5698B0
-3A31841F8A44401C09DC7D8DA4308165FCD4E3AFF17182D52FE151915B142CE9
-BFF709C02298FA1D71710CA4CF2FDDEFF2EFE9CBF70C11806151F20BF0B8AA44
-78E7B7271567C7460BBB30360805D531001B6FC4D3903EE55E07DF1B80C6AC72
-C34D617B1ECF3C4107E6E6838522EB39291354309FB398FC688918A2F4CB8B64
-31BA3950541541A33F1E5F7E6366954A86A4D385087B235B9B30C77D9EB89560
-644E13E877C788399BC2EBC24B2BA81D838B3491EA8F25A146D157CA12B63071
-BFF7748B6E2924B3F5D0CAE0F2951CC2BCD7611313605E421E08E2FD0D23618B
-555ED35451616AE0E6824B83F334C6C942B0AB18665DBEBCF8953387C60746C8
-FF7579E0F2F568C3D790FE65A7BFEA4E3CE852C0800761A6A97459E6AC9DC618
-F697D4C084C873F19DB30FF3A30F953557BF19F3D537FE0E862A5F83044ED6C6
-99FA35F823A506A1E6954AD12D9184FCB91E1FC1F31447CB76B8A07D987A3BB3
-693050C15C1BE82982916797BFD39D9F00818447827A7AD945A46D9F124229EA
-3AFF1CFA38CD9FCFA5C92A68311D0262C2098BE84E4CAE3C486618AA20CE60A1
-17B7DD54B60854E9771B0F906E413196C63A3A647C125BBFDE36570DD6F1962B
-B044CAF4CFE97E03AAB00B4AD6622C9EBE897C135E6E94421F535BC698544781
-71CA7ED98FC755FAFCFDD6BBF532D5A263999E85E4F2FC6292B42301881482D9
-F71F70A9491F5B5C742C394DB0D8D1EC6FED020ABC879758AD572BAABC776CF8
-D13E3B086C7C512995BFBE098A790464529D5FFAEB88A298D5A911397E2C1484
-5D70F57D8E4BDFC516C12BACA35B4281E4B74255EED832FCC098D887FCE46D40
-9973999C987DE98F15022EAF4ACBEFBB3A59045D1DB954FB1D8FEF731F0CB419
-164BF5EF2519ED558439D97094864ED18DB07E09686B092B963FB6487A1C5418
-230AFA1D0772C67DD872B21687E1DAC09AC2D62B83A614A16D31C90FCC9C33A6
-4050C66CD6C5D3F437AE3D885381CDE61720D2756C97472611A2F83E02620934
-786C2B9297CEA8098D0710247CCF585248AB4A55261EFD6F4B9794063C36AB02
-B627827D28B60ACF5BF5CF56E91752EEC8400A93B4A211CD771AA9AACCCBF8F6
-0CE3D8E52236D8533BD469C4F4C2E9C94F163FF5CD4FFDD58467FC13AD78DD80
-955667B352680673799EAE573D3350D7FFB18BF11F66B12D33954D8194506BA5
-899566E467FC7DBC1CFD07C7A8EFA4686F79A8B3F613605DB9C99EC2190136CB
-DC3B806C965228715A357A1C8E3BF790C09DA6E67DE70EED8C6619B99ADB864B
-33597C0FFAD809311FAA54F814E5E0C06CFA07921668A235FC095ECBBDB51000
-204E44FD1857C8E1D57680D97BD11C973F5D010D6895D29BF2BF28E9A2437B1E
-3F2C7D7582823CF375F2143C2D08F032EE9F5F30D57BA2F69FFCD28E08AE3418
-D14303D9959B4D763B9BBD371C49E94846F196D16DF822CDC6E6C67493D70058
-9ACA628BC60AEE755B021B640118AEAB84055D6090A221107F43427C33256FE9
-44D300
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-%%BeginFont: CMTT10
-%!PS-AdobeFont-1.0: CMTT10 003.002
-%%Title: CMTT10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
-/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT10 def
-/FontBBox {-4 -233 537 696 }readonly def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
-/FullName (CMTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 33 /exclam put
-dup 34 /quotedbl put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 37 /percent put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 43 /plus put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 61 /equal put
-dup 62 /greater put
-dup 63 /question put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /backslash put
-dup 93 /bracketright put
-dup 94 /asciicircum put
-dup 95 /underscore put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /braceleft put
-dup 124 /bar put
-dup 125 /braceright put
-dup 126 /asciitilde put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
-7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
-6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
-14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
-0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
-3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
-BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
-D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
-FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
-556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
-8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
-F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
-B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
-125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
-A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
-4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
-56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
-E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
-15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
-2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
-05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
-6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
-04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
-C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
-70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
-4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
-A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
-62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
-240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
-69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
-ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
-121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
-0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
-D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
-0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
-D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
-550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
-CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
-9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
-FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
-7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
-E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
-50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
-2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
-9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
-44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
-49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
-385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
-8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
-6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
-EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
-E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
-C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
-484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
-4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
-0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
-6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
-5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
-1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
-909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
-BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
-CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
-2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
-CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
-EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
-0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
-9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
-D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
-21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
-7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
-52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
-FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
-AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
-F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
-067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
-E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
-C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
-5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
-0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
-CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
-2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
-E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
-56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
-F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
-E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
-0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
-67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
-EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
-CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
-9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
-9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
-C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
-327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
-F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
-60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
-A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
-B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
-0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
-1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
-DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
-55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
-7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
-75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
-E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
-8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
-F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
-8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
-D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
-54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
-49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
-CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
-34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
-1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
-6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
-DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
-E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
-4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
-2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
-ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
-3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
-97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
-FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
-A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
-639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
-D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
-E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
-1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
-A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
-F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
-5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
-4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
-664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
-4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
-35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
-1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
-01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
-5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
-2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
-DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
-BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
-39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
-C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
-99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
-7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
-D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
-6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
-5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
-6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
-F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
-E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
-39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
-7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
-ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
-6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
-2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
-1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
-06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
-5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
-288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
-7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
-759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
-E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
-03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
-6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
-314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
-74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
-906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
-673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
-A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
-931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
-CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
-E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
-4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
-2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE
-F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B
-E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE
-E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
-251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71
-7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6
-46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C
-E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33
-DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813
-F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46
-507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025
-46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49
-2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C
-C4A879C0C7596E61997B972E8A55E57B17F802C738E5C7A8FBF6424F8B131B23
-CEE3EA3747DB066246C250EAD335A76FA166ABF75120CECB59076AB31A51F176
-57176CBE8C802A97B0542A5CFD6D5E6D7EC848B923012E45D9F065BFFA0D03E6
-788B68BA4DE51DA37994948F859D41C28BA939C3A82BFDB44DA585AE80B8CD7B
-A6EEA79B70BFB4864E06F06A9751BD2D2A209D150D7135E0A25D67263EDD2A7C
-C63B5B76ADB05D44BD5BC0BB3EBCE2E74E1AE5F7DE07A59D90C932DAA2553505
-27F2AFC05F7CEB39E1C7E54F69FB0BBB069959F2FBD11709F8E81F6E7CA06DBA
-1CBDD8E7A78487462596DA288B50B295E46F4C3D9BA862688C68859734B232A7
-4B371D2BD786924F186524765E789EEAA30B20C069322D42C893A30BF1BD2C46
-F8F3732DDFE80B8FC1789239345944D8B457824FD80D11184E73FBA30EB80A9F
-2FD466826D4E666E3A835B98A1D4AE5D17053A6A648E26E77BD08F9A3E02956A
-AE82C4929E9666F539079846527D0E326FE7CBBF86E3722BA3E53F8A5121080B
-ACF8D3C67A2A1DF624B9DB92105D3C833F5A6ECEC108E026E1D3D968967A1447
-15CEFDD09123D56606134BC3449404ADAB1330C9238DE48F3CDFBC91EB86D7B3
-8B85B5BA97376A0673E434DBFF19798EA90BFBD94493E2D21976F8106FC0C276
-C81C9B9F7D4A68120DDA56FC6EC65FFA40DB78A60A05EC270A106DEEBD2CB92B
-F0622BD2B1D43771DF39AAD3ECB655F317AB483F7290C148690903AAA636583C
-99DE3DBA99EFE20773D3D8DDD816A28D7BD8881DE570BAF5C7A30679179E1214
-FCFED81605FE56AEA21C1894167F93D648B474352A65C0756F812F97AB435ADD
-22C031A21714A626DE35308AC51CD676DB1748DD2773532294FA77CFB2AAFD32
-A72BB7A045F12B4934A768F89217233DBBD69B900B28492A26713CA5D61A9042
-A982CB071F1F875718FAC168E4E275860DB6369B8114E1BDD4801110B62C3E3E
-CF140554C826967A99F4E9726526E87D57BF845CE38E33893E5F9788769B6A4B
-A4577C38C8D45AF2EDC9F4FA7DD9979AB8E14FF5D8956233AB4C02982BE8E561
-C63B7BC314793F634DB6F086E1A60D9FC3B69D3A7C20A99FBF3CB028CDBCEB60
-E803C8DC3C5F0CCAC030905E72BBAC052520CB0E40E23B46B2150DE67F61E4B1
-8C4D55904B7F90DDE4A4A78B11AE1009DE46DA396791B1C0EA63FB6897FDFA0F
-42474042E7E9B06A703A7C6E672AC6705506F3C0B6861BC85CEBB9DC9BCFDE0D
-43F5248CD7CAD4B89835BACABBCE6C791BC35FE7211E775C009844FC75CBF6CA
-DA6A6B7B488270BFAFFA3E9950914CB0F88C8AB7CDEFD2FDE11ADA7073037EF3
-1A5CEEE37090F3A56D06FBC70597907A26498593783878C02722ECFD5D65903C
-7D421CAFA78924DD27756853568535B02533C3393183D6E30DA6ED4BD6582E09
-A5A4B4404EC452E91CB44515AC6124EBADAAE8A98D8A95E7D14DA39951EBC461
-D426490071462F246794023DE1BDC04AB0F1834D50F748C3C60A07E1FB8EF400
-78DBAB90B59500BD1232A872ED51928329CC8F06E83164FBB2D0B24222223EE5
-992241E8E00D5DCCD6DB9A8E2325ADBE12FC8512AC127BBEABDA739672C1644B
-554850CD75724E6779A7E76424CAF89E9455860E0AE2679231F4A535C0ED4336
-313717D6F7A4A4DA833847A1BCFC7BF99234FA645F2B85C9A9AAF7108931E3CB
-077A9C571E57B0D7EFD92B56C3AA4FCEC0BCAA96005E649AE8012366BE6E62CD
-9E742F8F45AE4C96BCD73AD80AFB6F061D629ABEAEC3018CFF45E41F46751953
-44E490B1355DC49C1E10BF343307263584091D122ABB1E3892E532B6DBAA105F
-CD48375C112331EC5DB49E4D4CE2D126C9274B21E678E5E3EAAD4EA0CAAA29A7
-86FD8819217B195EC6E40AF23ABCD71156656DAD38C931C8730715A2773DC44C
-4DEF14D92C2A054739F27D7EF349A0EB76D952BD9BA169B4F85C09D80984D232
-2CB4A3812BDE539DC79E2EDC7C221739D16B10246A5F57151C210878556D4176
-31EFF3AB6C4D78C4F0DF81692B3C9BDE4F85242BF0E84BACBFA39688BB222A81
-E85E9CB332868ED5B64E140C66E242B97A90C13B6DFBC3D285A49BA9D4BA1A47
-64D83577FFB50BF974D953F42A249ADF9AC228CC4D8E82213FD463BC757AFF26
-DF4D1678FBCD55AFD5FB3014C0380B2F8CA9D6400DF2AA041580A6FA5694ADBA
-674286F00E531693DB28F7C996D5A66F80AAAF53001EDFBC065C72FA5BE3F114
-1FA3354376AEF7374AE1D0A8E9B06C58FD029922164DC9FA09343FB6652232E2
-2EE34C662F0092BE479D739ACE775C6F589775DD768B736F7391B9AEBDE7F760
-727702E145CF749DC457B2E98A36C52416107B1E59084B5F777B61511B8D17AC
-88386A7933CAF852CA23FE179B67DF8DCF15800755605847ECC0FD77873727FC
-1AF2BA8BC75D30E26C40913771E528724FD7C5DE284A8B58AE55A5C48AF26AC8
-02E155B8FCD6755D8F7F5A6F1AE66E4D24A13567B6463B18E65972BD75ABF732
-FB41F87A62FECE9A50C697BCEA1E3B3DF1E3DC961DCA598220CC746326F85F83
-72E803A4E69106EC5BCA01139F92171DBF9964BBEC8D3370039623CA1F927CBF
-FE7DA71B04B4321EB4D3FCB27F8404994CC7DE5F26AB8FC019A203D6DF2F449D
-85A4F103F7604986A1AC1F7D05D239E728FD6AD1DB5024B0A0542130D2B0E7EA
-4432F910F9FD75568F5732EAC95F7A87CEBC359949C26595741533E952327791
-87E42DF84E1064E1BDD3F5A6455087B8E9C783AB9ABBCAF032E9FA32C27ED7E6
-CA7E3D1D76CD1905166090BD81A85485B9B4E976DB2E19A8E62EFB795FD6298C
-9ADA57D5BDA2FEBB227F0EFEC59E4B51E06B8358006F9D79C1EFE92510D6046B
-6AFEEDC793137DE622A8B3F5C9E3B21F29A98A589D9CEE75E348FD4D206415CE
-508AB95A7496236AF1F6F5ED6B3ADFBAF1E35B51484F9B1E0C11C5AEAB9336F5
-A8861ACE1EC74C4A145A64E4FC8F6BEB3A16B021AFF4AEDA59B06326A8D7FCB3
-3B75F9729BFB7EEEDA8A1774728C80AED40BC35D42045E5CEEBBBEFAD2566CB1
-AD69A9A972826DF0F2303BB232367E611C115E8955DC97779B1AF269B84574C0
-9D816C88BAE3AACA6428CFC648FCF0869AD9236591E3B8FA326BD2EDE7F97286
-511C75F4EE4F7B4DA33BA2CE7F778D92AE7C1B4844CAB3ED8FCA285454D78469
-1639D24729E8002E4507A114407DF51543CF7DFFDB7E05ADB2D36E139F2DBACF
-D90AF274AFB3E5AB5B38918A28EDFCF6EACA78248BEFDC2FAC0E041AD35B130F
-8A91E20251CE976680FCE3F8B65B33118EF7C138CA1260D3CA855C94FCC02CC2
-B29C94A3FFD38056ACE512DE680DA29D97BCFC35FB2A85057E484FC9F72C9A7D
-08AFAFCA705335C6E9AEDAFA97D884E0E463E79D8AB45DDF86C56EC922283C4B
-777EAABC0D57BEE30D4D47FFA16FEAE2FA972E36516480E1FCAFFA5CE692B7E8
-8F887C5AE573B96643F10BC62FAFA4BC6CD04F5353C0D40CBCEFBBA4DE7B8960
-352E7F6497C9C4489779028934084522336B5E5DF6FF84A78158ED5035FFFC9F
-F199AFD543D5D81C0155F3EE0E7F6FAF7898F7F26941D417F7AB37703FE67D37
-C263078FDC85C5430CF379E657FF9ADA0C00DBD605386F5494459C63D4AC057B
-2E061B06E17B54AEF38A9EB401FD4C76C6755F2AB651473DA2F19E28C89229E3
-FD385D8559EFFEEE5D0CEF127A8A6CF9017459466E0FAC341DE1994C03A0CA5A
-799CCD03DD2B41A05F7B36493638AAF8D7CD380E03726B0A18B02A46A0BCA027
-9BF16ED75AE0494C36161ED2C22DD7036FBBA2E319106B9A56FECC732B87E2F2
-596167125221D42DE9D4435DAD321F878FDA68B9E72DBC2E31178621327BAC50
-72148C123D4C8568DE822169839906B9F0ACAF3B4DCEB9352C8A9E246A9A5EA7
-31E04981D0A53F44B6905704CFFB9F0463518C02538DEF2DBDABE936D1213FBB
-FCD28F833C5872057CAA92536B8E8EBA129745E2E2B5A9F07086A1212D466785
-EE640432A0E47C91CCFF3FED5669C8ABC2B43551AD04E7A2FEE2F3C16511F7D4
-048A8207351E83AD32A72360A2DB1AA8F78C5D2630D770F5E13D5C49BE166475
-79483B2F7FEBC1D73B04E0E5D9B8243DBEF7E5D201D9F644B150A230B5CF9B90
-CA34BB8474BCF408E37757B8CE5B33FE7400A68C70F542C7E2A22B8C0AB1EF9F
-2BBA7A646A4C872C43C0A748F078AA98A13E882085B460050CB3F5B09B62EC01
-AB87AF8DFCA6823ED6CF8426EC115C5E4DA335FE416E1D37311B7FD56793CCA0
-BF90B579B0FD4E4E1D0A26FB0C1D490D99CF4994693630FA343960E15AFFC596
-49BB7297BFB82FD56BBCB36DC1597F94A157AEDFC53419BA867CC02C26464BC0
-2875127C688DA6902567716A908153DB4CBF710CDBCE50AB98E0CCF1DF5CC571
-00027F6582CF6AB4E584436471D3C8DA2D780E5B02A9B1717364899D51EC679D
-CF5F4A4981EDC24F710E892772E4F891AD02B7B98A113FB1AD2B5A51046693A4
-19D03A75A3140C19791C85A0DDD173BB3618E9498CDDC8696CCA6EF81729AD1E
-EFE4F3D6242E1766A3079371D1D1833841F46F04F2F8029D8C1943F6986A95E4
-9E77806F221CECAFB3EAE0F979DADC5D2E4715BFB5C64245CBD2300E59030B99
-0885F08417E1A0C57C3746230F9EF4E968C0F41F67706BDA2E983012BF317612
-38E9C0178F027EDA0E679F306AF71F0D8985C712C4B4BBBFC57A86AE052CC2FE
-5C1BDFD948801509ADFD4FF9FA7A25E30D6CCC7C7E418EEAB34C4ECC6AC8FADA
-637B5CC70136EA5A57B727EB11075755A7840215CE2B9939BBB6C3A7E22DE42E
-B3725C1AD0BEE0A54C0B57CB93E6A20E319E2FE4515D80D09972E0A742D20DE0
-55117C1B9F3C181456406FCA70A7E3B757A813F7CF9E3562EB8CAE1CFB65DAA2
-B384C17AE103C20851906846AA4AA5EEE5EE989F292D42B11EB4C4FC057EE4BB
-B09A4D81E8AF0CE1C851B2E328E977207A6989F13F7FF039A4E295507CF0A53F
-10A345A516EDB7C5FD5763CC27543452249D229BC22099C6FC1DFCC07A35144C
-6267BE8D5BDCE57F9C7C65F6A64A74DC2207C8601231477DD57BC8259B26C683
-22FD4DBF0E3BD814E31C9E194CE2EB212268A249216DB084226802B79DC72AAB
-FAC4ED3AF6BC51E2D9A1D5A37F5124BEBB1E0B010C34A1B7FBCED45414AD2285
-43BE684BC7BB56C5036D182AFECC061F749522456B4DCD80E3315F48E7E8AB98
-40C4FBDE71DA957C8FD860C4AB02C97578BC8299EF448A526CFC585F27EA14E8
-88F9928CBF87C8E46F69100F0CB43E2720B0BC8DCA50D59FEFBB84383B4036A3
-0ED89F67B433AB4BF686487194107C63BF989A80D761EF3FB20146A0A496E5E9
-26375866581146F3537156051C61F82AA5C68B6E8418297DDA7704EA50262775
-B96E1E1D7643370288780188ABCF25B9B23BBE408EC5DE254F51469D5FB06FF6
-2EA926F94CF1730E014F34822ED267643B773B7CADF967D431B6F3DDC998E56A
-243880E9F772F3BAB3702C19C5DC92ACF864D6A771783E178F4A7BFBAD36008A
-F0A61C5B437A69E31235DDA9898B4B081F1176C197C0834CAA25FDC9BEB696AA
-8ABD1FDBE17E30070690EDA533E2EBC19180DCE4CA8146D6657BDDB765DDFB21
-D0CDB86912E49DB109F66DBB9226E297945BCE9073E724EBABB58E42AD94CDA4
-C9DAEC40F79F3A3D36777B18C61DC9D22EC351324FAC3426917C893E36C8D953
-4ACFACA05F8764BC61A17F6B40D3A97177B97CF88C2B0023ECB3F29F9CB347DC
-E686012FB31904DCA042679776108D9D611EEE971D341ABCEACBD0866DA21DCC
-270D3DBBBC9CD438F4F651B58D1405A82960CA991CF690B8B564033154645D8D
-ED5E4E059D9DFAF3A5C2BA1C1AFE1B865901C8D117262CAB210A3C7A03443544
-E22EA5577AEF1378A9A4528592F32A8AEBCB1CB6A7E4948FF78C6FD230A5892B
-D8953ED89392929FB91C042D31E7E8A4912FC701E722D7FAF0308625B3B748F2
-26DE427383236E131022A95395C72B3DEBB139C81811582FA4E9C7F970FA605D
-C8DBB3ED8B141428ACE6DF426B2567B10C5D68A4060F25D5D64BA262101CF5C3
-4B7948CDEB6CAC66FFFA0F1795C5F3174F7D319D252DC2D22BD08FAB54CEA742
-64C0C6B94BDF182DC0942C0C82E82A0B04654A7C2E6BE685EC3DAF1D5FE48790
-DA815DBBD0A176BB4D4424ED7F893B4CED54C2EF94D73CBB154E547CD33D874A
-E754A17AD1F10C23BC5FA4E709330A10A73C93B843D8CD8A65D5A4241B35CD19
-938F2BA2FA95551F0C2FEF1CB8B056D9A9120F7607BD4C497762C577B66B2DF6
-8F3F661EBD7F3E73E3A0032790ED80F774423A026F8ADE2FA82129E1FF27DB3A
-1B6E603479668FD783735606F7AC6BE9D65C17F7ECCA3B622C13F0FC95F8259D
-DA4801A7EE18656AAC3D730CF2E17FCE8657AD6289850DC06E897A759F7B53CA
-502E764B07FDDBE6E99D25ECF1600D6646622334871C57133A8AFD03FBBC2368
-1BCDABFA9FF4C4A9EF150045F694A3AA487BE461BDD2BF1BBB38BBC365837063
-70963C7C1E7E4809797F4E497DBF6D5A90A71D6E89BEEDD5D16B31ADCAD67A81
-A9A3085B4CA7BD93E1A9591BD4A7C88FF930EE7A131C5F3338817D88AE31813A
-C09D5E7120AFA6565B0A647A40CA94B78F20905B7110FE44A90794F7F0CD63DB
-E99675C781255B7BA257CEB14DFDF9C13A02701B0FE41C6A6F50CC62C028A3BA
-E9A918549B7F9F206DA0909F2009CC87BBB565F281F24D0ACBCB71F12709DB31
-5D355415D97F66DB25CAC37E90BEDB51F2FA97E0A61EF85E845F702D0B3AF935
-14F3EB201323209D76C7C5970AEFCE4225FFB4A1477B177BB52332AA0539291B
-9B8004F23CE4E055F7AB6D6F2A8E74C2994306A407A4FC831D1C887C42FFD0DF
-EF07891681C7F4AA914AECC427057A8D73261E25F82DC3EEE7295C0870E91523
-E15187584B32B8F8B0F2E9BF4E67E5A2858F00B0C59DA1B1B59B00374C6C6AD9
-741E0998EE0DCC6F5ACD1925CC40807D5B66E971CDCFA4651BBF2490FADD15EF
-C8A7EA3ECD078D34D875C3EC5EDAB74AC0DCA00F2329184455C24C97EB0AD4C5
-40B8E4AA2CE6E7816580F9DBCDAE7F01AF0533397CD37C401D4841B60CB976EB
-E3093FC863F368C85AECE6E6CF7D9ADABDF628D9806C1269A0EE06FEC90948E5
-CBE40C0A2C72E08D9AD94F07470692D571F595E465CB32BF486AE9C3971B6F7B
-FBBDE2699E1FC9DACB156D880DA379262A98C6708A9850FF8EE36C35FF636E46
-D8D00FB3550786C1D73E6B91F9B35D6998F33BC953E0C8AFF996F4C707F8DBAA
-AFD76432E45605D5E703C2569856A0BD8C8ACB29BCAC87F1A72F859D20205328
-6272929343C1CBCB053D7E19AEC4B2EFAA765B2002F43E7F62ED5281C94ABDAE
-750B2C88B3801559FC6DF0D66E55952FD67AD41718D49D35DBF2B7CCBC1E755E
-800ABB45EA4D7547756CE9E6D3AE0B80D8D97D681DFFCF4D5D5330F0FD6AA729
-5BCB1475F18E9612197D6F5F7C7AE8FB931C242993D385AAE7829391D370819A
-496B9518C6F913E666C27F0896C7684AA1DB1A335C7B50762B4F8445D45C907B
-9E30F7FD84E403DACCB0A8DFF2940312386C315FFA700B0E42242EEE04042E2A
-3F4840E719A42FAC426870CC20DF083537010550A6B43A02A330D92CE15222FB
-BE6A9F6EFA44F7987224533983D96BD2E1E536437F89E2E43884AE09FF5C7902
-A284704F78AC067C332EA207F53CAB61ED51EF3FE79A9B7A373C3DF72A4F3A5D
-67B4F60BB470E5D093FD880AD32809160E550CC1EE67E01CFA80318C03E6FDAD
-A8E744FEA593E2761C60D2CE83F3F6D3A2B203739C62A69D4E271FA12372C45F
-6C378E4CC21B9B0CBFCF43233562E4BD4D52F7A634D1F0493F8DE445D140EA4A
-D3956E9971263B7C3CAEC8AC83E541D58F52E00C1C80EBD9A31F0A9D17FA2D63
-E5E0D22CA28D51E39A055C40AB769EF224AEFE2AF714E322FDCB9770EB00686B
-208AAEE2160D059DEED823FF4F9769359C183A6A6398F9E4ED55397F02C68FB1
-016CB495A0599DED25BF1006343DF9AB7C3BAEBD1EB2F99F4FCB07E84AD2D959
-D1D573B89C220DAD815D9EBA41CEF4D664630082DB97645AEA6779A8F0D7765E
-B76A4B8B429CF95F22474EEF2FF1C792DD525E50E1EE0A1ECD78570970B62293
-43DBE6E9B97585B754AEFE28E960B5F8B3F549EC7F168FFFC5EBB52C7CDDACCB
-DF9E1FD89F2F8CEE44285E79724FDDFED021AAD2025006239EE5CA8543B86200
-C7E8522668B07608615F6F102E295003B1B89264810A2BFC3DAFECFF126B1807
-2388839274203BEEC2B319C7F263ABBE6B181FECB5FDB9516E8F0456B6A1BEAD
-7F45DB0F95F4943B2ACF52CB30DFDC6EC936A6292DC2AD0BD67164900CECF3DC
-097528073246A88607DDEE1DE4BCFC298892F3B73E897734D7001A466170F60E
-5F2948ED36A6AC13975086A2D68B6CD8B033CD14C1B85EEE4AD3679D74DEB998
-AF62D045BF1102FB3927E5B9078F8AF93A0ADDF1937276C423CD346F30D17D3C
-C57CE052053EC21A2991D063B157FD535850DD63E55890427BC2C883785DFBA2
-436BDED247251001AB1AE56EA19880B88B3F1BFA6C232876E6C002E9EA850700
-517C80537C27033737A162B10B179624F869FEC056F339D5A292E6E945E7BB31
-A271CA30990B4AA5874CAD851C1154275BBA868EDA5D156F4663E2D436DE6DD2
-74E6579AB19EC803927046D9130BD9E735D64248A6FA78F1DD6B51DF0B1DD553
-316D96795355878C426BDA09F052D54880E5F3E5C1F29786DA0A8084D81A5849
-B2A301BFF171446EEB4DAECAF40D8C4F6C489BEA6C592F8257E68C514180756D
-A13569A03827561348B73584D69626B3175247018DB9DFAA9E989E55C97F9A32
-B02423EA16FADA78FE1E3C56EF4122C640EB8D77C5E957B5E425A2FBFD173423
-E8AA1758A91E1B5B85D174D7DA1F11B3AA76761346D2464BDBA290435A6DA50C
-1F14E14FE29396C918E3E4C388E93D1C3F7A7161FC61DFA1543D4CA86B6A3A5D
-B64FC69BADC3F3E0F7DA2AA5FD6C39700C2CB8A6C823D2620D39FBB0B507003B
-6D28C8D67F57C019DE3D8A4B6BD01CF0B305163BB1229F470AAD7436D13C326C
-5D205B4C818D0F765E2B9FDDE26B033D1060EBEEAD6E5C49EC8C6F395B54C259
-4E24E89DB787773423E358A1C64C3FDEE4CCBAAC4AC652012A0CD7269A062643
-0F52A1BD1DEE9401B5835752C48CD0B705476B00458D31E70599761C793987D1
-1A14288D5EB2C9452C2C4524202A40A8C773AA8A3B9D10ABFF457478532B2C58
-0DA8776E116853B77D1A8EE320C87B23A693BB5D3E77A9C419772675690DD75C
-7AC5BC3ACF97BB11C70C0261EB5DECD96577D755B03EECBC66B3B8FAFAD87950
-94AA617A40E4CFE88939F28D0D36C5C6FB5B4F6E4321BDBF12DCD428BDEC76DC
-192AD968A9699084DBFFA3FE06D5F79D336DD6CFCA4C9E1F427A29DB1F4F0492
-A29F5F052310D455E8AE1847083B70EE57C4799FF4B470655D855B8298FD3694
-66E00CF5D04415601598C0ABD6802FA0DC4C12965546076E46C2DE87467CCC8D
-F9ED9FE429CDE1DB2AFE61363327B4D11F46C678B59E74F8F09D8B9C14C48004
-CEC93F33A4A6906CD71B2414C05B3599E4D1FC1EB839D4B5E5968711359D3BB2
-8E6E262896409C7EE86DF7A8CF1DCA1EDCB2BE723CAAF5B1D7DC94F093864855
-7FB08EF776FDCF9DD8342ECB7F7B307542880A7C04D3BD09D65BE13F80E36120
-24BBE4C422F1CC0DC956CE53261B903ABA0E0CF1CB0AA8895C0DA8127DE3DC9D
-4B491926B5408AC8D29D2FE62CC3CEF548C0A57A1DA202EAEA8F4584D8B64E49
-A3D11A48600CC0913B744180AFB6873BE72DCDFF8EA2203E34082E011C87C3F8
-EE91457705ED0BD4E2C193B7E818B50DDDD734F2BA1B876D262C39D94B0FC27F
-0B5A87423EAE91BDAB38BE457EB0309D05FA5E458109305C03295FC39B0D06BD
-BFA2B4520DD610E12C3AF842A94296108FB67495B300991C3491F0983B5A0403
-68A8D19218D9429EE400C3B91DDE2A9F163684D9F28120B584FEC88628EAA60F
-79F5988BE7BE31153A675BC7B344E7F62CE85E8850361D1996D57E71690472BB
-8055755DE965D795E6D2424F7D76AE7F249AEF4BFD75103B2CE4D62FECCD2FAE
-3702A57A3320C54D19D5015ABA5AF39B237C53D38DBD80773C0B9D6406574BFA
-48BA4EE71769AD140E202D24D9F1691BA072E1AF182FD6DC06C2FD25E3437E38
-ED1D0033E77D2B188F3A84EAE17787110EC5462EF5CD0FEBBE5CE39976B5CDA4
-8206BE5EB8A06C7698C5E6A45EC7F59CAD3D6ED3AC19FABF3D29C9AEBEFDD74A
-6B7261D349FE509BD769D9A24B16C276C917F0CBE8B25FFE19BF8528E1C46D38
-3738E3CEE8170E3EE323A464A3C8FF30B3DAD0BE87518E008E37F60DB471E3EC
-110E9B8AAA5C875AF759126B39B90A8E7BCB25FA3EFA783AF7B069AED1887A19
-6A75C799940E5352C34A93F125DE82A7387CFDD7073A28C1026C9E06A1D8163B
-E66DC3BAAEBBDF96B7B3143B9414AB45643D022294C2AF8C87EBFF1276EF991B
-7A1C720C1A7CFD392F211A190A530A19012EB117670AFAE4CF700048D901A5BE
-074F9B05AA555FA4ED6D0A92C08E4B795279F9BE48887886B5121DDD857E8A86
-A2885B9A672C72BAB990E0AF6DCCC769A7E18E65A86B3E1482D8297FD98E0510
-30B27AFCB9B261771A1AFC298F96E272E779A8B6AB6B03410ECE32B7B69369C7
-5597FDD08BF2E6CA29E093428DBB0BC53C64E5ECBF216111AC90E82822E7604B
-A9AF479BE9FD2FB2ED27EBF4027C22357DB27A5A6FBC6B14607DC26F95A81BA5
-1737D6C406B19857FFF2903F966DCD56BB73B06F5F74C917517DF95D8D5E5108
-350AB839CBDFD7D1F3C687D0B6B576FFE108AE8708B967C29F9840A0D6784789
-DDD7A0D76E92082162603CC916ADAD75BB205E7C9B7A72D286C5411F3771EB6B
-9F9022BB24AC9EE7700907280F52862F1D542605F3D3AB06679252DB9A8A4E41
-FD9740AE35473A9FD025F364B863DDD063AF91A114EB529A38F28C4B4551E276
-F76C254669B81BD3CA8479F0C7208AFE5A1927F2AB12FBEC47FE0BF9AC3DBF3C
-340DC67125FA0D65B245260B32FB74F90CCA6D327874BDB6C252614C75425F20
-2AD8C9ADD15733715B9281DB9D73C66B9664491416643C04165C64F5939CA73F
-F8D7652592F391E59B82EF0BEDA9DC7F42713005E4AEAA1111EAB4E74BD99119
-D86490DEE3DA6C021B36D7AFDF9EEDBB1E3253176EF0607469E0982034AF57A8
-83F024DD4B42B99BBA110514E52498F6BE463B3053DF5114F2D6644FA27702D3
-15DB327F632E3750171BDAD75F0B7D2A84267C712132373A2FE740BB086D53B5
-C3E9A68583159E46FE46ED3B645B0FD505D206E09D438052E27B75EFE7F5D83F
-BC153E4BAD47FF241AD46BE13605E1840C5C2CE3492C29EA5FFF5550AA3986E4
-FF28A404908C88269D821EB2FBB193DC311750F6163D75872603A254B949C756
-CB97829F0BE3AD796D52969E483A0A53CA650CFB9AD57E0F4DED89C7746341EB
-3D3333F06556BC61BABC3553C7B0D83DDC5B3BFDC77DBD9B6DE41680DD6439E9
-4C9FA49DF62830C86E7A4B1CBD37F2794EB6DAFC3F1676697392A6A635E626DD
-3A3BC9E2378C152F9895178C694596191B37BE3DD8C0FF34C82C386289EBD7CC
-B63139A3243F193EA10211A8E390B4C4046663CEC373928556F5CC99FE094ED2
-841DDF013CAA6CA5C48CD9382CB776964B38BC24BB009DF203DB81D4EE3A4463
-C5F2BD876E0C9B9B226FF39C0CE6E67589A38388A02A81D3DEA72CC031BB8B2F
-66C481F00167DC0BEEE6740A78D736F429B44B82A3B01ED2127052646DB442FC
-C1EC78B100F11D42512810F26EEABFFDEE3E46DD584FCC2194896F7BB5670634
-480771223C1E2641A253CE2490AD75591FD94F19B2DBA95F0CD64EE4BA03D3B2
-BB0C7A6437B610004CA4F1B914D9075051F7CBB6CDA305F6337307F317CC05C7
-8BA5A409ED6D915263680852670F8A474AB0646ACF77FA3AC35332DFE2B00CEA
-FA99D25DAC950B173DB84ACD9DD99AB23973390FE32E384C6003FEB9A4D3FB1A
-CA17FE87AD558921F203432EC00D0BD9E0294A0364048A9743516F46EAC01B7A
-AF23DACE21FC2D26692D8F1A85F1B0AA8156D6360B322724C4804FAE55DFA814
-ACCE2F8508335CD775539E7931007A73DFDEEF7695487B10BB0D95FCA66D0F53
-6E86DD15234A025709C4F7DD08761711D05655EAD8122D8BA2F7177E820B48C2
-5EC82CD16644832ADF374ACF193975B4635FB374451D0AED47030807CFDCF240
-783160D79230AAC1F2E5066F09C327ACE24CA2D712D08749FC63C3D8EDADCE22
-B81A7E03350AE88F30BE8222B6954ED0D2910AECBA460EC21BB032C4D5DC1B12
-39F1EB91215B384CDE3F1FBDABA298E37D4460D0B07B0493053444AC73654815
-376ADD2F64BDE78BF59CD75D93A3A3BC730562E9A1F2A730A2F766AA19DE458F
-06DD501B215E0C2070CD64DDE13E99719671FA4809FBCB6623E206253081A50F
-5329F16F1B0F0F69276852A7A0AC023A821B8E7880F9D7AE5DA74D0483AACB4F
-FF09D975ABF439500ADEADA4990CA29A50D82C0A7704F11DDE0C9C8E4DA21382
-C4F7289719D9A4A44BF2735CCAA2BCA698A5FAEC9A3BCCDDA1C88CCE18510733
-5A88B88A193C9DF15ACD00F20A965C11DD8A35CE316EF3E4716AB3FB4EC6288A
-91C0F824FC9933315C9A71CA786C9305A9A30F407777F0AEA7D341D1D9605378
-72CF445A4A2E3666C0075E2F9AAC3F452811EF7E60E6C04F37F3808FE8BD39F2
-346F5E25757E3ED2232F1B9B4DADF83DA45F7F302809251973F705CF71E34C18
-7C452C4B5D29E0CB74CD6EA67637FFF0E9D9B211FF96E04FFFE9A27BE5E13BF6
-B51EF214FF4F0A58C5D5734E6BCB0ECD419AE3CF79AB67D1B3EAE70FC1E83691
-095D0C370C9CF847C2A914F0B810124D763A972464C5F2C1F69914A8672D46EE
-30F9EFFA7E9628D667E5DB582C123160BF28E77DBBD77598F14A32DD74F67032
-B4A0537D0FF938CC61BB0F9798B600FFB1AD7AE6AEE67E0FC6557FC3FBAA1E4E
-C793B0D207EE0395913818CB2446E9B82B880537C1625C70ACBC87F97CEA8C77
-82E6229E1734F80FBF8477F062F3836FA9DCF83A4BA49703FE3DCB5F2CF6266F
-4480EDFA91B1D98FAB8BE14DA6E84B9D58B46DE5D034734496474241F59317F4
-4AE4AFFABA7CA3FA149A26CF5050B83BDCB1C56B529900AA20EE6098D135E65E
-61026EF0852D497B3799DA044CB378332924CA360A1C62E24B5A0628813829AF
-A1236DD728559DAA01188D6EBBF3CEF983C5201904D03A46B62A41E9C5F494DB
-135F6B62BD5F3745625E96E1B401848BFD935AD1FE128507866FB807693E8376
-634F1B39763087EE7E454069D5CED93DAE8BE9D1366669A152968E2DF13EFA54
-D1A631CCCA33D914CC1DA8C0DF8ECE2FABD18641FFB43BB5E82DD0A56CC20DCC
-64EC0A7A04709085C80C2A1477CF85A29D0C11F204CEA455072DFBA6F5F5C693
-CB2B56EA189926EB51E92D2B5D89F25AB94E1F7FA208916FFE89601B616B41EB
-EFA70F4C8CFC3FAD1D056E4076E8CDC2C3058A2B35B34FA0A29A2ED3746060AD
-1A6B6988B1B0986DE495FDE9A8C45119DA7EC756E1C83C89842C8744AC4B80DC
-264792E2E8D5AE4120BC57C170C742EEB0EAE8C9C4537AE432654DA4DF89FD45
-AE0DBDD92D0DDFA0C90C4FB90FD5A7ABB522A193117153CF578A584447FCD674
-548ECB9250DA4669DDC8CDBEBBA49999F2519DE29B0CE693DEB2F420D4B0CE02
-D9AA3C2C15A6DC98495E1EA54C7670482E2B1034B91692285AC47EFD6271659E
-400D6D7DC137A904647FD092B1B4D59170F1EED8E29FCD584FEA2C77642AB839
-0A44403D75504E8DDF1BDBBA6B51B7F9F64B63676B6FBDE514701B9333312126
-4D8AC19B638254A4BFDEACA80AB2CBC4DD12AB48BC34771E210FB576FA0DE013
-5C49E765028D57C056BD7C14E6941B0A92A2073CA3CCA67E9A18F18BE4934550
-EFB984B486B9036B8E3221F63D8642E2C71E6547A8E4B25FC3EC3C42D27DFD85
-E85F2D08C69CDCF3174A09E363E92A8B3D75BFD57CA37144D5267BA4D1750988
-8FA3A9B9100838AA7DFFA97C5E4D2516F5649CA756C97C5A3D500A60D2AC5039
-812B603639C2E3CE36F26CC0AFCB385A5BBD582E7BD1B5920F67DBAF9ABF9EE5
-FCF66EECB566DD87F0618AB73199C230034DE379CAC1F6BD17526305D6B6ECD5
-8C5C57FA76FA775B2A25C7F5C83C27A1F4C71DCA93487469004EDFF855A156C0
-8C8EE1972CEB91B9292F5619118F7DA38B1FCDD069D71D0DAE61BE55AF0E255B
-3B8D2DE974592BCA7D92F0DE92538C74A801CF16A424621627BEE5BEC2CC5E68
-9B88BE0ADDB7C8125F7C35D74A52779C6D5D87143506EAB799765589617D08F3
-1305B15752D134A97F7D872CF330F4B3BB62946570C5EA7DB77612DF9B7F91E9
-22321623627FEC40FA04FDC1AA21DECC7AE531510375D6F68A68C6B8BD649A67
-A3E24B30E04ACC2171A510DCD77F7688E2ABD7D3346BD84E8363BCDB2EABBE0E
-5BC87A595CE80F977190EF06D3D0BE12DA50EA0C33D25617A9DA8940967906B5
-F5317F4CDCE1DCC7ED48B4AC4DA131EBCCD11F7D241551AF8A2A723A5C634EAC
-575113186D3B83F8B6E2E50796481B6CA50D440D5B20C5206A85F539FB7D52B8
-B831EF10B784D195BF7EFF05A9125A3B90CE131D84ADBBE6E47AAC2FBE51DDDF
-1286C0DCCA8343F7803FCB25CD690EF9FB49C1C3B91BB7FCE5D330C781744502
-AE46FEC050B4C695101F3B86ACE09D502572DFF5F8534DBE6DEAE838B4000712
-4B21697BA3FCDCCB3B858251438F05B3EA1F8CABC08A502C5324D1315214E7DA
-6B62576C10E6EE9A69FDB9D424FE1C7BC32CF37EE9EFC42B9F6726C486762574
-03913F9B3F5A20B1EFA8D4E072EA2F641D7AF64403C4EC76E3A81185B976499D
-C78FAD546598AB094B628942EBA51C11FD572264BFC7B0E97A1715D7443F29EB
-7BB4E6848383836F99850E22316C73B76B0E6848008B832E49B7373A94DADEE4
-E7EB32C428F531FFA2067E3316A47C08068D93E27525A9A2A915CD9F204AB4DE
-01EF65ECE8167C184DFA747930AA322FC136DE0D412E99E6F37ACF87A788141B
-3043A3B0D20DDE8C2137EF0DA77A899A581A51AC4CD5A1031F84BD428D0A17A9
-989877277917D07CB806DF051C23F1AB0049FBDE843B34CFC9DEC4147D97759E
-983C395F0C9DC2832139DFDE0455002BEBC392E7617156400301F76441347A3E
-E94D2FB65A31DA189BCC3CE94AFC1613B546D424A36EB2F83F3444DDAB0F03A0
-F3C270A9B8BC62465F46D83929DB7F0240E52CAC458194BFD50645F825D0C41C
-773B1D6757625906C7643BDCE990E24467C011ACDAF6D4A26A62D71FAF1F475C
-F14CA4D545E9E4F80BB01F3AC573D046DA7356FB9884CAE3A29DC357BC8CB255
-E5108AB355F0E087902C9BB458DCE8F341F1AEB79E468EE9A45855FE037780E7
-9EA9ADC1CFA141A3F976DFEF51A428D237F234BF5C694DAD4CCF2AE84FFAB574
-A25C1FBA2F38110C305D962420A310FE93301B8677478BDBBBDC518B8C94E819
-26BD2529D0EBF0E770CB3A1E107440D135848D2F90CE8F37693EDAF6071B79F4
-FEA5ABF4D9F2DC67F2468F2BDA3FA968EED4CAF8D7A22CB28AA43804F72F56B9
-545DBD0E3F27DD5617329305CD8577AF38CD4C472CB181CF3DBEA07CD42C6C1C
-51E819286FFFC75E38F5EFF96C763F51A31A78B0848CF56DE1A2CBE2F39B0C41
-FC7C0D42D48D6C75516316B27F6C34AE6D5F5873233914790ECE044C014E9796
-20E200F53FC51ABFEC15C1E08D36E9A4DA7E58DAC014E2C0627EE8ACC6AD021A
-D2E2C431ACE954602EB99D4584250637F807507A17DA18521B6820E066058B09
-8C2B4609FDEA9E02007A097F833C7A9854D74B38DC81016759DD8FC6F98071FE
-620AFA1A8DE5AA974C281A1DEC9C8B866E7E350BE5EF3C7C53F82280790CF239
-C847E4C7F74BCEBED8BCC57D4C01BC4394F0E9EC5AD01852B3B06B93A477A1AB
-AA97B588415A03C1984B0C9619C899DFD4766A2CE91CD6A65120E07756100696
-297345CACCE1551A2CB549077A292B73ECD47C3A098049BC49F2125BBF004DAA
-8827C407B06A07E5F39CC17843FE876FB2DC6CA2ADC0A4D8812901FC82913ECF
-BD04C66B3647B7A698B4BC6C2F136C04AF4792F10C31231F2A04E4B55538CC17
-AFE4B47BA2F575BB4E7E222E9F6A4F904F11CBBC6DF6C2F3C15DCF268A39D6AB
-DEB9D091EFE6ECD5DF61ED23E570D484A6AFD5F8D34B7D484F76F150D3D97EBE
-5E91D7A458FAB380BE167E7F2FAAC82BC2C7F3C14BDFD06D9665F5AB2CE34800
-E779AC43B70E22199D3BC4A2A14EFD5D20AF12D8CC26BCE54762ECCA9D9F5FDE
-84B43104575B2D6533FD3BD245AAAA4B82314EAEC2E6E566EB32AE367D2F2BBE
-8F6DF9D63F56693D701E259ED828A3E27561A5901B87F606AADBEDDD7E846AC1
-F07D1ACCEC90CF6AB18114A140FE4BC918EDC9B06284B40E2C82D4BE3C1EAB92
-E2E2F0DE115737561F7ACA173B81C9AF7EFCD6797BC1AE6366646C8F1ADC38A9
-F1928933BFB6AB474FA81D8C006AA11B76461ED98DB4DCB95D7772E3D15C2A29
-F116DF0437225E8EA1FC5C3997633CD63539069F7788AAB84BC9FA8A1A61316D
-2C0F07D2914A61B0418912B276561540BE5DBC1F7A20241E85ED95BB775E16D4
-1F22262C8128967F53031EBA86D0A2184DEB01D51D4F7E15BADE50B7DE246C05
-38B9B49D264A4B29A372FCBF57323308C71A0E14748850B56D51BB932B1DCAA3
-A1469E84536A42B0D8B55A0292C8050D6CD1BFDCC4D287B15082801EA40AB8DE
-CD8628D0E1252DBC57333D74841246D7A6392F158EAA9FD5BC6CB2E535DDBEAB
-F16FF32617952596187203D41342DF7FC1E0CAEA2EE8F012236DAB0208A626E4
-5FC5EC819580727F7890BF2B114523A3006CFE3B67F19419A009826C635C4B2C
-10CED88293D753A6FC63C5C17A424E911169E316DAC022EE37A5F93A6D7BB446
-5402EDB1F758FFCCBE83F7842CF09E84DAC17CC8A5D0521CDBCA8B320D90F24F
-32AA9B86DAFD068FB0D234C94EC0889134DCCF83F8B0C89F67D660EC4D6E2B34
-D4CC5E094049ACFA09767E7C0AFD789767D0660825FC94878BFCA40105597194
-BDF88A8636D180BAFEF635601218B47E1242497D1E90E7A0F1098FE4161E6C7D
-D1E920DBECEDE54FD9D8EA40E25881F0E31C3FECCA22ED507DF496122D25AF56
-E6E690952EC746BE46F4D228D54C634B04D036DD33252E5A5B6309E559EB9CF9
-DD17101EF262D5FEBE9C207007A2E7F3BCCCE3243333F0A79C1779E727414D60
-B451BDC14BA3FFCBB9D49641DE51BE92C7D136C2C910559A6EE106DC05CB4890
-322BC12FD592C4789FD8368DFB7827A67FF8FADE351646D0B4B35F74A924E229
-DDCBE1B5D24D049CBD4424B123B6AAE7F5AF8AEEC7F862431541F6B755A272CE
-177CAB058D297A35041646435664056644B2422B2CB890080C3BEC3C52C6363C
-B843F24977C482C7A37CF18DEDE4E8FECB280E86263BBB5BD413A9BE19329817
-EC424B1AEEEF713A52D68143AF0DC2B02F293425F041A616D148ABED9E7FA7A0
-AE99B5762A52E38BE8E7148EF22808632CBDEA8613948D8E3D576580FA3F4B3E
-0B5F9E1B240BC7D0744FB1D121E3231994DEDE24B919A72869C15B839DDD9917
-D3BF2466E673B142E4B527B17893D3405603E1271E2D005A6318DC98CFA3D25C
-3A7B59A16B1D6C5C31F267B964E951DFDB1143F8D9005E378A3D4F5B072911CC
-814C191A806A989BC176544E45BA9A5CB16281394572CC6275A96865BEAB6F9D
-06DD94701FB30DEAC86652473C182379F43877528F28AB0B5FD9669347003055
-2E6169601690053E00E18BE7FA7143DA61EA74326BE8122E56485E65B0572821
-BBE05576C1D9706EE219A8377338E93DFFFEE5E37E6054412A9B875A092C948C
-C4663F161AEBAFBB964859E9056D42B76A806A2B1C435318459E272DD51339B6
-B16BC73787ADF1D7A2CD630CA98F8B6C479693BA427D7096E83AAC35B6D1CCAE
-B5879B03B706C6AA3FC1A1D180315A2252DE59C45E9429E107D7A73A645AB182
-6FCD53B44907874A1B286BC50D9051160CBFB374856E59C961C376C3B553454B
-108BC5FFAC60EB8C7426A70A1FFC2CE80D8989A3EEC43A9AD51771D48884BB32
-1749E328FDCCD4FDD104E80EB6813FB98D83139791DD2A2C9ED7A70BC458DB09
-5D73B21DAF0FFC110324B8F2BC145FA61962C5D78B4D6C8D014D6938AF09F36A
-2A3E5634A140A1A525BFCAA00616AA1D8195A8A68E4260B8ADDDF789B131C074
-01EF325E06AEA94A459CE1F51F312C3C19142528AC941551F324BE2653BBCF38
-46DDC6BDF7EF77D68C32F4DE7D8604E63A632AB2108086C77B94DC31D926D1E7
-1D3653D8B35CC5AC431368B7B2D7C3A565FEE9D9B2E366F265A627FE7B4378C4
-81A0C4DBDDE6F7DD940F08764D307A5B09097320431AA76A41C4ADE92C260588
-522B197B802DC488FA2169BC2E13AE36A98591E1673C1CAC29B4E0E15D2227E7
-80928CA4C060FECE89B014C3FB6A42313FC438E448DDD73CB66ADEF1FACF2E2A
-4601F76ECFF658D97BC22C765C0B1B04B03EE08A41E2C778A8E5954CABE7B386
-BFC2DC7C60E720BAB2B1A726D8AF4933355F21731FD7C930F31720C1E16F6C01
-C0C8B6747961B605CDFFB02FD6D6A7758B1097AA1D47C6DA9DBF0F87E55672AD
-FE93D17DA6FE7B2E3A5360C5BF0C3F4715165CC6748BC95CFA74D4AD57B481B9
-3784040A6B1BB028CA9F69B6AE52CFF8FF3FD169FDE1A85B52651D99B4042E72
-D5E952BD9F976EFA21C935F2ECBF5C8D4D8BA0AA97DD1458650F6DB9C80B3B21
-F60761C150944567DE98E9DED3BB831A57DE2A5C8CC4417D0D02BF24EB09C2A7
-B8262EFB223FDEDB45E75E2559190060C676B43721B5894EA52440AAAF72B77D
-42138ABF062B92255DCE006EC18492D4CC0CA6FE753E8851305B967B4B01D481
-85D8A1B78CAEBEB99ED44E5BD7B0CD242B46F8C3C4B1DCE6B103497A89D0C48A
-FCA2DDB3CBEF2CC076673FE28DD397F4975BF03EABF542C8ECAE8311822A6564
-14C20DE022F9AFBF672B31D124F96E2475073E6B53F8032685A45AC7181B0158
-A6FDBF2DFCC9D842D42E098BC02AEFABA6D571821604BBDC389E80931BC8A767
-A92DC7CE49EDDC3C89521CD3AF5AEFF121EAA27B74A37BF043B1AC045A0D9A38
-8767D85D15DBF0F5ABC495207AA3AD05BE201642206044F470EFDF4A8D52C050
-D600F04B97ACED3F7FC8A56E7640A6A4AAAE1816F3A77D887A378AA0B130B509
-72A8ADBD5808E9BBB7F83216D995EC74FD168D5A3D171AB9C52A0E21169172A2
-9C680D926D2327A314835700D399CE25A8311D22D1127B43CB8A9D900133C4D1
-CA1F71C4331F37DBE7F26650B4D512C5E192635CD8CF4C560AB5BFFE0671424D
-456BA00271A643AA2477DAB650F682D89B932BEBB5A66EBC9072A469EE78E0B3
-86F58B1BA76F31B978C167A0E5CE18889C4DA968CEF94EFA70060960E1D53535
-17230FC0C8AA0E878AD3D6E306533800DB46BF785219872DBCAAEC33A236A8AA
-E86D9C9316CEE8D75888217824D56420EF7AFE70E18C6AC6E7E71161373D574A
-D399548B201868F2D1B2DEC136ECFEFE25C307630331F2F893FE36E0CCC8113F
-9D7A6DE87881BC713E6B438F1E804B2C6F00DAA4FF0A33F2B051EE2655BD8583
-9AA5BB2F7A4AD400F34963FA1BD28D5AB933EAE84C047D636122BE431DB097BC
-85D7CB6C30B09333A567F7DFC0A0482E4373512294562297BACC2F53E2BF1718
-4E23AA470CB1879235832D66846522B8EC1536E17172B8DA9DEB14877C9405D4
-531E548E8ACEBE66D41992C0D0A25CE7FE2641DC2F06A1399C864A7C1155DDD4
-20A2D292688E6426B147572C2CD3706C96C22C977A4A6C4A30A54C7DDD50DCB9
-7BBC5C0B744CD85DF88166B916C0F1909A38742C6BCB58045C4223B70F4B3BAD
-74EBBE8395A3F64A14D6838554EB6AB7CE417DD7448EBB4F3EE10B13B454C4EA
-949AF16A87E72ED21159408171A4847199C5E403FADCC67D0FFA5A58452ADC67
-FC3C597826B20BD85A1AC7BFA715531D99DDA5155185E3FBF29DDF559A103F75
-538AC8CC0B4C4041288E89B387F6ABE04F90E8CEB2099293D1DC4FE00647C80C
-5DBE532282708D050BC6A226F45DBC314D109554BB25CF04770ED4874EED1B1F
-E18E006F254BB4297C435B416A9AFC6FC51568D89317BCDD9885E2D1ED15F4F7
-AF253B5FAEE5CC44BF9D860982B7F4706C8B8018E6488E337B773A4A7AAF9998
-6796B30721736F7AB66CE22EBEF616FE5847929A2E08D64DA7E912F4CA899F73
-6A0A1F1F2163886A7C5E6999D98AB9708EADE2030050B2D05AEF0AA9447F8698
-7C191DD81DB9131D0DC19BB7CD0CD9A60AEBBA3FAD203CA51B6FECB75EC91C14
-EE75CBB49420594C7B9A56EDE29343B5D1817AFF27B71F0BF2B8D59D8198C2B7
-A9F4091A085C973412051D6ACCD3F0B37D502D8FE193CD5E42769D1F497847CF
-B986233F0DE24FE2F4ED03BFA105DD04182887D3C6CB827A1D5B00170B8DFA5E
-EB1BE4FEEACCC82A5BB4BCE2C8320CBCF6EEBFC955025F3980763F51170EA440
-C2144AD36893326E5A3DC214AF59FF505E8168593AB9543FC6690F0D63262FBB
-978B833906430E5D2DC99D729D1CCE7A0A91725537BCF91DFBF8073EEE494A2B
-E38F1AA3D81C602D05FAD3CA3A8A5A7E1F0A7F7CA736B561F3C29275E68D01E1
-FA253D089243988C475ABF8077C71DD93F1414E69FAEE565F42C863C61BE554B
-44C92919D78D898E70510D9EA1FCAB702FD53337263606A777A001224390AA6C
-D8CA04FE8F34D61F03E083D0A050EA3985ED026479142A7184494C615A7AC675
-97B6196C56F2034850A77938B7585B18AEEA2D249E41D25302DFF2416FCADC13
-E69030FD907778821C66F93220A31991386640AC2315A5B7DB80B4AE91A6A4D7
-8BC19E632295CFECA8D65B4045C5A7614852CD48686A27D61F6DC6ED6120D30D
-92C97F4D0B5135823FA4A59DFB7633
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont
-TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi)
-@start /Fa 130[55 1[55 123[{ T1Encoding ReEncodeFont }2
-116.231 /SFRM1440 rf /Fb 133[34 41 41 55 41 43 30 30
-30 41 43 38 43 64 21 41 23 21 43 38 23 34 43 34 43 38
-8[58 4[43 57 1[52 60 58 70 48 2[28 58 3[59 55 54 58 7[38
-38 38 38 38 38 38 38 38 38 2[26 21 31[43 12[{}53 74.7198
-/CMR9 rf /Fc 197[21 58[{}1 74.7198 /CMMI9 rf /Fd 134[39
-39 2[39 39 39 39 2[39 39 39 39 2[39 39 1[39 39 39 2[39
-19[39 27[39 39 2[39 45[{}20 74.7198 /CMSLTT10 rf /Fe
-129[39 39 1[39 39 39 39 39 39 39 39 39 39 39 39 39 39
-39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39
-39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 1[39 39
-39 39 39 39 39 39 39 39 39 39 1[39 39 39 5[39 39 39 39
-39 39 39 39 39 1[39 39 39 39 39 1[39 39 1[39 33[{}81
-74.7198 /CMTT9 rf /Ff 167[62 3[60 46 2[57 1[62 76 52
-1[43 1[62 65 54 1[63 60 67[{}13 83.022 /CMR10 rf /Fg
-135[67 2[67 1[50 2[61 69 5[33 1[70 2[68 52[60 47[{}9
-109.174 /CMCSC10 rf /Fh 140[56 3[56 56 1[56 2[56 56 56
-57[56 45[{}8 109.091 /CMTT12 rf /Fi 130[45 1[45 123[{
- T1Encoding ReEncodeFont }2 91.3242 /SFRM1095 rf /Fj
-134[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 1[48 1[48 48 48 2[48 3[48 48
-48 1[48 1[48 48 48 1[48 48 48 1[48 48 48 48 1[48 6[48
-6[48 48 48 48 2[48 5[48 39[{}52 90.9091 /CMSLTT10 rf
-/Fk 134[65 65 89 65 68 48 48 50 65 68 61 68 102 34 65
-1[34 68 61 37 56 68 55 68 60 7[93 93 127 1[94 85 68 92
-92 84 92 96 116 74 96 1[46 96 96 77 81 94 89 87 93 1[58
-5[61 61 61 61 61 61 61 61 61 61 1[34 41 34 31[68 72 11[{}63
-109.091 /CMBX12 rf /Fl 135[42 1[42 1[30 37 38 1[46 46
-51 74 23 2[28 1[42 28 42 46 42 1[46 51[33 32[51 12[{}19
-90.9091 /CMTI10 rf /Fm 135[56 2[56 1[42 55 1[51 58 56
-1[47 2[27 1[58 49 51 57 54 53 56 97[{}16 90.9091 /CMCSC10
-rf /Fn 197[25 58[{}1 90.9091 /CMMI10 rf /Fo 197[33 58[{}1
-119.552 /CMMI12 rf /Fp 134[85 85 1[85 90 63 64 66 1[90
-81 90 134 45 1[49 45 90 81 49 74 90 72 90 78 10[122 124
-112 90 120 3[126 153 97 1[83 60 126 127 101 106 124 117
-115 122 7[81 81 81 81 81 81 81 81 81 81 35[90 94 11[{}52
-143.462 /CMBX12 rf /Fq 200[0 21[91 17[45 1[91 12[71{}5
-90.9091 /CMSY10 rf /Fr 133[40 48 48 66 48 51 35 36 36
-48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 7[68
-68 93 1[68 66 51 67 71 62 71 68 83 57 71 1[33 68 71 59
-62 69 66 64 68 13[45 45 45 3[30 8[45 2[25 18[76 1[51
-53 11[{}58 90.9091 /CMSL10 rf /Fs 132[67 1[71 71 97 71
-75 52 53 55 1[75 67 75 112 37 71 41 37 75 67 41 61 75
-60 75 65 3[37 1[37 1[102 102 139 102 103 94 75 100 101
-92 101 105 128 81 105 69 50 105 106 85 88 103 97 96 102
-105 64 4[37 67 67 67 67 67 67 67 67 67 67 1[37 1[37 1[67
-5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12 rf /Ft
-129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 33[{}93 90.9091 /CMTT10 rf /Fu 131[91 45
-40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25
-51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68
-68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69
-66 64 68 71 43 1[71 1[25 25 45 45 45 45 45 45 45 45 45
-45 45 25 30 25 1[45 35 35 25 71 76 45 76 45 25 18[76
-51 51 53 11[{}91 90.9091 /CMR10 rf /Fv 138[108 1[76 79
-3[108 1[54 3[108 1[59 88 1[86 1[94 14[144 4[184 10[138
-66[{}13 172.154 /CMBX12 rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%BeginPaperSize: Letter
-/setpagedevice where
-{ pop << /PageSize [612 792] >> setpagedevice }
-{ /letter where { pop letter } if }
-ifelse
-%%EndPaperSize
- end
-%%EndSetup
-%%Page: 1 1
-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.3,)g(for)f
-Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.3.)3217 1697 y(Octob)s(er)f(2024)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.3,)c(23)f(Octob)s(er)f
-(2024\).)150 4523 y(This)35 b(is)g(Edition)h(5.3,)i(last)f(up)s(dated)d
-(23)i(Octob)s(er)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)f(Reference)i(Man)m
-(ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p Fu(,)g(V)-8
-b(ersion)31 b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764
-y(c)577 4767 y Fq(\015)f Fu(1988{2024)35 b(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902
-y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
-b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
-b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
-b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
-b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
-b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
-b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
-b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
-5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
-b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
-%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Fu(i)150 299 y Fp(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 649 y Fs(1)135 b(In)l(tro)t
-(duction)31 b Fo(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)g(:)44 b Fs(1)275 786 y Fu(1.1)92
-b(What)31 b(is)f(Bash?)10 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)23 b Fu(1)275 896 y(1.2)92 b(What)31
-b(is)f(a)h(shell?)22 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)35 b Fu(1)150 1147 y Fs(2)135 b(De\014nitions)31
-b Fo(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)43 b Fs(3)150 1425 y(3)135 b(Basic)45
-b(Shell)g(F)-11 b(eatures)19 b Fo(:)h(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)32 b Fs(5)275 1562 y Fu(3.1)92 b(Shell)30 b(Syn)m(tax)13
-b Fn(:)j(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-27 b Fu(5)399 1671 y(3.1.1)93 b(Shell)30 b(Op)s(eration)14
-b Fn(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(5)399
-1781 y(3.1.2)93 b(Quoting)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)37 b Fu(6)524 1890 y(3.1.2.1)93
-b(Escap)s(e)30 b(Character)19 b Fn(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)33 b Fu(6)524
-2000 y(3.1.2.2)93 b(Single)31 b(Quotes)16 b Fn(:)g(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30
-b Fu(6)524 2110 y(3.1.2.3)93 b(Double)31 b(Quotes)14
-b Fn(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)28 b Fu(6)524 2219 y(3.1.2.4)93
-b(ANSI-C)30 b(Quoting)15 b Fn(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)29 b Fu(6)524
-2329 y(3.1.2.5)93 b(Lo)s(cale-Sp)s(eci\014c)32 b(T)-8
-b(ranslation)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)30
-b Fu(7)399 2438 y(3.1.3)93 b(Commen)m(ts)14 b Fn(:)i(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(9)275 2548 y(3.2)92
-b(Shell)30 b(Commands)9 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)23 b Fu(9)399 2658 y(3.2.1)93 b(Reserv)m(ed)31
-b(W)-8 b(ords)27 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)40
-b Fu(9)399 2767 y(3.2.2)93 b(Simple)30 b(Commands)15
-b Fn(:)f(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b Fu(9)399 2877 y(3.2.3)93
-b(Pip)s(elines)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)36 b Fu(10)399 2986 y(3.2.4)93 b(Lists)30
-b(of)h(Commands)20 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(11)399
-3096 y(3.2.5)93 b(Comp)s(ound)28 b(Commands)9 b Fn(:)14
-b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-22 b Fu(11)524 3205 y(3.2.5.1)93 b(Lo)s(oping)30 b(Constructs)16
-b Fn(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)29
-b Fu(12)524 3315 y(3.2.5.2)93 b(Conditional)31 b(Constructs)25
-b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Fu(12)524 3425 y(3.2.5.3)93 b(Grouping)30 b(Commands)22
-b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)36
-b Fu(17)399 3534 y(3.2.6)93 b(Copro)s(cesses)26 b Fn(:)15
-b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fu(18)399
-3644 y(3.2.7)93 b(GNU)31 b(P)m(arallel)13 b Fn(:)k(:)f(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)26 b Fu(19)275 3753 y(3.3)92 b(Shell)30
-b(F)-8 b(unctions)16 b Fn(:)g(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)29 b Fu(19)275 3863 y(3.4)92 b(Shell)30 b(P)m(arameters)c
-Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38 b
-Fu(22)399 3973 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)8
-b Fn(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)21 b Fu(23)399 4082 y(3.4.2)93 b(Sp)s(ecial)30
-b(P)m(arameters)c Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)37 b Fu(23)275 4192
-y(3.5)92 b(Shell)30 b(Expansions)24 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)38 b Fu(24)399 4301 y(3.5.1)93 b(Brace)31
-b(Expansion)9 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b
-Fu(25)399 4411 y(3.5.2)93 b(Tilde)30 b(Expansion)18 b
-Fn(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)31 b Fu(26)399 4521 y(3.5.3)93
-b(Shell)30 b(P)m(arameter)i(Expansion)26 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)39 b Fu(27)399 4630 y(3.5.4)93
-b(Command)29 b(Substitution)20 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(35)399 4740
-y(3.5.5)93 b(Arithmetic)31 b(Expansion)c Fn(:)15 b(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b
-Fu(36)399 4849 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15
-b Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)28 b Fu(36)399 4959 y(3.5.7)93 b(W)-8
-b(ord)31 b(Splitting)d Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)41
-b Fu(37)399 5068 y(3.5.8)93 b(Filename)32 b(Expansion)22
-b Fn(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)35 b Fu(37)524 5178 y(3.5.8.1)93 b(P)m(attern)31
-b(Matc)m(hing)14 b Fn(:)k(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)27 b Fu(38)399 5288 y(3.5.9)93
-b(Quote)31 b(Remo)m(v)-5 b(al)17 b Fn(:)g(:)e(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)30
-b Fu(40)p eop end
-%%Page: -2 4
-TeXDict begin -2 3 bop 3699 -116 a Fu(ii)275 83 y(3.6)92
-b(Redirections)14 b Fn(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)27 b Fu(40)399 193 y(3.6.1)93 b(Redirecting)31
-b(Input)11 b Fn(:)j(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)24 b Fu(41)399 302
-y(3.6.2)93 b(Redirecting)31 b(Output)15 b Fn(:)f(:)i(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)28
-b Fu(41)399 412 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)20
-b Fn(:)14 b(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)33 b Fu(42)399
-521 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h(and)f(Standard)h
-(Error)16 b Fn(:)e(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)29 b
-Fu(42)399 631 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)h
-(Standard)f(Error)d Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40
-b Fu(42)399 741 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)15
-b Fn(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)27 b Fu(42)399 850 y(3.6.7)93
-b(Here)31 b(Strings)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29
-b Fu(43)399 960 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25
-b Fn(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37
-b Fu(43)399 1069 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d
-Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-40 b Fu(43)399 1179 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
-(for)f(Reading)h(and)f(W)-8 b(riting)29 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f
-(:)41 b Fu(44)275 1289 y(3.7)92 b(Executing)31 b(Commands)24
-b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Fu(44)399 1398 y(3.7.1)93
-b(Simple)30 b(Command)f(Expansion)11 b Fn(:)k(:)g(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)24 b Fu(44)399 1508 y(3.7.2)93 b(Command)29
-b(Searc)m(h)i(and)f(Execution)15 b Fn(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-28 b Fu(45)399 1617 y(3.7.3)93 b(Command)29 b(Execution)i(En)m
-(vironmen)m(t)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30 b Fu(45)399
-1727 y(3.7.4)93 b(En)m(vironmen)m(t)26 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)39 b Fu(46)399 1836 y(3.7.5)93 b(Exit)31
-b(Status)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29
-b Fu(47)399 1946 y(3.7.6)93 b(Signals)23 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(48)275
-2056 y(3.8)92 b(Shell)30 b(Scripts)12 b Fn(:)i(:)i(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)25 b Fu(49)150 2306
-y Fs(4)135 b(Shell)45 b(Builtin)g(Commands)14 b Fo(:)20
-b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)27 b Fs(51)275 2443 y Fu(4.1)92 b(Bourne)30
-b(Shell)g(Builtins)16 b Fn(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)29
-b Fu(51)275 2553 y(4.2)92 b(Bash)30 b(Builtin)h(Commands)13
-b Fn(:)h(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)26 b Fu(60)275 2663 y(4.3)92 b(Mo)s(difying)30
-b(Shell)g(Beha)m(vior)18 b Fn(:)f(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b Fu(72)399
-2772 y(4.3.1)93 b(The)30 b(Set)g(Builtin)14 b Fn(:)i(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)27 b Fu(72)399 2882 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)21
-b Fn(:)16 b(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)34 b Fu(77)275 2991 y(4.4)92
-b(Sp)s(ecial)30 b(Builtins)9 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)22 b Fu(83)150 3242 y Fs(5)135 b(Shell)45
-b(V)-11 b(ariables)11 b Fo(:)20 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)24 b Fs(85)275 3379 y Fu(5.1)92
-b(Bourne)30 b(Shell)g(V)-8 b(ariables)10 b Fn(:)17 b(:)e(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-23 b Fu(85)275 3489 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)26
-b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38
-b Fu(86)150 3739 y Fs(6)135 b(Bash)44 b(F)-11 b(eatures)32
-b Fo(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-44 b Fs(99)275 3876 y Fu(6.1)92 b(In)m(v)m(oking)31 b(Bash)16
-b Fn(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)29
-b Fu(99)275 3986 y(6.2)92 b(Bash)30 b(Startup)g(Files)c
-Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fu(101)275 4095
-y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)30 b Fu(103)399 4205 y(6.3.1)93 b(What)31
-b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)23 b Fn(:)15 b(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)36 b Fu(103)399 4315 y(6.3.2)93 b(Is)30
-b(this)g(Shell)g(In)m(teractiv)m(e?)20 b Fn(:)e(:)e(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(103)399 4424
-y(6.3.3)93 b(In)m(teractiv)m(e)33 b(Shell)d(Beha)m(vior)8
-b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22
-b Fu(103)275 4534 y(6.4)92 b(Bash)30 b(Conditional)h(Expressions)c
-Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41
-b Fu(104)275 4643 y(6.5)92 b(Shell)30 b(Arithmetic)11
-b Fn(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b
-Fu(106)275 4753 y(6.6)92 b(Aliases)18 b Fn(:)e(:)g(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)31
-b Fu(108)275 4863 y(6.7)92 b(Arra)m(ys)23 b Fn(:)15 b(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)36
-b Fu(109)275 4972 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)14
-b Fn(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)27 b Fu(111)399 5082 y(6.8.1)93
-b(Directory)32 b(Stac)m(k)f(Builtins)20 b Fn(:)c(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)33 b Fu(111)275 5191
-y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)10 b Fn(:)15
-b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)23 b Fu(112)275 5301 y(6.10)92 b(The)30 b(Restricted)h
-(Shell)9 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22 b Fu(114)p
-eop end
-%%Page: -3 5
-TeXDict begin -3 4 bop 3674 -116 a Fu(iii)275 83 y(6.11)92
-b(Bash)31 b(and)e(POSIX)12 b Fn(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)25
-b Fu(115)399 193 y(6.11.1)93 b(What)31 b(is)g(POSIX?)22
-b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)36 b Fu(115)399 302 y(6.11.2)93 b(Bash)31
-b(POSIX)e(Mo)s(de)18 b Fn(:)e(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)31 b Fu(115)275 412 y(6.12)92
-b(Shell)30 b(Compatibilit)m(y)i(Mo)s(de)25 b Fn(:)15
-b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(120)150 663 y Fs(7)135 b(Job)45 b(Con)l(trol)35
-b Fo(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)48 b Fs(123)275 800 y Fu(7.1)92 b(Job)30 b(Con)m(trol)h(Basics)23
-b Fn(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)36 b Fu(123)275 909
-y(7.2)92 b(Job)30 b(Con)m(trol)h(Builtins)11 b Fn(:)k(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)24 b Fu(124)275 1019 y(7.3)92 b(Job)30 b(Con)m(trol)h(V)-8
-b(ariables)26 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Fu(127)150
-1269 y Fs(8)135 b(Command)45 b(Line)g(Editing)11 b Fo(:)20
-b(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)k Fs(128)275 1406 y Fu(8.1)92 b(In)m(tro)s(duction)
-30 b(to)h(Line)f(Editing)12 b Fn(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)25 b Fu(128)275 1516 y(8.2)92
-b(Readline)31 b(In)m(teraction)14 b Fn(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)27
-b Fu(128)399 1626 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)13
-b Fn(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)26
-b Fu(129)399 1735 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
-(Commands)13 b Fn(:)i(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)27
-b Fu(129)399 1845 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)24
-b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(130)399 1954 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)17
-b Fn(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)30 b Fu(130)399 2064 y(8.2.5)93 b(Searc)m(hing)31
-b(for)f(Commands)f(in)h(the)h(History)15 b Fn(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)28 b Fu(131)275
-2174 y(8.3)92 b(Readline)31 b(Init)f(File)8 b Fn(:)17
-b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b Fu(131)399 2283
-y(8.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)21
-b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)34
-b Fu(131)399 2393 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)14
-b Fn(:)h(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)27
-b Fu(141)399 2502 y(8.3.3)93 b(Sample)30 b(Init)g(File)20
-b Fn(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(142)275 2612 y(8.4)92
-b(Bindable)30 b(Readline)h(Commands)19 b Fn(:)c(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)33 b Fu(145)399 2721 y(8.4.1)93
-b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)16 b Fn(:)h(:)e(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29 b Fu(145)399
-2831 y(8.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f
-(History)c Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)39 b Fu(146)399 2941 y(8.4.3)93 b(Commands)29 b(F)-8
-b(or)31 b(Changing)f(T)-8 b(ext)9 b Fn(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)23 b Fu(148)399 3050 y(8.4.4)93 b(Killing)31
-b(And)e(Y)-8 b(anking)10 b Fn(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)24 b Fu(149)399
-3160 y(8.4.5)93 b(Sp)s(ecifying)30 b(Numeric)g(Argumen)m(ts)25
-b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)39 b Fu(151)399
-3269 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
-b(or)31 b(Y)-8 b(ou)20 b Fn(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)33
-b Fu(151)399 3379 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)9
-b Fn(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(153)399 3489 y(8.4.8)93
-b(Some)30 b(Miscellaneous)j(Commands)14 b Fn(:)f(:)j(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)27 b Fu(153)275 3598 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)e
-Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 b Fu(156)275
-3708 y(8.6)92 b(Programmable)30 b(Completion)25 b Fn(:)15
-b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)37
-b Fu(156)275 3817 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)14
-b Fn(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(158)275
-3927 y(8.8)92 b(A)30 b(Programmable)h(Completion)g(Example)8
-b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22 b Fu(162)150 4178 y
-Fs(9)135 b(Using)45 b(History)h(In)l(teractiv)l(ely)28
-b Fo(:)22 b(:)d(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)41 b Fs(165)275 4315 y Fu(9.1)92 b(Bash)30 b(History)h(F)-8
-b(acilities)9 b Fn(:)19 b(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(165)275
-4424 y(9.2)92 b(Bash)30 b(History)h(Builtins)d Fn(:)16
-b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)41 b Fu(166)275 4534 y(9.3)92 b(History)31
-b(Expansion)10 b Fn(:)k(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)23
-b Fu(168)399 4643 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)19
-b Fn(:)e(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)32 b Fu(169)399 4753 y(9.3.2)93 b(W)-8
-b(ord)31 b(Designators)c Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fu(170)399
-4863 y(9.3.3)93 b(Mo)s(di\014ers)15 b Fn(:)g(:)g(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)29 b Fu(171)p eop end
-%%Page: -4 6
-TeXDict begin -4 5 bop 3677 -116 a Fu(iv)150 83 y Fs(10)135
-b(Installing)46 b(Bash)16 b Fo(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)29 b Fs(172)275 220 y Fu(10.1)92 b(Basic)32
-b(Installation)8 b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22
-b Fu(172)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
-b Fn(:)d(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)30 b Fu(173)275 439 y(10.3)92 b(Compiling)30
-b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)10 b Fn(:)16
-b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(173)275 549 y(10.4)92
-b(Installation)32 b(Names)22 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35
-b Fu(174)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
-(e)21 b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)34 b Fu(174)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
-b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(174)275
-878 y(10.7)92 b(Op)s(eration)30 b(Con)m(trols)12 b Fn(:)k(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)25 b Fu(175)275 987 y(10.8)92 b(Optional)31
-b(F)-8 b(eatures)19 b Fn(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)32
-b Fu(175)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
-b(Bugs)21 b Fo(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)35 b Fs(181)150 1498 y(App)t(endix)44
-b(B)125 b(Ma)7 b(jor)46 b(Di\013erences)g(F)-11 b(rom)284
-1639 y(The)45 b(Bourne)f(Shell)35 b Fo(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)47 b Fs(182)275 1776 y Fu(B.1)92
-b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31
-b(The)e(SVR4.2)j(Shell)22 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)35 b Fu(187)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
-b(F)-11 b(ree)35 b(Do)t(cumen)l(tation)i(License)25 b
-Fo(:)20 b(:)29 b Fs(189)150 2305 y(App)t(endix)44 b(D)118
-b(Indexes)27 b Fo(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)40
-b Fs(197)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
-(Commands)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38
-b Fu(197)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
-b(ords)20 b Fn(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)34
-b Fu(198)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
-b(ariable)32 b(Index)27 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)42 b Fu(199)275 2771 y(D.4)92 b(F)-8 b(unction)31
-b(Index)24 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(201)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
-Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b
-Fu(203)p eop end
-%%Page: 1 7
-TeXDict begin 1 6 bop 3705 -116 a Fu(1)150 299 y Fp(1)80
-b(In)l(tro)t(duction)150 604 y Fs(1.1)68 b(What)45 b(is)g(Bash?)150
-763 y Fu(Bash)38 b(is)g(the)g(shell,)i(or)d(command)h(language)h(in)m
-(terpreter,)h(for)e(the)g Fm(gnu)f Fu(op)s(erating)h(system.)63
-b(The)150 873 y(name)33 b(is)g(an)g(acron)m(ym)g(for)g(the)g(`)p
-Ft(Bourne-Again)27 b(SHell)p Fu(',)32 b(a)i(pun)d(on)i(Stephen)f
-(Bourne,)h(the)g(author)150 983 y(of)f(the)f(direct)h(ancestor)h(of)e
-(the)h(curren)m(t)f(Unix)g(shell)h Ft(sh)p Fu(,)f(whic)m(h)g(app)s
-(eared)g(in)g(the)h(Sev)m(en)m(th)g(Edition)150 1092
-y(Bell)g(Labs)e(Researc)m(h)h(v)m(ersion)g(of)f(Unix.)275
-1221 y(Bash)f(is)g(largely)i(compatible)f(with)f Ft(sh)g
-Fu(and)g(incorp)s(orates)g(useful)g(features)g(from)g(the)g(Korn)g
-(shell)150 1330 y Ft(ksh)37 b Fu(and)h(the)g(C)g(shell)g
-Ft(csh)p Fu(.)64 b(It)38 b(is)g(in)m(tended)g(to)h(b)s(e)f(a)g
-(conforman)m(t)h(implemen)m(tation)h(of)e(the)g Fm(ieee)150
-1440 y(posix)c Fu(Shell)g(and)g(T)-8 b(o)s(ols)35 b(p)s(ortion)f(of)g
-(the)h Fm(ieee)f(posix)f Fu(sp)s(eci\014cation)j(\()p
-Fm(ieee)e Fu(Standard)f(1003.1\).)56 b(It)150 1550 y(o\013ers)31
-b(functional)f(impro)m(v)m(emen)m(ts)i(o)m(v)m(er)g Ft(sh)d
-Fu(for)i(b)s(oth)e(in)m(teractiv)m(e)k(and)d(programming)g(use.)275
-1678 y(While)h(the)g Fm(gnu)f Fu(op)s(erating)h(system)g(pro)m(vides)f
-(other)h(shells,)g(including)f(a)h(v)m(ersion)g(of)g
-Ft(csh)p Fu(,)f(Bash)150 1788 y(is)j(the)h(default)f(shell.)49
-b(Lik)m(e)34 b(other)g Fm(gnu)f Fu(soft)m(w)m(are,)i(Bash)f(is)f(quite)
-h(p)s(ortable.)49 b(It)33 b(curren)m(tly)g(runs)f(on)150
-1897 y(nearly)c(ev)m(ery)g(v)m(ersion)g(of)f(Unix)h(and)e(a)i(few)f
-(other)h(op)s(erating)g(systems)f Fq(\000)g Fu(indep)s(enden)m
-(tly-supp)s(orted)150 2007 y(p)s(orts)j(exist)h(for)f(Windo)m(ws)g(and)
-g(other)h(platforms.)150 2236 y Fs(1.2)68 b(What)45 b(is)g(a)h(shell?)
-150 2395 y Fu(A)m(t)32 b(its)f(base,)h(a)f(shell)g(is)h(simply)e(a)h
-(macro)h(pro)s(cessor)f(that)g(executes)i(commands.)42
-b(The)30 b(term)h(macro)150 2505 y(pro)s(cessor)25 b(means)g
-(functionalit)m(y)i(where)d(text)j(and)d(sym)m(b)s(ols)h(are)h
-(expanded)e(to)i(create)h(larger)f(expres-)150 2615 y(sions.)275
-2743 y(A)34 b(Unix)h(shell)g(is)f(b)s(oth)g(a)h(command)g(in)m
-(terpreter)g(and)f(a)h(programming)f(language.)55 b(As)35
-b(a)g(com-)150 2853 y(mand)30 b(in)m(terpreter,)i(the)g(shell)f(pro)m
-(vides)g(the)h(user)e(in)m(terface)j(to)f(the)f(ric)m(h)h(set)g(of)f
-Fm(gnu)g Fu(utilities.)44 b(The)150 2962 y(programming)31
-b(language)i(features)e(allo)m(w)i(these)f(utilities)g(to)g(b)s(e)f
-(com)m(bined.)44 b(Users)31 b(can)g(create)i(\014les)150
-3072 y(con)m(taining)24 b(commands,)g(and)e(these)h(b)s(ecome)f
-(commands)g(themselv)m(es.)40 b(These)22 b(new)g(commands)g(ha)m(v)m(e)
-150 3182 y(the)32 b(same)f(status)h(as)g(system)f(commands)g(in)h
-(directories)g(suc)m(h)f(as)h Ft(/bin)p Fu(,)f(allo)m(wing)i(users)d
-(or)i(groups)150 3291 y(to)f(establish)g(custom)f(en)m(vironmen)m(ts)h
-(to)g(automate)h(their)f(common)g(tasks.)275 3420 y(Shells)i(ma)m(y)h
-(b)s(e)f(used)g(in)m(teractiv)m(ely)k(or)d(non-in)m(teractiv)m(ely)-8
-b(.)54 b(In)33 b(in)m(teractiv)m(e)j(mo)s(de,)f(they)e(accept)150
-3529 y(input)21 b(t)m(yp)s(ed)h(from)g(the)h(k)m(eyb)s(oard.)37
-b(When)22 b(executing)i(non-in)m(teractiv)m(ely)-8 b(,)27
-b(shells)c(execute)g(commands)150 3639 y(read)30 b(from)g(a)h(\014le)f
-(or)h(a)g(string.)275 3768 y(A)41 b(shell)g(allo)m(ws)h(execution)h(of)
-e Fm(gnu)g Fu(commands,)i(b)s(oth)e(sync)m(hronously)f(and)h(async)m
-(hronously)-8 b(.)150 3877 y(The)29 b(shell)g(w)m(aits)i(for)e(sync)m
-(hronous)f(commands)h(to)h(complete)h(b)s(efore)e(accepting)i(more)e
-(input;)g(asyn-)150 3987 y(c)m(hronous)22 b(commands)h(con)m(tin)m(ue)h
-(to)f(execute)h(in)e(parallel)i(with)f(the)f(shell)h(while)g(it)g
-(reads)g(and)f(executes)150 4096 y(additional)35 b(commands.)50
-b(The)33 b Fr(redirection)h Fu(constructs)g(p)s(ermit)f(\014ne-grained)
-g(con)m(trol)i(of)f(the)g(input)150 4206 y(and)40 b(output)f(of)i
-(those)f(commands.)70 b(Moreo)m(v)m(er,)45 b(the)c(shell)f(allo)m(ws)h
-(con)m(trol)h(o)m(v)m(er)g(the)e(con)m(ten)m(ts)i(of)150
-4316 y(commands')30 b(en)m(vironmen)m(ts.)275 4444 y(Shells)k(also)i
-(pro)m(vide)g(a)f(small)h(set)f(of)g(built-in)g(commands)g(\()p
-Fr(builtins)t Fu(\))g(implemen)m(ting)h(function-)150
-4554 y(alit)m(y)i(imp)s(ossible)e(or)g(incon)m(v)m(enien)m(t)j(to)e
-(obtain)g(via)g(separate)g(utilities.)61 b(F)-8 b(or)37
-b(example,)i Ft(cd)p Fu(,)e Ft(break)p Fu(,)150 4663
-y Ft(continue)p Fu(,)28 b(and)i Ft(exec)f Fu(cannot)i(b)s(e)f(implemen)
-m(ted)h(outside)g(of)f(the)h(shell)f(b)s(ecause)h(they)f(directly)h
-(ma-)150 4773 y(nipulate)d(the)g(shell)g(itself.)41 b(The)27
-b Ft(history)p Fu(,)g Ft(getopts)p Fu(,)f Ft(kill)p Fu(,)i(or)g
-Ft(pwd)f Fu(builtins,)h(among)g(others,)h(could)150 4883
-y(b)s(e)34 b(implemen)m(ted)g(in)g(separate)h(utilities,)i(but)d(they)g
-(are)g(more)h(con)m(v)m(enien)m(t)h(to)f(use)f(as)g(builtin)g(com-)150
-4992 y(mands.)40 b(All)31 b(of)f(the)h(shell)f(builtins)g(are)h
-(describ)s(ed)e(in)h(subsequen)m(t)g(sections.)275 5121
-y(While)39 b(executing)h(commands)e(is)g(essen)m(tial,)43
-b(most)c(of)g(the)g(p)s(o)m(w)m(er)f(\(and)g(complexit)m(y\))j(of)e
-(shells)150 5230 y(is)34 b(due)f(to)i(their)f(em)m(b)s(edded)f
-(programming)h(languages.)52 b(Lik)m(e)35 b(an)m(y)f(high-lev)m(el)i
-(language,)h(the)d(shell)150 5340 y(pro)m(vides)c(v)-5
-b(ariables,)32 b(\015o)m(w)e(con)m(trol)i(constructs,)f(quoting,)g(and)
-f(functions.)p eop end
-%%Page: 2 8
-TeXDict begin 2 7 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(2)275 299 y(Shells)37 b(o\013er)h(features)
-f(geared)i(sp)s(eci\014cally)f(for)f(in)m(teractiv)m(e)j(use)e(rather)f
-(than)g(to)h(augmen)m(t)h(the)150 408 y(programming)31
-b(language.)43 b(These)31 b(in)m(teractiv)m(e)j(features)d(include)g
-(job)f(con)m(trol,)j(command)e(line)g(edit-)150 518 y(ing,)38
-b(command)d(history)h(and)f(aliases.)59 b(This)35 b(man)m(ual)h
-(describ)s(es)f(ho)m(w)h(Bash)g(pro)m(vides)g(all)g(of)g(these)150
-628 y(features.)p eop end
-%%Page: 3 9
-TeXDict begin 3 8 bop 3705 -116 a Fu(3)150 299 y Fp(2)80
-b(De\014nitions)150 552 y Fu(These)30 b(de\014nitions)g(are)h(used)e
-(throughout)h(the)h(remainder)f(of)g(this)h(man)m(ual.)150
-720 y Ft(POSIX)240 b Fu(A)27 b(family)g(of)g(op)s(en)f(system)g
-(standards)g(based)g(on)h(Unix.)39 b(Bash)27 b(is)g(primarily)f
-(concerned)630 830 y(with)k(the)h(Shell)f(and)g(Utilities)i(p)s(ortion)
-e(of)h(the)f Fm(posix)g Fu(1003.1)j(standard.)150 995
-y Ft(blank)240 b Fu(A)30 b(space)h(or)g(tab)f(c)m(haracter.)150
-1161 y Ft(whitespace)630 1271 y Fu(A)f(c)m(haracter)i(b)s(elonging)f
-(to)g(the)g Ft(space)e Fu(c)m(haracter)j(class)f(in)f(the)g(curren)m(t)
-g(lo)s(cale,)j(or)d(for)630 1380 y(whic)m(h)h Ft(isspace\(\))e
-Fu(returns)h(true.)150 1546 y Ft(builtin)144 b Fu(A)35
-b(command)g(that)g(is)g(implemen)m(ted)g(in)m(ternally)h(b)m(y)f(the)g
-(shell)g(itself,)i(rather)d(than)h(b)m(y)630 1655 y(an)30
-b(executable)i(program)e(somewhere)h(in)f(the)g(\014le)h(system.)150
-1821 y Ft(control)d(operator)630 1931 y Fu(A)20 b Ft(token)f
-Fu(that)i(p)s(erforms)e(a)i(con)m(trol)g(function.)37
-b(It)21 b(is)f(a)h Ft(newline)d Fu(or)j(one)f(of)h(the)f(follo)m(wing:)
-630 2040 y(`)p Ft(||)p Fu(',)31 b(`)p Ft(&&)p Fu(',)f(`)p
-Ft(&)p Fu(',)h(`)p Ft(;)p Fu(',)g(`)p Ft(;;)p Fu(',)f(`)p
-Ft(;&)p Fu(',)h(`)p Ft(;;&)p Fu(',)f(`)p Ft(|)p Fu(',)h(`)p
-Ft(|&)p Fu(',)f(`)p Ft(\()p Fu(',)h(or)f(`)p Ft(\))p
-Fu('.)150 2206 y Ft(exit)f(status)630 2315 y Fu(The)f(v)-5
-b(alue)29 b(returned)e(b)m(y)h(a)h(command)f(to)h(its)g(caller.)41
-b(The)28 b(v)-5 b(alue)29 b(is)f(restricted)h(to)h(eigh)m(t)630
-2425 y(bits,)h(so)f(the)h(maxim)m(um)f(v)-5 b(alue)31
-b(is)f(255.)150 2591 y Ft(field)240 b Fu(A)27 b(unit)g(of)g(text)h
-(that)g(is)f(the)g(result)g(of)g(one)h(of)f(the)g(shell)g(expansions.)
-40 b(After)27 b(expansion,)630 2700 y(when)e(executing)h(a)g(command,)h
-(the)f(resulting)f(\014elds)g(are)h(used)f(as)h(the)g(command)f(name)
-630 2810 y(and)30 b(argumen)m(ts.)150 2975 y Ft(filename)96
-b Fu(A)30 b(string)h(of)f(c)m(haracters)i(used)e(to)h(iden)m(tify)g(a)f
-(\014le.)150 3141 y Ft(job)336 b Fu(A)31 b(set)h(of)f(pro)s(cesses)g
-(comprising)g(a)g(pip)s(eline,)g(and)g(an)m(y)g(pro)s(cesses)g
-(descended)g(from)f(it,)630 3251 y(that)h(are)g(all)g(in)f(the)h(same)f
-(pro)s(cess)g(group.)150 3416 y Ft(job)f(control)630
-3526 y Fu(A)22 b(mec)m(hanism)g(b)m(y)f(whic)m(h)h(users)f(can)h
-(selectiv)m(ely)i(stop)e(\(susp)s(end\))e(and)h(restart)i(\(resume\))
-630 3635 y(execution)32 b(of)e(pro)s(cesses.)150 3801
-y Ft(metacharacter)630 3910 y Fu(A)23 b(c)m(haracter)h(that,)h(when)d
-(unquoted,)h(separates)h(w)m(ords.)37 b(A)23 b(metac)m(haracter)i(is)e
-(a)g Ft(space)p Fu(,)630 4020 y Ft(tab)p Fu(,)29 b Ft(newline)p
-Fu(,)e(or)i(one)h(of)f(the)h(follo)m(wing)g(c)m(haracters:)42
-b(`)p Ft(|)p Fu(',)29 b(`)p Ft(&)p Fu(',)h(`)p Ft(;)p
-Fu(',)g(`)p Ft(\()p Fu(',)g(`)p Ft(\))p Fu(',)g(`)p Ft(<)p
-Fu(',)f(or)h(`)p Ft(>)p Fu('.)150 4186 y Ft(name)288
-b Fu(A)37 b Ft(word)f Fu(consisting)i(solely)h(of)e(letters,)j(n)m(um)m
-(b)s(ers,)e(and)f(underscores,)h(and)f(b)s(eginning)630
-4295 y(with)23 b(a)g(letter)h(or)f(underscore.)38 b Ft(Name)p
-Fu(s)22 b(are)h(used)f(as)i(shell)f(v)-5 b(ariable)24
-b(and)e(function)h(names.)630 4405 y(Also)31 b(referred)f(to)h(as)f(an)
-h Ft(identifier)p Fu(.)150 4570 y Ft(operator)96 b Fu(A)38
-b Ft(control)28 b(operator)36 b Fu(or)h(a)i Ft(redirection)27
-b(operator)p Fu(.)61 b(See)38 b(Section)g(3.6)h([Redirec-)630
-4680 y(tions],)f(page)f(40,)i(for)d(a)g(list)h(of)f(redirection)h(op)s
-(erators.)58 b(Op)s(erators)35 b(con)m(tain)j(at)f(least)630
-4790 y(one)31 b(unquoted)e Ft(metacharacter)p Fu(.)150
-4955 y Ft(process)f(group)630 5065 y Fu(A)i(collection)k(of)c(related)h
-(pro)s(cesses)g(eac)m(h)g(ha)m(ving)g(the)g(same)f(pro)s(cess)g(group)g
-Fm(id)p Fu(.)150 5230 y Ft(process)e(group)h(ID)630 5340
-y Fu(A)h(unique)g(iden)m(ti\014er)h(that)f(represen)m(ts)h(a)g
-Ft(process)d(group)h Fu(during)g(its)i(lifetime.)p eop
-end
-%%Page: 4 10
-TeXDict begin 4 9 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(De\014nitions)2662 b(4)150 299 y Ft(reserved)28 b(word)630
-408 y Fu(A)h Ft(word)e Fu(that)i(has)f(a)h(sp)s(ecial)g(meaning)f(to)h
-(the)g(shell.)40 b(Most)30 b(reserv)m(ed)e(w)m(ords)g(in)m(tro)s(duce)
-630 518 y(shell)j(\015o)m(w)f(con)m(trol)i(constructs,)f(suc)m(h)f(as)g
-Ft(for)g Fu(and)g Ft(while)p Fu(.)150 677 y Ft(return)f(status)630
-787 y Fu(A)h(synon)m(ym)g(for)g Ft(exit)g(status)p Fu(.)150
-946 y Ft(signal)192 b Fu(A)40 b(mec)m(hanism)h(b)m(y)e(whic)m(h)h(a)h
-(pro)s(cess)e(ma)m(y)i(b)s(e)e(noti\014ed)h(b)m(y)g(the)h(k)m(ernel)f
-(of)g(an)g(ev)m(en)m(t)630 1056 y(o)s(ccurring)30 b(in)g(the)h(system.)
-150 1215 y Ft(special)d(builtin)630 1325 y Fu(A)j(shell)f(builtin)g
-(command)h(that)g(has)f(b)s(een)g(classi\014ed)h(as)g(sp)s(ecial)g(b)m
-(y)f(the)h Fm(posix)f Fu(stan-)630 1435 y(dard.)150 1594
-y Ft(token)240 b Fu(A)38 b(sequence)h(of)f(c)m(haracters)h(considered)f
-(a)h(single)g(unit)e(b)m(y)h(the)h(shell.)64 b(It)38
-b(is)g(either)h(a)630 1704 y Ft(word)29 b Fu(or)i(an)f
-Ft(operator)p Fu(.)150 1863 y Ft(word)288 b Fu(A)28 b(sequence)g(of)g
-(c)m(haracters)h(treated)g(as)f(a)g(unit)f(b)m(y)h(the)g(shell.)40
-b(W)-8 b(ords)28 b(ma)m(y)g(not)g(include)630 1973 y(unquoted)i
-Ft(metacharacters)p Fu(.)p eop end
-%%Page: 5 11
-TeXDict begin 5 10 bop 3705 -116 a Fu(5)150 299 y Fp(3)80
-b(Basic)54 b(Shell)e(F)-13 b(eatures)150 601 y Fu(Bash)37
-b(is)g(an)f(acron)m(ym)h(for)g(`)p Ft(Bourne-Again)27
-b(SHell)p Fu('.)59 b(The)36 b(Bourne)g(shell)h(is)g(the)g(traditional)h
-(Unix)150 710 y(shell)45 b(originally)h(written)e(b)m(y)h(Stephen)e
-(Bourne.)83 b(All)46 b(of)e(the)h(Bourne)f(shell)h(builtin)f(commands)
-150 820 y(are)36 b(a)m(v)-5 b(ailable)38 b(in)d(Bash,)i(and)e(the)h
-(rules)f(for)g(ev)-5 b(aluation)37 b(and)e(quoting)h(are)f(tak)m(en)i
-(from)e(the)h Fm(posix)150 929 y Fu(sp)s(eci\014cation)31
-b(for)f(the)h(`standard')f(Unix)g(shell.)275 1086 y(This)h(c)m(hapter)i
-(brie\015y)e(summarizes)h(the)h(shell's)f(`building)g(blo)s(c)m(ks':)45
-b(commands,)32 b(con)m(trol)i(struc-)150 1196 y(tures,)k(shell)e
-(functions,)h(shell)g Fl(p)-5 b(ar)g(ameters)p Fu(,)41
-b(shell)36 b(expansions,)i Fl(r)-5 b(e)g(dir)g(e)g(ctions)p
-Fu(,)40 b(whic)m(h)c(are)h(a)f(w)m(a)m(y)h(to)150 1306
-y(direct)31 b(input)e(and)h(output)g(from)g(and)g(to)h(named)f
-(\014les,)g(and)g(ho)m(w)g(the)h(shell)g(executes)g(commands.)150
-1580 y Fs(3.1)68 b(Shell)45 b(Syn)l(tax)150 1740 y Fu(When)40
-b(the)h(shell)g(reads)f(input,)i(it)f(pro)s(ceeds)f(through)g(a)h
-(sequence)g(of)g(op)s(erations.)71 b(If)40 b(the)h(input)150
-1849 y(indicates)31 b(the)f(b)s(eginning)f(of)h(a)g(commen)m(t,)h(the)f
-(shell)g(ignores)g(the)g(commen)m(t)h(sym)m(b)s(ol)f(\(`)p
-Ft(#)p Fu('\),)h(and)e(the)150 1959 y(rest)i(of)f(that)h(line.)275
-2116 y(Otherwise,)h(roughly)f(sp)s(eaking,)i(the)f(shell)g(reads)g(its)
-g(input)f(and)h(divides)f(the)i(input)e(in)m(to)h(w)m(ords)150
-2225 y(and)23 b(op)s(erators,)j(emplo)m(ying)e(the)g(quoting)h(rules)e
-(to)h(select)i(whic)m(h)d(meanings)h(to)h(assign)f(v)-5
-b(arious)23 b(w)m(ords)150 2335 y(and)30 b(c)m(haracters.)275
-2492 y(The)38 b(shell)h(then)f(parses)g(these)h(tok)m(ens)h(in)m(to)f
-(commands)g(and)f(other)h(constructs,)i(remo)m(v)m(es)f(the)150
-2602 y(sp)s(ecial)31 b(meaning)f(of)g(certain)h(w)m(ords)f(or)g(c)m
-(haracters,)i(expands)d(others,)h(redirects)h(input)e(and)g(output)150
-2711 y(as)d(needed,)g(executes)g(the)g(sp)s(eci\014ed)e(command,)j(w)m
-(aits)f(for)f(the)g(command's)g(exit)i(status,)f(and)f(mak)m(es)150
-2821 y(that)31 b(exit)g(status)g(a)m(v)-5 b(ailable)33
-b(for)d(further)f(insp)s(ection)h(or)h(pro)s(cessing.)150
-3043 y Fk(3.1.1)63 b(Shell)41 b(Op)s(eration)150 3190
-y Fu(The)c(follo)m(wing)h(is)f(a)h(brief)e(description)i(of)f(the)g
-(shell's)h(op)s(eration)f(when)f(it)i(reads)f(and)f(executes)j(a)150
-3299 y(command.)h(Basically)-8 b(,)34 b(the)c(shell)h(do)s(es)f(the)h
-(follo)m(wing:)199 3456 y(1.)61 b(Reads)42 b(its)h(input)e(from)h(a)g
-(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(49\),)k
-(from)41 b(a)i(string)330 3566 y(supplied)30 b(as)h(an)g(argumen)m(t)h
-(to)g(the)f Ft(-c)g Fu(in)m(v)m(o)s(cation)i(option)f(\(see)g(Section)g
-(6.1)g([In)m(v)m(oking)g(Bash],)330 3675 y(page)f(99\),)h(or)e(from)g
-(the)h(user's)f(terminal.)199 3821 y(2.)61 b(Breaks)43
-b(the)g(input)f(in)m(to)h(w)m(ords)f(and)g(op)s(erators,)k(ob)s(eying)d
-(the)g(quoting)g(rules)f(describ)s(ed)f(in)330 3931 y(Section)30
-b(3.1.2)h([Quoting],)f(page)f(6.)41 b(These)29 b(tok)m(ens)h(are)f
-(separated)h(b)m(y)e Ft(metacharacters)p Fu(.)37 b(This)330
-4040 y(step)30 b(p)s(erforms)f(alias)j(expansion)e(\(see)h(Section)h
-(6.6)f([Aliases],)h(page)f(108\).)199 4186 y(3.)61 b(P)m(arses)35
-b(the)g(tok)m(ens)g(in)m(to)h(simple)e(and)g(comp)s(ound)f(commands)h
-(\(see)h(Section)h(3.2)f([Shell)g(Com-)330 4296 y(mands],)30
-b(page)h(9\).)199 4442 y(4.)61 b(P)m(erforms)40 b(the)h(v)-5
-b(arious)40 b(shell)h(expansions)f(\(see)h(Section)g(3.5)g([Shell)g
-(Expansions],)h(page)f(24\),)330 4551 y(breaking)35 b(the)g(expanded)g
-(tok)m(ens)h(in)m(to)g(lists)f(of)g(\014lenames)h(\(see)g(Section)f
-(3.5.8)i([Filename)g(Ex-)330 4661 y(pansion],)30 b(page)h(37\))h(and)e
-(commands)g(and)g(argumen)m(ts.)199 4807 y(5.)61 b(P)m(erforms)36
-b(an)m(y)i(necessary)f(redirections)g(\(see)h(Section)f(3.6)h
-([Redirections],)i(page)e(40\))g(and)e(re-)330 4916 y(mo)m(v)m(es)c
-(the)e(redirection)h(op)s(erators)g(and)f(their)g(op)s(erands)f(from)h
-(the)h(argumen)m(t)f(list.)199 5062 y(6.)61 b(Executes)31
-b(the)g(command)f(\(see)h(Section)g(3.7)h([Executing)f(Commands],)f
-(page)h(44\).)199 5208 y(7.)61 b(Optionally)40 b(w)m(aits)g(for)f(the)g
-(command)g(to)h(complete)g(and)f(collects)i(its)f(exit)g(status)f
-(\(see)h(Sec-)330 5317 y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g
-(47\).)p eop end
-%%Page: 6 12
-TeXDict begin 6 11 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(6)150 299
-y Fk(3.1.2)63 b(Quoting)150 446 y Fu(Quoting)32 b(is)h(used)e(to)i
-(remo)m(v)m(e)h(the)e(sp)s(ecial)h(meaning)f(of)h(certain)g(c)m
-(haracters)g(or)f(w)m(ords)g(to)h(the)f(shell.)150 555
-y(Quoting)c(can)f(b)s(e)g(used)f(to)j(disable)e(sp)s(ecial)h(treatmen)m
-(t)h(for)e(sp)s(ecial)h(c)m(haracters,)i(to)e(prev)m(en)m(t)g(reserv)m
-(ed)150 665 y(w)m(ords)i(from)g(b)s(eing)g(recognized)h(as)g(suc)m(h,)f
-(and)g(to)h(prev)m(en)m(t)g(parameter)g(expansion.)275
-810 y(Eac)m(h)22 b(of)g(the)g(shell)g(metac)m(haracters)i(\(see)f
-(Chapter)e(2)i([De\014nitions],)h(page)f(3\))g(has)e(sp)s(ecial)i
-(meaning)150 920 y(to)31 b(the)g(shell)f(and)g(m)m(ust)g(b)s(e)g
-(quoted)h(if)f(it)h(is)f(to)h(represen)m(t)g(itself.)275
-1065 y(When)d(the)i(command)e(history)h(expansion)g(facilities)j(are)d
-(b)s(eing)g(used)f(\(see)i(Section)g(9.3)g([History)150
-1175 y(In)m(teraction],)46 b(page)c(168\),)k(the)c Fr(history)f
-(expansion)g Fu(c)m(haracter,)46 b(usually)41 b(`)p Ft(!)p
-Fu(',)k(m)m(ust)c(b)s(e)g(quoted)g(to)150 1284 y(prev)m(en)m(t)f
-(history)g(expansion.)69 b(See)40 b(Section)h(9.1)g([Bash)f(History)g
-(F)-8 b(acilities],)46 b(page)41 b(165,)i(for)d(more)150
-1394 y(details)31 b(concerning)g(history)f(expansion.)275
-1539 y(There)f(are)i(four)f(quoting)g(mec)m(hanisms:)41
-b(the)31 b Fr(escap)s(e)f(c)m(haracter)p Fu(,)i(single)f(quotes,)g
-(double)f(quotes,)150 1649 y(and)g(dollar-single)i(quotes.)150
-1859 y Fk(3.1.2.1)63 b(Escap)s(e)41 b(Character)150 2006
-y Fu(A)36 b(non-quoted)f(bac)m(kslash)h(`)p Ft(\\)p Fu(')g(is)f(the)h
-(Bash)g(escap)s(e)f(c)m(haracter.)58 b(It)36 b(preserv)m(es)f(the)h
-(literal)h(v)-5 b(alue)36 b(of)150 2115 y(the)29 b(next)f(c)m(haracter)
-i(that)f(follo)m(ws,)i(remo)m(ving)e(an)m(y)g(sp)s(ecial)g(meaning)f
-(it)h(has,)g(with)f(the)h(exception)h(of)150 2225 y Ft(newline)p
-Fu(.)39 b(If)29 b(a)i Ft(\\newline)d Fu(pair)i(app)s(ears,)f(and)h(the)
-g(bac)m(kslash)h(itself)g(is)f(not)g(quoted,)h(the)f
-Ft(\\newline)150 2335 y Fu(is)c(treated)i(as)e(a)h(line)f(con)m(tin)m
-(uation)i(\(that)g(is,)f(it)g(is)f(remo)m(v)m(ed)h(from)f(the)h(input)e
-(stream)h(and)g(e\013ectiv)m(ely)150 2444 y(ignored\).)150
-2654 y Fk(3.1.2.2)63 b(Single)42 b(Quotes)150 2801 y
-Fu(Enclosing)24 b(c)m(haracters)h(in)e(single)h(quotes)g(\(`)p
-Ft(')p Fu('\))g(preserv)m(es)g(the)f(literal)i(v)-5 b(alue)24
-b(of)g(eac)m(h)g(c)m(haracter)h(within)150 2911 y(the)31
-b(quotes.)42 b(A)31 b(single)h(quote)f(ma)m(y)g(not)g(o)s(ccur)g(b)s
-(et)m(w)m(een)g(single)h(quotes,)f(ev)m(en)h(when)d(preceded)i(b)m(y)g
-(a)150 3020 y(bac)m(kslash.)150 3230 y Fk(3.1.2.3)63
-b(Double)42 b(Quotes)150 3377 y Fu(Enclosing)24 b(c)m(haracters)h(in)f
-(double)f(quotes)h(\(`)p Ft(")p Fu('\))g(preserv)m(es)g(the)g(literal)h
-(v)-5 b(alue)24 b(of)g(all)g(c)m(haracters)h(within)150
-3487 y(the)34 b(quotes,)h(with)f(the)g(exception)h(of)f(`)p
-Ft($)p Fu(',)h(`)p Ft(`)p Fu(',)g(`)p Ft(\\)p Fu(',)g(and,)f(when)f
-(history)g(expansion)h(is)g(enabled,)h(`)p Ft(!)p Fu('.)150
-3597 y(When)c(the)g(shell)g(is)g(in)f Fm(posix)h Fu(mo)s(de)f(\(see)i
-(Section)g(6.11)g([Bash)f(POSIX)f(Mo)s(de],)i(page)g(115\),)h(the)e(`)p
-Ft(!)p Fu(')150 3706 y(has)d(no)g(sp)s(ecial)h(meaning)g(within)f
-(double)g(quotes,)h(ev)m(en)g(when)f(history)g(expansion)g(is)g
-(enabled.)40 b(The)150 3816 y(c)m(haracters)22 b(`)p
-Ft($)p Fu(')f(and)g(`)p Ft(`)p Fu(')g(retain)g(their)g(sp)s(ecial)h
-(meaning)f(within)f(double)h(quotes)g(\(see)h(Section)g(3.5)g([Shell)
-150 3925 y(Expansions],)k(page)g(24\).)40 b(The)25 b(bac)m(kslash)h
-(retains)g(its)f(sp)s(ecial)h(meaning)g(only)f(when)g(follo)m(w)m(ed)h
-(b)m(y)g(one)150 4035 y(of)k(the)g(follo)m(wing)i(c)m(haracters:)42
-b(`)p Ft($)p Fu(',)30 b(`)p Ft(`)p Fu(',)h(`)p Ft(")p
-Fu(',)f(`)p Ft(\\)p Fu(',)h(or)f Ft(newline)p Fu(.)38
-b(Within)31 b(double)e(quotes,)i(bac)m(kslashes)150 4144
-y(that)e(are)h(follo)m(w)m(ed)g(b)m(y)f(one)g(of)g(these)g(c)m
-(haracters)i(are)e(remo)m(v)m(ed.)41 b(Bac)m(kslashes)31
-b(preceding)d(c)m(haracters)150 4254 y(without)i(a)h(sp)s(ecial)g
-(meaning)g(are)g(left)g(unmo)s(di\014ed.)275 4399 y(A)i(double)g(quote)
-h(ma)m(y)g(b)s(e)f(quoted)g(within)g(double)g(quotes)h(b)m(y)f
-(preceding)g(it)h(with)f(a)h(bac)m(kslash.)150 4509 y(If)c(enabled,)h
-(history)f(expansion)g(will)h(b)s(e)f(p)s(erformed)e(unless)i(an)g(`)p
-Ft(!)p Fu(')h(app)s(earing)f(in)g(double)g(quotes)h(is)150
-4619 y(escap)s(ed)f(using)g(a)h(bac)m(kslash.)41 b(The)30
-b(bac)m(kslash)h(preceding)g(the)f(`)p Ft(!)p Fu(')h(is)f(not)h(remo)m
-(v)m(ed.)275 4764 y(The)41 b(sp)s(ecial)h(parameters)f(`)p
-Ft(*)p Fu(')h(and)f(`)p Ft(@)p Fu(')h(ha)m(v)m(e)g(sp)s(ecial)g
-(meaning)g(when)f(in)g(double)g(quotes)h(\(see)150 4873
-y(Section)31 b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h
-(27\).)150 5083 y Fk(3.1.2.4)63 b(ANSI-C)40 b(Quoting)150
-5230 y Fu(Character)33 b(sequences)h(of)f(the)g(form)g
-Ft($')p Fj(string)p Ft(')d Fu(are)k(treated)g(as)f(a)g(sp)s(ecial)h
-(kind)e(of)h(single)h(quotes.)150 5340 y(The)k(sequence)i(expands)e(to)
-i Fr(string)p Fu(,)h(with)e(bac)m(kslash-escap)s(ed)h(c)m(haracters)g
-(in)f Fr(string)46 b Fu(replaced)40 b(as)p eop end
-%%Page: 7 13
-TeXDict begin 7 12 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(7)150 299
-y(sp)s(eci\014ed)32 b(b)m(y)h(the)g(ANSI)f(C)h(standard.)47
-b(Bac)m(kslash)34 b(escap)s(e)g(sequences,)g(if)e(presen)m(t,)i(are)f
-(deco)s(ded)g(as)150 408 y(follo)m(ws:)150 573 y Ft(\\a)384
-b Fu(alert)31 b(\(b)s(ell\))150 736 y Ft(\\b)384 b Fu(bac)m(kspace)150
-899 y Ft(\\e)150 1009 y(\\E)g Fu(An)30 b(escap)s(e)h(c)m(haracter)h
-(\(not)f(in)f(ANSI)g(C\).)150 1172 y Ft(\\f)384 b Fu(form)30
-b(feed)150 1335 y Ft(\\n)384 b Fu(newline)150 1498 y
-Ft(\\r)g Fu(carriage)32 b(return)150 1661 y Ft(\\t)384
-b Fu(horizon)m(tal)32 b(tab)150 1824 y Ft(\\v)384 b Fu(v)m(ertical)32
-b(tab)150 1987 y Ft(\\\\)384 b Fu(bac)m(kslash)150 2150
-y Ft(\\')g Fu(single)31 b(quote)150 2313 y Ft(\\")384
-b Fu(double)30 b(quote)150 2476 y Ft(\\?)384 b Fu(question)31
-b(mark)150 2639 y Ft(\\)p Fj(nnn)288 b Fu(The)33 b(eigh)m(t-bit)i(c)m
-(haracter)g(whose)e(v)-5 b(alue)33 b(is)h(the)f(o)s(ctal)i(v)-5
-b(alue)34 b Fr(nnn)d Fu(\(one)j(to)g(three)g(o)s(ctal)630
-2749 y(digits\).)150 2912 y Ft(\\x)p Fj(HH)288 b Fu(The)33
-b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5 b(alue)34
-b(is)f(the)h(hexadecimal)g(v)-5 b(alue)34 b Fr(HH)43
-b Fu(\(one)34 b(or)g(t)m(w)m(o)630 3021 y(hex)c(digits\).)150
-3184 y Ft(\\u)p Fj(HHHH)192 b Fu(The)29 b(Unico)s(de)h(\(ISO/IEC)e
-(10646\))k(c)m(haracter)f(whose)f(v)-5 b(alue)30 b(is)f(the)h
-(hexadecimal)g(v)-5 b(alue)630 3294 y Fr(HHHH)41 b Fu(\(one)31
-b(to)g(four)f(hex)g(digits\).)150 3457 y Ft(\\U)p Fj(HHHHHHHH)630
-3566 y Fu(The)f(Unico)s(de)h(\(ISO/IEC)e(10646\))k(c)m(haracter)f
-(whose)f(v)-5 b(alue)30 b(is)f(the)h(hexadecimal)g(v)-5
-b(alue)630 3676 y Fr(HHHHHHHH)42 b Fu(\(one)31 b(to)g(eigh)m(t)g(hex)g
-(digits\).)150 3839 y Ft(\\c)p Fj(x)336 b Fu(A)30 b(con)m(trol-)p
-Fr(x)39 b Fu(c)m(haracter.)150 4004 y(The)30 b(expanded)f(result)i(is)f
-(single-quoted,)i(as)f(if)f(the)g(dollar)h(sign)g(had)e(not)i(b)s(een)f
-(presen)m(t.)150 4207 y Fk(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41
-b(T)-10 b(ranslation)150 4354 y Fu(Pre\014xing)38 b(a)h(double-quoted)g
-(string)f(with)g(a)h(dollar)g(sign)g(\(`)p Ft($)p Fu('\),)j(suc)m(h)c
-(as)h Ft($"hello,)45 b(world")p Fu(,)40 b(will)150 4463
-y(cause)k(the)f(string)g(to)h(b)s(e)f(translated)g(according)i(to)e
-(the)h(curren)m(t)f(lo)s(cale.)80 b(The)43 b Ft(gettext)e
-Fu(infras-)150 4573 y(tructure)j(p)s(erforms)e(the)i(lo)s(okup)g(and)f
-(translation,)48 b(using)c(the)g Ft(LC_MESSAGES)p Fu(,)g
-Ft(TEXTDOMAINDIR)p Fu(,)150 4682 y(and)c Ft(TEXTDOMAIN)e
-Fu(shell)j(v)-5 b(ariables,)44 b(as)d(explained)f(b)s(elo)m(w.)72
-b(See)41 b(the)g(gettext)i(do)s(cumen)m(tation)e(for)150
-4792 y(additional)28 b(details)f(not)g(co)m(v)m(ered)i(here.)39
-b(If)26 b(the)h(curren)m(t)g(lo)s(cale)h(is)f Ft(C)f
-Fu(or)h Ft(POSIX)p Fu(,)g(if)f(there)h(are)g(no)g(trans-)150
-4902 y(lations)k(a)m(v)-5 b(ailable,)32 b(or)d(if)h(the)f(string)h(is)f
-(not)h(translated,)h(the)e(dollar)h(sign)g(is)f(ignored,)h(and)f(the)h
-(string)150 5011 y(is)h(treated)h(as)f(double-quoted)g(as)g(describ)s
-(ed)e(ab)s(o)m(v)m(e.)44 b(Since)31 b(this)f(is)h(a)g(form)g(of)g
-(double)f(quoting,)i(the)150 5121 y(string)25 b(remains)g
-(double-quoted)g(b)m(y)g(default,)h(whether)f(or)g(not)g(it)h(is)f
-(translated)g(and)g(replaced.)39 b(If)25 b(the)150 5230
-y Ft(noexpand_translation)30 b Fu(option)35 b(is)g(enabled)g(using)g
-(the)g Ft(shopt)f Fu(builtin)g(\(see)i(Section)g(4.3.2)h([The)150
-5340 y(Shopt)30 b(Builtin],)h(page)g(77\),)h(translated)f(strings)f
-(are)h(single-quoted)g(instead)g(of)g(double-quoted.)p
-eop end
-%%Page: 8 14
-TeXDict begin 8 13 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(8)275 299
-y(The)39 b(rest)i(of)g(this)f(section)h(is)g(a)g(brief)f(o)m(v)m
-(erview)i(of)e(ho)m(w)h(y)m(ou)f(use)g(gettext)j(to)e(create)h
-(transla-)150 408 y(tions)33 b(for)f(strings)g(in)g(a)h(shell)f(script)
-h(named)f Fr(scriptname)p Fu(.)46 b(There)32 b(are)h(more)g(details)g
-(in)f(the)h(gettext)150 518 y(do)s(cumen)m(tation.)275
-650 y(Once)d(y)m(ou'v)m(e)h(mark)m(ed)g(the)f(strings)g(in)g(y)m(our)g
-(script)g(that)h(y)m(ou)f(w)m(an)m(t)h(to)g(translate)h(using)d($)p
-Ft(")6 b Fu(.)22 b(.)h(.)11 b Ft(")p Fu(,)150 759 y(y)m(ou)31
-b(create)h(a)e(gettext)j Ft(")p Fu(template)p Ft(")e
-Fu(\014le)g(using)f(the)g(command)390 891 y Ft(bash)47
-b(--dump-po-strings)c Fj(scriptname)i Ft(>)i Fj(domain)p
-Ft(.pot)150 1022 y Fu(The)36 b Fr(domain)g Fu(is)g(y)m(our)h
-Fr(message)g(domain)p Fu(.)58 b(It's)37 b(just)e(an)i(arbitrary)f
-(string)g(that's)h(used)e(to)i(iden)m(tify)150 1132 y(the)32
-b(\014les)g(gettext)i(needs,)f(lik)m(e)g(a)f(pac)m(k)-5
-b(age)35 b(or)d(script)f(name.)46 b(It)32 b(needs)g(to)h(b)s(e)e
-(unique)g(among)i(all)g(the)150 1241 y(message)41 b(domains)f(on)f
-(systems)h(where)g(y)m(ou)g(install)h(the)f(translations,)j(so)d
-(gettext)i(kno)m(ws)e(whic)m(h)150 1351 y(translations)27
-b(corresp)s(ond)e(to)i(y)m(our)f(script.)39 b(Y)-8 b(ou'll)28
-b(use)d(the)i(template)g(\014le)g(to)f(create)i(translations)f(for)150
-1461 y(eac)m(h)32 b(target)f(language.)43 b(The)29 b(template)j(\014le)
-f(con)m(v)m(en)m(tionally)i(has)d(the)h(su\016x)e(`)p
-Ft(.pot)p Fu('.)275 1592 y(Y)-8 b(ou)23 b(cop)m(y)g(this)g(template)h
-(\014le)f(to)h(a)f(separate)h(\014le)f(for)g(eac)m(h)h(target)g
-(language)g(y)m(ou)f(w)m(an)m(t)h(to)g(supp)s(ort)150
-1702 y(\(called)39 b Ft(")p Fu(PO)p Ft(")e Fu(\014les,)i(whic)m(h)f
-(use)f(the)h(su\016x)e(`)p Ft(.po)p Fu('\).)63 b(PO)37
-b(\014les)g(use)h(v)-5 b(arious)37 b(naming)h(con)m(v)m(en)m(tions,)150
-1811 y(but)31 b(when)g(y)m(ou)i(are)f(w)m(orking)g(to)h(translate)g(a)f
-(template)i(\014le)e(in)m(to)h(a)f(particular)g(language,)i(y)m(ou)f
-(\014rst)150 1921 y(cop)m(y)k(the)g(template)h(\014le)e(to)h(a)g
-(\014le)f(whose)h(name)f(is)g(the)h(language)h(y)m(ou)f(w)m(an)m(t)g
-(to)g(target,)j(with)c(the)150 2030 y(`)p Ft(.po)p Fu(')29
-b(su\016x.)39 b(F)-8 b(or)30 b(instance,)g(the)f(Spanish)f
-(translations)i(of)f(y)m(our)g(strings)g(w)m(ould)g(b)s(e)f(in)h(a)g
-(\014le)g(named)150 2140 y(`)p Ft(es.po)p Fu(',)h(and)f(to)j(get)f
-(started)g(using)f(a)h(message)g(domain)f(named)g Ft(")p
-Fu(example,)p Ft(")h Fu(y)m(ou)g(w)m(ould)f(run)390 2271
-y Ft(cp)47 b(example.pot)e(es.po)150 2403 y Fu(Ultimately)-8
-b(,)42 b(PO)37 b(\014les)g(are)h(often)g(named)f Fr(domain)p
-Fu(.p)s(o)g(and)g(installed)h(in)f(directories)i(that)f(con)m(tain)150
-2513 y(m)m(ultiple)31 b(translation)g(\014les)g(for)f(a)h(particular)f
-(language.)275 2644 y(Whic)m(hev)m(er)k(naming)f(con)m(v)m(en)m(tion)i
-(y)m(ou)e(c)m(ho)s(ose,)i(y)m(ou)e(will)g(need)g(to)g(translate)h(the)f
-(strings)g(in)g(the)150 2754 y(PO)d(\014les)g(in)m(to)i(the)e
-(appropriate)h(languages.)42 b(This)29 b(has)h(to)h(b)s(e)f(done)g(man)
-m(ually)-8 b(.)275 2885 y(When)35 b(y)m(ou)h(ha)m(v)m(e)g(the)g
-(translations)g(and)f(PO)g(\014les)g(complete,)k(y)m(ou'll)d(use)g(the)
-f(gettext)j(to)s(ols)e(to)150 2995 y(pro)s(duce)26 b(what)g(are)i
-(called)g Ft(")p Fu(MO)p Ft(")e Fu(\014les,)i(whic)m(h)e(are)h
-(compiled)h(v)m(ersions)f(of)g(the)g(PO)f(\014les)h(the)g(gettext)150
-3104 y(to)s(ols)42 b(use)f(to)h(lo)s(ok)g(up)e(translations)j
-(e\016cien)m(tly)-8 b(.)75 b(MO)42 b(\014les)f(are)g(also)i(called)f
-Ft(")p Fu(message)g(catalog)p Ft(")150 3214 y Fu(\014les.)k(Y)-8
-b(ou)33 b(use)f(the)g Ft(msgfmt)f Fu(program)h(to)h(do)f(this.)46
-b(F)-8 b(or)33 b(instance,)g(if)f(y)m(ou)h(had)f(a)g(\014le)h(with)e
-(Spanish)150 3324 y(translations,)g(y)m(ou)g(could)g(run)390
-3455 y Ft(msgfmt)46 b(-o)h(es.mo)g(es.po)150 3587 y Fu(to)31
-b(pro)s(duce)e(the)i(corresp)s(onding)e(MO)i(\014le.)275
-3718 y(Once)21 b(y)m(ou)h(ha)m(v)m(e)i(the)e(MO)f(\014les,)j(y)m(ou)e
-(decide)g(where)g(to)g(install)h(them)f(and)f(use)h(the)g
-Ft(TEXTDOMAINDIR)150 3828 y Fu(shell)32 b(v)-5 b(ariable)33
-b(to)g(tell)h(the)e(gettext)i(to)s(ols)f(where)f(they)g(are.)47
-b(Mak)m(e)34 b(sure)d(to)i(use)f(the)g(same)h(message)150
-3937 y(domain)d(to)h(name)g(the)f(MO)h(\014les)f(as)h(y)m(ou)f(did)g
-(for)g(the)h(PO)e(\014les)i(when)e(y)m(ou)i(install)g(them.)275
-4069 y(Y)-8 b(our)21 b(users)f(will)h(use)g(the)g Ft(LANG)f
-Fu(or)h Ft(LC_MESSAGES)d Fu(shell)j(v)-5 b(ariables)21
-b(to)h(select)h(the)e(desired)f(language.)275 4200 y(Y)-8
-b(ou)29 b(set)g(the)g Ft(TEXTDOMAIN)d Fu(v)-5 b(ariable)30
-b(to)f(the)g(script's)g(message)h(domain.)40 b(As)29
-b(ab)s(o)m(v)m(e,)h(y)m(ou)f(use)g(the)150 4310 y(message)i(domain)g
-(to)g(name)f(y)m(our)h(translation)g(\014les.)275 4441
-y(Y)-8 b(ou,)31 b(or)g(p)s(ossibly)f(y)m(our)g(users,)h(set)g(the)g
-Ft(TEXTDOMAINDIR)c Fu(v)-5 b(ariable)31 b(to)h(the)f(name)f(of)h(a)g
-(directory)150 4551 y(where)d(the)h(message)h(catalog)i(\014les)d(are)g
-(stored.)40 b(If)28 b(y)m(ou)i(install)f(the)g(message)h(\014les)f(in)m
-(to)h(the)f(system's)150 4661 y(standard)h(message)h(catalog)i
-(directory)-8 b(,)32 b(y)m(ou)e(don't)h(need)f(to)h(w)m(orry)f(ab)s
-(out)g(this)g(v)-5 b(ariable.)275 4792 y(The)31 b(directory)h(where)g
-(the)g(message)h(catalog)h(\014les)e(are)g(stored)g(v)-5
-b(aries)32 b(b)s(et)m(w)m(een)h(systems.)45 b(Some)150
-4902 y(use)24 b(the)h(message)g(catalog)j(selected)e(b)m(y)e(the)h
-Ft(LC_MESSAGES)c Fu(shell)k(v)-5 b(ariable.)39 b(Others)24
-b(create)i(the)f(name)150 5011 y(of)i(the)h(message)g(catalog)i(from)d
-(the)g(v)-5 b(alue)27 b(of)h(the)f Ft(TEXTDOMAIN)e Fu(shell)i(v)-5
-b(ariable,)29 b(p)s(ossibly)d(adding)h(the)150 5121 y(`)p
-Ft(.mo)p Fu(')32 b(su\016x.)47 b(If)33 b(y)m(ou)g(use)f(the)h
-Ft(TEXTDOMAIN)d Fu(v)-5 b(ariable,)35 b(y)m(ou)e(ma)m(y)g(need)g(to)g
-(set)h(the)f Ft(TEXTDOMAINDIR)150 5230 y Fu(v)-5 b(ariable)26
-b(to)g(the)g(lo)s(cation)h(of)e(the)h(message)h(catalog)h(\014les,)e
-(as)g(ab)s(o)m(v)m(e.)40 b(It's)26 b(common)g(to)g(use)f(b)s(oth)f(v)-5
-b(ari-)150 5340 y(ables)31 b(in)f(this)g(fashion:)41
-b Ft($TEXTDOMAINDIR)p Fu(/)p Ft($LC_MESSAG)o(ES)p Fu(/LC)p
-2474 5340 28 4 v 34 w(MESSA)m(GES/)p Ft($TEXTDOMAIN)p
-Fu(.mo.)p eop end
-%%Page: 9 15
-TeXDict begin 9 14 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299
-y(If)43 b(y)m(ou)h(used)f(that)h(last)g(con)m(v)m(en)m(tion,)50
-b(and)43 b(y)m(ou)h(w)m(an)m(ted)g(to)h(store)f(the)g(message)h
-(catalog)h(\014les)150 408 y(with)28 b(Spanish)f(\(es\))i(and)f(Esp)s
-(eran)m(to)h(\(eo\))g(translations)h(in)m(to)f(a)g(lo)s(cal)h
-(directory)f(y)m(ou)f(use)g(for)h(custom)150 518 y(translation)i
-(\014les,)g(y)m(ou)g(could)f(run)390 649 y Ft(TEXTDOMAIN=example)390
-758 y(TEXTDOMAINDIR=/usr/local)o(/sha)o(re/l)o(oca)o(le)390
-977 y(cp)47 b(es.mo)g(${TEXTDOMAINDIR}/es/LC_)o(MES)o(SAGE)o(S/${)o
-(TEX)o(TDOM)o(AIN})o(.mo)390 1087 y(cp)g(eo.mo)g
-(${TEXTDOMAINDIR}/eo/LC_)o(MES)o(SAGE)o(S/${)o(TEX)o(TDOM)o(AIN})o(.mo)
-275 1218 y Fu(When)30 b(all)i(of)f(this)f(is)h(done,)g(and)f(the)h
-(message)h(catalog)h(\014les)e(con)m(taining)h(the)f(compiled)g
-(transla-)150 1327 y(tions)c(are)g(installed)h(in)e(the)h(correct)h(lo)
-s(cation,)h(y)m(our)e(users)f(will)h(b)s(e)f(able)h(to)h(see)f
-(translated)h(strings)e(in)150 1437 y(an)m(y)k(of)f(the)h(supp)s(orted)
-d(languages)k(b)m(y)e(setting)h(the)g Ft(LANG)e Fu(or)h
-Ft(LC_MESSAGES)d Fu(en)m(vironmen)m(t)k(v)-5 b(ariables)150
-1546 y(b)s(efore)30 b(running)f(y)m(our)h(script.)150
-1738 y Fk(3.1.3)63 b(Commen)m(ts)150 1885 y Fu(In)21
-b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m(teractiv)m(e)j
-(shell)d(in)g(whic)m(h)g(the)g Ft(interactive_comments)16
-b Fu(option)150 1995 y(to)40 b(the)f Ft(shopt)e Fu(builtin)h(is)h
-(enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e
-(77\),)i(a)d(w)m(ord)150 2104 y(b)s(eginning)33 b(with)g(`)p
-Ft(#)p Fu(')h(in)m(tro)s(duces)f(a)h(commen)m(t.)52 b(A)33
-b(w)m(ord)h(b)s(egins)f(at)h(the)g(b)s(eginning)f(of)g(a)h(line,)h
-(after)150 2214 y(unquoted)20 b(whitespace,)j(or)e(after)g(an)g(op)s
-(erator.)38 b(The)20 b(commen)m(t)i(causes)f(that)g(w)m(ord)f(and)g
-(all)i(remaining)150 2323 y(c)m(haracters)47 b(on)e(that)g(line)h(to)g
-(b)s(e)e(ignored.)86 b(An)44 b(in)m(teractiv)m(e)k(shell)e(without)f
-(the)g Ft(interactive_)150 2433 y(comments)27 b Fu(option)j(enabled)g
-(do)s(es)f(not)h(allo)m(w)h(commen)m(ts.)41 b(The)29
-b Ft(interactive_comments)24 b Fu(option)30 b(is)150
-2542 y(enabled)g(b)m(y)g(default)h(in)f(in)m(teractiv)m(e)j(shells.)41
-b(See)30 b(Section)i(6.3)f([In)m(teractiv)m(e)i(Shells],)e(page)g(103,)
-g(for)g(a)150 2652 y(description)f(of)h(what)f(mak)m(es)h(a)g(shell)g
-(in)m(teractiv)m(e.)150 2885 y Fs(3.2)68 b(Shell)45 b(Commands)150
-3045 y Fu(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g
-Ft(echo)29 b(a)h(b)g(c)41 b Fu(consists)i(of)f(the)f(command)h(itself)h
-(follo)m(w)m(ed)g(b)m(y)150 3154 y(argumen)m(ts,)31 b(separated)g(b)m
-(y)f(spaces.)275 3285 y(More)h(complex)h(shell)f(commands)g(are)g(comp)
-s(osed)g(of)g(simple)g(commands)g(arranged)g(together)h(in)150
-3394 y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41
-b(in)31 b(a)g(pip)s(eline)f(in)g(whic)m(h)g(the)h(output)f(of)h(one)f
-(command)h(b)s(ecomes)f(the)h(input)f(of)150 3504 y(a)h(second,)f(in)h
-(a)f(lo)s(op)h(or)f(conditional)i(construct,)f(or)f(in)g(some)h(other)g
-(grouping.)150 3695 y Fk(3.2.1)63 b(Reserv)m(ed)40 b(W)-10
-b(ords)150 3842 y Fu(Reserv)m(ed)33 b(w)m(ords)g(are)g(w)m(ords)g(that)
-g(ha)m(v)m(e)h(sp)s(ecial)g(meaning)f(to)h(the)f(shell.)49
-b(They)32 b(are)h(used)g(to)g(b)s(egin)150 3952 y(and)d(end)f(the)i
-(shell's)g(comp)s(ound)e(commands.)275 4083 y(The)k(follo)m(wing)i(w)m
-(ords)e(are)h(recognized)i(as)e(reserv)m(ed)f(when)g(unquoted)g(and)g
-(the)h(\014rst)f(w)m(ord)h(of)g(a)150 4192 y(command)c(\(see)h(b)s(elo)
-m(w)g(for)f(exceptions\):)150 4323 y Ft(if)364 b(then)168
-b(elif)g(else)g(fi)336 b(time)150 4432 y(for)316 b(in)264
-b(until)120 b(while)g(do)336 b(done)150 4542 y(case)268
-b(esac)168 b(coproc)72 b(select)g(function)150 4652 y({)412
-b(})312 b([[)264 b(]])g(!)150 4782 y(in)33 b Fu(is)h(recognized)h(as)f
-(a)g(reserv)m(ed)f(w)m(ord)h(if)f(it)h(is)g(the)g(third)f(w)m(ord)g(of)
-h(a)g Ft(case)e Fu(or)i Ft(select)e Fu(command.)150 4892
-y Ft(in)e Fu(and)g Ft(do)f Fu(are)i(recognized)h(as)e(reserv)m(ed)h(w)m
-(ords)f(if)g(they)h(are)f(the)h(third)f(w)m(ord)g(in)g(a)g
-Ft(for)g Fu(command.)150 5083 y Fk(3.2.2)63 b(Simple)41
-b(Commands)150 5230 y Fu(A)20 b(simple)h(command)f(is)g(the)h(kind)e
-(of)i(command)f(that's)h(executed)g(most)g(often.)38
-b(It's)20 b(just)g(a)h(sequence)g(of)150 5340 y(w)m(ords)h(separated)i
-(b)m(y)e Ft(blank)p Fu(s,)i(terminated)f(b)m(y)g(one)g(of)g(the)g
-(shell's)g(con)m(trol)h(op)s(erators)f(\(see)h(Chapter)f(2)p
-eop end
-%%Page: 10 16
-TeXDict begin 10 15 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(10)150 299
-y([De\014nitions],)37 b(page)e(3\).)54 b(The)35 b(\014rst)e(w)m(ord)i
-(generally)g(sp)s(eci\014es)g(a)g(command)f(to)h(b)s(e)f(executed,)j
-(with)150 408 y(the)31 b(rest)f(of)h(the)f(w)m(ords)g(b)s(eing)g(that)h
-(command's)f(argumen)m(ts.)275 549 y(The)h(return)h(status)g(\(see)i
-(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(47\))g(of)g(a)g(simple)f
-(command)g(is)h(its)150 658 y(exit)38 b(status)f(as)g(pro)m(vided)f(b)m
-(y)h(the)g Fm(posix)f Fu(1003.1)j Ft(waitpid)c Fu(function,)j(or)f(128)
-p Ft(+)p Fr(n)g Fu(if)g(the)g(command)150 768 y(w)m(as)31
-b(terminated)g(b)m(y)f(signal)h Fr(n)p Fu(.)150 973 y
-Fk(3.2.3)63 b(Pip)s(elines)150 1120 y Fu(A)21 b Ft(pipeline)d
-Fu(is)j(a)g(sequence)g(of)g(one)g(or)g(more)g(commands)f(separated)h(b)
-m(y)g(one)g(of)g(the)g(con)m(trol)h(op)s(erators)150
-1229 y(`)p Ft(|)p Fu(')31 b(or)f(`)p Ft(|&)p Fu('.)275
-1369 y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390
-1510 y Ft([time)46 b([-p]])h([!])g Fj(command1)e Ft([)j(|)f(or)g(|&)g
-Fj(command2)f Ft(])h(...)150 1650 y Fu(The)25 b(output)f(of)i(eac)m(h)g
-(command)f(in)f(the)i(pip)s(eline)e(is)i(connected)g(via)f(a)h(pip)s(e)
-e(to)i(the)f(input)f(of)h(the)h(next)150 1759 y(command.)40
-b(That)29 b(is,)h(eac)m(h)h(command)e(reads)g(the)h(previous)f
-(command's)g(output.)40 b(This)29 b(connection)150 1869
-y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h(redirections)g(sp)s
-(eci\014ed)f(b)m(y)g Fr(command1)p Fu(.)275 2009 y(If)h(`)p
-Ft(|&)p Fu(')h(is)g(the)g(pip)s(eline)f(op)s(erator,)i
-Fr(command1)7 b Fu('s)32 b(standard)f(error,)h(in)g(addition)g(to)h
-(its)f(standard)150 2119 y(output,)j(is)f(connected)i(to)f
-Fr(command2)7 b Fu('s)35 b(standard)e(input)g(through)h(the)g(pip)s(e;)
-i(it)f(is)f(shorthand)f(for)150 2228 y Ft(2>&1)c(|)p
-Fu(.)40 b(This)26 b(implicit)j(redirection)f(of)g(the)g(standard)f
-(error)g(to)h(the)g(standard)f(output)g(is)g(p)s(erformed)150
-2338 y(after)k(an)m(y)g(redirections)g(sp)s(eci\014ed)e(b)m(y)h
-Fr(command1)p Fu(,)h(consisten)m(t)h(with)e(that)h(shorthand.)275
-2478 y(If)38 b(the)i(reserv)m(ed)g(w)m(ord)f Ft(time)f
-Fu(precedes)h(the)h(pip)s(eline,)h(Bash)f(prin)m(ts)e(timing)i
-(statistics)i(for)d(the)150 2588 y(pip)s(eline)d(once)h(it)g
-(\014nishes.)58 b(The)36 b(statistics)i(curren)m(tly)f(consist)g(of)g
-(elapsed)f(\(w)m(all-clo)s(c)m(k\))k(time)e(and)150 2697
-y(user)33 b(and)f(system)i(time)g(consumed)e(b)m(y)i(the)f(command's)g
-(execution.)51 b(The)33 b Ft(-p)g Fu(option)g(c)m(hanges)i(the)150
-2807 y(output)24 b(format)h(to)g(that)g(sp)s(eci\014ed)f(b)m(y)g
-Fm(posix)p Fu(.)38 b(When)24 b(the)h(shell)f(is)h(in)f
-Fm(posix)g Fu(mo)s(de)g(\(see)h(Section)g(6.11)150 2916
-y([Bash)33 b(POSIX)f(Mo)s(de],)i(page)f(115\),)i(it)e(do)s(es)g(not)f
-(recognize)j Ft(time)c Fu(as)i(a)g(reserv)m(ed)g(w)m(ord)f(if)h(the)g
-(next)150 3026 y(tok)m(en)22 b(b)s(egins)e(with)h(a)g(`)p
-Ft(-)p Fu('.)38 b(The)20 b(v)-5 b(alue)22 b(of)f(the)g
-Ft(TIMEFORMAT)d Fu(v)-5 b(ariable)22 b(is)e(a)i(format)f(string)g(that)
-g(sp)s(eci\014es)150 3136 y(ho)m(w)29 b(the)f(timing)h(information)g
-(should)f(b)s(e)g(displa)m(y)m(ed.)40 b(See)29 b(Section)g(5.2)h([Bash)
-f(V)-8 b(ariables],)31 b(page)e(86,)150 3245 y(for)34
-b(a)g(description)g(of)g(the)g(a)m(v)-5 b(ailable)37
-b(formats.)51 b(Pro)m(viding)35 b Ft(time)d Fu(as)j(a)f(reserv)m(ed)g
-(w)m(ord)g(p)s(ermits)f(the)150 3355 y(timing)g(of)g(shell)f(builtins,)
-h(shell)f(functions,)h(and)f(pip)s(elines.)46 b(An)32
-b(external)i Ft(time)d Fu(command)h(cannot)150 3464 y(time)f(these)g
-(easily)-8 b(.)275 3604 y(When)30 b(the)g(shell)g(is)h(in)f
-Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)e(POSIX)g(Mo)s
-(de],)g(page)h(115\),)i(y)m(ou)150 3714 y(can)f(use)g
-Ft(time)f Fu(b)m(y)i(itself)g(as)f(a)h(simple)f(command.)46
-b(In)31 b(this)h(case,)i(the)f(shell)f(displa)m(ys)g(the)h(total)h
-(user)150 3824 y(and)27 b(system)g(time)h(consumed)f(b)m(y)g(the)g
-(shell)h(and)f(its)g(c)m(hildren.)40 b(The)27 b Ft(TIMEFORMAT)d
-Fu(v)-5 b(ariable)28 b(sp)s(eci\014es)150 3933 y(the)j(format)f(of)h
-(the)f(time)h(information.)275 4073 y(If)c(a)h(pip)s(eline)f(is)h(not)f
-(executed)i(async)m(hronously)e(\(see)i(Section)f(3.2.4)i([Lists],)f
-(page)f(11\),)i(the)e(shell)150 4183 y(w)m(aits)j(for)f(all)i(commands)
-e(in)g(the)g(pip)s(eline)g(to)h(complete.)275 4323 y(Eac)m(h)d(command)
-g(in)f(a)i(m)m(ulti-command)f(pip)s(eline,)h(where)e(pip)s(es)g(are)h
-(created,)i(is)e(executed)h(in)f(its)150 4433 y(o)m(wn)h
-Fr(subshell)p Fu(,)f(whic)m(h)h(is)g(a)g(separate)h(pro)s(cess)e(\(see)
-i(Section)g(3.7.3)g([Command)f(Execution)g(En)m(viron-)150
-4542 y(men)m(t],)d(page)e(45\).)40 b(If)23 b(the)h Ft(lastpipe)d
-Fu(option)j(is)g(enabled)g(using)f(the)h Ft(shopt)e Fu(builtin)h(\(see)
-i(Section)f(4.3.2)150 4652 y([The)33 b(Shopt)f(Builtin],)i(page)g
-(77\),)h(and)d(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)j(the)d(last)h
-(elemen)m(t)g(of)f(a)g(pip)s(eline)150 4761 y(ma)m(y)e(b)s(e)f(run)f(b)
-m(y)h(the)g(shell)h(pro)s(cess.)275 4902 y(The)24 b(exit)i(status)f(of)
-h(a)f(pip)s(eline)g(is)g(the)g(exit)h(status)f(of)h(the)f(last)h
-(command)f(in)f(the)i(pip)s(eline,)g(unless)150 5011
-y(the)31 b Ft(pipefail)d Fu(option)j(is)g(enabled)f(\(see)i(Section)f
-(4.3.1)i([The)d(Set)h(Builtin],)g(page)h(72\).)42 b(If)30
-b Ft(pipefail)150 5121 y Fu(is)f(enabled,)g(the)f(pip)s(eline's)g
-(return)g(status)h(is)f(the)h(v)-5 b(alue)29 b(of)f(the)h(last)g
-(\(righ)m(tmost\))i(command)d(to)h(exit)150 5230 y(with)34
-b(a)h(non-zero)g(status,)i(or)d(zero)i(if)e(all)i(commands)e(exit)h
-(successfully)-8 b(.)54 b(If)34 b(the)h(reserv)m(ed)g(w)m(ord)f(`)p
-Ft(!)p Fu(')150 5340 y(precedes)e(the)f(pip)s(eline,)h(the)f(exit)i
-(status)f(is)f(the)h(logical)i(negation)f(of)e(the)h(exit)g(status)g
-(as)g(describ)s(ed)p eop end
-%%Page: 11 17
-TeXDict begin 11 16 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)150 299
-y(ab)s(o)m(v)m(e.)42 b(If)30 b(a)h(pip)s(eline)f(is)h(not)g(executed)g
-(async)m(hronously)f(\(see)i(Section)f(3.2.4)h([Lists],)g(page)f(11\),)
-h(the)150 408 y(shell)39 b(w)m(aits)h(for)f(all)h(commands)e(in)h(the)g
-(pip)s(eline)g(to)g(terminate)h(b)s(efore)f(returning)f(a)h(v)-5
-b(alue.)67 b(The)150 518 y(return)29 b(status)i(of)g(an)f(async)m
-(hronous)g(pip)s(eline)g(is)g(0.)150 734 y Fk(3.2.4)63
-b(Lists)41 b(of)h(Commands)150 881 y Fu(A)37 b Ft(list)e
-Fu(is)i(a)g(sequence)g(of)g(one)g(or)f(more)h(pip)s(elines)f(separated)
-h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`)p Ft(;)p
-Fu(',)i(`)p Ft(&)p Fu(',)150 991 y(`)p Ft(&&)p Fu(',)31
-b(or)f(`)p Ft(||)p Fu(',)g(and)g(optionally)i(terminated)f(b)m(y)f(one)
-h(of)f(`)p Ft(;)p Fu(',)h(`)p Ft(&)p Fu(',)g(or)f(a)h
-Ft(newline)p Fu(.)275 1143 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p
-Ft(&&)p Fu(')d(and)g(`)p Ft(||)p Fu(')h(ha)m(v)m(e)h(equal)f
-(precedence,)i(follo)m(w)m(ed)f(b)m(y)f(`)p Ft(;)p Fu(')g(and)f(`)p
-Ft(&)p Fu(',)i(whic)m(h)150 1252 y(ha)m(v)m(e)32 b(equal)e(precedence.)
-275 1404 y(A)f(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h
-(app)s(ear)f(in)h(a)g Ft(list)e Fu(to)j(delimit)f(commands,)g(equiv-)
-150 1513 y(alen)m(t)i(to)f(a)g(semicolon.)275 1665 y(If)c(a)h(command)f
-(is)h(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p
-Ft(&)p Fu(',)h(the)e(shell)h(executes)h(the)f(command)150
-1775 y(async)m(hronously)g(in)h(a)g(subshell.)39 b(This)28
-b(is)h(kno)m(wn)f(as)h(executing)h(the)f(command)g(in)f(the)h
-Fr(bac)m(kground)p Fu(,)150 1884 y(and)42 b(these)i(are)f(referred)g
-(to)g(as)h Fr(async)m(hronous)i Fu(commands.)78 b(The)43
-b(shell)g(do)s(es)g(not)g(w)m(ait)h(for)f(the)150 1994
-y(command)34 b(to)h(\014nish,)f(and)f(the)h(return)f(status)i(is)f(0)g
-(\(true\).)53 b(When)34 b(job)g(con)m(trol)h(is)f(not)h(activ)m(e)h
-(\(see)150 2103 y(Chapter)27 b(7)h([Job)f(Con)m(trol],)i(page)g(123\),)
-h(the)d(standard)g(input)f(for)i(async)m(hronous)f(commands,)h(in)f
-(the)150 2213 y(absence)k(of)f(an)m(y)h(explicit)h(redirections,)f(is)f
-(redirected)h(from)f Ft(/dev/null)p Fu(.)275 2365 y(Commands)19
-b(separated)j(b)m(y)f(a)g(`)p Ft(;)p Fu(')g(are)h(executed)g(sequen)m
-(tially;)k(the)21 b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150
-2474 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i
-(is)f(the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275
-2626 y Fm(and)g Fu(and)h Fm(or)g Fu(lists)h(are)g(sequences)f(of)h(one)
-g(or)f(more)h(pip)s(elines)e(separated)i(b)m(y)g(the)f(con)m(trol)i(op)
-s(er-)150 2735 y(ators)e(`)p Ft(&&)p Fu(')f(and)g(`)p
-Ft(||)p Fu(',)h(resp)s(ectiv)m(ely)-8 b(.)42 b Fm(and)30
-b Fu(and)f Fm(or)h Fu(lists)h(are)g(executed)g(with)f(left)h(asso)s
-(ciativit)m(y)-8 b(.)275 2887 y(An)30 b Fm(and)f Fu(list)i(has)f(the)h
-(form)390 3039 y Fj(command1)46 b Ft(&&)h Fj(command2)150
-3190 y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
-Fr(command1)38 b Fu(returns)29 b(an)h(exit)h(status)g(of)g(zero)g
-(\(success\).)275 3342 y(An)f Fm(or)f Fu(list)i(has)f(the)h(form)390
-3493 y Fj(command1)46 b Ft(||)h Fj(command2)150 3645
-y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
-Fr(command1)38 b Fu(returns)29 b(a)i(non-zero)g(exit)g(status.)275
-3797 y(The)h(return)g(status)i(of)f Fm(and)f Fu(and)h
-Fm(or)f Fu(lists)i(is)f(the)g(exit)h(status)g(of)f(the)g(last)h
-(command)f(executed)150 3906 y(in)d(the)h(list.)150 4123
-y Fk(3.2.5)63 b(Comp)s(ound)42 b(Commands)150 4270 y
-Fu(Comp)s(ound)29 b(commands)h(are)i(the)f(shell)g(programming)f
-(language)j(constructs.)42 b(Eac)m(h)32 b(construct)f(b)s(e-)150
-4379 y(gins)25 b(with)f(a)i(reserv)m(ed)f(w)m(ord)f(or)h(con)m(trol)h
-(op)s(erator)f(and)g(is)g(terminated)g(b)m(y)g(a)g(corresp)s(onding)f
-(reserv)m(ed)150 4489 y(w)m(ord)i(or)g(op)s(erator.)40
-b(An)m(y)26 b(redirections)g(\(see)i(Section)f(3.6)g([Redirections],)h
-(page)f(40\))h(asso)s(ciated)f(with)150 4598 y(a)k(comp)s(ound)f
-(command)h(apply)f(to)i(all)g(commands)f(within)f(that)i(comp)s(ound)d
-(command)i(unless)f(ex-)150 4708 y(plicitly)i(o)m(v)m(erridden.)275
-4860 y(In)20 b(most)h(cases)g(a)g(list)h(of)f(commands)f(in)g(a)h(comp)
-s(ound)f(command's)g(description)h(ma)m(y)g(b)s(e)f(separated)150
-4969 y(from)30 b(the)h(rest)g(of)g(the)g(command)g(b)m(y)f(one)h(or)g
-(more)g(newlines,)g(and)f(ma)m(y)i(b)s(e)e(follo)m(w)m(ed)i(b)m(y)f(a)g
-(newline)150 5079 y(in)f(place)h(of)g(a)g(semicolon.)275
-5230 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e
-(commands,)j(and)44 b(mec)m(hanisms)i(to)g(group)150
-5340 y(commands)30 b(and)g(execute)i(them)e(as)g(a)h(unit.)p
-eop end
-%%Page: 12 18
-TeXDict begin 12 17 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(12)150 299
-y Fk(3.2.5.1)63 b(Lo)s(oping)43 b(Constructs)150 446
-y Fu(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g(lo)s(oping)g
-(constructs.)275 579 y(Note)k(that)f(wherev)m(er)g(a)g(`)p
-Ft(;)p Fu(')g(app)s(ears)f(in)h(the)g(description)g(of)g(a)g(command's)
-g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)150 689 y(replaced)c(with)f(one)h
-(or)f(more)g(newlines.)150 845 y Ft(until)240 b Fu(The)30
-b(syn)m(tax)h(of)f(the)h Ft(until)e Fu(command)h(is:)870
-979 y Ft(until)46 b Fj(test-commands)p Ft(;)e(do)j Fj
-(consequent-commands)p Ft(;)c(done)630 1112 y Fu(Execute)f
-Fr(consequen)m(t-commands)k Fu(as)41 b(long)h(as)f Fr(test-commands)46
-b Fu(has)41 b(an)g(exit)h(status)630 1221 y(whic)m(h)c(is)h(not)g
-(zero.)67 b(The)38 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)g
-(the)g(last)g(command)630 1331 y(executed)31 b(in)f Fr(consequen)m
-(t-commands)p Fu(,)i(or)e(zero)h(if)g(none)f(w)m(as)h(executed.)150
-1488 y Ft(while)240 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
-Ft(while)e Fu(command)h(is:)870 1621 y Ft(while)46 b
-Fj(test-commands)p Ft(;)e(do)j Fj(consequent-commands)p
-Ft(;)c(done)630 1754 y Fu(Execute)f Fr(consequen)m(t-commands)k
-Fu(as)41 b(long)h(as)f Fr(test-commands)46 b Fu(has)41
-b(an)g(exit)h(status)630 1864 y(of)34 b(zero.)53 b(The)34
-b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g(last)h
-(command)f(executed)h(in)630 1973 y Fr(consequen)m(t-commands)p
-Fu(,)c(or)g(zero)g(if)f(none)g(w)m(as)h(executed.)150
-2130 y Ft(for)336 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
-Ft(for)e Fu(command)i(is:)870 2263 y Ft(for)47 b Fj(name)g
-Ft([)g([in)g([)p Fj(words)f Ft(...)o(])i(])f(;)h(])f(do)g
-Fj(commands)p Ft(;)e(done)630 2397 y Fu(Expand)31 b Fr(w)m(ords)k
-Fu(\(see)e(Section)g(3.5)h([Shell)e(Expansions],)g(page)h(24\),)h(and)e
-(then)g(execute)630 2506 y Fr(commands)41 b Fu(once)d(for)g(eac)m(h)h
-(w)m(ord)e(in)g(the)h(resultan)m(t)g(list,)j(with)c Fr(name)43
-b Fu(b)s(ound)35 b(to)k(the)630 2616 y(curren)m(t)44
-b(w)m(ord.)81 b(If)44 b(`)p Ft(in)30 b Fj(words)p Fu(')42
-b(is)i(not)h(presen)m(t,)i(the)e Ft(for)e Fu(command)g(executes)j(the)
-630 2725 y Fr(commands)39 b Fu(once)e(for)f(eac)m(h)h(p)s(ositional)g
-(parameter)f(that)h(is)f(set,)i(as)e(if)g(`)p Ft(in)30
-b("$@")p Fu(')36 b(had)630 2835 y(b)s(een)30 b(sp)s(eci\014ed)f(\(see)j
-(Section)f(3.4.2)h([Sp)s(ecial)f(P)m(arameters],)h(page)f(23\).)630
-2968 y(The)c(return)f(status)h(is)g(the)h(exit)g(status)f(of)g(the)h
-(last)g(command)e(that)i(executes.)41 b(If)27 b(there)630
-3078 y(are)38 b(no)f(items)g(in)g(the)h(expansion)f(of)g
-Fr(w)m(ords)p Fu(,)i(no)e(commands)g(are)g(executed,)j(and)d(the)630
-3187 y(return)29 b(status)i(is)f(zero.)630 3320 y(An)g(alternate)i
-(form)e(of)h(the)f Ft(for)g Fu(command)g(is)g(also)h(supp)s(orted:)870
-3454 y Ft(for)47 b(\(\()g Fj(expr1)f Ft(;)i Fj(expr2)e
-Ft(;)i Fj(expr3)e Ft(\)\))h(;)h(do)f Fj(commands)e Ft(;)j(done)630
-3587 y Fu(First,)28 b(ev)-5 b(aluate)27 b(the)g(arithmetic)g
-(expression)f Fr(expr1)33 b Fu(according)27 b(to)g(the)f(rules)g
-(describ)s(ed)630 3696 y(b)s(elo)m(w)i(\(see)g(Section)g(6.5)g([Shell)g
-(Arithmetic],)h(page)f(106\).)41 b(Then,)28 b(rep)s(eatedly)f(ev)-5
-b(aluate)630 3806 y(the)41 b(arithmetic)g(expression)g
-Fr(expr2)47 b Fu(un)m(til)41 b(it)g(ev)-5 b(aluates)42
-b(to)g(zero.)71 b(Eac)m(h)42 b(time)f Fr(expr2)630 3916
-y Fu(ev)-5 b(aluates)35 b(to)g(a)f(non-zero)g(v)-5 b(alue,)35
-b(execute)g Fr(commands)i Fu(and)c(ev)-5 b(aluate)36
-b(the)e(arithmetic)630 4025 y(expression)g Fr(expr3)p
-Fu(.)50 b(If)34 b(an)m(y)g(expression)f(is)h(omitted,)i(it)e(b)s(eha)m
-(v)m(es)h(as)f(if)g(it)g(ev)-5 b(aluates)35 b(to)630
-4135 y(1.)49 b(The)32 b(return)g(v)-5 b(alue)33 b(is)g(the)g(exit)h
-(status)f(of)g(the)g(last)h(command)f(in)f Fr(commands)k
-Fu(that)630 4244 y(is)30 b(executed,)i(or)e(non-zero)h(if)g(an)m(y)f
-(of)h(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
-4401 y(Use)31 b(the)h Ft(break)e Fu(and)h Ft(continue)e
-Fu(builtins)i(\(see)h(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i
-(page)f(51\))150 4511 y(to)f(con)m(trol)h(lo)s(op)e(execution.)150
-4707 y Fk(3.2.5.2)63 b(Conditional)42 b(Constructs)150
-4878 y Ft(if)384 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
-Ft(if)f Fu(command)g(is:)870 5011 y Ft(if)47 b Fj(test-commands)p
-Ft(;)d(then)965 5121 y Fj(consequent-commands)p Ft(;)870
-5230 y([elif)i Fj(more-test-commands)p Ft(;)d(then)965
-5340 y Fj(more-consequents)p Ft(;])p eop end
-%%Page: 13 19
-TeXDict begin 13 18 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)870 299
-y Ft([else)46 b Fj(alternate-consequents)p Ft(;])870
-408 y(fi)630 555 y Fu(The)53 b Fr(test-commands)58 b
-Fu(list)c(is)g(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i(is)
-f(zero,)61 b(the)630 664 y Fr(consequen)m(t-commands)44
-b Fu(list)d(is)f(executed.)70 b(If)40 b Fr(test-commands)k
-Fu(returns)39 b(a)h(non-zero)630 774 y(status,)45 b(eac)m(h)e
-Ft(elif)d Fu(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)
-h(status)f(is)f(zero,)46 b(the)630 883 y(corresp)s(onding)37
-b Fr(more-consequen)m(ts)42 b Fu(is)c(executed)g(and)f(the)h(command)g
-(completes.)63 b(If)630 993 y(`)p Ft(else)29 b Fj
-(alternate-consequents)p Fu(')c(is)30 b(presen)m(t,)h(and)f(the)g
-(\014nal)g(command)g(in)g(the)g(\014nal)630 1103 y Ft(if)44
-b Fu(or)g Ft(elif)f Fu(clause)i(has)f(a)h(non-zero)g(exit)g(status,)j
-(then)c Fr(alternate-consequen)m(ts)51 b Fu(is)630 1212
-y(executed.)k(The)34 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)
-g(the)g(last)g(command)g(executed,)630 1322 y(or)30 b(zero)i(if)e(no)g
-(condition)h(tested)g(true.)150 1504 y Ft(case)288 b
-Fu(The)30 b(syn)m(tax)h(of)f(the)h Ft(case)e Fu(command)h(is:)870
-1650 y Ft(case)47 b Fj(word)f Ft(in)1061 1760 y([)h([\(])g
-Fj(pattern)f Ft([|)h Fj(pattern)p Ft(]...)m(\))h Fj(command-list)c
-Ft(;;]...)870 1870 y(esac)630 2016 y(case)20 b Fu(will)i(selectiv)m
-(ely)j(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20
-b(to)i(the)g(\014rst)f Fr(pattern)630 2125 y Fu(that)36
-b(matc)m(hes)h Fr(w)m(ord)p Fu(,)g(pro)s(ceeding)e(from)g(the)h
-(\014rst)f(pattern)h(to)g(the)g(last.)57 b(The)35 b(matc)m(h)630
-2235 y(is)30 b(p)s(erformed)f(according)i(to)h(the)e(rules)g(describ)s
-(ed)f(b)s(elo)m(w)i(in)f(Section)h(3.5.8.1)i([P)m(attern)630
-2345 y(Matc)m(hing],)44 b(page)d(38.)70 b(If)40 b(the)g
-Ft(nocasematch)c Fu(shell)41 b(option)f(\(see)h(the)f(description)g(of)
-630 2454 y Ft(shopt)34 b Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f
-(Builtin],)k(page)e(77\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630
-2564 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f
-(alphab)s(etic)g(c)m(haracters.)44 b(The)30 b(`)p Ft(|)p
-Fu(')h(is)g(used)630 2673 y(to)g(separate)h(m)m(ultiple)f(patterns)g
-(in)f(a)h(pattern)g(list,)h(and)e(the)g(`)p Ft(\))p Fu(')h(op)s(erator)
-g(terminates)630 2783 y(the)i(pattern)g(list.)49 b(A)33
-b(pattern)g(list)h(and)e(an)h(asso)s(ciated)h Fr(command-list)i
-Fu(is)d(kno)m(wn)f(as)i(a)630 2892 y Fr(clause)p Fu(.)630
-3039 y(Eac)m(h)e(clause)h(m)m(ust)e(b)s(e)g(terminated)h(with)g(`)p
-Ft(;;)p Fu(',)g(`)p Ft(;&)p Fu(',)g(or)g(`)p Ft(;;&)p
-Fu('.)44 b(The)31 b Fr(w)m(ord)k Fu(undergo)s(es)630
-3148 y(tilde)j(expansion,)i(parameter)e(expansion,)i(command)e
-(substitution,)h(pro)s(cess)e(substi-)630 3258 y(tution,)i(arithmetic)f
-(expansion,)h(and)e(quote)g(remo)m(v)-5 b(al)38 b(\(see)g(Section)g
-(3.5.3)h([Shell)e(P)m(a-)630 3367 y(rameter)d(Expansion],)g(page)g
-(27\))h(b)s(efore)e(the)h(shell)g(attempts)g(to)g(matc)m(h)h(the)f
-(pattern.)630 3477 y(Eac)m(h)g Fr(pattern)f Fu(undergo)s(es)g(tilde)h
-(expansion,)g(parameter)g(expansion,)g(command)f(sub-)630
-3587 y(stitution,)e(arithmetic)h(expansion,)f(pro)s(cess)e
-(substitution,)i(and)f(quote)h(remo)m(v)-5 b(al.)630
-3733 y(There)30 b(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f
-(of)h Ft(case)f Fu(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p
-Ft(;;)p Fu(',)630 3842 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
-Ft(;;&)p Fu('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h
-(determines)e(the)h(command-list)g(that)630 3952 y(is)35
-b(executed.)55 b(It's)35 b(a)g(common)g(idiom)g(to)g(use)g(`)p
-Ft(*)p Fu(')g(as)g(the)g(\014nal)f(pattern)h(to)h(de\014ne)e(the)630
-4061 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
-(matc)m(h.)630 4208 y(Here)j(is)g(an)g(example)h(using)e
-Ft(case)g Fu(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h
-(describ)s(e)g(one)630 4317 y(in)m(teresting)d(feature)f(of)f(an)g
-(animal:)870 4463 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f
-(animal:)f(")870 4573 y(read)h(ANIMAL)870 4682 y(echo)g(-n)g("The)f
-($ANIMAL)g(has)h(")870 4792 y(case)g($ANIMAL)e(in)965
-4902 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)965
-5011 y(man)g(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965
-5121 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)870
-5230 y(esac)870 5340 y(echo)h(")g(legs.")p eop end
-%%Page: 14 20
-TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)630 299
-y(If)35 b(the)h(`)p Ft(;;)p Fu(')g(op)s(erator)g(is)g(used,)h(the)f
-Ft(case)f Fu(command)h(completes)h(after)f(the)g(\014rst)f(pat-)630
-408 y(tern)g(matc)m(h.)56 b(Using)36 b(`)p Ft(;&)p Fu(')f(in)g(place)h
-(of)g(`)p Ft(;;)p Fu(')f(causes)h(execution)g(to)g(con)m(tin)m(ue)h
-(with)e(the)630 518 y Fr(command-list)25 b Fu(asso)s(ciated)g(with)d
-(the)h(next)g(clause,)i(if)e(an)m(y)-8 b(.)39 b(Using)23
-b(`)p Ft(;;&)p Fu(')f(in)g(place)i(of)f(`)p Ft(;;)p Fu(')630
-628 y(causes)30 b(the)h(shell)f(to)h(test)g(the)f(patterns)g(in)g(the)g
-(next)g(clause,)i(if)e(an)m(y)-8 b(,)31 b(and)e(execute)j(an)m(y)630
-737 y(asso)s(ciated)j Fr(command-list)h Fu(if)e(the)f(matc)m(h)i
-(succeeds,)f(con)m(tin)m(uing)h(the)f(case)g(statemen)m(t)630
-847 y(execution)e(as)e(if)h(the)f(pattern)h(list)g(had)e(not)i(matc)m
-(hed.)630 982 y(The)j(return)f(status)h(is)g(zero)h(if)g(no)f
-Fr(pattern)g Fu(matc)m(hes.)53 b(Otherwise,)35 b(the)g(return)e(status)
-630 1092 y(is)d(the)h(exit)g(status)g(of)f(the)h(last)g
-Fr(command-list)i Fu(executed.)150 1253 y Ft(select)630
-1388 y Fu(The)g Ft(select)f Fu(construct)i(allo)m(ws)h(the)f(easy)g
-(generation)h(of)e(men)m(us.)50 b(It)34 b(has)f(almost)i(the)630
-1498 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870
-1633 y Ft(select)46 b Fj(name)h Ft([in)g Fj(words)f Ft(...)o(];)h(do)h
-Fj(commands)p Ft(;)d(done)630 1769 y Fu(First,)27 b(expand)e(the)g
-(list)h(of)g(w)m(ords)f(follo)m(wing)i Ft(in)p Fu(,)f(generating)h(a)f
-(list)g(of)f(items,)i(and)e(prin)m(t)630 1878 y(the)37
-b(set)g(of)g(expanded)g(w)m(ords)f(on)h(the)g(standard)f(error)g
-(stream,)j(eac)m(h)f(preceded)f(b)m(y)g(a)630 1988 y(n)m(um)m(b)s(er.)i
-(If)30 b(the)g(`)p Ft(in)g Fj(words)p Fu(')f(is)h(omitted,)h(prin)m(t)f
-(the)g(p)s(ositional)h(parameters,)f(as)g(if)g(`)p Ft(in)630
-2097 y("$@")p Fu(')36 b(had)h(b)s(een)g(sp)s(eci\014ed.)61
-b Ft(select)36 b Fu(then)h(displa)m(ys)g(the)h Ft(PS3)e
-Fu(prompt)h(and)f(reads)i(a)630 2207 y(line)30 b(from)f(the)h(standard)
-e(input.)40 b(If)29 b(the)h(line)g(consists)g(of)f(a)h(n)m(um)m(b)s(er)
-f(corresp)s(onding)f(to)630 2317 y(one)e(of)g(the)g(displa)m(y)m(ed)h
-(w)m(ords,)f(then)g Ft(select)e Fu(sets)j(the)f(v)-5
-b(alue)26 b(of)g Fr(name)31 b Fu(to)c(that)g(w)m(ord.)38
-b(If)630 2426 y(the)30 b(line)h(is)f(empt)m(y)-8 b(,)31
-b Ft(select)d Fu(displa)m(ys)i(the)g(w)m(ords)g(and)f(prompt)g(again.)
-42 b(If)30 b Ft(EOF)f Fu(is)h(read,)630 2536 y Ft(select)h
-Fu(completes)k(and)d(returns)g(1.)49 b(An)m(y)33 b(other)g(v)-5
-b(alue)34 b(read)f(causes)g Fr(name)38 b Fu(to)c(b)s(e)e(set)630
-2645 y(to)f(n)m(ull.)41 b(The)30 b(line)g(read)h(is)f(sa)m(v)m(ed)h(in)
-g(the)f(v)-5 b(ariable)31 b Ft(REPLY)p Fu(.)630 2781
-y(The)42 b Fr(commands)j Fu(are)d(executed)h(after)g(eac)m(h)g
-(selection)h(un)m(til)e(a)h Ft(break)d Fu(command)i(is)630
-2890 y(executed,)32 b(at)f(whic)m(h)f(p)s(oin)m(t)g(the)h
-Ft(select)d Fu(command)i(completes.)630 3026 y(Here)39
-b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f(to)i(pic)m(k)f(a)
-g(\014lename)h(from)e(the)h(curren)m(t)630 3135 y(directory)-8
-b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f(index)f(of)i(the)g
-(\014le)f(selected.)870 3271 y Ft(select)46 b(fname)g(in)i(*;)870
-3380 y(do)870 3490 y(echo)f(you)g(picked)f($fname)g(\\\($REPLY\\\))870
-3599 y(break;)870 3709 y(done)150 3870 y(\(\(...)o(\)\))870
-4006 y(\(\()h Fj(expression)e Ft(\)\))630 4141 y Fu(The)33
-b(arithmetic)i Fr(expression)f Fu(is)f(ev)-5 b(aluated)35
-b(according)g(to)f(the)g(rules)f(describ)s(ed)g(b)s(elo)m(w)630
-4251 y(\(see)38 b(Section)g(6.5)h([Shell)e(Arithmetic],)j(page)f
-(106\).)63 b(The)36 b Fr(expression)h Fu(undergo)s(es)g(the)630
-4360 y(same)26 b(expansions)f(as)g(if)g(it)h(w)m(ere)g(within)e(double)
-h(quotes,)i(but)e(double)g(quote)g(c)m(haracters)630
-4470 y(in)40 b Fr(expression)f Fu(are)h(not)h(treated)f(sp)s(ecially)h
-(and)e(are)i(remo)m(v)m(ed.)70 b(If)39 b(the)h(v)-5 b(alue)41
-b(of)f(the)630 4579 y(expression)30 b(is)h(non-zero,)g(the)f(return)g
-(status)g(is)h(0;)g(otherwise)f(the)h(return)e(status)i(is)f(1.)150
-4740 y Ft([[...)o(]])870 4876 y([[)47 b Fj(expression)e
-Ft(]])630 5011 y Fu(Ev)-5 b(aluate)24 b(the)e(conditional)i(expression)
-e Fr(expression)g Fu(and)g(return)f(a)i(status)g(of)f(zero)h(\(true\))
-630 5121 y(or)28 b(non-zero)g(\(false\).)41 b(Expressions)27
-b(are)h(comp)s(osed)f(of)h(the)g(primaries)f(describ)s(ed)g(b)s(elo)m
-(w)630 5230 y(in)36 b(Section)h(6.4)h([Bash)f(Conditional)g
-(Expressions],)g(page)g(104.)60 b(The)36 b(w)m(ords)g(b)s(et)m(w)m(een)
-630 5340 y(the)27 b Ft([[)f Fu(and)h Ft(]])f Fu(do)h(not)g(undergo)f(w)
-m(ord)h(splitting)g(and)g(\014lename)g(expansion.)39
-b(The)27 b(shell)p eop end
-%%Page: 15 21
-TeXDict begin 15 20 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)630 299
-y(p)s(erforms)26 b(tilde)j(expansion,)f(parameter)g(and)g(v)-5
-b(ariable)28 b(expansion,)h(arithmetic)g(expan-)630 408
-y(sion,)j(command)g(substitution,)g(pro)s(cess)g(substitution,)g(and)f
-(quote)i(remo)m(v)-5 b(al)33 b(on)e(those)630 518 y(w)m(ords.)48
-b(Conditional)34 b(op)s(erators)f(suc)m(h)f(as)h(`)p
-Ft(-f)p Fu(')g(m)m(ust)g(b)s(e)f(unquoted)h(to)g(b)s(e)g(recognized)630
-628 y(as)e(primaries.)630 770 y(When)k(used)f(with)h
-Ft([[)p Fu(,)h(the)f(`)p Ft(<)p Fu(')g(and)g(`)p Ft(>)p
-Fu(')g(op)s(erators)g(sort)g(lexicographically)j(using)d(the)630
-880 y(curren)m(t)30 b(lo)s(cale.)630 1022 y(When)22 b(the)h(`)p
-Ft(==)p Fu(')f(and)g(`)p Ft(!=)p Fu(')g(op)s(erators)h(are)g(used,)g
-(the)g(string)f(to)i(the)e(righ)m(t)h(of)g(the)g(op)s(erator)630
-1132 y(is)31 b(considered)g(a)h(pattern)f(and)g(matc)m(hed)h(according)
-g(to)g(the)g(rules)f(describ)s(ed)f(b)s(elo)m(w)h(in)630
-1241 y(Section)d(3.5.8.1)h([P)m(attern)f(Matc)m(hing],)h(page)f(38,)g
-(as)f(if)g(the)g Ft(extglob)d Fu(shell)j(option)g(w)m(ere)630
-1351 y(enabled.)46 b(The)31 b(`)p Ft(=)p Fu(')h(op)s(erator)h(is)f
-(iden)m(tical)h(to)g(`)p Ft(==)p Fu('.)46 b(If)31 b(the)h
-Ft(nocasematch)d Fu(shell)j(option)630 1461 y(\(see)42
-b(the)f(description)g(of)h Ft(shopt)d Fu(in)i(Section)h(4.3.2)h([The)e
-(Shopt)f(Builtin],)45 b(page)d(77\))630 1570 y(is)e(enabled,)i(the)e
-(matc)m(h)h(is)e(p)s(erformed)g(without)g(regard)h(to)h(the)f(case)g
-(of)g(alphab)s(etic)630 1680 y(c)m(haracters.)h(The)28
-b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h
-(\(`)p Ft(==)p Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630
-1789 y(\(`)p Ft(!=)p Fu('\))j(the)g(pattern,)f(and)g(1)h(otherwise.)630
-1932 y(If)20 b(y)m(ou)h(quote)g(an)m(y)f(part)h(of)f(the)h(pattern,)h
-(using)e(an)m(y)h(of)f(the)h(shell's)g(quoting)g(mec)m(hanisms,)630
-2041 y(the)43 b(quoted)g(p)s(ortion)g(is)g(matc)m(hed)h(literally)-8
-b(.)81 b(This)42 b(means)h(ev)m(ery)h(c)m(haracter)h(in)e(the)630
-2151 y(quoted)34 b(p)s(ortion)f(matc)m(hes)i(itself,)h(instead)e(of)f
-(ha)m(ving)i(an)m(y)f(sp)s(ecial)g(pattern)g(matc)m(hing)630
-2261 y(meaning.)630 2403 y(An)f(additional)i(binary)e(op)s(erator,)i(`)
-p Ft(=~)p Fu(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g
-(precedence)h(as)630 2513 y(`)p Ft(==)p Fu(')40 b(and)g(`)p
-Ft(!=)p Fu('.)70 b(When)40 b(y)m(ou)g(use)g(`)p Ft(=~)p
-Fu(',)j(the)d(string)h(to)f(the)h(righ)m(t)g(of)f(the)g(op)s(erator)h
-(is)630 2622 y(considered)36 b(a)g Fm(posix)f Fu(extended)g(regular)h
-(expression)g(pattern)f(and)g(matc)m(hed)i(accord-)630
-2732 y(ingly)k(\(using)f(the)h Fm(posix)f Ft(regcomp)f
-Fu(and)h Ft(regexec)e Fu(in)m(terfaces)k(usually)f(describ)s(ed)e(in)
-630 2841 y Fl(r)-5 b(e)g(gex)11 b Fu(\(3\)\).)56 b(The)34
-b(return)g(v)-5 b(alue)35 b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h
-(the)f(pattern,)h(and)e(1)i(if)e(it)630 2951 y(do)s(es)39
-b(not.)66 b(If)38 b(the)h(regular)g(expression)g(is)g(syn)m(tactically)
-i(incorrect,)i(the)c(conditional)630 3061 y(expression)e(returns)e(2.)
-61 b(If)37 b(the)g Ft(nocasematch)d Fu(shell)j(option)h(\(see)g(the)f
-(description)g(of)630 3170 y Ft(shopt)d Fu(in)h(Section)h(4.3.2)h([The)
-e(Shopt)f(Builtin],)k(page)e(77\))g(is)g(enabled,)g(the)g(matc)m(h)g
-(is)630 3280 y(p)s(erformed)29 b(without)h(regard)h(to)g(the)f(case)i
-(of)e(alphab)s(etic)h(c)m(haracters.)630 3422 y(Y)-8
-b(ou)23 b(can)g(quote)g(an)m(y)g(part)g(of)g(the)g(pattern)f(to)i
-(force)f(the)g(quoted)g(p)s(ortion)f(to)h(b)s(e)f(matc)m(hed)630
-3532 y(literally)33 b(instead)f(of)g(as)f(a)h(regular)g(expression)f
-(\(see)h(ab)s(o)m(v)m(e\).)46 b(If)31 b(the)h(pattern)f(is)h(stored)630
-3641 y(in)h(a)i(shell)f(v)-5 b(ariable,)35 b(quoting)f(the)g(v)-5
-b(ariable)35 b(expansion)e(forces)i(the)f(en)m(tire)g(pattern)g(to)630
-3751 y(b)s(e)c(matc)m(hed)h(literally)-8 b(.)630 3893
-y(The)25 b(pattern)h(will)g(matc)m(h)h(if)e(it)i(matc)m(hes)f(an)m(y)h
-(part)e(of)h(the)g(string.)39 b(If)25 b(y)m(ou)h(w)m(an)m(t)h(to)f
-(force)630 4003 y(the)j(pattern)h(to)g(matc)m(h)g(the)f(en)m(tire)h
-(string,)g(anc)m(hor)g(the)f(pattern)h(using)e(the)i(`)p
-Ft(^)p Fu(')f(and)g(`)p Ft($)p Fu(')630 4113 y(regular)i(expression)f
-(op)s(erators.)630 4255 y(F)-8 b(or)31 b(example,)g(the)f(follo)m(wing)
-h(will)f(matc)m(h)h(a)g(line)f(\(stored)g(in)g(the)g(shell)g(v)-5
-b(ariable)31 b Ft(line)p Fu(\))630 4365 y(if)42 b(there)h(is)g(a)f
-(sequence)h(of)g(c)m(haracters)h(an)m(ywhere)e(in)g(the)h(v)-5
-b(alue)43 b(consisting)g(of)g(an)m(y)630 4474 y(n)m(um)m(b)s(er,)26
-b(including)g(zero,)i(of)f(c)m(haracters)g(in)f(the)h
-Ft(space)e Fu(c)m(haracter)j(class,)g(immediately)630
-4584 y(follo)m(w)m(ed)k(b)m(y)e(zero)h(or)g(one)f(instances)h(of)g(`)p
-Ft(a)p Fu(',)g(then)f(a)h(`)p Ft(b)p Fu(':)870 4726 y
-Ft([[)47 b($line)g(=~)g([[:space:]]*\(a\)?b)c(]])630
-4869 y Fu(That)f(means)g(v)-5 b(alues)42 b(for)g Ft(line)f
-Fu(lik)m(e)i(`)p Ft(aab)p Fu(',)i(`)31 b Ft(aaaaaab)p
-Fu(',)43 b(`)p Ft(xaby)p Fu(',)i(and)c(`)31 b Ft(ab)p
-Fu(')42 b(will)g(all)630 4978 y(matc)m(h,)32 b(as)e(will)h(a)g(line)f
-(con)m(taining)i(a)f(`)p Ft(b)p Fu(')g(an)m(ywhere)f(in)g(its)h(v)-5
-b(alue.)630 5121 y(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)
-m(haracter)j(that's)e(sp)s(ecial)g(to)g(the)g(regular)f(expression)g
-(gram-)630 5230 y(mar)g(\(`)p Ft(^$|[]\(\)\\.*+?)p Fu('\),)e(it)j(has)f
-(to)h(b)s(e)e(quoted)h(to)h(remo)m(v)m(e)g(its)g(sp)s(ecial)g(meaning.)
-40 b(This)630 5340 y(means)24 b(that)h(in)f(the)h(pattern)f(`)p
-Ft(xxx.txt)p Fu(',)g(the)h(`)p Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)f(c)m
-(haracter)g(in)f(the)h(string)p eop end
-%%Page: 16 22
-TeXDict begin 16 21 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)630 299
-y(\(its)34 b(usual)f(regular)g(expression)g(meaning\),)i(but)e(in)g
-(the)g(pattern)h(`)p Ft("xxx.txt")p Fu(',)e(it)i(can)630
-408 y(only)c(matc)m(h)i(a)f(literal)g(`)p Ft(.)p Fu('.)630
-545 y(Lik)m(ewise,)i(if)f(y)m(ou)g(w)m(an)m(t)g(to)h(include)e(a)h(c)m
-(haracter)h(in)e(y)m(our)h(pattern)g(that)g(has)f(a)h(sp)s(ecial)630
-655 y(meaning)21 b(to)h(the)g(regular)f(expression)g(grammar,)i(y)m(ou)
-f(m)m(ust)f(mak)m(e)h(sure)e(it's)i(not)g(quoted.)630
-765 y(If)44 b(y)m(ou)g(w)m(an)m(t)h(to)g(anc)m(hor)f(a)h(pattern)f(at)h
-(the)f(b)s(eginning)f(or)h(end)g(of)g(the)g(string,)k(for)630
-874 y(instance,)e(y)m(ou)d(cannot)g(quote)g(the)f(`)p
-Ft(^)p Fu(')h(or)f(`)p Ft($)p Fu(')g(c)m(haracters)i(using)e(an)m(y)g
-(form)g(of)h(shell)630 984 y(quoting.)630 1121 y(If)28
-b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(`)p Ft(initial)e(string)p
-Fu(')f(at)i(the)g(start)g(of)g(a)g(line,)g(the)g(follo)m(wing)h(will)
-630 1230 y(w)m(ork:)870 1367 y Ft([[)47 b($line)g(=~)g(^"initial)e
-(string")h(]])630 1504 y Fu(but)30 b(this)g(will)h(not:)870
-1641 y Ft([[)47 b($line)g(=~)g("^initial)e(string")h(]])630
-1778 y Fu(b)s(ecause)c(in)h(the)f(second)h(example)g(the)g(`)p
-Ft(^)p Fu(')f(is)h(quoted)g(and)f(do)s(esn't)g(ha)m(v)m(e)i(its)e
-(usual)630 1888 y(sp)s(ecial)31 b(meaning.)630 2025 y(It)h(is)f
-(sometimes)h(di\016cult)g(to)g(sp)s(ecify)f(a)h(regular)g(expression)f
-(prop)s(erly)f(without)h(using)630 2134 y(quotes,)c(or)f(to)g(k)m(eep)h
-(trac)m(k)g(of)e(the)h(quoting)g(used)f(b)m(y)h(regular)f(expressions)h
-(while)f(pa)m(ying)630 2244 y(atten)m(tion)40 b(to)f(shell)f(quoting)h
-(and)e(the)h(shell's)h(quote)f(remo)m(v)-5 b(al.)65 b(Storing)38
-b(the)h(regular)630 2354 y(expression)45 b(in)g(a)g(shell)h(v)-5
-b(ariable)46 b(is)f(often)g(a)h(useful)e(w)m(a)m(y)i(to)g(a)m(v)m(oid)h
-(problems)d(with)630 2463 y(quoting)35 b(c)m(haracters)g(that)g(are)g
-(sp)s(ecial)g(to)g(the)f(shell.)53 b(F)-8 b(or)35 b(example,)h(the)e
-(follo)m(wing)i(is)630 2573 y(equiv)-5 b(alen)m(t)32
-b(to)f(the)f(pattern)h(used)f(ab)s(o)m(v)m(e:)870 2710
-y Ft(pattern='[[:space:]]*\(a\))o(?b')870 2819 y([[)47
-b($line)g(=~)g($pattern)e(]])630 2956 y Fu(Shell)29 b(programmers)f
-(should)f(tak)m(e)k(sp)s(ecial)e(care)g(with)g(bac)m(kslashes,)h(since)
-f(bac)m(kslashes)630 3066 y(are)22 b(used)f(b)m(y)h(b)s(oth)f(the)h
-(shell)g(and)f(regular)h(expressions)f(to)i(remo)m(v)m(e)g(the)f(sp)s
-(ecial)h(meaning)630 3176 y(from)j(the)g(follo)m(wing)i(c)m(haracter.)
-41 b(This)25 b(means)h(that)h(after)g(the)f(shell's)g(w)m(ord)g
-(expansions)630 3285 y(complete)i(\(see)f(Section)g(3.5)h([Shell)e
-(Expansions],)h(page)g(24\),)i(an)m(y)d(bac)m(kslashes)i(remain-)630
-3395 y(ing)44 b(in)f(parts)g(of)h(the)g(pattern)f(that)h(w)m(ere)g
-(originally)h(not)f(quoted)g(can)g(remo)m(v)m(e)h(the)630
-3504 y(sp)s(ecial)29 b(meaning)g(of)g(pattern)f(c)m(haracters.)42
-b(If)28 b(an)m(y)h(part)g(of)f(the)h(pattern)g(is)f(quoted,)i(the)630
-3614 y(shell)h(do)s(es)f(its)g(b)s(est)g(to)i(ensure)d(that)i(the)g
-(regular)f(expression)h(treats)g(those)g(remaining)630
-3724 y(bac)m(kslashes)g(as)g(literal,)h(if)e(they)h(app)s(eared)f(in)g
-(a)g(quoted)h(p)s(ortion.)630 3861 y(The)f(follo)m(wing)i(t)m(w)m(o)f
-(sets)g(of)g(commands)f(are)h Fl(not)39 b Fu(equiv)-5
-b(alen)m(t:)870 3998 y Ft(pattern='\\.')870 4217 y([[)47
-b(.)h(=~)f($pattern)e(]])870 4326 y([[)i(.)h(=~)f(\\.)g(]])870
-4545 y([[)g(.)h(=~)f("$pattern")e(]])870 4655 y([[)i(.)h(=~)f('\\.')f
-(]])630 4792 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f
-(succeed,)h(but)f(the)g(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f
-(in)g(the)630 4902 y(second)e(t)m(w)m(o)i(the)e(bac)m(kslash)h(will)f
-(b)s(e)g(part)g(of)g(the)g(pattern)g(to)h(b)s(e)f(matc)m(hed.)40
-b(In)26 b(the)i(\014rst)630 5011 y(t)m(w)m(o)33 b(examples,)f(the)g
-(pattern)f(passed)g(to)h(the)g(regular)f(expression)h(parser)e(is)i(`)p
-Ft(\\.)p Fu('.)43 b(The)630 5121 y(bac)m(kslash)35 b(remo)m(v)m(es)g
-(the)g(sp)s(ecial)f(meaning)h(from)e(`)p Ft(.)p Fu(',)j(so)e(the)h
-(literal)g(`)p Ft(.)p Fu(')g(matc)m(hes.)53 b(In)630
-5230 y(the)35 b(second)h(t)m(w)m(o)g(examples,)h(the)f(pattern)f
-(passed)g(to)h(the)f(regular)h(expression)f(parser)630
-5340 y(has)26 b(the)g(bac)m(kslash)g(quoted)g(\(e.g.,)j(`)p
-Ft(\\\\\\.)p Fu('\),)e(whic)m(h)e(will)h(not)g(matc)m(h)h(the)f
-(string,)h(since)f(it)p eop end
-%%Page: 17 23
-TeXDict begin 17 22 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)630 299
-y(do)s(es)31 b(not)g(con)m(tain)h(a)g(bac)m(kslash.)43
-b(If)31 b(the)g(string)g(in)g(the)g(\014rst)f(examples)i(w)m(ere)g(an)m
-(ything)630 408 y(other)f(than)f(`)p Ft(.)p Fu(',)h(sa)m(y)g(`)p
-Ft(a)p Fu(',)g(the)f(pattern)h(w)m(ould)f(not)h(matc)m(h,)g(b)s(ecause)
-g(the)f(quoted)h(`)p Ft(.)p Fu(')f(in)630 518 y(the)h(pattern)f(loses)h
-(its)g(sp)s(ecial)g(meaning)g(of)f(matc)m(hing)i(an)m(y)e(single)h(c)m
-(haracter.)630 647 y(Brac)m(k)m(et)d(expressions)d(in)g(regular)h
-(expressions)f(can)h(b)s(e)e(sources)i(of)f(errors)g(as)h(w)m(ell,)i
-(since)630 756 y(c)m(haracters)43 b(that)f(are)g(normally)g(sp)s(ecial)
-g(in)f(regular)h(expressions)f(lose)i(their)e(sp)s(ecial)630
-866 y(meanings)24 b(b)s(et)m(w)m(een)g(brac)m(k)m(ets.)40
-b(Ho)m(w)m(ev)m(er,)27 b(y)m(ou)e(can)f(use)f(brac)m(k)m(et)i
-(expressions)f(to)g(matc)m(h)630 975 y(sp)s(ecial)31
-b(pattern)g(c)m(haracters)h(without)f(quoting)g(them,)f(so)h(they)g
-(are)g(sometimes)h(useful)630 1085 y(for)e(this)g(purp)s(ose.)630
-1214 y(Though)f(it)i(migh)m(t)g(seem)f(lik)m(e)i(a)e(strange)h(w)m(a)m
-(y)g(to)g(write)f(it,)h(the)g(follo)m(wing)g(pattern)g(will)630
-1323 y(matc)m(h)g(a)g(`)p Ft(.)p Fu(')g(in)f(the)g(string:)870
-1452 y Ft([[)47 b(.)h(=~)f([.])g(]])630 1580 y Fu(The)30
-b(shell)g(p)s(erforms)f(an)m(y)i(w)m(ord)f(expansions)g(b)s(efore)g
-(passing)g(the)g(pattern)h(to)g(the)f(reg-)630 1690 y(ular)44
-b(expression)g(functions,)k(so)d(y)m(ou)f(can)h(assume)f(that)h(the)g
-(shell's)g(quoting)f(tak)m(es)630 1800 y(precedence.)63
-b(As)37 b(noted)h(ab)s(o)m(v)m(e,)j(the)d(regular)f(expression)h
-(parser)f(will)h(in)m(terpret)g(an)m(y)630 1909 y(unquoted)30
-b(bac)m(kslashes)h(remaining)g(in)g(the)g(pattern)f(after)i(shell)e
-(expansion)h(according)630 2019 y(to)40 b(its)g(o)m(wn)f(rules.)68
-b(The)39 b(in)m(ten)m(tion)i(is)e(to)h(a)m(v)m(oid)h(making)f(shell)f
-(programmers)g(quote)630 2128 y(things)31 b(t)m(wice)h(as)f(m)m(uc)m(h)
-f(as)h(p)s(ossible,)g(so)g(shell)g(quoting)g(should)f(b)s(e)g
-(su\016cien)m(t)h(to)g(quote)630 2238 y(sp)s(ecial)g(pattern)f(c)m
-(haracters)i(where)e(that's)h(necessary)-8 b(.)630 2367
-y(The)39 b(arra)m(y)h(v)-5 b(ariable)40 b Ft(BASH_REMATCH)c
-Fu(records)j(whic)m(h)g(parts)g(of)g(the)h(string)f(matc)m(hed)630
-2476 y(the)34 b(pattern.)51 b(The)33 b(elemen)m(t)i(of)f
-Ft(BASH_REMATCH)d Fu(with)i(index)g(0)h(con)m(tains)h(the)f(p)s(ortion)
-630 2586 y(of)39 b(the)g(string)g(matc)m(hing)h(the)g(en)m(tire)f
-(regular)h(expression.)66 b(Substrings)37 b(matc)m(hed)j(b)m(y)630
-2695 y(paren)m(thesized)k(sub)s(expressions)e(within)i(the)g(regular)g
-(expression)g(are)g(sa)m(v)m(ed)h(in)f(the)630 2805 y(remaining)33
-b Ft(BASH_REMATCH)c Fu(indices.)49 b(The)32 b(elemen)m(t)i(of)f
-Ft(BASH_REMATCH)d Fu(with)i(index)g Fr(n)630 2914 y Fu(is)e(the)h(p)s
-(ortion)f(of)g(the)h(string)f(matc)m(hing)i(the)e Fr(n)p
-Fu(th)g(paren)m(thesized)h(sub)s(expression.)630 3043
-y(Bash)26 b(sets)h Ft(BASH_REMATCH)c Fu(in)j(the)g(global)i(scop)s(e;)f
-(declaring)g(it)g(as)g(a)f(lo)s(cal)i(v)-5 b(ariable)27
-b(will)630 3153 y(lead)k(to)g(unexp)s(ected)f(results.)630
-3281 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
-(follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
-3391 y(order)30 b(of)g(precedence:)630 3538 y Ft(\()g
-Fj(expression)e Ft(\))1110 3648 y Fu(Returns)i(the)h(v)-5
-b(alue)31 b(of)g Fr(expression)p Fu(.)42 b(This)30 b(ma)m(y)i(b)s(e)e
-(used)g(to)i(o)m(v)m(erride)g(the)1110 3758 y(normal)e(precedence)h(of)
-g(op)s(erators.)630 3905 y Ft(!)f Fj(expression)1110
-4015 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
-4162 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 4272
-y Fu(T)-8 b(rue)30 b(if)g(b)s(oth)g Fr(expression1)38
-b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)630
-4420 y Fj(expression1)c Ft(||)j Fj(expression2)1110 4529
-y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38
-b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630
-4677 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
-(ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5
-b(alue)25 b(of)g Fr(expression1)630 4786 y Fu(is)30 b(su\016cien)m(t)h
-(to)g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire)
-g(conditional)h(expression.)150 4974 y Fk(3.2.5.3)63
-b(Grouping)43 b(Commands)150 5121 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m
-(o)h(w)m(a)m(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e
-(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 5230
-y(mands)h(are)i(group)s(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i
-(to)g(the)f(en)m(tire)h(command)g(list.)44 b(F)-8 b(or)32
-b(example,)150 5340 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
-(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)p
-eop end
-%%Page: 18 24
-TeXDict begin 18 23 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(18)150 299
-y Ft(\(\))870 432 y(\()47 b Fj(list)g Ft(\))630 565 y
-Fu(Placing)42 b(a)g(list)g(of)f(commands)g(b)s(et)m(w)m(een)h(paren)m
-(theses)f(forces)h(the)f(shell)h(to)g(create)h(a)630
-675 y(subshell)33 b(\(see)h(Section)g(3.7.3)i([Command)c(Execution)j
-(En)m(vironmen)m(t],)g(page)f(45\),)i(and)630 784 y(eac)m(h)g(of)f(the)
-h(commands)e(in)h Fr(list)i Fu(is)e(executed)h(in)f(that)h(subshell)e
-(en)m(vironmen)m(t.)55 b(Since)630 894 y(the)33 b Fr(list)j
-Fu(is)e(executed)g(in)f(a)g(subshell,)h(v)-5 b(ariable)34
-b(assignmen)m(ts)g(do)f(not)g(remain)g(in)g(e\013ect)630
-1003 y(after)e(the)f(subshell)g(completes.)150 1160 y
-Ft({})870 1293 y({)47 b Fj(list)p Ft(;)g(})630 1426 y
-Fu(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h(curly)f
-(braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630
-1536 y(in)38 b(the)h(curren)m(t)g(shell)f(en)m(vironmen)m(t.)66
-b(No)40 b(subshell)d(is)i(created.)67 b(The)38 b(semicolon)i(\(or)630
-1646 y(newline\))31 b(follo)m(wing)g Fr(list)i Fu(is)e(required.)275
-1802 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j
-(there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150
-1912 y(t)m(w)m(o)f(constructs)f(due)g(to)g(historical)i(reasons.)78
-b(The)42 b(braces)i(are)f(reserv)m(ed)g(w)m(ords,)j(so)d(they)g(m)m
-(ust)150 2021 y(b)s(e)36 b(separated)h(from)f(the)g Fr(list)j
-Fu(b)m(y)e Ft(blank)p Fu(s)e(or)h(other)h(shell)f(metac)m(haracters.)62
-b(The)36 b(paren)m(theses)h(are)150 2131 y(op)s(erators,)29
-b(and)e(are)i(recognized)g(as)g(separate)g(tok)m(ens)g(b)m(y)f(the)g
-(shell)g(ev)m(en)h(if)f(they)h(are)f(not)g(separated)150
-2241 y(from)i(the)g Fr(list)j Fu(b)m(y)e(whitespace.)275
-2374 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h(constructs)g
-(is)f(the)h(exit)g(status)f(of)h Fr(list)p Fu(.)150 2570
-y Fk(3.2.6)63 b(Copro)s(cesses)150 2717 y Fu(A)37 b Ft(coprocess)c
-Fu(is)k(a)g(shell)f(command)h(preceded)f(b)m(y)g(the)h
-Ft(coproc)d Fu(reserv)m(ed)j(w)m(ord.)59 b(A)36 b(copro)s(cess)h(is)150
-2827 y(executed)g(async)m(hronously)g(in)f(a)h(subshell,)g(as)g(if)g
-(the)f(command)h(had)f(b)s(een)f(terminated)i(with)g(the)150
-2936 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g(with)f(a)g(t)m(w)m
-(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m(een)h(the)f
-(executing)h(shell)f(and)f(the)150 3046 y(copro)s(cess.)275
-3179 y(The)c(syn)m(tax)i(for)f(a)h(copro)s(cess)g(is:)390
-3312 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g
-Ft([)p Fj(redirections)p Ft(])150 3445 y Fu(This)33 b(creates)i(a)f
-(copro)s(cess)g(named)f Fr(NAME)p Fu(.)51 b Fr(command)37
-b Fu(ma)m(y)d(b)s(e)f(either)h(a)g(simple)g(command)f(\(see)150
-3555 y(Section)44 b(3.2.2)i([Simple)d(Commands],)k(page)d(9\))g(or)g(a)
-g(comp)s(ound)e(command)h(\(see)i(Section)f(3.2.5)150
-3665 y([Comp)s(ound)e(Commands],)47 b(page)e(11\).)83
-b Fr(NAME)50 b Fu(is)44 b(a)g(shell)g(v)-5 b(ariable)45
-b(name.)82 b(If)44 b Fr(NAME)50 b Fu(is)44 b(not)150
-3774 y(supplied,)29 b(the)i(default)f(name)h(is)f Ft(COPROC)p
-Fu(.)275 3907 y(The)f(recommended)h(form)g(to)h(use)f(for)h(a)f(copro)s
-(cess)h(is)390 4040 y Ft(coproc)46 b Fj(NAME)h Ft({)g
-Fj(command)p Ft(;)f(})150 4173 y Fu(This)23 b(form)g(is)h(preferred)e
-(b)s(ecause)i(simple)f(commands)g(result)h(in)f(the)h(copro)s(cess)g
-(alw)m(a)m(ys)h(b)s(eing)e(named)150 4283 y Ft(COPROC)p
-Fu(,)29 b(and)h(it)h(is)f(simpler)g(to)h(use)f(and)g(more)g(complete)i
-(than)e(the)h(other)g(comp)s(ound)d(commands.)275 4416
-y(There)h(are)i(other)g(forms)f(of)g(copro)s(cesses:)390
-4549 y Ft(coproc)46 b Fj(NAME)h(compound-command)390
-4659 y Ft(coproc)f Fj(compound-command)390 4768 y Ft(coproc)g
-Fj(simple-command)150 4902 y Fu(If)41 b Fr(command)46
-b Fu(is)41 b(a)i(comp)s(ound)d(command,)45 b Fr(NAME)i
-Fu(is)42 b(optional.)77 b(The)41 b(w)m(ord)g(follo)m(wing)j
-Ft(coproc)150 5011 y Fu(determines)27 b(whether)f(that)i(w)m(ord)f(is)g
-(in)m(terpreted)g(as)g(a)h(v)-5 b(ariable)28 b(name:)39
-b(it)27 b(is)g(in)m(terpreted)h(as)f Fr(NAME)150 5121
-y Fu(if)i(it)h(is)g(not)f(a)h(reserv)m(ed)f(w)m(ord)g(that)h(in)m(tro)s
-(duces)f(a)h(comp)s(ound)e(command.)40 b(If)29 b Fr(command)k
-Fu(is)c(a)h(simple)150 5230 y(command,)36 b Fr(NAME)k
-Fu(is)35 b(not)f(allo)m(w)m(ed;)39 b(this)34 b(is)h(to)g(a)m(v)m(oid)h
-(confusion)f(b)s(et)m(w)m(een)g Fr(NAME)40 b Fu(and)34
-b(the)h(\014rst)150 5340 y(w)m(ord)30 b(of)h(the)f(simple)g(command.)p
-eop end
-%%Page: 19 25
-TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)275 299
-y(When)42 b(the)i(copro)s(cess)f(is)g(executed,)48 b(the)43
-b(shell)g(creates)i(an)e(arra)m(y)g(v)-5 b(ariable)44
-b(\(see)g(Section)g(6.7)150 408 y([Arra)m(ys],)h(page)e(109\))g(named)e
-Fr(NAME)48 b Fu(in)41 b(the)h(con)m(text)h(of)f(the)g(executing)h
-(shell.)75 b(The)41 b(standard)150 518 y(output)32 b(of)h
-Fr(command)i Fu(is)e(connected)g(via)g(a)g(pip)s(e)f(to)h(a)g(\014le)f
-(descriptor)h(in)f(the)g(executing)i(shell,)g(and)150
-628 y(that)d(\014le)g(descriptor)g(is)g(assigned)f(to)i
-Fr(NAME)5 b Fu([0].)43 b(The)31 b(standard)f(input)f(of)i
-Fr(command)j Fu(is)d(connected)150 737 y(via)40 b(a)g(pip)s(e)f(to)h(a)
-g(\014le)g(descriptor)f(in)g(the)h(executing)h(shell,)h(and)d(that)h
-(\014le)g(descriptor)f(is)h(assigned)150 847 y(to)f Fr(NAME)5
-b Fu([1].)65 b(This)38 b(pip)s(e)f(is)h(established)g(b)s(efore)g(an)m
-(y)g(redirections)h(sp)s(eci\014ed)e(b)m(y)h(the)g(command)150
-956 y(\(see)33 b(Section)f(3.6)h([Redirections],)g(page)g(40\).)45
-b(The)31 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized)i(as)f
-(argumen)m(ts)150 1066 y(to)42 b(shell)g(commands)f(and)g(redirections)
-h(using)f(standard)g(w)m(ord)g(expansions.)74 b(Other)41
-b(than)g(those)150 1176 y(created)27 b(to)g(execute)g(command)f(and)f
-(pro)s(cess)h(substitutions,)h(the)f(\014le)g(descriptors)g(are)g(not)h
-(a)m(v)-5 b(ailable)150 1285 y(in)30 b(subshells.)275
-1421 y(The)d(pro)s(cess)h(ID)h(of)f(the)h(shell)f(spa)m(wned)g(to)h
-(execute)h(the)e(copro)s(cess)h(is)f(a)m(v)-5 b(ailable)31
-b(as)d(the)h(v)-5 b(alue)29 b(of)150 1531 y(the)23 b(v)-5
-b(ariable)24 b Fj(NAME)p Ft(_PID)p Fu(.)36 b(The)23 b
-Ft(wait)f Fu(builtin)g(ma)m(y)i(b)s(e)f(used)f(to)i(w)m(ait)g(for)f
-(the)g(copro)s(cess)h(to)g(terminate.)275 1667 y(Since)c(the)g(copro)s
-(cess)h(is)g(created)g(as)g(an)f(async)m(hronous)g(command,)i(the)f
-Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 1776 y(returns)29
-b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h(copro)s(cess)g(is)f
-(the)h(exit)g(status)g(of)f Fr(command)p Fu(.)150 1977
-y Fk(3.2.7)63 b(GNU)41 b(P)m(arallel)150 2124 y Fu(There)30
-b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g(parallel)h(that)h(are)e
-(not)h(built)g(in)m(to)g(Bash.)41 b(GNU)31 b(P)m(arallel)i(is)150
-2233 y(a)e(to)s(ol)g(to)g(do)f(just)g(that.)275 2369
-y(GNU)e(P)m(arallel,)i(as)e(its)g(name)f(suggests,)j(can)d(b)s(e)g
-(used)g(to)h(build)f(and)g(run)f(commands)h(in)h(parallel.)150
-2479 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g
-(di\013eren)m(t)h(argumen)m(ts,)j(whether)39 b(they)i(are)g
-(\014lenames,)150 2588 y(usernames,)27 b(hostnames,)h(or)e(lines)h
-(read)f(from)h(\014les.)39 b(GNU)27 b(P)m(arallel)i(pro)m(vides)d
-(shorthand)g(references)150 2698 y(to)38 b(man)m(y)g(of)g(the)g(most)g
-(common)g(op)s(erations)g(\(input)f(lines,)j(v)-5 b(arious)38
-b(p)s(ortions)f(of)h(the)g(input)e(line,)150 2807 y(di\013eren)m(t)f(w)
-m(a)m(ys)h(to)f(sp)s(ecify)f(the)h(input)f(source,)i(and)e(so)h(on\).)
-54 b(P)m(arallel)36 b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150
-2917 y(commands)30 b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f
-(di\013eren)m(t)g(instances)g(of)g(Bash.)275 3053 y(F)-8
-b(or)28 b(a)h(complete)g(description,)g(refer)f(to)g(the)h(GNU)f(P)m
-(arallel)i(do)s(cumen)m(tation,)g(whic)m(h)e(is)g(a)m(v)-5
-b(ailable)150 3163 y(at)31 b Ft(https://www.gnu.org/softw)o(are)o(/par)
-o(alle)o(l/p)o(aral)o(lel_)o(tut)o(oria)o(l.ht)o(ml)p
-Fu(.)150 3405 y Fs(3.3)68 b(Shell)45 b(F)-11 b(unctions)150
-3565 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m(a)m(y)g(to)h(group)e
-(commands)g(for)h(later)g(execution)h(using)e(a)h(single)g(name)g(for)
-150 3674 y(the)31 b(group.)43 b(They)31 b(are)g(executed)h(just)f(lik)m
-(e)h(a)g Ft(")p Fu(regular)p Ft(")f Fu(simple)g(command.)43
-b(When)31 b(the)g(name)g(of)h(a)150 3784 y(shell)g(function)g(is)g
-(used)g(as)g(a)h(simple)f(command)g(name,)h(the)f(shell)g(executes)i
-(the)e(list)h(of)f(commands)150 3894 y(asso)s(ciated)22
-b(with)f(that)g(function)g(name.)37 b(Shell)21 b(functions)g(are)g
-(executed)h(in)e(the)h(curren)m(t)g(shell)g(con)m(text;)150
-4003 y(there)31 b(is)f(no)g(new)g(pro)s(cess)g(created)h(to)h(in)m
-(terpret)e(them.)275 4139 y(F)-8 b(unctions)30 b(are)h(declared)g
-(using)f(this)g(syn)m(tax:)390 4275 y Fj(fname)46 b Ft(\(\))i
-Fj(compound-command)43 b Ft([)k Fj(redirections)e Ft(])275
-4411 y Fu(or)390 4547 y Ft(function)h Fj(fname)g Ft([\(\)])h
-Fj(compound-command)c Ft([)k Fj(redirections)e Ft(])275
-4682 y Fu(This)37 b(de\014nes)h(a)h(shell)f(function)g(named)g
-Fr(fname)p Fu(.)65 b(The)38 b(reserv)m(ed)h(w)m(ord)f
-Ft(function)e Fu(is)j(optional.)150 4792 y(If)33 b(the)g
-Ft(function)e Fu(reserv)m(ed)i(w)m(ord)g(is)g(supplied,)g(the)g(paren)m
-(theses)h(are)f(optional.)50 b(The)33 b Fr(b)s(o)s(dy)39
-b Fu(of)34 b(the)150 4902 y(function)41 b(is)h(the)g(comp)s(ound)e
-(command)h Fr(comp)s(ound-command)j Fu(\(see)e(Section)h(3.2.5)g([Comp)
-s(ound)150 5011 y(Commands],)30 b(page)h(11\).)42 b(That)30
-b(command)g(is)g(usually)h(a)f Fr(list)j Fu(enclosed)e(b)s(et)m(w)m
-(een)g Fi({)g Fu(and)f Fi(})p Fu(,)h(but)e(ma)m(y)150
-5121 y(b)s(e)k(an)m(y)h(comp)s(ound)f(command)g(listed)i(ab)s(o)m(v)m
-(e.)52 b(If)33 b(the)i Ft(function)c Fu(reserv)m(ed)j(w)m(ord)g(is)f
-(used,)i(but)e(the)150 5230 y(paren)m(theses)41 b(are)g(not)g
-(supplied,)h(the)e(braces)h(are)g(recommended.)71 b(When)40
-b(the)h(shell)g(is)f(in)h Fm(posix)150 5340 y Fu(mo)s(de)31
-b(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\),)i
-Fr(fname)i Fu(m)m(ust)31 b(b)s(e)g(a)h(v)-5 b(alid)31
-b(shell)h(name)p eop end
-%%Page: 20 26
-TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299
-y(and)33 b(ma)m(y)h(not)f(b)s(e)g(the)h(same)f(as)h(one)g(of)f(the)h
-(sp)s(ecial)g(builtins)e(\(see)j(Section)f(4.4)g([Sp)s(ecial)g
-(Builtins],)150 408 y(page)d(83\).)41 b(When)30 b(not)g(in)g
-Fm(posix)f Fu(mo)s(de,)h(a)g(function)f(name)h(can)g(b)s(e)g(an)m(y)g
-(unquoted)f(shell)h(w)m(ord)f(that)150 518 y(do)s(es)h(not)h(con)m
-(tain)g(`)p Ft($)p Fu('.)275 664 y(An)m(y)d(redirections)g(\(see)h
-(Section)g(3.6)g([Redirections],)i(page)d(40\))i(asso)s(ciated)f(with)f
-(the)g(shell)h(func-)150 774 y(tion)37 b(are)f(p)s(erformed)f(when)g
-(the)h(function)g(is)g(executed.)59 b(F)-8 b(unction)37
-b(de\014nitions)f(are)h(deleted)f(using)150 883 y(the)31
-b Ft(-f)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h
-(Section)g(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(51\).)275
-1029 y(The)26 b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g
-(zero)h(unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)
-150 1139 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46
-b(When)32 b(executed,)h(the)f(exit)h(status)g(of)f(a)g(function)150
-1249 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed)
-i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 1395 y(Note)22 b(that)f(for)f
-(historical)i(reasons,)h(in)e(the)g(most)g(common)g(usage)g(the)g
-(curly)f(braces)h(that)g(surround)150 1504 y(the)38 b(b)s(o)s(dy)d(of)j
-(the)f(function)g(m)m(ust)g(b)s(e)g(separated)h(from)f(the)g(b)s(o)s
-(dy)f(b)m(y)h Ft(blank)p Fu(s)f(or)h(newlines.)62 b(This)150
-1614 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m
-(ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i
-(are)150 1724 y(separated)j(from)g(the)g(command)f(list)i(b)m(y)f
-(whitespace)g(or)g(another)g(shell)g(metac)m(haracter.)78
-b(When)150 1833 y(using)30 b(the)g(braces,)h(the)g Fr(list)i
-Fu(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p
-Ft(&)p Fu(',)h(or)g(a)f(newline.)275 1979 y Fr(comp)s(ound-command)38
-b Fu(is)f(executed)g(whenev)m(er)f Fr(fname)42 b Fu(is)36
-b(sp)s(eci\014ed)g(as)g(the)h(name)g(of)f(a)h(simple)150
-2089 y(command.)h(F)-8 b(unctions)25 b(are)g(executed)g(in)g(the)f(con)
-m(text)i(of)f(the)f(calling)i(shell;)h(there)e(is)f(no)h(new)e(pro)s
-(cess)150 2198 y(created)31 b(to)h(in)m(terpret)e(them)h(\(con)m(trast)
-h(this)e(with)g(the)h(execution)g(of)g(a)g(shell)f(script\).)275
-2345 y(When)i(a)i(function)f(is)g(executed,)i(the)e(argumen)m(ts)h(to)g
-(the)f(function)g(b)s(ecome)g(the)h(p)s(ositional)g(pa-)150
-2454 y(rameters)42 b(during)e(its)i(execution)h(\(see)f(Section)g
-(3.4.1)h([P)m(ositional)h(P)m(arameters],)i(page)c(23\).)75
-b(The)150 2564 y(sp)s(ecial)37 b(parameter)f(`)p Ft(#)p
-Fu(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b)s(er)f(of)h(p)s
-(ositional)h(parameters)f(is)g(up)s(dated)f(to)150 2673
-y(re\015ect)g(the)g(new)e(set)i(of)g(p)s(ositional)g(parameters.)53
-b(Sp)s(ecial)35 b(parameter)g Ft(0)f Fu(is)g(unc)m(hanged.)53
-b(The)34 b(\014rst)150 2783 y(elemen)m(t)j(of)e(the)h
-Ft(FUNCNAME)d Fu(v)-5 b(ariable)36 b(is)g(set)g(to)g(the)f(name)h(of)f
-(the)h(function)f(while)g(the)h(function)f(is)150 2892
-y(executing.)275 3039 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)
-g(execution)h(en)m(vironmen)m(t)g(are)f(iden)m(tical)h(b)s(et)m(w)m
-(een)g(a)f(function)g(and)150 3148 y(its)35 b(caller)i(with)d(these)i
-(exceptions:)50 b(the)36 b Ft(DEBUG)d Fu(and)h Ft(RETURN)g
-Fu(traps)g(are)i(not)f(inherited)f(unless)h(the)150 3258
-y(function)26 b(has)g(b)s(een)f(giv)m(en)i(the)g Ft(trace)d
-Fu(attribute)j(using)f(the)g Ft(declare)e Fu(builtin)i(or)g(the)h
-Ft(-o)i(functrace)150 3367 y Fu(option)f(has)e(b)s(een)h(enabled)g
-(with)g(the)g Ft(set)f Fu(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f
-(functions)e(inherit)h(the)g Ft(DEBUG)150 3477 y Fu(and)33
-b Ft(RETURN)f Fu(traps\),)j(and)e(the)h Ft(ERR)f Fu(trap)h(is)g(not)g
-(inherited)f(unless)g(the)h Ft(-o)c(errtrace)h Fu(shell)j(option)150
-3587 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
-(Shell)g(Builtins],)i(page)f(51,)i(for)c(the)i(description)f(of)150
-3696 y(the)c Ft(trap)e Fu(builtin.)275 3842 y(The)38
-b Ft(FUNCNEST)f Fu(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric)
-f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150
-3952 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25
-b(in)m(v)m(o)s(cations)i(that)e(exceed)g(the)g(limit)g(cause)g(the)g
-(en)m(tire)g(command)150 4061 y(to)31 b(ab)s(ort.)275
-4208 y(If)37 b(the)g(builtin)g(command)h Ft(return)d
-Fu(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h
-(and)150 4317 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f
-(after)i(the)f(function)f(call.)40 b(An)m(y)24 b(command)f(asso)s
-(ciated)150 4427 y(with)h(the)h Ft(RETURN)d Fu(trap)i(is)h(executed)g
-(b)s(efore)f(execution)i(resumes.)38 b(When)24 b(a)h(function)f
-(completes,)j(the)150 4536 y(v)-5 b(alues)29 b(of)g(the)g(p)s
-(ositional)h(parameters)f(and)g(the)g(sp)s(ecial)g(parameter)h(`)p
-Ft(#)p Fu(')f(are)g(restored)g(to)h(the)f(v)-5 b(alues)150
-4646 y(they)30 b(had)f(prior)g(to)h(the)g(function's)g(execution.)41
-b(If)29 b Ft(return)f Fu(is)i(supplied)e(a)i(n)m(umeric)g(argumen)m(t,)
-g(that)150 4756 y(is)35 b(the)g(function's)g(return)f(status;)k
-(otherwise)e(the)f(function's)g(return)f(status)h(is)g(the)g(exit)h
-(status)g(of)150 4865 y(the)31 b(last)g(command)f(executed)h(b)s(efore)
-f(the)h Ft(return)p Fu(.)275 5011 y(V)-8 b(ariables)43
-b(lo)s(cal)h(to)f(the)g(function)f(are)h(declared)g(with)f(the)h
-Ft(local)e Fu(builtin)h(\()p Fr(lo)s(cal)i(v)-5 b(ariables)t
-Fu(\).)150 5121 y(Ordinarily)d(,)35 b(v)-5 b(ariables)35
-b(and)f(their)g(v)-5 b(alues)35 b(are)g(shared)e(b)s(et)m(w)m(een)i(a)g
-(function)f(and)g(its)g(caller.)54 b(These)150 5230 y(v)-5
-b(ariables)30 b(are)f(visible)g(only)g(to)h(the)f(function)f(and)g(the)
-i(commands)e(it)h(in)m(v)m(ok)m(es.)42 b(This)28 b(is)h(particularly)
-150 5340 y(imp)s(ortan)m(t)i(when)e(a)i(shell)f(function)g(calls)i
-(other)e(functions.)p eop end
-%%Page: 21 27
-TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)275 299
-y(In)33 b(the)h(follo)m(wing)i(description,)f(the)g Fr(curren)m(t)f
-(scop)s(e)39 b Fu(is)34 b(a)h(curren)m(tly-)g(executing)g(function.)52
-b(Pre-)150 408 y(vious)33 b(scop)s(es)g(consist)g(of)g(that)g
-(function's)g(caller)h(and)e(so)h(on,)h(bac)m(k)g(to)f(the)g
-Ft(")p Fu(global)p Ft(")h Fu(scop)s(e,)f(where)150 518
-y(the)g(shell)g(is)g(not)g(executing)i(an)m(y)e(shell)g(function.)48
-b(A)33 b(lo)s(cal)h(v)-5 b(ariable)34 b(at)g(the)f(curren)m(t)g(lo)s
-(cal)h(scop)s(e)f(is)150 628 y(a)k(v)-5 b(ariable)38
-b(declared)f(using)f(the)h Ft(local)f Fu(or)h Ft(declare)d
-Fu(builtins)j(in)f(the)h(function)g(that)g(is)g(curren)m(tly)150
-737 y(executing.)275 874 y(Lo)s(cal)26 b(v)-5 b(ariables)26
-b Ft(")p Fu(shado)m(w)p Ft(")e Fu(v)-5 b(ariables)26
-b(with)g(the)f(same)h(name)f(declared)h(at)g(previous)f(scop)s(es.)39
-b(F)-8 b(or)150 984 y(instance,)27 b(a)e(lo)s(cal)h(v)-5
-b(ariable)25 b(declared)g(in)f(a)h(function)f(hides)h(v)-5
-b(ariables)25 b(with)f(the)h(same)g(name)f(declared)150
-1093 y(at)30 b(previous)e(scop)s(es,)i(including)f(global)h(v)-5
-b(ariables:)41 b(references)29 b(and)g(assignmen)m(ts)h(refer)e(to)i
-(the)g(lo)s(cal)150 1203 y(v)-5 b(ariable,)35 b(lea)m(ving)h(the)e(v)-5
-b(ariables)34 b(at)g(previous)f(scop)s(es)h(unmo)s(di\014ed.)48
-b(When)34 b(the)g(function)f(returns,)150 1313 y(the)e(global)g(v)-5
-b(ariable)31 b(is)g(once)g(again)g(visible.)275 1450
-y(The)f(shell)h(uses)g Fr(dynamic)g(scoping)39 b Fu(to)32
-b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h(within)d
-(functions.)42 b(With)150 1559 y(dynamic)31 b(scoping,)i(visible)e(v)-5
-b(ariables)32 b(and)f(their)h(v)-5 b(alues)32 b(are)f(a)h(result)g(of)f
-(the)h(sequence)g(of)f(function)150 1669 y(calls)37 b(that)g(caused)g
-(execution)g(to)g(reac)m(h)g(the)g(curren)m(t)f(function.)58
-b(The)36 b(v)-5 b(alue)36 b(of)h(a)g(v)-5 b(ariable)37
-b(that)g(a)150 1778 y(function)30 b(sees)h(dep)s(ends)d(on)i(its)h(v)-5
-b(alue)30 b(within)g(its)h(caller,)h(if)e(an)m(y)-8 b(,)31
-b(whether)f(that)g(caller)i(is)e(the)h(global)150 1888
-y(scop)s(e)41 b(or)g(another)g(shell)g(function.)73 b(This)40
-b(is)h(also)h(the)f(v)-5 b(alue)41 b(that)h(a)f(lo)s(cal)i(v)-5
-b(ariable)41 b(declaration)150 1998 y(shado)m(ws,)30
-b(and)g(the)h(v)-5 b(alue)31 b(that)f(is)h(restored)f(when)g(the)g
-(function)g(returns.)275 2134 y(F)-8 b(or)38 b(example,)h(if)f(a)f(v)-5
-b(ariable)38 b Ft(var)f Fu(is)g(declared)h(as)f(lo)s(cal)i(in)e
-(function)g Ft(func1)p Fu(,)g(and)g Ft(func1)f Fu(calls)150
-2244 y(another)29 b(function)g Ft(func2)p Fu(,)f(references)i(to)f
-Ft(var)g Fu(made)g(from)f(within)h Ft(func2)f Fu(will)h(resolv)m(e)i
-(to)e(the)h(lo)s(cal)150 2354 y(v)-5 b(ariable)31 b Ft(var)f
-Fu(from)g Ft(func1)p Fu(,)f(shado)m(wing)h(an)m(y)h(global)h(v)-5
-b(ariable)31 b(named)f Ft(var)p Fu(.)275 2491 y(The)f(follo)m(wing)j
-(script)f(demonstrates)f(this)h(b)s(eha)m(vior.)40 b(When)31
-b(executed,)g(the)g(script)f(displa)m(ys)390 2628 y Ft(In)47
-b(func2,)f(var)h(=)h(func1)e(local)390 2765 y(func1\(\))390
-2874 y({)581 2984 y(local)g(var='func1)f(local')581 3093
-y(func2)390 3203 y(})390 3422 y(func2\(\))390 3532 y({)581
-3641 y(echo)i("In)f(func2,)h(var)f(=)i($var")390 3751
-y(})390 3970 y(var=global)390 4080 y(func1)275 4217 y
-Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i(acts)g(using)e(the)i(same)f
-(dynamic)g(scop)s(e:)46 b(if)33 b(a)g(v)-5 b(ariable)34
-b(is)f(lo)s(cal)h(to)g(the)150 4326 y(curren)m(t)i(scop)s(e,)h
-Ft(unset)e Fu(will)h(unset)g(it;)j(otherwise)e(the)f(unset)f(will)h
-(refer)g(to)h(the)f(v)-5 b(ariable)37 b(found)d(in)150
-4436 y(an)m(y)27 b(calling)i(scop)s(e)e(as)g(describ)s(ed)f(ab)s(o)m(v)
-m(e.)41 b(If)26 b(a)h(v)-5 b(ariable)28 b(at)g(the)f(curren)m(t)g(lo)s
-(cal)h(scop)s(e)f(is)g(unset,)g(it)h(will)150 4545 y(remain)k(so)g
-(\(app)s(earing)g(as)h(unset\))e(un)m(til)i(it)f(is)g(reset)h(in)f
-(that)g(scop)s(e)h(or)f(un)m(til)g(the)g(function)g(returns.)150
-4655 y(Once)39 b(the)h(function)f(returns,)h(an)m(y)g(instance)g(of)f
-(the)h(v)-5 b(ariable)40 b(at)g(a)g(previous)f(scop)s(e)g(will)h(b)s
-(ecome)150 4765 y(visible.)k(If)31 b(the)h(unset)f(acts)h(on)g(a)g(v)-5
-b(ariable)32 b(at)g(a)g(previous)f(scop)s(e,)h(an)m(y)f(instance)i(of)e
-(a)h(v)-5 b(ariable)32 b(with)150 4874 y(that)38 b(name)g(that)g(had)f
-(b)s(een)g(shado)m(w)m(ed)h(will)g(b)s(ecome)g(visible)g(\(see)g(b)s
-(elo)m(w)g(ho)m(w)g Ft(localvar_unset)150 4984 y Fu(shell)31
-b(option)f(c)m(hanges)i(this)e(b)s(eha)m(vior\).)275
-5121 y(The)49 b Ft(-f)h Fu(option)g(to)h(the)g Ft(declare)d
-Fu(\()p Ft(typeset)p Fu(\))h(builtin)g(command)h(\(see)h(Section)g(4.2)
-h([Bash)150 5230 y(Builtins],)37 b(page)f(60\))g(will)f(list)h
-(function)f(names)g(and)f(de\014nitions.)55 b(The)34
-b Ft(-F)h Fu(option)g(to)h Ft(declare)d Fu(or)150 5340
-y Ft(typeset)d Fu(will)j(list)g(the)f(function)g(names)g(only)h(\(and)f
-(optionally)h(the)g(source)f(\014le)h(and)e(line)i(n)m(um)m(b)s(er,)p
-eop end
-%%Page: 22 28
-TeXDict begin 22 27 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(22)150 299
-y(if)39 b(the)h Ft(extdebug)c Fu(shell)k(option)f(is)h(enabled\).)67
-b(F)-8 b(unctions)40 b(ma)m(y)g(b)s(e)e(exp)s(orted)h(so)g(that)h(c)m
-(hild)g(shell)150 408 y(pro)s(cesses)g(\(those)i(created)f(when)f
-(executing)h(a)g(separate)h(shell)e(in)m(v)m(o)s(cation\))j
-(automatically)h(ha)m(v)m(e)150 518 y(them)i(de\014ned)f(with)h(the)h
-Ft(-f)f Fu(option)h(to)g(the)f Ft(export)f Fu(builtin)h(\(see)h
-(Section)g(4.1)h([Bourne)e(Shell)150 628 y(Builtins],)g(page)e(51\).)78
-b(The)42 b Ft(-f)g Fu(option)g(to)i(the)e Ft(unset)f
-Fu(builtin)h(\(see)i(Section)f(4.1)h([Bourne)e(Shell)150
-737 y(Builtins],)31 b(page)g(51\))h(will)f(delete)g(a)g(function)f
-(de\014nition.)275 878 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g
-(recursiv)m(e.)48 b(The)32 b Ft(FUNCNEST)f Fu(v)-5 b(ariable)34
-b(ma)m(y)f(b)s(e)f(used)g(to)i(limit)g(the)f(depth)f(of)150
-987 y(the)j(function)g(call)h(stac)m(k)g(and)f(restrict)g(the)g(n)m(um)
-m(b)s(er)f(of)h(function)g(in)m(v)m(o)s(cations.)56 b(By)35
-b(default,)i(Bash)150 1097 y(places)31 b(no)f(limit)i(on)e(the)g(n)m
-(um)m(b)s(er)g(of)g(recursiv)m(e)h(calls.)150 1347 y
-Fs(3.4)68 b(Shell)45 b(P)l(arameters)150 1506 y Fu(A)39
-b Fr(parameter)45 b Fu(is)39 b(an)g(en)m(tit)m(y)h(that)f(stores)g(v)-5
-b(alues.)66 b(It)39 b(can)g(b)s(e)f(a)h Ft(name)p Fu(,)h(a)f(n)m(um)m
-(b)s(er,)g(or)g(one)g(of)g(the)150 1616 y(sp)s(ecial)c(c)m(haracters)h
-(listed)g(b)s(elo)m(w.)53 b(A)35 b Fr(v)-5 b(ariable)41
-b Fu(is)34 b(a)h(parameter)h(denoted)e(b)m(y)h(a)g Ft(name)p
-Fu(.)52 b(A)35 b(v)-5 b(ariable)150 1726 y(has)41 b(a)h
-Ft(value)d Fu(and)i(zero)h(or)f(more)g Ft(attributes)p
-Fu(.)71 b(A)m(ttributes)42 b(are)f(assigned)h(using)f(the)g
-Ft(declare)150 1835 y Fu(builtin)29 b(command)g(\(see)h(the)g
-(description)f(of)g(the)h Ft(declare)d Fu(builtin)i(in)g(Section)h(4.2)
-g([Bash)g(Builtins],)150 1945 y(page)h(60\).)42 b(The)30
-b Ft(export)f Fu(and)g Ft(readonly)f Fu(builtins)i(assign)h(sp)s
-(eci\014c)f(attributes.)275 2085 y(A)e(parameter)h(is)g(set)g(if)f(it)h
-(has)f(b)s(een)g(assigned)h(a)g(v)-5 b(alue.)40 b(The)28
-b(n)m(ull)h(string)f(is)h(a)g(v)-5 b(alid)28 b(v)-5 b(alue.)41
-b(Once)150 2195 y(a)31 b(v)-5 b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h
-(b)s(e)f(unset)g(only)h(b)m(y)f(using)g(the)g Ft(unset)f
-Fu(builtin)h(command.)275 2336 y(A)g(v)-5 b(ariable)31
-b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h(statemen)m(t)h(of)e(the)
-h(form)390 2476 y Fj(name)p Ft(=[)p Fj(value)p Ft(])150
-2617 y Fu(If)43 b Fr(v)-5 b(alue)49 b Fu(is)43 b(not)h(giv)m(en,)k(the)
-c(v)-5 b(ariable)44 b(is)f(assigned)h(the)f(n)m(ull)h(string.)80
-b(All)44 b Fr(v)-5 b(alue)5 b Fu(s)43 b(undergo)g(tilde)150
-2726 y(expansion,)25 b(parameter)f(and)f(v)-5 b(ariable)25
-b(expansion,)g(command)e(substitution,)i(arithmetic)g(expansion,)150
-2836 y(and)i(quote)i(remo)m(v)-5 b(al)29 b(\(see)g(Section)f(3.5.3)i
-([Shell)e(P)m(arameter)h(Expansion],)f(page)h(27\).)41
-b(If)27 b(the)h(v)-5 b(ariable)150 2946 y(has)35 b(its)h
-Ft(integer)e Fu(attribute)i(set,)i(then)d Fr(v)-5 b(alue)42
-b Fu(is)35 b(ev)-5 b(aluated)37 b(as)f(an)f(arithmetic)i(expression)f
-(ev)m(en)g(if)150 3055 y(the)i Ft($\(\(...)n(\)\))f Fu(expansion)g(is)g
-(not)h(used)e(\(see)j(Section)f(3.5.5)h([Arithmetic)f(Expansion],)h
-(page)f(36\).)150 3165 y(W)-8 b(ord)26 b(splitting)h(and)e(\014lename)h
-(expansion)g(are)g(not)h(p)s(erformed.)37 b(Assignmen)m(t)27
-b(statemen)m(ts)g(ma)m(y)g(also)150 3274 y(app)s(ear)22
-b(as)h(argumen)m(ts)g(to)h(the)f Ft(alias)p Fu(,)g Ft(declare)p
-Fu(,)f Ft(typeset)p Fu(,)h Ft(export)p Fu(,)g Ft(readonly)p
-Fu(,)f(and)g Ft(local)f Fu(builtin)150 3384 y(commands)31
-b(\()p Fr(declaration)i(commands)t Fu(\).)43 b(When)32
-b(in)f Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)
-150 3493 y(Mo)s(de],)h(page)f(115\),)i(these)e(builtins)f(ma)m(y)h(app)
-s(ear)f(in)g(a)h(command)f(after)h(one)g(or)g(more)g(instances)g(of)150
-3603 y(the)f Ft(command)d Fu(builtin)i(and)g(retain)h(these)f
-(assignmen)m(t)i(statemen)m(t)g(prop)s(erties.)40 b(F)-8
-b(or)31 b(example,)390 3744 y Ft(command)46 b(export)g(var=value)275
-3884 y Fu(In)29 b(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h
-(statemen)m(t)h(is)e(assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g
-(v)-5 b(ariable)31 b(or)150 3994 y(arra)m(y)37 b(index)f(\(see)i
-(Section)g(6.7)f([Arra)m(ys],)i(page)f(109\),)i(the)d(`)p
-Ft(+=)p Fu(')f(op)s(erator)h(will)g(app)s(end)e(to)j(or)f(add)150
-4103 y(to)29 b(the)g(v)-5 b(ariable's)30 b(previous)e(v)-5
-b(alue.)41 b(This)28 b(includes)g(argumen)m(ts)h(to)h(declaration)g
-(commands)e(suc)m(h)h(as)150 4213 y Ft(declare)i Fu(that)k(accept)f
-(assignmen)m(t)h(statemen)m(ts.)51 b(When)34 b(`)p Ft(+=)p
-Fu(')f(is)g(applied)h(to)g(a)g(v)-5 b(ariable)34 b(for)f(whic)m(h)150
-4323 y(the)23 b Ft(integer)d Fu(attribute)k(has)e(b)s(een)g(set,)j(the)
-d(v)-5 b(ariable's)24 b(curren)m(t)e(v)-5 b(alue)23 b(and)f
-Fr(v)-5 b(alue)28 b Fu(are)23 b(eac)m(h)h(ev)-5 b(aluated)150
-4432 y(as)25 b(arithmetic)i(expressions,)f(and)e(the)i(sum)e(of)h(the)h
-(results)f(is)g(assigned)g(as)h(the)f(v)-5 b(ariable's)26
-b(v)-5 b(alue.)39 b(The)150 4542 y(curren)m(t)24 b(v)-5
-b(alue)26 b(is)e(usually)h(an)f(in)m(teger)i(constan)m(t,)i(but)c(ma)m
-(y)h(b)s(e)f(an)h(expression.)38 b(When)25 b(`)p Ft(+=)p
-Fu(')f(is)h(applied)150 4651 y(to)35 b(an)f(arra)m(y)h(v)-5
-b(ariable)34 b(using)g(comp)s(ound)f(assignmen)m(t)i(\(see)g(Section)g
-(6.7)g([Arra)m(ys],)h(page)f(109\),)i(the)150 4761 y(v)-5
-b(ariable's)33 b(v)-5 b(alue)34 b(is)e(not)h(unset)f(\(as)h(it)g(is)g
-(when)f(using)g(`)p Ft(=)p Fu('\),)i(and)e(new)g(v)-5
-b(alues)33 b(are)g(app)s(ended)d(to)k(the)150 4871 y(arra)m(y)k(b)s
-(eginning)f(at)h(one)g(greater)h(than)f(the)g(arra)m(y's)g(maxim)m(um)f
-(index)h(\(for)f(indexed)g(arra)m(ys\),)k(or)150 4980
-y(added)24 b(as)i(additional)g(k)m(ey-v)-5 b(alue)26
-b(pairs)f(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8 b(.)40
-b(When)24 b(applied)h(to)h(a)g(string-v)-5 b(alued)150
-5090 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31
-b(expanded)e(and)h(app)s(ended)f(to)i(the)f(v)-5 b(ariable's)32
-b(v)-5 b(alue.)275 5230 y(A)28 b(v)-5 b(ariable)28 b(can)h(b)s(e)e
-(assigned)h(the)h Ft(nameref)d Fu(attribute)i(using)g(the)g
-Ft(-n)f Fu(option)i(to)g(the)f Ft(declare)e Fu(or)150
-5340 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h
-([Bash)f(Builtins],)h(page)f(60\))h(to)f(create)i(a)e
-Fr(nameref)p Fu(,)g(or)g(a)p eop end
-%%Page: 23 29
-TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299
-y(reference)26 b(to)g(another)f(v)-5 b(ariable.)40 b(This)24
-b(allo)m(ws)j(v)-5 b(ariables)26 b(to)g(b)s(e)e(manipulated)h
-(indirectly)-8 b(.)40 b(Whenev)m(er)150 408 y(the)31
-b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g(assigned)h(to,)g
-(unset,)f(or)g(has)f(its)i(attributes)f(mo)s(di\014ed)f(\(other)150
-518 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f(attribute)i
-(itself)7 b(\),)29 b(the)d(op)s(eration)h(is)g(actually)h(p)s(erformed)
-d(on)150 628 y(the)31 b(v)-5 b(ariable)31 b(sp)s(eci\014ed)f(b)m(y)g
-(the)h(nameref)f(v)-5 b(ariable's)31 b(v)-5 b(alue.)42
-b(A)30 b(nameref)g(is)h(commonly)g(used)e(within)150
-737 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5
-b(ariable)31 b(whose)f(name)h(is)f(passed)g(as)g(an)g(argumen)m(t)h(to)
-g(the)f(function.)150 847 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5
-b(ariable)31 b(name)f(is)h(passed)e(to)j(a)e(shell)h(function)f(as)h
-(its)f(\014rst)g(argumen)m(t,)h(running)390 986 y Ft(declare)46
-b(-n)h(ref=$1)150 1125 y Fu(inside)35 b(the)h(function)f(creates)h(a)g
-(lo)s(cal)h(nameref)e(v)-5 b(ariable)36 b Ft(ref)f Fu(whose)g(v)-5
-b(alue)36 b(is)f(the)h(v)-5 b(ariable)36 b(name)150 1235
-y(passed)h(as)g(the)h(\014rst)e(argumen)m(t.)62 b(References)38
-b(and)e(assignmen)m(ts)i(to)g Ft(ref)p Fu(,)g(and)f(c)m(hanges)h(to)g
-(its)g(at-)150 1344 y(tributes,)30 b(are)f(treated)h(as)g(references,)g
-(assignmen)m(ts,)g(and)f(attribute)h(mo)s(di\014cations)g(to)g(the)f(v)
--5 b(ariable)150 1454 y(whose)30 b(name)h(w)m(as)f(passed)g(as)h
-Ft($1)p Fu(.)275 1593 y(If)g(the)g(con)m(trol)i(v)-5
-b(ariable)32 b(in)g(a)f Ft(for)g Fu(lo)s(op)h(has)f(the)g(nameref)h
-(attribute,)g(the)g(list)g(of)g(w)m(ords)f(can)h(b)s(e)150
-1703 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f
-(reference)g(will)g(b)s(e)f(established)h(for)g(eac)m(h)h(w)m(ord)e(in)
-h(the)g(list,)150 1812 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g
-(executed.)41 b(Arra)m(y)30 b(v)-5 b(ariables)30 b(cannot)h(b)s(e)e
-(giv)m(en)h(the)g(nameref)g(attribute.)150 1922 y(Ho)m(w)m(ev)m(er,)39
-b(nameref)d(v)-5 b(ariables)36 b(can)g(reference)g(arra)m(y)g(v)-5
-b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)150
-2031 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h
-Ft(-n)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section)
-g(4.1)h([Bourne)150 2141 y(Shell)43 b(Builtins],)j(page)e(51\).)79
-b(Otherwise,)45 b(if)e Ft(unset)e Fu(is)i(executed)h(with)e(the)h(name)
-g(of)g(a)g(nameref)150 2251 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m
-(t,)h(the)g(v)-5 b(ariable)31 b(referenced)f(b)m(y)g(the)h(nameref)f(v)
--5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 2454 y Fk(3.4.1)63
-b(P)m(ositional)41 b(P)m(arameters)150 2601 y Fu(A)28
-b Fr(p)s(ositional)h(parameter)35 b Fu(is)28 b(a)g(parameter)g(denoted)
-g(b)m(y)g(one)g(or)g(more)g(digits,)h(other)g(than)e(the)h(single)150
-2711 y(digit)34 b Ft(0)p Fu(.)48 b(P)m(ositional)36 b(parameters)d(are)
-g(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in)
-m(v)m(ok)m(ed,)150 2821 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)
-e(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41
-b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 2930 y(referenced)34
-b(as)h Ft(${N})p Fu(,)g(or)f(as)h Ft($N)e Fu(when)h Ft(N)g
-Fu(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37
-b(parameters)d(ma)m(y)150 3040 y(not)j(b)s(e)f(assigned)h(to)g(with)f
-(assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Ft(set)g
-Fu(and)g Ft(shift)f Fu(builtins)h(are)h(used)f(to)150
-3149 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
-(Builtin)g(Commands],)h(page)f(51\).)68 b(The)39 b(p)s(ositional)150
-3259 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
-(shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150
-3369 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(19\).)275
-3508 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f
-(than)g(a)g(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150
-3617 y(b)s(e)e(enclosed)h(in)g(braces.)40 b(Without)28
-b(braces,)h(a)f(digit)g(follo)m(wing)h(`)p Ft($)p Fu(')f(can)g(only)f
-(refer)h(to)g(one)g(of)g(the)g(\014rst)150 3727 y(nine)i(p)s(ositional)
-h(parameters)g(\($1)p Ft(\\)p Fu(-$9\))i(or)d(the)h(sp)s(ecial)g
-(parameter)f($0)i(\(see)f(b)s(elo)m(w\).)150 3931 y Fk(3.4.2)63
-b(Sp)s(ecial)41 b(P)m(arameters)150 4078 y Fu(The)d(shell)g(treats)h
-(sev)m(eral)g(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38
-b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)150
-4187 y(assignmen)m(t)31 b(to)f(them)g(is)g(not)g(allo)m(w)m(ed.)43
-b(Sp)s(ecial)30 b(parameters)g(are)g(denoted)g(b)m(y)g(one)g(of)g(the)g
-(follo)m(wing)150 4297 y(c)m(haracters.)150 4463 y Ft(*)432
-b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h(parameters,)h
-(starting)f(from)f(one.)59 b(When)36 b(the)g(ex-)630
-4573 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s
-(ositional)f(parameter)g(expands)f(to)i(a)630 4682 y(separate)31
-b(w)m(ord.)41 b(In)30 b(con)m(texts)i(where)e(w)m(ord)g(expansions)g
-(are)h(p)s(erformed,)e(those)i(w)m(ords)630 4792 y(are)d(sub)5
-b(ject)27 b(to)i(further)d(w)m(ord)h(splitting)h(and)f(\014lename)h
-(expansion.)40 b(When)27 b(the)h(expan-)630 4902 y(sion)h(o)s(ccurs)g
-(within)g(double)g(quotes,)h(it)g(expands)f(to)h(a)f(single)h(w)m(ord)f
-(with)g(the)h(v)-5 b(alue)30 b(of)630 5011 y(eac)m(h)37
-b(parameter)g(separated)f(b)m(y)g(the)g(\014rst)g(c)m(haracter)h(of)g
-(the)f Ft(IFS)f Fu(v)-5 b(ariable.)59 b(That)36 b(is,)630
-5121 y Ft("$*")d Fu(is)h(equiv)-5 b(alen)m(t)35 b(to)g
-Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)g(where)e
-Fr(c)40 b Fu(is)34 b(the)g(\014rst)g(c)m(haracter)h(of)f(the)g(v)-5
-b(alue)630 5230 y(of)30 b(the)g Ft(IFS)g Fu(v)-5 b(ariable.)41
-b(If)30 b Ft(IFS)f Fu(is)h(unset,)g(the)g(parameters)g(are)h(separated)
-f(b)m(y)g(spaces.)41 b(If)630 5340 y Ft(IFS)29 b Fu(is)i(n)m(ull,)f
-(the)h(parameters)g(are)f(joined)h(without)f(in)m(terv)m(ening)i
-(separators.)p eop end
-%%Page: 24 30
-TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299
-y Ft(@)432 b Fu(\($@\))43 b(Expands)f(to)h(the)g(p)s(ositional)g
-(parameters,)k(starting)c(from)f(one.)78 b(In)42 b(con)m(texts)630
-408 y(where)35 b(w)m(ord)h(splitting)g(is)g(p)s(erformed,)g(this)g
-(expands)e(eac)m(h)j(p)s(ositional)g(parameter)f(to)630
-518 y(a)d(separate)h(w)m(ord;)g(if)f(not)g(within)g(double)f(quotes,)j
-(these)e(w)m(ords)g(are)g(sub)5 b(ject)33 b(to)g(w)m(ord)630
-628 y(splitting.)45 b(In)30 b(con)m(texts)j(where)e(w)m(ord)g
-(splitting)i(is)e(not)h(p)s(erformed,)e(suc)m(h)h(as)h(the)f(v)-5
-b(alue)630 737 y(p)s(ortion)36 b(of)h(an)g(assignmen)m(t)h(statemen)m
-(t,)i(this)d(expands)f(to)h(a)g(single)h(w)m(ord)e(with)h(eac)m(h)630
-847 y(p)s(ositional)31 b(parameter)g(separated)g(b)m(y)f(a)h(space.)41
-b(When)31 b(the)f(expansion)g(o)s(ccurs)g(within)630
-956 y(double)35 b(quotes,)i(and)e(w)m(ord)g(splitting)h(is)f(p)s
-(erformed,)g(eac)m(h)h(parameter)g(expands)f(to)h(a)630
-1066 y(separate)j(w)m(ord.)61 b(That)38 b(is,)h Ft("$@")e
-Fu(is)g(equiv)-5 b(alen)m(t)39 b(to)g Ft("$1")29 b("$2")g(...)o
-Fu(.)62 b(If)37 b(the)h(double-)630 1176 y(quoted)29
-b(expansion)g(o)s(ccurs)g(within)f(a)i(w)m(ord,)f(the)g(expansion)g(of)
-h(the)f(\014rst)f(parameter)i(is)630 1285 y(joined)k(with)g(the)g
-(expansion)g(of)g(the)g(b)s(eginning)f(part)h(of)g(the)g(original)i(w)m
-(ord,)e(and)g(the)630 1395 y(expansion)j(of)g(the)g(last)g(parameter)h
-(is)f(joined)f(with)h(the)g(expansion)f(of)h(the)g(last)h(part)630
-1504 y(of)f(the)g(original)g(w)m(ord.)59 b(When)37 b(there)g(are)f(no)h
-(p)s(ositional)g(parameters,)i Ft("$@")d Fu(and)g Ft($@)630
-1614 y Fu(expand)30 b(to)h(nothing)f(\(i.e.,)i(they)f(are)f(remo)m(v)m
-(ed\).)150 1781 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m
-(um)m(b)s(er)e(of)h(p)s(ositional)i(parameters)e(in)g(decimal.)150
-1947 y Ft(?)432 b Fu(\($?\))41 b(Expands)29 b(to)j(the)e(exit)h(status)
-g(of)g(the)f(most)h(recen)m(tly)h(executed)f(command.)150
-2114 y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\))37 b(Expands)20
-b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s(eci\014ed)g(up)s
-(on)f(in)m(v)m(o)s(cation,)630 2224 y(b)m(y)38 b(the)h
-Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f(b)m(y)f(the)h
-(shell)g(itself)g(\(suc)m(h)g(as)g(the)g Ft(-i)630 2333
-y Fu(option\).)150 2500 y Ft($)432 b Fu(\($$\))39 b(Expands)c(to)j(the)
-f(pro)s(cess)g Fm(id)g Fu(of)g(the)g(shell.)61 b(In)36
-b(a)h(subshell,)h(it)g(expands)e(to)i(the)630 2610 y(pro)s(cess)30
-b Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g(not)g(the)f
-(subshell.)150 2776 y Ft(!)432 b Fu(\($!\))51 b(Expands)32
-b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f(most)h(recen)m
-(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630 2886 y(ground,)26
-b(whether)g(executed)g(as)h(an)f(async)m(hronous)f(command)h(or)g
-(using)g(the)g Ft(bg)f Fu(builtin)630 2996 y(\(see)31
-b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g(page)h(124\).)150
-3162 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the)g(name)g(of)f(the)h
-(shell)g(or)f(shell)h(script.)83 b(This)44 b(is)g(set)h(at)h(shell)630
-3272 y(initialization.)d(If)27 b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e
-(a)i(\014le)e(of)h(commands)g(\(see)g(Section)h(3.8)g([Shell)630
-3381 y(Scripts],)g(page)g(49\),)h Ft($0)e Fu(is)h(set)g(to)g(the)f
-(name)h(of)f(that)h(\014le.)41 b(If)28 b(Bash)g(is)h(started)g(with)f
-(the)630 3491 y Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m
-(oking)h(Bash],)g(page)f(99\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)
-f(\014rst)630 3601 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f
-(executed,)i(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31
-b(it)g(is)f(set)630 3710 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m
-(ok)m(e)h(Bash,)f(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150
-3962 y Fs(3.5)68 b(Shell)45 b(Expansions)150 4121 y Fu(Expansion)39
-b(is)i(p)s(erformed)d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b)
-s(een)f(split)h(in)m(to)h Ft(token)p Fu(s.)69 b(Bash)150
-4231 y(p)s(erforms)29 b(these)i(expansions:)225 4373
-y Fq(\017)60 b Fu(brace)31 b(expansion)225 4511 y Fq(\017)60
-b Fu(tilde)31 b(expansion)225 4649 y Fq(\017)60 b Fu(parameter)31
-b(and)f(v)-5 b(ariable)31 b(expansion)225 4787 y Fq(\017)60
-b Fu(command)30 b(substitution)225 4925 y Fq(\017)60
-b Fu(arithmetic)32 b(expansion)225 5064 y Fq(\017)60
-b Fu(w)m(ord)30 b(splitting)225 5202 y Fq(\017)60 b Fu(\014lename)31
-b(expansion)225 5340 y Fq(\017)60 b Fu(quote)31 b(remo)m(v)-5
-b(al)p eop end
-%%Page: 25 31
-TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)275 299
-y(The)24 b(order)h(of)h(expansions)f(is:)39 b(brace)25
-b(expansion;)j(tilde)e(expansion,)g(parameter)g(and)f(v)-5
-b(ariable)26 b(ex-)150 408 y(pansion,)j(arithmetic)i(expansion,)f(and)f
-(command)g(substitution)g(\(done)g(in)h(a)f(left-to-righ)m(t)k
-(fashion\);)150 518 y(w)m(ord)d(splitting;)h(\014lename)g(expansion;)f
-(and)g(quote)h(remo)m(v)-5 b(al.)275 651 y(On)27 b(systems)h(that)h
-(can)g(supp)s(ort)e(it,)i(there)g(is)f(an)g(additional)i(expansion)e(a)
-m(v)-5 b(ailable:)42 b Fr(pro)s(cess)28 b(sub-)150 760
-y(stitution)p Fu(.)42 b(This)30 b(is)g(p)s(erformed)f(at)j(the)e(same)h
-(time)h(as)e(tilde,)i(parameter,)f(v)-5 b(ariable,)32
-b(and)e(arithmetic)150 870 y(expansion)g(and)g(command)g(substitution.)
-275 1002 y Fr(Quote)42 b(remo)m(v)-5 b(al)46 b Fu(is)c(alw)m(a)m(ys)h
-(p)s(erformed)d(last.)76 b(It)42 b(remo)m(v)m(es)h(quote)f(c)m
-(haracters)i(presen)m(t)d(in)h(the)150 1112 y(original)35
-b(w)m(ord,)g(not)f(ones)g(resulting)h(from)e(one)h(of)h(the)f(other)g
-(expansions,)h(unless)e(they)h(ha)m(v)m(e)i(b)s(een)150
-1221 y(quoted)31 b(themselv)m(es.)41 b(See)31 b(Section)g(3.5.9)h
-([Quote)f(Remo)m(v)-5 b(al],)33 b(page)e(40,)g(for)g(more)f(details.)
-275 1354 y(Only)h(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e
-(\014lename)h(expansion)f(can)h(increase)g(the)g(n)m(um)m(b)s(er)150
-1463 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g
-(expand)g(a)g(single)h(w)m(ord)f(to)h(a)f(single)h(w)m(ord.)38
-b(The)24 b(only)150 1573 y(exceptions)i(to)f(this)g(are)g(the)g
-(expansions)g(of)g Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f
-(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 1683 y(page)31
-b(23\),)h(and)e Ft("${)p Fj(name)p Ft([@]}")d Fu(and)i
-Ft(${)p Fj(name)p Ft([*]})f Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g
-(page)g(109\).)150 1878 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150
-2025 y Fu(Brace)k(expansion)e(is)h(a)g(mec)m(hanism)g(to)g(generate)h
-(arbitrary)f(strings)f(sharing)g(a)h(common)g(pre\014x)150
-2134 y(and)31 b(su\016x,)f(either)i(of)f(whic)m(h)g(can)h(b)s(e)e(empt)
-m(y)-8 b(.)44 b(This)31 b(mec)m(hanism)g(is)g(similar)h(to)g
-Fr(\014lename)f(expansion)150 2244 y Fu(\(see)39 b(Section)h(3.5.8)g
-([Filename)g(Expansion],)g(page)f(37\),)j(but)c(the)h(\014lenames)f
-(generated)i(need)e(not)150 2353 y(exist.)57 b(P)m(atterns)37
-b(to)f(b)s(e)f(brace)h(expanded)f(are)h(formed)g(from)f(an)g(optional)i
-Fr(pream)m(ble)p Fu(,)h(follo)m(w)m(ed)f(b)m(y)150 2463
-y(either)24 b(a)h(series)f(of)g(comma-separated)h(strings)f(or)g(a)g
-(sequence)g(expression)g(b)s(et)m(w)m(een)h(a)f(pair)f(of)i(braces,)150
-2573 y(follo)m(w)m(ed)h(b)m(y)f(an)g(optional)g Fr(p)s(ostscript)p
-Fu(.)39 b(The)24 b(pream)m(ble)h(is)g(pre\014xed)e(to)j(eac)m(h)g
-(string)f(con)m(tained)g(within)150 2682 y(the)32 b(braces,)h(and)e
-(the)h(p)s(ostscript)g(is)g(then)g(app)s(ended)e(to)i(eac)m(h)h
-(resulting)g(string,)f(expanding)g(left)g(to)150 2792
-y(righ)m(t.)275 2924 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f
-(nested.)59 b(The)36 b(results)g(of)h(eac)m(h)g(expanded)f(string)g
-(are)h(not)g(sorted;)150 3034 y(brace)31 b(expansion)f(preserv)m(es)g
-(left)h(to)h(righ)m(t)e(order.)41 b(F)-8 b(or)31 b(example,)390
-3166 y Ft(bash$)46 b(echo)h(a{d,c,b}e)390 3276 y(ade)g(ace)g(abe)275
-3408 y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g
-Ft({)p Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(]})p
-Fu(,)e(where)i Fr(x)29 b Fu(and)23 b Fr(y)30 b Fu(are)24
-b(either)g(in)m(tegers)150 3518 y(or)34 b(letters,)i(and)d
-Fr(incr)p Fu(,)h(an)g(optional)g(incremen)m(t,)i(is)d(an)h(in)m(teger.)
-52 b(When)33 b(in)m(tegers)i(are)f(supplied,)g(the)150
-3628 y(expression)29 b(expands)g(to)h(eac)m(h)h(n)m(um)m(b)s(er)d(b)s
-(et)m(w)m(een)i Fr(x)36 b Fu(and)29 b Fr(y)p Fu(,)h(inclusiv)m(e.)41
-b(When)29 b(either)h Fr(x)36 b Fu(or)29 b Fr(y)37 b Fu(b)s(egins)150
-3737 y(with)g(a)h(zero,)j(the)c(shell)h(attempts)h(to)f(force)g(all)g
-(generated)h(terms)e(to)i(con)m(tain)g(the)e(same)h(n)m(um)m(b)s(er)150
-3847 y(of)30 b(digits,)h(zero-padding)f(where)f(necessary)-8
-b(.)41 b(When)30 b(letters)g(are)h(supplied,)d(the)i(expression)g
-(expands)150 3956 y(to)k(eac)m(h)g(c)m(haracter)h(lexicographically)h
-(b)s(et)m(w)m(een)e Fr(x)40 b Fu(and)32 b Fr(y)p Fu(,)i(inclusiv)m(e,)i
-(using)c(the)i(default)f(C)g(lo)s(cale.)150 4066 y(Note)f(that)f(b)s
-(oth)f Fr(x)37 b Fu(and)30 b Fr(y)38 b Fu(m)m(ust)31
-b(b)s(e)f(of)h(the)g(same)g(t)m(yp)s(e)g(\(in)m(teger)h(or)f(letter\).)
-43 b(When)30 b(the)h(incremen)m(t)150 4175 y(is)e(supplied,)g(it)h(is)f
-(used)f(as)i(the)f(di\013erence)h(b)s(et)m(w)m(een)g(eac)m(h)g(term.)41
-b(The)29 b(default)g(incremen)m(t)h(is)f(1)h(or)f(-1)150
-4285 y(as)i(appropriate.)275 4418 y(Brace)36 b(expansion)g(is)f(p)s
-(erformed)f(b)s(efore)h(an)m(y)h(other)g(expansions,)h(and)e(an)m(y)g
-(c)m(haracters)i(sp)s(ecial)150 4527 y(to)32 b(other)g(expansions)g
-(are)g(preserv)m(ed)f(in)h(the)f(result.)45 b(It)32 b(is)g(strictly)g
-(textual.)46 b(Bash)32 b(do)s(es)f(not)h(apply)150 4637
-y(an)m(y)27 b(syn)m(tactic)i(in)m(terpretation)g(to)f(the)f(con)m(text)
-i(of)e(the)g(expansion)g(or)g(the)h(text)g(b)s(et)m(w)m(een)f(the)h
-(braces.)275 4769 y(A)h(correctly-formed)i(brace)f(expansion)f(m)m(ust)
-h(con)m(tain)h(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150
-4879 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5
-b(alid)33 b(sequence)g(expression.)48 b(An)m(y)33 b(incorrectly)h
-(formed)150 4988 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
-5121 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted)
-h(with)f(a)g(bac)m(kslash)h(to)g(prev)m(en)m(t)g(its)g(b)s(eing)f
-(considered)g(part)g(of)h(a)g(brace)150 5230 y(expression.)51
-b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g
-(expansion,)h(the)f(string)g(`)p Ft(${)p Fu(')g(is)g(not)g(considered)
-150 5340 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g
-(brace)h(expansion)f(un)m(til)g(the)h(closing)h(`)p Ft(})p
-Fu('.)p eop end
-%%Page: 26 32
-TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)275 299
-y(This)30 b(construct)h(is)g(t)m(ypically)i(used)d(as)h(shorthand)f
-(when)g(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to)150
-408 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m(v)m
-(e)i(example:)390 550 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o(ew,)
-o(dist)o(,bug)o(s})275 691 y Fu(or)390 833 y Ft(chown)g(root)h
-(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150
-1039 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 1186 y
-Fu(If)29 b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m
-(haracter)h(\(`)p Ft(~)p Fu('\),)g(all)g(of)f(the)g(c)m(haracters)h(up)
-d(to)j(the)f(\014rst)150 1295 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m
-(haracters,)h(if)e(there)g(is)f(no)h(unquoted)e(slash\))i(are)g
-(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)150 1405 y(If)38
-b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f(are)h
-(quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150
-1514 y(follo)m(wing)45 b(the)e(tilde)h(are)f(treated)h(as)f(a)h(p)s
-(ossible)e Fr(login)i(name)p Fu(.)79 b(If)43 b(this)g(login)h(name)f
-(is)g(the)g(n)m(ull)150 1624 y(string,)33 b(the)g(tilde)g(is)f
-(replaced)h(with)g(the)f(v)-5 b(alue)33 b(of)g(the)f
-Ft(HOME)g Fu(shell)g(v)-5 b(ariable.)48 b(If)32 b Ft(HOME)f
-Fu(is)i(unset,)g(the)150 1734 y(tilde)d(expands)f(to)i(the)e(home)h
-(directory)g(of)g(the)g(user)f(executing)i(the)e(shell)h(instead.)41
-b(Otherwise,)30 b(the)150 1843 y(tilde-pre\014x)g(is)h(replaced)g(with)
-f(the)g(home)h(directory)g(asso)s(ciated)g(with)f(the)h(sp)s(eci\014ed)
-f(login)h(name.)275 1985 y(If)h(the)h(tilde-pre\014x)f(is)h(`)p
-Ft(~+)p Fu(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5
-b(ariable)34 b Ft(PWD)d Fu(replaces)j(the)f(tilde-pre\014x.)47
-b(If)150 2094 y(the)36 b(tilde-pre\014x)f(is)h(`)p Ft(~-)p
-Fu(',)h(the)f(shell)f(substitutes)h(the)f(v)-5 b(alue)36
-b(of)g(the)g(shell)g(v)-5 b(ariable)36 b Ft(OLDPWD)p
-Fu(,)f(if)h(it)g(is)150 2204 y(set.)275 2345 y(If)29
-b(the)h(c)m(haracters)h(follo)m(wing)h(the)e(tilde)g(in)g(the)g
-(tilde-pre\014x)g(consist)g(of)g(a)h(n)m(um)m(b)s(er)d
-Fr(N)p Fu(,)j(optionally)150 2455 y(pre\014xed)22 b(b)m(y)h(a)h(`)p
-Ft(+)p Fu(')f(or)h(a)f(`)p Ft(-)p Fu(',)j(the)d(tilde-pre\014x)g(is)h
-(replaced)f(with)g(the)h(corresp)s(onding)e(elemen)m(t)j(from)e(the)150
-2564 y(directory)36 b(stac)m(k,)i(as)e(it)g(w)m(ould)f(b)s(e)g(displa)m
-(y)m(ed)h(b)m(y)g(the)f Ft(dirs)g Fu(builtin)g(in)m(v)m(ok)m(ed)i(with)
-e(the)g(c)m(haracters)150 2674 y(follo)m(wing)40 b(tilde)f(in)g(the)f
-(tilde-pre\014x)h(as)g(an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)
-e(Directory)i(Stac)m(k],)150 2783 y(page)34 b(111\).)50
-b(If)32 b(the)h(tilde-pre\014x,)h(sans)e(the)h(tilde,)i(consists)e(of)g
-(a)h(n)m(um)m(b)s(er)d(without)i(a)g(leading)h(`)p Ft(+)p
-Fu(')f(or)150 2893 y(`)p Ft(-)p Fu(',)e(tilde)g(expansion)f(assumes)g
-(`)p Ft(+)p Fu('.)275 3034 y(The)h(results)h(of)h(tilde)g(expansion)f
-(are)h(treated)g(as)f(if)h(they)f(w)m(ere)h(quoted,)g(so)g(the)f
-(replacemen)m(t)i(is)150 3144 y(not)d(sub)5 b(ject)30
-b(to)h(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion.)275
-3285 y(If)24 b(the)i(login)g(name)f(is)g(in)m(v)-5 b(alid,)27
-b(or)f(the)f(tilde)h(expansion)f(fails,)i(the)f(tilde-pre\014x)f(is)g
-(left)h(unc)m(hanged.)275 3427 y(Bash)k(c)m(hec)m(ks)j(eac)m(h)f(v)-5
-b(ariable)31 b(assignmen)m(t)h(for)e(unquoted)g(tilde-pre\014xes)h
-(immediately)h(follo)m(wing)150 3536 y(a)26 b(`)p Ft(:)p
-Fu(')f(or)h(the)f(\014rst)g(`)p Ft(=)p Fu(',)i(and)e(p)s(erforms)f
-(tilde)i(expansion)f(in)g(these)h(cases.)40 b(Consequen)m(tly)-8
-b(,)27 b(one)f(ma)m(y)g(use)150 3646 y(\014lenames)32
-b(with)f(tildes)h(in)f(assignmen)m(ts)i(to)f Ft(PATH)p
-Fu(,)f Ft(MAILPATH)p Fu(,)f(and)h Ft(CDPATH)p Fu(,)f(and)h(the)h(shell)
-g(assigns)150 3755 y(the)f(expanded)e(v)-5 b(alue.)275
-3897 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h
-(treats)g(unquoted)e(tilde-pre\014xes:)150 4067 y Ft(~)432
-b Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft($HOME)p Fu(.)150
-4233 y Ft(~/foo)240 b($HOME/foo)150 4399 y(~fred/foo)630
-4509 y Fu(The)30 b(directory)h(or)f(\014le)h Ft(foo)e
-Fu(in)h(the)h(home)f(directory)h(of)g(the)f(user)g Ft(fred)p
-Fu(.)150 4675 y Ft(~+/foo)192 b($PWD/foo)150 4841 y(~-/foo)g
-(${OLDPWD-'~-'}/foo)150 5007 y(~)p Fj(N)384 b Fu(The)30
-b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p
-Ft(dirs)g(+)p Fj(N)p Fu('.)150 5174 y Ft(~+)p Fj(N)336
-b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m
-(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu('.)150 5340 y Ft(~-)p
-Fj(N)336 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m
-(ed)h(b)m(y)f(`)p Ft(dirs)g(-)p Fj(N)p Fu('.)p eop end
-%%Page: 27 33
-TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)275 299
-y(Bash)40 b(also)h(p)s(erforms)e(tilde)h(expansion)g(on)h(w)m(ords)e
-(satisfying)i(the)f(conditions)h(of)f(v)-5 b(ariable)41
-b(as-)150 408 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g([Shell)f(P)m
-(arameters],)k(page)d(22\))g(when)e(they)h(app)s(ear)f(as)i(argumen)m
-(ts)150 518 y(to)c(simple)f(commands.)57 b(Bash)36 b(do)s(es)f(not)h
-(do)g(this,)i(except)f(for)e(the)h(declaration)i(commands)d(listed)150
-628 y(ab)s(o)m(v)m(e,)d(when)d(in)h Fm(posix)g Fu(mo)s(de.)150
-827 y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f(Expansion)150
-974 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m(tro)s(duces)d
-(parameter)h(expansion,)j(command)d(substitution,)i(or)e(arithmetic)150
-1084 y(expansion.)d(The)22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to)
-g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m
-(h)150 1193 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g
-(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i
-(immediately)150 1303 y(follo)m(wing)46 b(it)f(whic)m(h)f(could)h(b)s
-(e)e(in)m(terpreted)i(as)g(part)f(of)h(the)f(name.)83
-b(F)-8 b(or)46 b(example,)j(if)44 b(the)h(\014rst)150
-1413 y(p)s(ositional)40 b(parameter)g(has)e(the)i(v)-5
-b(alue)39 b(`)p Ft(a)p Fu(',)j(then)d Ft(${11})f Fu(expands)g(to)i(the)
-f(v)-5 b(alue)40 b(of)f(the)g(elev)m(en)m(th)150 1522
-y(p)s(ositional)31 b(parameter,)g(while)g Ft($11)e Fu(expands)h(to)h(`)
-p Ft(a1)p Fu('.)275 1657 y(When)44 b(braces)i(are)f(used,)j(the)e(matc)
-m(hing)g(ending)f(brace)g(is)g(the)g(\014rst)g(`)p Ft(})p
-Fu(')g(not)g(escap)s(ed)h(b)m(y)f(a)150 1767 y(bac)m(kslash)40
-b(or)f(within)g(a)g(quoted)g(string,)j(and)c(not)i(within)e(an)h(em)m
-(b)s(edded)f(arithmetic)j(expansion,)150 1876 y(command)30
-b(substitution,)g(or)h(parameter)g(expansion.)275 2011
-y(The)f(basic)h(form)f(of)h(parameter)h(expansion)e(is)h($)p
-Fi({)p Fr(parameter)7 b Fi(})p Fu(,)32 b(whic)m(h)f(substitutes)g(the)f
-(v)-5 b(alue)32 b(of)150 2120 y Fr(parameter)p Fu(.)52
-b(The)34 b Fr(parameter)41 b Fu(is)34 b(a)h(shell)f(parameter)h(as)f
-(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)g([Shell)150
-2230 y(P)m(arameters],)28 b(page)f(22\))g(or)f(an)f(arra)m(y)h
-(reference)h(\(see)f(Section)h(6.7)g([Arra)m(ys],)g(page)g(109\).)41
-b(The)25 b(braces)150 2340 y(are)32 b(required)g(when)f
-Fr(parameter)39 b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f
-(more)g(than)g(one)g(digit,)i(or)e(when)150 2449 y Fr(parameter)37
-b Fu(is)31 b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f
-(not)h(to)g(b)s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275
-2584 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42
-b Fu(is)35 b(an)g(exclamation)i(p)s(oin)m(t)e(\(!\),)i(and)d
-Fr(parameter)42 b Fu(is)34 b(not)i(a)150 2694 y(nameref,)c(it)f(in)m
-(tro)s(duces)h(a)f(lev)m(el)i(of)f(indirection.)44 b(Bash)31
-b(uses)g(the)g(v)-5 b(alue)32 b(formed)f(b)m(y)g(expanding)g(the)150
-2803 y(rest)22 b(of)g Fr(parameter)29 b Fu(as)22 b(the)g(new)f
-Fr(parameter)7 b Fu(;)25 b(this)c(new)h(parameter)g(is)g(then)f
-(expanded)g(and)g(that)h(v)-5 b(alue)150 2913 y(is)35
-b(used)f(in)h(the)g(rest)g(of)g(the)h(expansion,)g(rather)f(than)g(the)
-g(expansion)g(of)g(the)g(original)h Fr(parameter)p Fu(.)150
-3022 y(This)29 b(is)h(kno)m(wn)f(as)i Ft(indirect)d(expansion)p
-Fu(.)38 b(The)29 b(v)-5 b(alue)31 b(is)e(sub)5 b(ject)30
-b(to)h(tilde)f(expansion,)g(parameter)150 3132 y(expansion,)40
-b(command)d(substitution,)j(and)d(arithmetic)i(expansion.)63
-b(If)37 b Fr(parameter)45 b Fu(is)38 b(a)g(nameref,)150
-3242 y(this)27 b(expands)f(to)h(the)h(name)e(of)i(the)f(v)-5
-b(ariable)27 b(referenced)g(b)m(y)g Fr(parameter)34 b
-Fu(instead)27 b(of)g(p)s(erforming)f(the)150 3351 y(complete)36
-b(indirect)f(expansion,)h(for)f(compatibilit)m(y)-8 b(.)57
-b(The)34 b(exceptions)i(to)f(this)g(are)g(the)g(expansions)150
-3461 y(of)29 b($)p Fi({)p Fu(!)p Fr(pre\014x)6 b Fu(*)p
-Fi(})29 b Fu(and)f($)p Fi({)p Fu(!)p Fr(name)5 b Fu([@])p
-Fi(})30 b Fu(describ)s(ed)d(b)s(elo)m(w.)41 b(The)27
-b(exclamation)k(p)s(oin)m(t)d(m)m(ust)h(immediately)150
-3570 y(follo)m(w)j(the)e(left)h(brace)g(in)f(order)g(to)h(in)m(tro)s
-(duce)f(indirection.)275 3705 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 3815 y(command)30
-b(substitution,)g(and)g(arithmetic)i(expansion.)275 3950
-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 4059 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 4169 y(for)c(a)i(parameter)f(that)g(is)g(unset.)41
-b(Put)31 b(another)f(w)m(a)m(y)-8 b(,)33 b(if)e(the)f(colon)i(is)f
-(included,)f(the)h(op)s(erator)g(tests)150 4278 y(for)36
-b(b)s(oth)g Fr(parameter)7 b Fu('s)37 b(existence)h(and)e(that)i(its)f
-(v)-5 b(alue)37 b(is)g(not)f(n)m(ull;)k(if)d(the)g(colon)h(is)e
-(omitted,)k(the)150 4388 y(op)s(erator)31 b(tests)g(only)f(for)g
-(existence.)150 4548 y Ft(${)p Fj(parameter)p Ft(:)p
-Fq(\000)p Fj(word)p Ft(})630 4657 y Fu(If)g Fr(parameter)37
-b Fu(is)30 b(unset)g(or)h(n)m(ull,)f(the)h(expansion)f(of)g
-Fr(w)m(ord)k Fu(is)c(substituted.)40 b(Otherwise,)630
-4767 y(the)31 b(v)-5 b(alue)30 b(of)h Fr(parameter)37
-b Fu(is)31 b(substituted.)870 4902 y Ft($)47 b(v=123)870
-5011 y($)g(echo)g(${v-unset})870 5121 y(123)870 5230
-y($)g(echo)g(${v:-unset-or-null})870 5340 y(123)p eop
-end
-%%Page: 28 34
-TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)870 299
-y Ft($)47 b(unset)g(v)870 408 y($)g(echo)g(${v-unset})870
-518 y(unset)870 628 y($)g(v=)870 737 y($)g(echo)g(${v-unset})870
-956 y($)g(echo)g(${v:-unset-or-null})870 1066 y(unset-or-null)150
-1215 y(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630
-1325 y Fu(If)33 b Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h
-(the)f(expansion)g(of)g Fr(w)m(ord)j Fu(is)d(assigned)g(to)h
-Fr(parameter)p Fu(,)630 1435 y(and)44 b(the)h(result)f(of)h(the)g
-(expansion)f(is)h(the)g(\014nal)f(v)-5 b(alue)45 b(of)g
-Fr(parameter)p Fu(.)84 b(P)m(ositional)630 1544 y(parameters)31
-b(and)e(sp)s(ecial)i(parameters)g(ma)m(y)g(not)g(b)s(e)e(assigned)i(in)
-f(this)g(w)m(a)m(y)-8 b(.)870 1674 y Ft($)47 b(unset)g(var)870
-1783 y($)g(:)h(${var=DEFAULT})870 1893 y($)f(echo)g($var)870
-2002 y(DEFAULT)870 2112 y($)g(var=)870 2222 y($)g(:)h(${var:=DEFAULT})
-870 2331 y($)f(echo)g($var)870 2441 y(DEFAULT)150 2590
-y(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 2700
-y Fu(If)d Fr(parameter)52 b Fu(is)44 b(n)m(ull)h(or)f(unset,)k(the)d
-(shell)g(writes)f(the)h(expansion)f(of)h Fr(w)m(ord)j
-Fu(\(or)d(a)630 2809 y(message)31 b(to)g(that)g(e\013ect)h(if)e
-Fr(w)m(ord)k Fu(is)c(not)h(presen)m(t\))f(to)h(the)g(standard)e(error)h
-(and,)g(if)g(it)h(is)630 2919 y(not)d(in)m(teractiv)m(e,)j(exits)e
-(with)e(a)h(non-zero)h(status.)40 b(An)27 b(in)m(teractiv)m(e)k(shell)c
-(do)s(es)h(not)g(exit,)630 3029 y(but)j(do)s(es)g(not)g(execute)i(the)e
-(command)g(asso)s(ciated)i(with)e(the)h(expansion.)43
-b(Otherwise,)630 3138 y(the)31 b(v)-5 b(alue)30 b(of)h
-Fr(parameter)37 b Fu(is)31 b(substituted.)870 3268 y
-Ft($)47 b(var=)870 3377 y($)g(:)h(${var:?var)d(is)i(unset)f(or)i(null})
-870 3487 y(bash:)e(var:)h(var)g(is)g(unset)f(or)i(null)150
-3636 y(${)p Fj(parameter)p Ft(:+)p Fj(word)p Ft(})630
-3746 y Fu(If)35 b Fr(parameter)42 b Fu(is)36 b(n)m(ull)f(or)h(unset,)g
-(nothing)g(is)f(substituted,)i(otherwise)e(the)h(expansion)630
-3856 y(of)31 b Fr(w)m(ord)i Fu(is)e(substituted.)40 b(The)30
-b(v)-5 b(alue)30 b(of)h Fr(parameter)37 b Fu(is)31 b(not)f(used.)870
-3985 y Ft($)47 b(var=123)870 4095 y($)g(echo)g(${var:+var)e(is)i(set)g
-(and)g(not)g(null})870 4204 y(var)g(is)g(set)g(and)g(not)g(null)870
-4314 y($)g(var=)870 4423 y($)g(echo)g(${var:+var)e(is)i(set)g(and)g
-(not)g(null})870 4643 y($)150 4792 y(${)p Fj(parameter)p
-Ft(:)p Fj(offset)p Ft(})150 4902 y(${)p Fj(parameter)p
-Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 5011
-y Fu(This)30 b(is)h(referred)f(to)h(as)g(Substring)f(Expansion.)41
-b(It)31 b(expands)f(to)h(up)f(to)h Fr(length)g Fu(c)m(harac-)630
-5121 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42
-b Fu(starting)36 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h
-Fr(o\013set)p Fu(.)55 b(If)630 5230 y Fr(parameter)41
-b Fu(is)35 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)g(an)g(indexed)f
-(arra)m(y)g(subscripted)g(b)m(y)g(`)p Ft(@)p Fu(')g(or)h(`)p
-Ft(*)p Fu(',)g(or)g(an)f(asso-)630 5340 y(ciativ)m(e)i(arra)m(y)e
-(name,)h(the)f(results)f(di\013er)g(as)h(describ)s(ed)e(b)s(elo)m(w.)51
-b(If)33 b Fr(length)h Fu(is)g(omitted,)p eop end
-%%Page: 29 35
-TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)630 299
-y(it)31 b(expands)f(to)h(the)g(substring)e(of)h(the)h(v)-5
-b(alue)31 b(of)g Fr(parameter)37 b Fu(starting)31 b(at)h(the)e(c)m
-(haracter)630 408 y(sp)s(eci\014ed)g(b)m(y)g Fr(o\013set)k
-Fu(and)c(extending)h(to)g(the)g(end)f(of)g(the)h(v)-5
-b(alue.)42 b Fr(length)31 b Fu(and)f Fr(o\013set)k Fu(are)630
-518 y(arithmetic)e(expressions)e(\(see)h(Section)g(6.5)h([Shell)e
-(Arithmetic],)i(page)f(106\).)630 655 y(If)39 b Fr(o\013set)k
-Fu(ev)-5 b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f(less)h(than)f(zero,)
-k(the)d(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g(o\013set)630
-765 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h(the)g(v)-5
-b(alue)34 b(of)g Fr(parameter)p Fu(.)51 b(If)33 b Fr(length)h
-Fu(ev)-5 b(aluates)35 b(to)g(a)630 874 y(n)m(um)m(b)s(er)23
-b(less)h(than)g(zero,)j(it)d(is)h(in)m(terpreted)f(as)g(an)h(o\013set)g
-(in)f(c)m(haracters)h(from)f(the)g(end)g(of)630 984 y(the)31
-b(v)-5 b(alue)31 b(of)g Fr(parameter)38 b Fu(rather)30
-b(than)h(a)g(n)m(um)m(b)s(er)f(of)g(c)m(haracters,)j(and)d(the)h
-(expansion)630 1093 y(is)f(the)h(c)m(haracters)h(b)s(et)m(w)m(een)f
-Fr(o\013set)i Fu(and)d(that)h(result.)630 1230 y(Note)37
-b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m(ust)f(b)s(e)f(separated)h
-(from)f(the)h(colon)h(b)m(y)e(at)i(least)g(one)630 1340
-y(space)31 b(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)g(with)g(the)g(`)p
-Ft(:-)p Fu(')h(expansion.)630 1477 y(Here)43 b(are)g(some)f(examples)h
-(illustrating)g(substring)f(expansion)g(on)g(parameters)h(and)630
-1587 y(subscripted)29 b(arra)m(ys:)630 1724 y Ft($)47
-b(string=01234567890abcdefgh)630 1833 y($)g(echo)g(${string:7})630
-1943 y(7890abcdefgh)630 2052 y($)g(echo)g(${string:7:0})630
-2271 y($)g(echo)g(${string:7:2})630 2381 y(78)630 2491
-y($)g(echo)g(${string:7:-2})630 2600 y(7890abcdef)630
-2710 y($)g(echo)g(${string:)e(-7})630 2819 y(bcdefgh)630
-2929 y($)i(echo)g(${string:)e(-7:0})630 3148 y($)i(echo)g(${string:)e
-(-7:2})630 3258 y(bc)630 3367 y($)i(echo)g(${string:)e(-7:-2})630
-3477 y(bcdef)630 3587 y($)i(set)g(--)h(01234567890abcdefgh)630
-3696 y($)f(echo)g(${1:7})630 3806 y(7890abcdefgh)630
-3915 y($)g(echo)g(${1:7:0})630 4134 y($)g(echo)g(${1:7:2})630
-4244 y(78)630 4354 y($)g(echo)g(${1:7:-2})630 4463 y(7890abcdef)630
-4573 y($)g(echo)g(${1:)g(-7})630 4682 y(bcdefgh)630 4792
-y($)g(echo)g(${1:)g(-7:0})630 5011 y($)g(echo)g(${1:)g(-7:2})630
-5121 y(bc)630 5230 y($)g(echo)g(${1:)g(-7:-2})630 5340
-y(bcdef)p eop end
-%%Page: 30 36
-TeXDict begin 30 35 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(30)630 299
-y Ft($)47 b(array[0]=01234567890abcdef)o(gh)630 408 y($)g(echo)g
-(${array[0]:7})630 518 y(7890abcdefgh)630 628 y($)g(echo)g
-(${array[0]:7:0})630 847 y($)g(echo)g(${array[0]:7:2})630
-956 y(78)630 1066 y($)g(echo)g(${array[0]:7:-2})630 1176
-y(7890abcdef)630 1285 y($)g(echo)g(${array[0]:)e(-7})630
-1395 y(bcdefgh)630 1504 y($)i(echo)g(${array[0]:)e(-7:0})630
-1724 y($)i(echo)g(${array[0]:)e(-7:2})630 1833 y(bc)630
-1943 y($)i(echo)g(${array[0]:)e(-7:-2})630 2052 y(bcdef)630
-2189 y Fu(If)34 b Fr(parameter)41 b Fu(is)35 b(`)p Ft(@)p
-Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)e(result)g(is)h Fr(length)g
-Fu(p)s(ositional)g(parameters)g(b)s(eginning)630 2299
-y(at)j Fr(o\013set)p Fu(.)62 b(A)37 b(negativ)m(e)j Fr(o\013set)g
-Fu(is)d(tak)m(en)i(relativ)m(e)g(to)f(one)f(greater)i(than)e(the)g
-(greatest)630 2408 y(p)s(ositional)23 b(parameter,)h(so)e(an)g
-(o\013set)h(of)g(-1)f(ev)-5 b(aluates)24 b(to)f(the)f(last)h(p)s
-(ositional)f(parameter)630 2518 y(\(or)34 b(0)g(if)g(there)g(are)g(no)f
-(p)s(ositional)i(parameters\).)51 b(It)34 b(is)g(an)f(expansion)h
-(error)f(if)h Fr(length)630 2628 y Fu(ev)-5 b(aluates)32
-b(to)f(a)g(n)m(um)m(b)s(er)e(less)i(than)f(zero.)630
-2765 y(The)i(follo)m(wing)i(examples)f(illustrate)h(substring)d
-(expansion)i(using)f(p)s(ositional)h(param-)630 2874
-y(eters:)630 3011 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f(7)h(8)
-f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 3121 y($)g(echo)g(${@:7})
-630 3230 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h(g)f(h)630
-3340 y($)g(echo)g(${@:7:0})630 3559 y($)g(echo)g(${@:7:2})630
-3669 y(7)g(8)630 3778 y($)g(echo)g(${@:7:-2})630 3888
-y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630 3998
-y($)g(echo)g(${@:)g(-7:2})630 4107 y(b)g(c)630 4217 y($)g(echo)g
-(${@:0})630 4326 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h(9)f(0)h(a)f
-(b)h(c)f(d)g(e)h(f)f(g)h(h)630 4436 y($)f(echo)g(${@:0:2})630
-4545 y(./bash)f(1)630 4655 y($)h(echo)g(${@:)g(-7:0})630
-4902 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y)
-g(name)g(subscripted)f(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p
-Ft(*)p Fu(',)h(the)e(result)g(is)630 5011 y(the)j Fr(length)g
-Fu(mem)m(b)s(ers)f(of)h(the)f(arra)m(y)i(b)s(eginning)d(with)i
-Ft(${)p Fj(parameter)p Ft([)p Fj(offset)p Ft(]})p Fu(.)60
-b(A)630 5121 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h
-(relativ)m(e)g(to)g(one)f(greater)g(than)g(the)f(maxim)m(um)h(index)f
-(of)h(the)630 5230 y(sp)s(eci\014ed)38 b(arra)m(y)-8
-b(.)65 b(It)38 b(is)g(an)h(expansion)f(error)f(if)i Fr(length)f
-Fu(ev)-5 b(aluates)40 b(to)f(a)g(n)m(um)m(b)s(er)e(less)630
-5340 y(than)30 b(zero.)p eop end
-%%Page: 31 37
-TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)630 299
-y(These)23 b(examples)i(sho)m(w)e(ho)m(w)h(y)m(ou)g(can)g(use)f
-(substring)f(expansion)i(with)f(indexed)g(arra)m(ys:)630
-428 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7)f(8)h(9)f(0)h(a)f
-(b)g(c)h(d)f(e)h(f)f(g)h(h\))630 538 y($)f(echo)g(${array[@]:7})630
-648 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h(g)f(h)630
-757 y($)g(echo)g(${array[@]:7:2})630 867 y(7)g(8)630
-976 y($)g(echo)g(${array[@]:)e(-7:2})630 1086 y(b)i(c)630
-1196 y($)g(echo)g(${array[@]:)e(-7:-2})630 1305 y(bash:)h(-2:)h
-(substring)f(expression)f(<)i(0)630 1415 y($)g(echo)g(${array[@]:0})630
-1524 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f
-(f)h(g)f(h)630 1634 y($)g(echo)g(${array[@]:0:2})630
-1743 y(0)g(1)630 1853 y($)g(echo)g(${array[@]:)e(-7:0})630
-2092 y Fu(Substring)25 b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ)
-m(e)j(arra)m(y)d(pro)s(duces)f(unde\014ned)f(results.)630
-2222 y(Substring)32 b(indexing)i(is)f(zero-based)i(unless)e(the)h(p)s
-(ositional)g(parameters)g(are)g(used,)g(in)630 2331 y(whic)m(h)29
-b(case)i(the)f(indexing)g(starts)g(at)g(1)g(b)m(y)g(default.)41
-b(If)29 b Fr(o\013set)k Fu(is)d(0,)g(and)f(the)h(p)s(ositional)630
-2441 y(parameters)h(are)f(used,)g Ft($0)g Fu(is)g(pre\014xed)g(to)h
-(the)f(list.)150 2590 y Ft(${!)p Fj(prefix)p Ft(*})150
-2700 y(${!)p Fj(prefix)p Ft(@})630 2809 y Fu(Expands)24
-b(to)h(the)g(names)g(of)g(v)-5 b(ariables)26 b(whose)f(names)f(b)s
-(egin)h(with)f Fr(pre\014x)p Fu(,)i(separated)f(b)m(y)630
-2919 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f
-Fu(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Ft(@)p
-Fu(')g(is)g(used)f(and)h(the)g(expan-)630 3029 y(sion)35
-b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5
-b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630
-3138 y(w)m(ord.)150 3288 y Ft(${!)p Fj(name)p Ft([@]})150
-3397 y(${!)p Fj(name)p Ft([*]})630 3507 y Fu(If)26 b
-Fr(name)32 b Fu(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29
-b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h
-(assigned)630 3616 y(in)c Fr(name)p Fu(.)39 b(If)24 b
-Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8 b(,)27
-b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24 b(set)h(and)f(n)m(ull)g
-(otherwise.)630 3726 y(When)39 b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f
-(the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d
-(k)m(ey)630 3836 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
-3985 y Ft(${#)p Fj(parameter)p Ft(})630 4095 y Fu(Substitutes)37
-b(the)i(length)f(in)g(c)m(haracters)i(of)e(the)g(v)-5
-b(alue)39 b(of)f Fr(parameter)p Fu(.)64 b(If)38 b Fr(parameter)630
-4204 y Fu(is)f(`)p Ft(*)p Fu(')g(or)g(`)p Ft(@)p Fu(',)i(the)f(v)-5
-b(alue)37 b(substituted)f(is)h(the)h(n)m(um)m(b)s(er)d(of)j(p)s
-(ositional)f(parameters.)61 b(If)630 4314 y Fr(parameter)41
-b Fu(is)35 b(an)f(arra)m(y)g(name)h(subscripted)e(b)m(y)h(`)p
-Ft(*)p Fu(')g(or)g(`)p Ft(@)p Fu(',)i(the)f(v)-5 b(alue)34
-b(substituted)g(is)630 4423 y(the)j(n)m(um)m(b)s(er)e(of)i(elemen)m(ts)
-h(in)e(the)h(arra)m(y)-8 b(.)60 b(If)36 b Fr(parameter)44
-b Fu(is)36 b(an)h(indexed)f(arra)m(y)h(name)630 4533
-y(subscripted)25 b(b)m(y)h(a)h(negativ)m(e)i(n)m(um)m(b)s(er,)d(that)h
-(n)m(um)m(b)s(er)e(is)h(in)m(terpreted)h(as)f(relativ)m(e)j(to)e(one)
-630 4643 y(greater)32 b(than)f(the)h(maxim)m(um)f(index)g(of)g
-Fr(parameter)p Fu(,)h(so)g(negativ)m(e)h(indices)e(coun)m(t)h(bac)m(k)
-630 4752 y(from)e(the)g(end)g(of)h(the)f(arra)m(y)-8
-b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)g(last)g(elemen)
-m(t.)150 4902 y Ft(${)p Fj(parameter)p Ft(#)p Fj(word)p
-Ft(})150 5011 y(${)p Fj(parameter)p Ft(##)p Fj(word)p
-Ft(})630 5121 y Fu(The)c Fr(w)m(ord)j Fu(is)d(expanded)f(to)i(pro)s
-(duce)e(a)i(pattern)f(and)f(matc)m(hed)i(against)g(the)g(expanded)630
-5230 y(v)-5 b(alue)33 b(of)g Fr(parameter)40 b Fu(according)34
-b(to)g(the)f(rules)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)f
-(3.5.8.1)630 5340 y([P)m(attern)45 b(Matc)m(hing],)k(page)c(38\).)82
-b(If)44 b(the)g(pattern)g(matc)m(hes)h(the)f(b)s(eginning)f(of)h(the)p
-eop end
-%%Page: 32 38
-TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)630 299
-y(expanded)29 b(v)-5 b(alue)30 b(of)g Fr(parameter)p
-Fu(,)g(then)g(the)f(result)h(of)g(the)g(expansion)f(is)h(the)g
-(expanded)630 408 y(v)-5 b(alue)41 b(of)g Fr(parameter)48
-b Fu(with)41 b(the)g(shortest)g(matc)m(hing)h(pattern)f(\(the)h(`)p
-Ft(#)p Fu(')f(case\))h(or)f(the)630 518 y(longest)32
-b(matc)m(hing)f(pattern)g(\(the)g(`)p Ft(##)p Fu(')g(case\))h(deleted.)
-42 b(If)30 b Fr(parameter)38 b Fu(is)30 b(`)p Ft(@)p
-Fu(')h(or)g(`)p Ft(*)p Fu(',)g(the)630 628 y(pattern)f(remo)m(v)-5
-b(al)31 b(op)s(eration)f(is)g(applied)g(to)g(eac)m(h)h(p)s(ositional)g
-(parameter)f(in)f(turn,)h(and)630 737 y(the)c(expansion)f(is)g(the)h
-(resultan)m(t)g(list.)40 b(If)25 b Fr(parameter)32 b
-Fu(is)26 b(an)f(arra)m(y)h(v)-5 b(ariable)26 b(subscripted)630
-847 y(with)j(`)p Ft(@)p Fu(')h(or)g(`)p Ft(*)p Fu(',)g(the)g(pattern)g
-(remo)m(v)-5 b(al)30 b(op)s(eration)h(is)e(applied)h(to)g(eac)m(h)h
-(mem)m(b)s(er)e(of)h(the)630 956 y(arra)m(y)h(in)f(turn,)f(and)h(the)h
-(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 1121
-y Ft(${)p Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150
-1230 y(${)p Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630
-1340 y Fu(The)c Fr(w)m(ord)j Fu(is)d(expanded)f(to)i(pro)s(duce)e(a)i
-(pattern)f(and)f(matc)m(hed)i(against)g(the)g(expanded)630
-1450 y(v)-5 b(alue)33 b(of)g Fr(parameter)40 b Fu(according)34
-b(to)g(the)f(rules)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)f
-(3.5.8.1)630 1559 y([P)m(attern)h(Matc)m(hing],)i(page)e(38\).)49
-b(If)33 b(the)g(pattern)g(matc)m(hes)h(a)f(trailing)h(p)s(ortion)f(of)g
-(the)630 1669 y(expanded)43 b(v)-5 b(alue)44 b(of)g Fr(parameter)p
-Fu(,)k(then)43 b(the)h(result)g(of)f(the)h(expansion)g(is)g(the)f(v)-5
-b(alue)630 1778 y(of)35 b Fr(parameter)42 b Fu(with)34
-b(the)h(shortest)g(matc)m(hing)h(pattern)f(\(the)g(`)p
-Ft(\045)p Fu(')g(case\))h(or)f(the)g(longest)630 1888
-y(matc)m(hing)c(pattern)e(\(the)h(`)p Ft(\045\045)p Fu(')f(case\))i
-(deleted.)41 b(If)29 b Fr(parameter)37 b Fu(is)29 b(`)p
-Ft(@)p Fu(')h(or)f(`)p Ft(*)p Fu(',)h(the)g(pattern)630
-1998 y(remo)m(v)-5 b(al)46 b(op)s(eration)f(is)g(applied)f(to)i(eac)m
-(h)f(p)s(ositional)h(parameter)f(in)f(turn,)k(and)c(the)630
-2107 y(expansion)38 b(is)g(the)g(resultan)m(t)h(list.)65
-b(If)37 b Fr(parameter)46 b Fu(is)38 b(an)g(arra)m(y)g(v)-5
-b(ariable)39 b(subscripted)630 2217 y(with)29 b(`)p Ft(@)p
-Fu(')h(or)g(`)p Ft(*)p Fu(',)g(the)g(pattern)g(remo)m(v)-5
-b(al)30 b(op)s(eration)h(is)e(applied)h(to)g(eac)m(h)h(mem)m(b)s(er)e
-(of)h(the)630 2326 y(arra)m(y)h(in)f(turn,)f(and)h(the)h(expansion)f
-(is)g(the)h(resultan)m(t)g(list.)150 2491 y Ft(${)p Fj(parameter)p
-Ft(/)p Fj(pattern)p Ft(/)p Fj(stri)o(ng)p Ft(})150 2600
-y(${)p Fj(parameter)p Ft(//)p Fj(pattern)p Ft(/)p Fj(str)o(ing)p
-Ft(})150 2710 y(${)p Fj(parameter)p Ft(/#)p Fj(pattern)p
-Ft(/)p Fj(str)o(ing)p Ft(})150 2819 y(${)p Fj(parameter)p
-Ft(/\045)p Fj(pattern)p Ft(/)p Fj(str)o(ing)p Ft(})630
-2929 y Fu(The)39 b Fr(pattern)g Fu(is)h(expanded)e(to)i(pro)s(duce)e(a)
-i(pattern)f(just)g(as)h(in)f(\014lename)g(expansion)630
-3039 y(and)c(matc)m(hed)h(against)h(the)e(expanded)g(v)-5
-b(alue)36 b(of)g Fr(parameter)42 b Fu(according)37 b(to)f(the)f(rules)
-630 3148 y(describ)s(ed)28 b(b)s(elo)m(w)i(\(see)g(Section)g(3.5.8.1)i
-([P)m(attern)f(Matc)m(hing],)g(page)f(38\).)42 b(The)29
-b(longest)630 3258 y(matc)m(h)34 b(of)f Fr(pattern)h
-Fu(in)e(the)i(expanded)e(v)-5 b(alue)34 b(is)f(replaced)g(with)g
-Fr(string)p Fu(.)49 b Fr(string)41 b Fu(under-)630 3367
-y(go)s(es)32 b(tilde)g(expansion,)g(parameter)g(and)e(v)-5
-b(ariable)32 b(expansion,)g(arithmetic)h(expansion,)630
-3477 y(command)d(and)g(pro)s(cess)g(substitution,)g(and)g(quote)h(remo)
-m(v)-5 b(al.)630 3614 y(In)45 b(the)g(\014rst)g(form)g(ab)s(o)m(v)m(e,)
-50 b(only)c(the)f(\014rst)g(matc)m(h)h(is)f(replaced.)86
-b(If)45 b(there)h(are)g(t)m(w)m(o)630 3724 y(slashes)28
-b(separating)g Fr(parameter)35 b Fu(and)27 b Fr(pattern)g
-Fu(\(the)i(second)e(form)g(ab)s(o)m(v)m(e\),)j(all)f(matc)m(hes)630
-3833 y(of)d Fr(pattern)g Fu(are)g(replaced)g(with)f Fr(string)p
-Fu(.)40 b(If)25 b Fr(pattern)h Fu(is)f(preceded)h(b)m(y)f(`)p
-Ft(#)p Fu(')h(\(the)h(third)d(form)630 3943 y(ab)s(o)m(v)m(e\),)32
-b(it)e(m)m(ust)f(matc)m(h)i(at)f(the)g(b)s(eginning)e(of)i(the)g
-(expanded)f(v)-5 b(alue)30 b(of)f Fr(parameter)p Fu(.)41
-b(If)630 4052 y Fr(pattern)28 b Fu(is)g(preceded)g(b)m(y)g(`)p
-Ft(\045)p Fu(')g(\(the)h(fourth)e(form)h(ab)s(o)m(v)m(e\),)i(it)f(m)m
-(ust)f(matc)m(h)h(at)g(the)f(end)g(of)630 4162 y(the)j(expanded)e(v)-5
-b(alue)31 b(of)g Fr(parameter)p Fu(.)630 4299 y(If)38
-b(the)g(expansion)g(of)g Fr(string)46 b Fu(is)38 b(n)m(ull,)i(matc)m
-(hes)f(of)g Fr(pattern)f Fu(are)g(deleted)h(and)f(the)g(`)p
-Ft(/)p Fu(')630 4408 y(follo)m(wing)32 b Fr(pattern)e
-Fu(ma)m(y)h(b)s(e)f(omitted.)630 4545 y(If)75 b(the)h
-Ft(patsub_replacement)71 b Fu(shell)76 b(option)h(is)e(enabled)h(using)
-g Ft(shopt)e Fu(\(see)630 4655 y(Section)38 b(4.3.2)h([The)f(Shopt)e
-(Builtin],)k(page)e(77\),)j(an)m(y)d(unquoted)e(instances)i(of)g(`)p
-Ft(&)p Fu(')f(in)630 4765 y Fr(string)42 b Fu(are)34
-b(replaced)g(with)g(the)g(matc)m(hing)h(p)s(ortion)e(of)h
-Fr(pattern)p Fu(.)52 b(This)33 b(is)g(in)m(tended)h(to)630
-4874 y(duplicate)d(a)g(common)f Ft(sed)g Fu(idiom.)630
-5011 y(Quoting)f(an)m(y)f(part)h(of)f Fr(string)36 b
-Fu(inhibits)28 b(replacemen)m(t)i(in)e(the)g(expansion)h(of)f(the)h
-(quoted)630 5121 y(p)s(ortion,)j(including)g(replacemen)m(t)h(strings)f
-(stored)g(in)g(shell)g(v)-5 b(ariables.)46 b(Bac)m(kslash)34
-b(will)630 5230 y(escap)s(e)k(`)p Ft(&)p Fu(')g(in)f
-Fr(string)8 b Fu(;)42 b(the)c(bac)m(kslash)g(is)g(remo)m(v)m(ed)g(in)g
-(order)f(to)h(p)s(ermit)f(a)i(literal)g(`)p Ft(&)p Fu(')630
-5340 y(in)31 b(the)h(replacemen)m(t)h(string.)44 b(Users)32
-b(should)e(tak)m(e)k(care)e(if)g Fr(string)39 b Fu(is)32
-b(double-quoted)f(to)p eop end
-%%Page: 33 39
-TeXDict begin 33 38 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)630 299
-y(a)m(v)m(oid)37 b(un)m(w)m(an)m(ted)f(in)m(teractions)i(b)s(et)m(w)m
-(een)e(the)g(bac)m(kslash)h(and)e(double-quoting,)j(since)630
-408 y(bac)m(kslash)31 b(has)f(sp)s(ecial)h(meaning)f(within)g(double)f
-(quotes.)42 b(P)m(attern)31 b(substitution)f(p)s(er-)630
-518 y(forms)e(the)h(c)m(hec)m(k)i(for)d(unquoted)g(`)p
-Ft(&)p Fu(')h(after)g(expanding)g Fr(string)p Fu(,)g(so)g(users)f
-(should)g(ensure)630 628 y(to)33 b(prop)s(erly)e(quote)i(an)m(y)f(o)s
-(ccurrences)g(of)h(`)p Ft(&)p Fu(')f(they)g(w)m(an)m(t)h(to)g(b)s(e)f
-(tak)m(en)h(literally)h(in)e(the)630 737 y(replacemen)m(t)k(and)e
-(ensure)g(an)m(y)h(instances)g(of)g(`)p Ft(&)p Fu(')f(they)h(w)m(an)m
-(t)g(to)h(b)s(e)e(replaced)h(are)g(un-)630 847 y(quoted.)630
-1016 y(F)-8 b(or)31 b(instance,)870 1186 y Ft(var=abcdef)870
-1295 y(rep='&)46 b(')870 1405 y(echo)h(${var/abc/&)d(})870
-1514 y(echo)j("${var/abc/&)d(}")870 1624 y(echo)j(${var/abc/$rep})870
-1733 y(echo)g("${var/abc/$rep}")630 1903 y Fu(will)31
-b(displa)m(y)f(four)g(lines)h(of)f Ft(")p Fu(ab)s(c)g(def)p
-Ft(")p Fu(,)g(while)870 2072 y Ft(var=abcdef)870 2182
-y(rep='&)46 b(')870 2291 y(echo)h(${var/abc/\\&)d(})870
-2401 y(echo)j("${var/abc/\\&)d(}")870 2511 y(echo)j(${var/abc/"&)d("})
-870 2620 y(echo)j(${var/abc/"$rep"})630 2790 y Fu(will)34
-b(displa)m(y)g(four)g(lines)g(of)g Ft(")p Fu(&)f(def)p
-Ft(")p Fu(.)51 b(Lik)m(e)35 b(the)f(pattern)g(remo)m(v)-5
-b(al)35 b(op)s(erators,)g(double)630 2899 y(quotes)23
-b(surrounding)c(the)k(replacemen)m(t)g(string)f(quote)h(the)f(expanded)
-f(c)m(haracters,)26 b(while)630 3009 y(double)43 b(quotes)i(enclosing)f
-(the)g(en)m(tire)h(parameter)f(substitution)f(do)h(not,)k(since)c(the)
-630 3118 y(expansion)e(is)h(p)s(erformed)e(in)h(a)h(con)m(text)h(that)f
-(do)s(esn't)f(tak)m(e)i(an)m(y)f(enclosing)g(double)630
-3228 y(quotes)31 b(in)m(to)g(accoun)m(t.)630 3397 y(Since)24
-b(bac)m(kslash)i(can)e(escap)s(e)h(`)p Ft(&)p Fu(',)h(it)f(can)g(also)h
-(escap)s(e)f(a)f(bac)m(kslash)i(in)e(the)g(replacemen)m(t)630
-3507 y(string.)39 b(This)26 b(means)g(that)h(`)p Ft(\\\\)p
-Fu(')g(will)f(insert)h(a)f(literal)i(bac)m(kslash)f(in)m(to)h(the)e
-(replacemen)m(t,)630 3616 y(so)31 b(these)f(t)m(w)m(o)i
-Ft(echo)d Fu(commands)870 3786 y Ft(var=abcdef)870 3895
-y(rep='\\\\&xyz')870 4005 y(echo)47 b(${var/abc/\\\\&xyz})870
-4115 y(echo)g(${var/abc/$rep})630 4284 y Fu(will)31 b(b)s(oth)e(output)
-h(`)p Ft(\\abcxyzdef)p Fu('.)630 4453 y(It)g(should)g(rarely)g(b)s(e)g
-(necessary)h(to)g(enclose)h(only)e Fr(string)38 b Fu(in)30
-b(double)g(quotes.)630 4623 y(If)j(the)h Ft(nocasematch)d
-Fu(shell)i(option)h(\(see)h(the)f(description)f(of)h
-Ft(shopt)e Fu(in)i(Section)g(4.3.2)630 4732 y([The)23
-b(Shopt)g(Builtin],)j(page)e(77\))h(is)e(enabled,)i(the)f(matc)m(h)g
-(is)g(p)s(erformed)e(without)h(regard)630 4842 y(to)31
-b(the)g(case)g(of)g(alphab)s(etic)g(c)m(haracters.)630
-5011 y(If)24 b Fr(parameter)31 b Fu(is)24 b(`)p Ft(@)p
-Fu(')h(or)f(`)p Ft(*)p Fu(',)i(the)e(substitution)g(op)s(eration)h(is)f
-(applied)g(to)h(eac)m(h)g(p)s(ositional)630 5121 y(parameter)35
-b(in)f(turn,)g(and)g(the)g(expansion)g(is)g(the)h(resultan)m(t)g(list.)
-53 b(If)34 b Fr(parameter)41 b Fu(is)34 b(an)630 5230
-y(arra)m(y)e(v)-5 b(ariable)32 b(subscripted)e(with)h(`)p
-Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(the)f(substitution)g(op)s
-(eration)h(is)f(applied)630 5340 y(to)g(eac)m(h)h(mem)m(b)s(er)d(of)i
-(the)f(arra)m(y)h(in)f(turn,)g(and)g(the)g(expansion)h(is)f(the)g
-(resultan)m(t)i(list.)p eop end
-%%Page: 34 40
-TeXDict begin 34 39 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(34)150 299
-y Ft(${)p Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150
-408 y(${)p Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150
-518 y(${)p Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150
-628 y(${)p Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630
-737 y Fu(This)36 b(expansion)g(mo)s(di\014es)g(the)g(case)i(of)f
-(alphab)s(etic)g(c)m(haracters)h(in)e Fr(parameter)p
-Fu(.)59 b(The)630 847 y Fr(pattern)33 b Fu(is)g(expanded)e(to)j(pro)s
-(duce)d(a)j(pattern)e(just)g(as)h(in)g(\014lename)g(expansion.)47
-b(Eac)m(h)630 956 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5
-b(alue)31 b(of)f Fr(parameter)37 b Fu(is)30 b(tested)h(against)h
-Fr(pattern)p Fu(,)e(and,)g(if)630 1066 y(it)j(matc)m(hes)h(the)g
-(pattern,)f(its)h(case)g(is)f(con)m(v)m(erted.)49 b(The)33
-b(pattern)g(should)f(not)h(attempt)630 1176 y(to)e(matc)m(h)g(more)g
-(than)f(one)h(c)m(haracter.)630 1313 y(The)f(`)p Ft(^)p
-Fu(')g(op)s(erator)g(con)m(v)m(erts)i(lo)m(w)m(ercase)g(letters)g(matc)
-m(hing)f Fr(pattern)f Fu(to)h(upp)s(ercase;)f(the)630
-1422 y(`)p Ft(,)p Fu(')25 b(op)s(erator)f(con)m(v)m(erts)i(matc)m(hing)
-g(upp)s(ercase)d(letters)j(to)f(lo)m(w)m(ercase.)41 b(The)24
-b(`)p Ft(^^)p Fu(')g(and)g(`)p Ft(,,)p Fu(')630 1532
-y(expansions)31 b(con)m(v)m(ert)i(eac)m(h)g(matc)m(hed)f(c)m(haracter)h
-(in)e(the)h(expanded)f(v)-5 b(alue;)32 b(the)g(`)p Ft(^)p
-Fu(')g(and)630 1641 y(`)p Ft(,)p Fu(')24 b(expansions)f(matc)m(h)i(and)
-e(con)m(v)m(ert)j(only)d(the)h(\014rst)f(c)m(haracter)j(in)d(the)h
-(expanded)f(v)-5 b(alue.)630 1751 y(If)30 b Fr(pattern)g
-Fu(is)h(omitted,)g(it)g(is)g(treated)g(lik)m(e)h(a)f(`)p
-Ft(?)p Fu(',)f(whic)m(h)g(matc)m(hes)i(ev)m(ery)f(c)m(haracter.)630
-1888 y(If)23 b Fr(parameter)31 b Fu(is)24 b(`)p Ft(@)p
-Fu(')g(or)g(`)p Ft(*)p Fu(',)h(the)f(case)h(mo)s(di\014cation)f(op)s
-(eration)g(is)g(applied)g(to)g(eac)m(h)h(p)s(osi-)630
-1998 y(tional)h(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f(is)g
-(the)h(resultan)m(t)g(list.)40 b(If)23 b Fr(parameter)32
-b Fu(is)630 2107 y(an)e(arra)m(y)g(v)-5 b(ariable)31
-b(subscripted)d(with)i(`)p Ft(@)p Fu(')g(or)f(`)p Ft(*)p
-Fu(',)i(the)f(case)g(mo)s(di\014cation)h(op)s(eration)f(is)630
-2217 y(applied)d(to)g(eac)m(h)h(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g
-(in)g(turn,)g(and)f(the)h(expansion)f(is)h(the)g(resultan)m(t)630
-2326 y(list.)150 2491 y Ft(${)p Fj(parameter)p Ft(@)p
-Fj(operator)p Ft(})630 2600 y Fu(The)h(expansion)h(is)f(either)h(a)g
-(transformation)g(of)g(the)g(v)-5 b(alue)29 b(of)g Fr(parameter)35
-b Fu(or)29 b(informa-)630 2710 y(tion)e(ab)s(out)f Fr(parameter)33
-b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5 b(alue)26
-b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27 b Fr(op)s(erator)630
-2819 y Fu(is)j(a)h(single)g(letter:)630 2984 y Ft(U)432
-b Fu(The)31 b(expansion)g(is)g(a)g(string)h(that)f(is)h(the)f(v)-5
-b(alue)32 b(of)f Fr(parameter)38 b Fu(with)31 b(lo)m(w-)1110
-3093 y(ercase)g(alphab)s(etic)g(c)m(haracters)h(con)m(v)m(erted)g(to)f
-(upp)s(ercase.)630 3258 y Ft(u)432 b Fu(The)34 b(expansion)g(is)g(a)h
-(string)f(that)h(is)g(the)f(v)-5 b(alue)35 b(of)f Fr(parameter)42
-b Fu(with)34 b(the)1110 3367 y(\014rst)c(c)m(haracter)i(con)m(v)m
-(erted)f(to)h(upp)s(ercase,)d(if)i(it)g(is)f(alphab)s(etic.)630
-3532 y Ft(L)432 b Fu(The)33 b(expansion)h(is)g(a)g(string)g(that)h(is)f
-(the)g(v)-5 b(alue)34 b(of)g Fr(parameter)41 b Fu(with)34
-b(up-)1110 3641 y(p)s(ercase)c(alphab)s(etic)h(c)m(haracters)h(con)m(v)
-m(erted)g(to)f(lo)m(w)m(ercase.)630 3806 y Ft(Q)432 b
-Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f(the)g(v)-5
-b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31 b(in)1110
-3915 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i(input.)630
-4080 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h(that)f(is)h
-(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34 b Fu(with)27
-b(bac)m(k-)1110 4189 y(slash)e(escap)s(e)h(sequences)f(expanded)g(as)g
-(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110
-4299 y(anism.)630 4463 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g
-(string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5
-b(alue)24 b(of)1110 4573 y Fr(parameter)31 b Fu(as)24
-b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g
-([Con)m(trolling)1110 4682 y(the)31 b(Prompt],)f(page)h(112\).)630
-4847 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g
-(form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110
-4956 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31
-b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 5066
-y(its)31 b(attributes)g(and)e(v)-5 b(alue.)630 5230 y
-Ft(K)432 b Fu(Pro)s(duces)33 b(a)i(p)s(ossibly-quoted)e(v)m(ersion)i
-(of)f(the)h(v)-5 b(alue)34 b(of)h Fr(parameter)p Fu(,)g(ex-)1110
-5340 y(cept)46 b(that)h(it)f(prin)m(ts)f(the)h(v)-5 b(alues)47
-b(of)f(indexed)f(and)g(asso)s(ciativ)m(e)k(arra)m(ys)p
-eop end
-%%Page: 35 41
-TeXDict begin 35 40 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)1110 299
-y(as)37 b(a)g(sequence)f(of)h(quoted)g(k)m(ey-v)-5 b(alue)38
-b(pairs)e(\(see)h(Section)h(6.7)f([Arra)m(ys],)1110 408
-y(page)29 b(109\).)41 b(The)28 b(k)m(eys)g(and)f(v)-5
-b(alues)29 b(are)f(quoted)g(in)f(a)i(format)f(that)g(can)h(b)s(e)1110
-518 y(reused)h(as)g(input.)630 675 y Ft(a)432 b Fu(The)30
-b(expansion)g(is)g(a)h(string)f(consisting)h(of)g(\015ag)g(v)-5
-b(alues)30 b(represen)m(ting)h Fr(pa-)1110 784 y(rameter)7
-b Fu('s)31 b(attributes.)630 941 y Ft(k)432 b Fu(Lik)m(e)29
-b(the)g(`)p Ft(K)p Fu(')g(transformation,)g(but)f(expands)g(the)g(k)m
-(eys)i(and)d(v)-5 b(alues)29 b(of)g(in-)1110 1051 y(dexed)c(and)f(asso)
-s(ciativ)m(e)k(arra)m(ys)d(to)h(separate)f(w)m(ords)g(after)g(w)m(ord)g
-(splitting.)630 1207 y(If)k Fr(parameter)37 b Fu(is)30
-b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)g(the)g(op)s(eration)g(is)g
-(applied)f(to)i(eac)m(h)g(p)s(ositional)f(parameter)630
-1317 y(in)24 b(turn,)g(and)f(the)h(expansion)g(is)g(the)g(resultan)m(t)
-h(list.)39 b(If)23 b Fr(parameter)31 b Fu(is)24 b(an)g(arra)m(y)g(v)-5
-b(ariable)630 1426 y(subscripted)24 b(with)h(`)p Ft(@)p
-Fu(')h(or)g(`)p Ft(*)p Fu(',)h(the)e(op)s(eration)h(is)g(applied)f(to)h
-(eac)m(h)h(mem)m(b)s(er)e(of)h(the)f(arra)m(y)630 1536
-y(in)30 b(turn,)g(and)f(the)i(expansion)f(is)h(the)f(resultan)m(t)h
-(list.)630 1669 y(The)c(result)h(of)g(the)f(expansion)h(is)g(sub)5
-b(ject)27 b(to)h(w)m(ord)g(splitting)g(and)f(\014lename)h(expansion)630
-1779 y(as)j(describ)s(ed)e(b)s(elo)m(w.)150 1975 y Fk(3.5.4)63
-b(Command)41 b(Substitution)150 2122 y Fu(Command)24
-b(substitution)h(allo)m(ws)h(the)f(output)g(of)g(a)g(command)g(to)h
-(replace)g(the)f(command)g(itself.)39 b(The)150 2232
-y(standard)30 b(form)f(of)i(command)f(substitution)g(o)s(ccurs)g(when)g
-(a)g(command)h(is)f(enclosed)h(as)g(follo)m(ws:)390 2365
-y Ft($\()p Fj(command)p Ft(\))150 2498 y Fu(or)f(\(deprecated\))390
-2631 y Ft(`)p Fj(command)p Ft(`.)150 2764 y Fu(Bash)24
-b(p)s(erforms)e(command)i(substitution)f(b)m(y)h(executing)h
-Fr(command)i Fu(in)c(a)h(subshell)f(en)m(vironmen)m(t)i(and)150
-2874 y(replacing)35 b(the)f(command)g(substitution)g(with)f(the)i
-(standard)e(output)g(of)i(the)f(command,)h(with)f(an)m(y)150
-2983 y(trailing)j(newlines)f(deleted.)58 b(Em)m(b)s(edded)34
-b(newlines)i(are)g(not)g(deleted,)j(but)c(they)h(ma)m(y)h(b)s(e)e(remo)
-m(v)m(ed)150 3093 y(during)40 b(w)m(ord)i(splitting.)75
-b(The)41 b(command)g(substitution)g Ft($\(cat)29 b Fj(file)p
-Ft(\))40 b Fu(can)i(b)s(e)f(replaced)h(b)m(y)g(the)150
-3203 y(equiv)-5 b(alen)m(t)32 b(but)d(faster)i Ft($\(<)f
-Fj(file)p Ft(\))p Fu(.)275 3336 y(With)h(the)h(old-st)m(yle)h(bac)m
-(kquote)g(form)e(of)h(substitution,)f(bac)m(kslash)h(retains)g(its)g
-(literal)h(meaning)150 3445 y(except)k(when)d(follo)m(w)m(ed)k(b)m(y)d
-(`)p Ft($)p Fu(',)j(`)p Ft(`)p Fu(',)f(or)f(`)p Ft(\\)p
-Fu('.)57 b(The)35 b(\014rst)g(bac)m(kquote)i(not)f(preceded)g(b)m(y)f
-(a)h(bac)m(kslash)150 3555 y(terminates)k(the)e(command)h
-(substitution.)65 b(When)39 b(using)f(the)h Ft($\()p
-Fj(command)p Ft(\))c Fu(form,)41 b(all)e(c)m(haracters)150
-3665 y(b)s(et)m(w)m(een)31 b(the)g(paren)m(theses)f(mak)m(e)i(up)d(the)
-h(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8 b(.)275
-3798 y(There)29 b(is)i(an)f(alternate)i(form)e(of)h(command)f
-(substitution:)390 3931 y Ft(${)p Fj(c)47 b(command)p
-Ft(;)e(})150 4064 y Fu(whic)m(h)38 b(executes)i Fr(command)i
-Fu(in)d(the)g(curren)m(t)f(execution)i(en)m(vironmen)m(t)f(and)f
-(captures)h(its)g(output,)150 4173 y(again)31 b(with)f(trailing)i
-(newlines)e(remo)m(v)m(ed.)275 4307 y(The)40 b(c)m(haracter)i
-Fr(c)47 b Fu(follo)m(wing)42 b(the)f(op)s(en)g(brace)g(m)m(ust)f(b)s(e)
-h(a)g(space,)j(tab,)g(newline,)g(or)d(`)p Ft(|)p Fu(',)j(and)150
-4416 y(the)39 b(close)i(brace)e(m)m(ust)g(b)s(e)g(in)g(a)g(p)s(osition)
-h(where)e(a)i(reserv)m(ed)f(w)m(ord)g(ma)m(y)h(app)s(ear)e(\(i.e.,)43
-b(preceded)150 4526 y(b)m(y)32 b(a)g(command)g(terminator)h(suc)m(h)e
-(as)h(semicolon\).)47 b(Bash)32 b(allo)m(ws)i(the)e(close)h(brace)f(to)
-h(b)s(e)e(joined)h(to)150 4635 y(the)f(remaining)g(c)m(haracters)h(in)e
-(the)h(w)m(ord)f(without)h(b)s(eing)f(follo)m(w)m(ed)i(b)m(y)f(a)g
-(shell)f(metac)m(haracter)k(as)d(a)150 4745 y(reserv)m(ed)g(w)m(ord)f
-(w)m(ould)g(usually)g(require.)275 4878 y(An)m(y)j(side)h(e\013ects)h
-(of)e Fr(command)k Fu(tak)m(e)e(e\013ect)h(immediately)e(in)g(the)f
-(curren)m(t)h(execution)h(en)m(viron-)150 4988 y(men)m(t)d(and)g(p)s
-(ersist)f(in)g(the)h(curren)m(t)g(en)m(vironmen)m(t)h(after)f(the)g
-(command)g(completes)h(\(e.g.,)h(the)e Ft(exit)150 5097
-y Fu(builtin)e(will)h(exit)g(the)g(shell\).)275 5230
-y(This)g(t)m(yp)s(e)i(of)g(command)f(substitution)g(sup)s(er\014cially)
-g(resem)m(bles)h(executing)h(an)f(unnamed)e(shell)150
-5340 y(function:)42 b(lo)s(cal)33 b(v)-5 b(ariables)32
-b(are)g(created)g(as)g(when)e(a)i(shell)g(function)f(is)g(executing,)i
-(and)e(the)h Ft(return)p eop end
-%%Page: 36 42
-TeXDict begin 36 41 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(36)150 299
-y(builtin)36 b(forces)i Fr(command)i Fu(to)e(complete;)j(ho)m(w)m(ev)m
-(er,)f(the)d(rest)g(of)g(the)h(execution)g(en)m(vironmen)m(t,)h(in-)150
-408 y(cluding)30 b(the)h(p)s(ositional)g(parameters,)g(is)f(shared)g
-(with)g(the)h(caller.)275 539 y(If)26 b(the)g(\014rst)g(c)m(haracter)i
-(follo)m(wing)g(the)f(op)s(en)f(brace)h(is)f(a)h(`)p
-Ft(|)p Fu(',)h(the)f(construct)g(expands)e(to)j(the)e(v)-5
-b(alue)150 648 y(of)24 b(the)g Ft(REPLY)e Fu(shell)i(v)-5
-b(ariable)24 b(after)g Fr(command)j Fu(executes,)g(without)d(remo)m
-(ving)g(an)m(y)g(trailing)h(newlines,)150 758 y(and)h(the)g(standard)f
-(output)h(of)g Fr(command)k Fu(remains)c(the)g(same)h(as)f(in)g(the)g
-(calling)i(shell.)39 b(Bash)27 b(creates)150 868 y Ft(REPLY)33
-b Fu(as)j(an)e(initially-unset)j(lo)s(cal)f(v)-5 b(ariable)35
-b(when)f Fr(command)39 b Fu(executes,)e(and)d(restores)i
-Ft(REPLY)d Fu(to)150 977 y(the)i(v)-5 b(alue)34 b(it)h(had)f(b)s(efore)
-g(the)h(command)f(substitution)g(after)h Fr(command)j
-Fu(completes,)f(as)d(with)h(an)m(y)150 1087 y(lo)s(cal)d(v)-5
-b(ariable.)275 1217 y(F)d(or)23 b(example,)i(this)e(construct)g
-(expands)f(to)i(`)p Ft(12345)p Fu(',)f(and)f(lea)m(v)m(es)j(the)e
-(shell)g(v)-5 b(ariable)24 b Ft(X)e Fu(unc)m(hanged)150
-1327 y(in)30 b(the)h(curren)m(t)f(execution)h(en)m(vironmen)m(t:)390
-1566 y Ft(${)47 b(local)g(X=12345)e(;)j(echo)e($X;)h(})150
-1697 y Fu(\(not)28 b(declaring)g Ft(X)f Fu(as)g(lo)s(cal)i(w)m(ould)e
-(mo)s(dify)f(its)i(v)-5 b(alue)27 b(in)g(the)h(curren)m(t)f(en)m
-(vironmen)m(t,)i(as)e(with)g(normal)150 1806 y(shell)38
-b(function)g(execution\),)43 b(while)38 b(this)g(construct)h(do)s(es)f
-(not)g(require)g(an)m(y)h(output)f(to)h(expand)e(to)150
-1916 y(`)p Ft(12345)p Fu(':)390 2046 y Ft(${|)47 b(REPLY=12345;)d(})150
-2177 y Fu(and)30 b(restores)h Ft(REPLY)e Fu(to)i(the)f(v)-5
-b(alue)31 b(it)g(had)f(b)s(efore)g(the)g(command)g(substitution.)275
-2307 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
-b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g
-(escap)s(e)150 2416 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
-(kslashes.)275 2547 y(If)g(the)h(substitution)g(app)s(ears)f(within)h
-(double)f(quotes,)i(Bash)f(do)s(es)g(not)g(p)s(erform)f(w)m(ord)g
-(splitting)150 2656 y(and)g(\014lename)g(expansion)h(on)f(the)g
-(results.)150 2847 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150
-2994 y Fu(Arithmetic)i(expansion)e(ev)-5 b(alutes)42
-b(an)f(arithmetic)h(expression)f(and)f(substitutes)g(the)h(result.)72
-b(The)150 3104 y(format)31 b(for)f(arithmetic)h(expansion)g(is:)390
-3234 y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3364
-y Fu(The)34 b Fr(expression)h Fu(undergo)s(es)f(the)h(same)h
-(expansions)e(as)i(if)f(it)g(w)m(ere)h(within)e(double)h(quotes,)i(but)
-150 3474 y(double)g(quote)g(c)m(haracters)i(in)d Fr(expression)h
-Fu(are)g(not)g(treated)h(sp)s(ecially)g(and)f(are)g(remo)m(v)m(ed.)61
-b(All)38 b(to-)150 3584 y(k)m(ens)c(in)f(the)h(expression)f(undergo)g
-(parameter)h(and)f(v)-5 b(ariable)34 b(expansion,)h(command)e
-(substitution,)150 3693 y(and)41 b(quote)i(remo)m(v)-5
-b(al.)76 b(The)41 b(result)h(is)g(treated)h(as)f(the)g(arithmetic)h
-(expression)f(to)g(b)s(e)f(ev)-5 b(aluated.)150 3803
-y(Arithmetic)31 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)275
-3933 y(The)k(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g
-(the)g(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section)g(6.5)h([Shell)
-150 4043 y(Arithmetic],)29 b(page)e(106\).)41 b(If)27
-b(the)f(expression)h(is)f(in)m(v)-5 b(alid,)29 b(Bash)d(prin)m(ts)g(a)i
-(message)f(indicating)h(failure)150 4152 y(to)23 b(the)g(standard)f
-(error,)j(do)s(es)d(not)h(p)s(erform)e(the)i(substitution,)h(and)f(do)s
-(es)f(not)h(execute)h(the)f(command)150 4262 y(asso)s(ciated)32
-b(with)e(the)g(expansion.)150 4453 y Fk(3.5.6)63 b(Pro)s(cess)42
-b(Substitution)150 4600 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i
-(a)e(pro)s(cess's)g(input)f(or)h(output)g(to)h(b)s(e)f(referred)f(to)i
-(using)f(a)g(\014lename.)150 4709 y(It)d(tak)m(es)i(the)f(form)f(of)390
-4839 y Ft(<\()p Fj(list)p Ft(\))150 4970 y Fu(or)390
-5100 y Ft(>\()p Fj(list)p Ft(\))150 5230 y Fu(The)e(pro)s(cess)h
-Fr(list)j Fu(is)d(run)e(async)m(hronously)-8 b(,)30 b(and)e(its)i
-(input)e(or)h(output)f(app)s(ears)h(as)g(a)g(\014lename.)41
-b(This)150 5340 y(\014lename)31 b(is)f(passed)g(as)h(an)f(argumen)m(t)h
-(to)g(the)f(curren)m(t)g(command)h(as)f(the)h(result)f(of)h(the)f
-(expansion.)p eop end
-%%Page: 37 43
-TeXDict begin 37 42 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(37)275 299
-y(If)26 b(the)i Ft(>\()p Fj(list)p Ft(\))d Fu(form)i(is)h(used,)f
-(writing)g(to)h(the)g(\014le)f(will)h(pro)m(vide)g(input)e(for)h
-Fr(list)p Fu(.)40 b(If)27 b(the)h Ft(<\()p Fj(list)p
-Ft(\))150 408 y Fu(form)h(is)g(used,)g(reading)g(the)h(\014le)f(will)g
-(obtain)h(the)f(output)g(of)h Fr(list)p Fu(.)41 b(Note)30
-b(that)g(no)f(space)h(ma)m(y)g(app)s(ear)150 518 y(b)s(et)m(w)m(een)k
-(the)g Ft(<)f Fu(or)h Ft(>)f Fu(and)g(the)h(left)h(paren)m(thesis,)f
-(otherwise)g(the)g(construct)g(w)m(ould)g(b)s(e)f(in)m(terpreted)150
-628 y(as)e(a)f(redirection.)275 766 y(Pro)s(cess)j(substitution)h(is)g
-(supp)s(orted)e(on)h(systems)h(that)h(supp)s(ort)d(named)h(pip)s(es)g
-(\()p Fm(fif)n(o)p Fu(s\))h(or)g(the)150 875 y Ft(/dev/fd)28
-b Fu(metho)s(d)i(of)h(naming)f(op)s(en)g(\014les.)275
-1014 y(When)36 b(a)m(v)-5 b(ailable,)40 b(pro)s(cess)c(substitution)h
-(is)f(p)s(erformed)f(sim)m(ultaneously)i(with)g(parameter)g(and)150
-1123 y(v)-5 b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g
-(arithmetic)i(expansion.)150 1326 y Fk(3.5.7)63 b(W)-10
-b(ord)41 b(Splitting)150 1473 y Fu(The)30 b(shell)h(scans)g(the)g
-(results)f(of)h(parameter)g(expansion,)g(command)g(substitution,)g(and)
-f(arithmetic)150 1583 y(expansion)e(that)i(did)d(not)i(o)s(ccur)f
-(within)g(double)g(quotes)h(for)g(w)m(ord)f(splitting.)41
-b(W)-8 b(ords)29 b(that)g(w)m(ere)g(not)150 1692 y(expanded)h(are)g
-(not)h(split.)275 1831 y(The)d(shell)g(treats)i(eac)m(h)g(c)m(haracter)
-g(of)f Ft($IFS)e Fu(as)i(a)g(delimiter,)h(and)e(splits)g(the)h(results)
-f(of)h(the)g(other)150 1940 y(expansions)h(in)m(to)h(\014elds)f(using)g
-(these)h(c)m(haracters)h(as)e(\014eld)g(terminators.)275
-2078 y(An)25 b Fr(IFS)g(whitespace)31 b Fu(c)m(haracter)c(is)f
-(whitespace)g(as)g(de\014ned)e(ab)s(o)m(v)m(e)j(\(see)f(Chapter)f(2)h
-([De\014nitions],)150 2188 y(page)37 b(3\))g(that)g(app)s(ears)e(in)h
-(the)g(v)-5 b(alue)37 b(of)f Ft(IFS)p Fu(.)57 b(Space,)38
-b(tab,)g(and)e(newline)g(are)g(alw)m(a)m(ys)i(considered)150
-2298 y(IFS)30 b(whitespace,)h(ev)m(en)g(if)g(they)f(don't)h(app)s(ear)e
-(in)h(the)h(lo)s(cale's)h Ft(space)d Fu(category)-8 b(.)275
-2436 y(If)26 b Ft(IFS)g Fu(is)h(unset,)h(w)m(ord)e(splitting)i(b)s(eha)
-m(v)m(es)g(as)f(if)g(its)g(v)-5 b(alue)28 b(w)m(ere)f
-Ft(<space><tab><newline>)p Fu(,)c(and)150 2545 y(treats)41
-b(these)f(c)m(haracters)h(as)f(IFS)f(whitespace.)70 b(If)39
-b(the)h(v)-5 b(alue)40 b(of)g Ft(IFS)e Fu(is)i(n)m(ull,)i(no)e(w)m(ord)
-f(splitting)150 2655 y(o)s(ccurs,)30 b(but)g(implicit)h(n)m(ull)g
-(argumen)m(ts)f(\(see)i(b)s(elo)m(w\))f(are)f(still)i(remo)m(v)m(ed.)
-275 2793 y(W)-8 b(ord)43 b(splitting)i(b)s(egins)d(b)m(y)i(remo)m(ving)
-g(sequences)g(of)g(IFS)f(whitespace)h(c)m(haracters)h(from)e(the)150
-2903 y(b)s(eginning)h(and)f(end)h(of)g(the)h(results)f(of)g(the)h
-(previous)e(expansions,)48 b(then)c(splits)g(the)h(remaining)150
-3012 y(w)m(ords.)275 3151 y(If)37 b(the)i(v)-5 b(alue)39
-b(of)f Ft(IFS)g Fu(consists)h(solely)g(of)g(IFS)f(whitespace,)j(an)m(y)
-e(sequence)g(of)f(IFS)g(whitespace)150 3260 y(c)m(haracters)47
-b(delimits)f(a)g(\014eld,)j(so)d(a)f(\014eld)h(consists)g(of)f(c)m
-(haracters)i(that)f(are)g(not)g(unquoted)e(IFS)150 3370
-y(whitespace,)31 b(and)f(n)m(ull)g(\014elds)g(result)h(only)f(from)g
-(quoting.)275 3508 y(If)g Ft(IFS)f Fu(con)m(tains)j(a)f(non-whitespace)
-g(c)m(haracter,)i(then)d(an)m(y)h(c)m(haracter)h(in)e(the)h(v)-5
-b(alue)31 b(of)g Ft(IFS)e Fu(that)150 3618 y(is)h(not)h(IFS)f
-(whitespace,)i(along)f(with)f(an)m(y)h(adjacen)m(t)h(IFS)e(whitespace)h
-(c)m(haracters,)h(delimits)f(a)g(\014eld.)150 3727 y(This)i(means)h
-(that)g(adjacen)m(t)h(non-IFS-whitespace)g(delimiters)f(pro)s(duce)f(a)
-h(n)m(ull)g(\014eld.)51 b(A)34 b(sequence)150 3837 y(of)d(IFS)f
-(whitespace)h(c)m(haracters)g(also)h(delimits)f(a)f(\014eld.)275
-3975 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g
-Fu(or)g Ft('')p Fu(\))f(are)h(retained)h(and)e(passed)g(to)i(commands)e
-(as)i(empt)m(y)f(strings.)150 4085 y(Unquoted)26 b(implicit)i(n)m(ull)e
-(argumen)m(ts,)i(resulting)f(from)f(the)h(expansion)f(of)h(parameters)g
-(that)g(ha)m(v)m(e)h(no)150 4194 y(v)-5 b(alues,)31 b(are)h(remo)m(v)m
-(ed.)42 b(Expanding)30 b(a)h(parameter)g(with)g(no)f(v)-5
-b(alue)32 b(within)e(double)g(quotes)h(pro)s(duces)150
-4304 y(a)g(n)m(ull)f(\014eld,)g(whic)m(h)g(is)h(retained)g(and)e
-(passed)h(to)h(a)g(command)f(as)h(an)f(empt)m(y)h(string.)275
-4442 y(When)j(a)i(quoted)f(n)m(ull)g(argumen)m(t)g(app)s(ears)g(as)g
-(part)g(of)g(a)g(w)m(ord)g(whose)g(expansion)g(is)g(non-n)m(ull,)150
-4552 y(w)m(ord)29 b(splitting)h(remo)m(v)m(es)h(the)e(n)m(ull)g
-(argumen)m(t)h(p)s(ortion,)g(lea)m(ving)h(the)e(non-n)m(ull)g
-(expansion.)40 b(That)30 b(is,)150 4661 y(the)h(w)m(ord)f
-Ft(-d'')f Fu(b)s(ecomes)h Ft(-d)g Fu(after)h(w)m(ord)f(splitting)h(and)
-f(n)m(ull)g(argumen)m(t)h(remo)m(v)-5 b(al.)150 4864
-y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 5011 y Fu(After)30
-b(w)m(ord)f(splitting,)i(unless)d(the)i Ft(-f)f Fu(option)h(has)f(b)s
-(een)g(set)h(\(see)g(Section)h(4.3.1)g([The)e(Set)h(Builtin],)150
-5121 y(page)d(72\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
-m(haracters)g(`)p Ft(*)p Fu(',)h(`)p Ft(?)p Fu(',)g(and)e(`)p
-Ft([)p Fu('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150
-5230 y(app)s(ears,)44 b(and)d(is)h(not)g(quoted,)j(then)d(the)g(w)m
-(ord)f(is)h(regarded)g(as)g(a)g Fr(pattern)p Fu(,)j(and)c(replaced)h
-(with)150 5340 y(a)i(sorted)f(list)h(of)f(\014lenames)g(matc)m(hing)i
-(the)e(pattern)g(\(see)i(Section)f(3.5.8.1)h([P)m(attern)g(Matc)m
-(hing],)p eop end
-%%Page: 38 44
-TeXDict begin 38 43 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(38)150 299
-y(page)21 b(38\),)j(sub)5 b(ject)20 b(to)h(the)g(v)-5
-b(alue)21 b(of)g(the)f Ft(GLOBSORT)e Fu(shell)j(v)-5
-b(ariable)21 b(\(see)h(Section)f(5.2)g([Bash)g(V)-8 b(ariables],)150
-408 y(page)31 b(86\).)275 547 y(If)d(no)g(matc)m(hing)i(\014lenames)f
-(are)g(found,)f(and)g(the)h(shell)g(option)g Ft(nullglob)e
-Fu(is)h(disabled,)h(the)g(w)m(ord)150 656 y(is)38 b(left)g(unc)m
-(hanged.)62 b(If)37 b(the)g Ft(nullglob)e Fu(option)j(is)g(set,)i(and)d
-(no)g(matc)m(hes)i(are)f(found,)g(the)g(w)m(ord)f(is)150
-766 y(remo)m(v)m(ed.)j(If)23 b(the)h Ft(failglob)d Fu(shell)j(option)h
-(is)e(set,)j(and)e(no)f(matc)m(hes)i(are)f(found,)g(Bash)g(prin)m(ts)g
-(an)f(error)150 875 y(message)28 b(and)e(do)s(es)h(not)g(execute)h(the)
-f(command.)39 b(If)27 b(the)g(shell)g(option)g Ft(nocaseglob)d
-Fu(is)j(enabled,)h(the)150 985 y(matc)m(h)j(is)g(p)s(erformed)e
-(without)h(regard)g(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
-(haracters.)275 1123 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g
-(\014lename)h(expansion,)h(the)e(c)m(haracter)i(`)p Ft(.)p
-Fu(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 1233
-y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f(matc)
-m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g
-Ft(dotglob)150 1342 y Fu(is)41 b(set.)74 b(In)40 b(order)h(to)g(matc)m
-(h)h(the)g(\014lenames)f Ft(.)g Fu(and)f Ft(..)p Fu(,)k(the)d(pattern)g
-(m)m(ust)g(b)s(egin)g(with)g(`)p Ft(.)p Fu(')g(\(for)150
-1452 y(example,)h(`)p Ft(.?)p Fu('\),)f(ev)m(en)f(if)f
-Ft(dotglob)d Fu(is)j(set.)67 b(If)38 b(the)h Ft(globskipdots)d
-Fu(shell)j(option)g(is)g(enabled,)i(the)150 1561 y(\014lenames)30
-b Ft(.)f Fu(and)g Ft(..)h Fu(nev)m(er)g(matc)m(h,)h(ev)m(en)f(if)g(the)
-g(pattern)g(b)s(egins)f(with)g(a)i(`)p Ft(.)p Fu('.)40
-b(When)30 b(not)g(matc)m(hing)150 1671 y(\014lenames,)h(the)f(`)p
-Ft(.)p Fu(')h(c)m(haracter)h(is)e(not)h(treated)g(sp)s(ecially)-8
-b(.)275 1809 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f
-(c)m(haracter)j(m)m(ust)d(alw)m(a)m(ys)j(b)s(e)d(matc)m(hed)h
-(explicitly)i(b)m(y)e(a)150 1919 y(slash)d(in)f(the)h(pattern,)h(but)e
-(in)h(other)g(matc)m(hing)h(con)m(texts)h(it)e(can)g(b)s(e)g(matc)m
-(hed)g(b)m(y)g(a)g(sp)s(ecial)h(pattern)150 2028 y(c)m(haracter)j(as)f
-(describ)s(ed)e(b)s(elo)m(w)h(\(see)i(Section)f(3.5.8.1)i([P)m(attern)e
-(Matc)m(hing],)i(page)e(38\).)275 2166 y(See)d(the)g(description)g(of)g
-Ft(shopt)e Fu(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i(page)g
-(77,)g(for)f(a)g(descrip-)150 2276 y(tion)j(of)f(the)h
-Ft(nocaseglob)p Fu(,)d Ft(nullglob)p Fu(,)g Ft(globskipdots)p
-Fu(,)f Ft(failglob)p Fu(,)i(and)h Ft(dotglob)e Fu(options.)275
-2414 y(The)36 b Ft(GLOBIGNORE)d Fu(shell)k(v)-5 b(ariable)37
-b(ma)m(y)g(b)s(e)f(used)g(to)h(restrict)g(the)g(set)g(of)g(\014le)f
-(names)h(matc)m(hing)150 2523 y(a)42 b(pattern.)74 b(If)41
-b Ft(GLOBIGNORE)e Fu(is)i(set,)k(eac)m(h)e(matc)m(hing)f(\014le)g(name)
-f(that)h(also)h(matc)m(hes)f(one)g(of)g(the)150 2633
-y(patterns)34 b(in)g Ft(GLOBIGNORE)d Fu(is)k(remo)m(v)m(ed)g(from)f
-(the)g(list)h(of)f(matc)m(hes.)54 b(If)33 b(the)i Ft(nocaseglob)c
-Fu(option)k(is)150 2743 y(set,)c(the)e(matc)m(hing)i(against)g(the)f
-(patterns)f(in)h Ft(GLOBIGNORE)c Fu(is)k(p)s(erformed)e(without)i
-(regard)f(to)i(case.)150 2852 y(The)d(\014lenames)h Ft(.)g
-Fu(and)f Ft(..)h Fu(are)g(alw)m(a)m(ys)h(ignored)f(when)f
-Ft(GLOBIGNORE)f Fu(is)i(set)g(and)f(not)h(n)m(ull.)41
-b(Ho)m(w)m(ev)m(er,)150 2962 y(setting)30 b Ft(GLOBIGNORE)d
-Fu(to)j(a)f(non-n)m(ull)g(v)-5 b(alue)30 b(has)f(the)g(e\013ect)i(of)f
-(enabling)f(the)h Ft(dotglob)d Fu(shell)i(option,)150
-3071 y(so)j(all)h(other)f(\014lenames)g(b)s(eginning)f(with)h(a)g(`)p
-Ft(.)p Fu(')g(will)h(matc)m(h.)46 b(T)-8 b(o)32 b(get)h(the)f(old)g(b)s
-(eha)m(vior)g(of)h(ignoring)150 3181 y(\014lenames)c(b)s(eginning)f
-(with)h(a)h(`)p Ft(.)p Fu(',)f(mak)m(e)h(`)p Ft(.*)p
-Fu(')f(one)h(of)f(the)g(patterns)g(in)g Ft(GLOBIGNORE)p
-Fu(.)37 b(The)29 b Ft(dotglob)150 3291 y Fu(option)37
-b(is)f(disabled)h(when)e Ft(GLOBIGNORE)f Fu(is)i(unset.)59
-b(The)36 b Ft(GLOBIGNORE)d Fu(pattern)k(matc)m(hing)h(honors)150
-3400 y(the)31 b(setting)g(of)g(the)f Ft(extglob)f Fu(shell)h(option.)
-275 3538 y(After)c(the)h(pattern)g(is)f(expanded)g(and)g(matc)m(hed)h
-(against)h(\014lenames,)f(the)g(v)-5 b(alue)27 b(of)g(the)f
-Ft(GLOBSORT)150 3648 y Fu(shell)j(v)-5 b(ariable)30 b(con)m(trols)h(ho)
-m(w)e(the)h(results)f(are)g(sorted,)h(as)f(describ)s(ed)g(b)s(elo)m(w)g
-(\(see)h(Section)g(5.2)h([Bash)150 3757 y(V)-8 b(ariables],)32
-b(page)f(86\).)150 3960 y Fk(3.5.8.1)63 b(P)m(attern)40
-b(Matc)m(hing)150 4107 y Fu(An)m(y)24 b(c)m(haracter)h(that)f(app)s
-(ears)f(in)g(a)h(pattern,)i(other)e(than)f(the)h(sp)s(ecial)g(pattern)g
-(c)m(haracters)h(describ)s(ed)150 4217 y(b)s(elo)m(w,)31
-b(matc)m(hes)g(itself.)42 b(The)29 b Fm(nul)h Fu(c)m(haracter)i(ma)m(y)
-e(not)h(o)s(ccur)f(in)g(a)h(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s
-(es)150 4326 y(the)38 b(follo)m(wing)g(c)m(haracter;)43
-b(the)37 b(escaping)i(bac)m(kslash)e(is)h(discarded)f(when)f(matc)m
-(hing.)63 b(The)36 b(sp)s(ecial)150 4436 y(pattern)30
-b(c)m(haracters)i(m)m(ust)f(b)s(e)e(quoted)i(if)f(they)h(are)f(to)i(b)s
-(e)d(matc)m(hed)i(literally)-8 b(.)275 4574 y(The)29
-b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m(e)f(the)g(follo)m
-(wing)h(meanings:)150 4739 y Ft(*)432 b Fu(Matc)m(hes)31
-b(an)m(y)e(string,)h(including)f(the)g(n)m(ull)g(string.)41
-b(When)29 b(the)g Ft(globstar)e Fu(shell)i(option)630
-4848 y(is)37 b(enabled,)h(and)e(`)p Ft(*)p Fu(')h(is)g(used)f(in)g(a)h
-(\014lename)g(expansion)g(con)m(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p
-Ft(*)p Fu('s)630 4958 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
-m(h)i(all)f(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630
-5067 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
-Ft(/)p Fu(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Ft(*)p Fu('s)e(will)g
-(matc)m(h)h(only)f(directories)630 5177 y(and)k(sub)s(directories.)150
-5340 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)p
-eop end
-%%Page: 39 45
-TeXDict begin 39 44 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(39)150 299
-y Ft([...)o(])241 b Fu(Matc)m(hes)27 b(an)m(y)e(one)g(of)g(the)g
-(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)i
-(separated)e(b)m(y)g(a)630 408 y(h)m(yphen)k(denotes)i(a)g
-Fr(range)g(expression)p Fu(;)f(an)m(y)h(c)m(haracter)h(that)f(falls)g
-(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 518 y(c)m(haracters,)d
-(inclusiv)m(e,)f(using)d(the)h(curren)m(t)f(lo)s(cale's)j(collating)g
-(sequence)e(and)f(c)m(haracter)630 628 y(set,)38 b(matc)m(hes.)60
-b(If)35 b(the)i(\014rst)e(c)m(haracter)j(follo)m(wing)f(the)g(`)p
-Ft([)p Fu(')f(is)g(a)h(`)p Ft(!)p Fu(')f(or)g(a)g(`)p
-Ft(^)p Fu(')h(then)f(an)m(y)630 737 y(c)m(haracter)c(not)e(within)g
-(the)g(range)g(matc)m(hes.)42 b(T)-8 b(o)31 b(matc)m(h)g(a)f(`)p
-Fq(\000)p Fu(',)h(include)e(it)i(as)f(the)h(\014rst)630
-847 y(or)h(last)h(c)m(haracter)g(in)f(the)g(set.)46 b(T)-8
-b(o)32 b(matc)m(h)h(a)f(`)p Ft(])p Fu(',)h(include)f(it)g(as)g(the)h
-(\014rst)e(c)m(haracter)i(in)630 956 y(the)e(set.)630
-1094 y(The)21 b(sorting)h(order)e(of)i(c)m(haracters)h(in)e(range)h
-(expressions,)h(and)d(the)i(c)m(haracters)h(included)630
-1204 y(in)37 b(the)g(range,)j(are)d(determined)g(b)m(y)g(the)g(curren)m
-(t)g(lo)s(cale)i(and)d(the)i(v)-5 b(alues)37 b(of)g(the)h
-Ft(LC_)630 1314 y(COLLATE)28 b Fu(and)i Ft(LC_ALL)f Fu(shell)h(v)-5
-b(ariables,)32 b(if)e(set.)630 1452 y(F)-8 b(or)34 b(example,)g(in)f
-(the)g(default)g(C)f(lo)s(cale,)k(`)p Ft([a-dx-z])p Fu(')31
-b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p Ft([abcdxyz])p
-Fu('.)630 1561 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m(haracters)h(in)e
-(dictionary)i(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630
-1671 y(`)p Ft([a-dx-z])p Fu(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5
-b(alen)m(t)39 b(to)g(`)p Ft([abcdxyz])p Fu(';)g(it)g(migh)m(t)f(b)s(e)f
-(equiv)-5 b(alen)m(t)630 1780 y(to)34 b(`)p Ft([aBbCcDdxYyZz])p
-Fu(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h
-(in)m(terpretation)h(of)630 1890 y(ranges)e(in)f(brac)m(k)m(et)i
-(expressions,)g(y)m(ou)f(can)g(force)g(the)g(use)f(of)h(the)g(C)f(lo)s
-(cale)i(b)m(y)f(setting)630 2000 y(the)c Ft(LC_COLLATE)e
-Fu(or)i Ft(LC_ALL)f Fu(en)m(vironmen)m(t)i(v)-5 b(ariable)30
-b(to)g(the)f(v)-5 b(alue)30 b(`)p Ft(C)p Fu(',)g(or)f(enable)h(the)630
-2109 y Ft(globasciiranges)c Fu(shell)31 b(option.)630
-2247 y(Within)23 b(`)p Ft([)p Fu(')h(and)e(`)p Ft(])p
-Fu(',)j Fr(c)m(haracter)g(classes)j Fu(can)c(b)s(e)e(sp)s(eci\014ed)h
-(using)f(the)i(syn)m(tax)f Ft([:)p Fr(class)t Ft(:])p
-Fu(,)630 2357 y(where)30 b Fr(class)35 b Fu(is)30 b(one)h(of)f(the)h
-(follo)m(wing)h(classes)f(de\014ned)e(in)h(the)h Fm(posix)f
-Fu(standard:)870 2495 y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g
-(digit)g(graph)g(lower)870 2605 y(print)g(punct)g(space)f(upper)h(word)
-190 b(xdigit)630 2743 y Fu(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h
-(an)m(y)f(c)m(haracter)h(b)s(elonging)f(to)g(that)g(class.)75
-b(The)41 b Ft(word)630 2852 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h
-(letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p
-Ft(_)p Fu('.)630 2990 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p
-Ft(])p Fu(',)i(an)e Fr(equiv)-5 b(alence)26 b(class)j
-Fu(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
-Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 3100 y(whic)m(h)29
-b(matc)m(hes)i(all)f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w)
-m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 3209
-y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
-Fr(c)p Fu(.)630 3347 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p
-Ft(])p Fu(',)j(the)d(syn)m(tax)h Ft([.)p Fr(sym)m(b)s(ol)t
-Ft(.])e Fu(matc)m(hes)i(the)g(collating)i(sym)m(b)s(ol)d
-Fr(sym)m(b)s(ol)p Fu(.)275 3518 y(If)i(the)g Ft(extglob)f
-Fu(shell)h(option)h(is)g(enabled)f(using)g(the)h Ft(shopt)e
-Fu(builtin,)i(the)g(shell)f(recognizes)j(sev)m(eral)150
-3627 y(extended)i(pattern)f(matc)m(hing)i(op)s(erators.)40
-b(In)26 b(the)i(follo)m(wing)h(description,)g(a)e Fr(pattern-list)k
-Fu(is)d(a)g(list)g(of)150 3737 y(one)23 b(or)f(more)h(patterns)g
-(separated)g(b)m(y)f(a)h(`)p Ft(|)p Fu('.)38 b(When)22
-b(matc)m(hing)i(\014lenames,)g(the)f Ft(dotglob)e Fu(shell)h(option)150
-3846 y(determines)h(the)h(set)g(of)g(\014lenames)f(that)h(are)g
-(tested,)i(as)d(describ)s(ed)g(ab)s(o)m(v)m(e.)39 b(Comp)s(osite)24
-b(patterns)f(ma)m(y)150 3956 y(b)s(e)30 b(formed)g(using)f(one)i(or)f
-(more)h(of)g(the)f(follo)m(wing)i(sub-patterns:)150 4126
-y Ft(?\()p Fj(pattern-list)p Ft(\))630 4236 y Fu(Matc)m(hes)g(zero)f
-(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m(en)g(patterns.)150
-4402 y Ft(*\()p Fj(pattern-list)p Ft(\))630 4512 y Fu(Matc)m(hes)h
-(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)
-150 4678 y Ft(+\()p Fj(pattern-list)p Ft(\))630 4788
-y Fu(Matc)m(hes)h(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m
-(en)i(patterns.)150 4954 y Ft(@\()p Fj(pattern-list)p
-Ft(\))630 5064 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)
-150 5230 y Ft(!\()p Fj(pattern-list)p Ft(\))630 5340
-y Fu(Matc)m(hes)h(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)p eop end
-%%Page: 40 46
-TeXDict begin 40 45 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(40)275 299
-y(The)32 b Ft(extglob)f Fu(option)j(c)m(hanges)g(the)f(b)s(eha)m(vior)g
-(of)h(the)f(parser,)g(since)h(the)f(paren)m(theses)h(are)f(nor-)150
-408 y(mally)44 b(treated)g(as)f(op)s(erators)g(with)g(syn)m(tactic)i
-(meaning.)79 b(T)-8 b(o)44 b(ensure)e(that)i(extended)f(matc)m(hing)150
-518 y(patterns)30 b(are)g(parsed)f(correctly)-8 b(,)32
-b(mak)m(e)e(sure)g(that)g Ft(extglob)e Fu(is)h(enabled)h(b)s(efore)f
-(parsing)h(constructs)150 628 y(con)m(taining)i(the)e(patterns,)h
-(including)f(shell)h(functions)f(and)f(command)h(substitutions.)275
-778 y(When)c(matc)m(hing)i(\014lenames,)g(the)f Ft(dotglob)e
-Fu(shell)i(option)h(determines)f(the)g(set)g(of)g(\014lenames)g(that)
-150 887 y(are)34 b(tested:)47 b(when)33 b Ft(dotglob)e
-Fu(is)i(enabled,)i(the)e(set)h(of)g(\014lenames)f(includes)g(all)h
-(\014les)g(b)s(eginning)e(with)150 997 y(`)p Ft(.)p Fu(',)j(but)e(the)i
-(\014lenames)f Ft(.)f Fu(and)h Ft(..)f Fu(m)m(ust)h(b)s(e)f(matc)m(hed)
-i(b)m(y)e(a)i(pattern)f(or)g(sub-pattern)f(that)h(b)s(egins)150
-1106 y(with)g(a)h(dot;)h(when)e(it)g(is)h(disabled,)g(the)f(set)h(do)s
-(es)f(not)g(include)g(an)m(y)h(\014lenames)f(b)s(eginning)g(with)g(`)p
-Ft(.)p Fu(')150 1216 y(unless)j(the)h(pattern)g(or)g(sub-pattern)f(b)s
-(egins)g(with)h(a)g(`)p Ft(.)p Fu('.)64 b(If)37 b(the)h
-Ft(globskipdots)d Fu(shell)j(option)g(is)150 1325 y(enabled,)e(the)e
-(\014lenames)h Ft(.)f Fu(and)f Ft(..)h Fu(nev)m(er)h(app)s(ear)e(in)i
-(the)f(set.)53 b(As)35 b(ab)s(o)m(v)m(e,)h(`)p Ft(.)p
-Fu(')f(only)f(has)h(a)f(sp)s(ecial)150 1435 y(meaning)d(when)e(matc)m
-(hing)i(\014lenames.)275 1585 y(Complicated)41 b(extended)f(pattern)g
-(matc)m(hing)h(against)h(long)f(strings)f(is)g(slo)m(w,)k(esp)s
-(ecially)d(when)150 1695 y(the)29 b(patterns)g(con)m(tain)i
-(alternations)f(and)f(the)g(strings)g(con)m(tain)h(m)m(ultiple)g(matc)m
-(hes.)42 b(Using)29 b(separate)150 1804 y(matc)m(hes)38
-b(against)g(shorter)e(strings,)i(or)f(using)f(arra)m(ys)h(of)g(strings)
-f(instead)h(of)g(a)g(single)g(long)h(string,)150 1914
-y(ma)m(y)31 b(b)s(e)f(faster.)150 2128 y Fk(3.5.9)63
-b(Quote)41 b(Remo)m(v)-7 b(al)150 2275 y Fu(After)32
-b(the)g(preceding)g(expansions,)h(all)f(unquoted)f(o)s(ccurrences)h(of)
-g(the)h(c)m(haracters)g(`)p Ft(\\)p Fu(',)g(`)p Ft(')p
-Fu(',)f(and)g(`)p Ft(")p Fu(')150 2385 y(that)f(did)f(not)g(result)g
-(from)g(one)h(of)g(the)f(ab)s(o)m(v)m(e)i(expansions)e(are)h(remo)m(v)m
-(ed.)150 2649 y Fs(3.6)68 b(Redirections)150 2808 y Fu(Before)32
-b(a)f(command)f(is)h(executed,)h(its)f(input)e(and)h(output)h(ma)m(y)g
-(b)s(e)f Fr(redirected)k Fu(using)c(a)i(sp)s(ecial)f(no-)150
-2918 y(tation)d(in)m(terpreted)f(b)m(y)f(the)h(shell.)40
-b Fr(Redirection)27 b Fu(allo)m(ws)h(commands')f(\014le)f(handles)g(to)
-i(b)s(e)e(duplicated,)150 3027 y(op)s(ened,)i(closed,)i(made)e(to)h
-(refer)f(to)h(di\013eren)m(t)f(\014les,)h(and)f(can)g(c)m(hange)h(the)g
-(\014les)f(the)g(command)g(reads)150 3137 y(from)34 b(and)g(writes)h
-(to.)54 b(When)35 b(used)f(with)g(the)h Ft(exec)f Fu(builtin,)h
-(redirections)g(mo)s(dify)f(\014le)h(handles)f(in)150
-3246 y(the)f(curren)m(t)g(shell)g(execution)h(en)m(vironmen)m(t.)49
-b(The)33 b(follo)m(wing)h(redirection)g(op)s(erators)f(ma)m(y)h
-(precede)150 3356 y(or)29 b(app)s(ear)g(an)m(ywhere)g(within)g(a)h
-(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g(command.)40
-b(Redirections)31 b(are)150 3466 y(pro)s(cessed)f(in)g(the)g(order)g
-(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275
-3616 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b)
-m(y)h(a)h(\014le)f(descriptor)f(n)m(um)m(b)s(er)g(ma)m(y)h(instead)h(b)
-s(e)150 3725 y(preceded)41 b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f
-Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(.)74 b(In)41 b(this)g(case,)k
-(for)c(eac)m(h)i(redirection)f(op)s(erator)150 3835 y(except)37
-b Ft(>)p Fu(&-)e(and)g Ft(<)p Fu(&-,)i(the)f(shell)g(will)g(allo)s
-(cate)j(a)d(\014le)g(descriptor)f(greater)i(than)f(10)g(and)f(assign)h
-(it)150 3944 y(to)k Fi({)p Fr(v)-5 b(arname)5 b Fi(})p
-Fu(.)68 b(If)38 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})40
-b Fu(precedes)f Ft(>)p Fu(&-)g(or)g Ft(<)p Fu(&-,)i(the)e(v)-5
-b(alue)40 b(of)f Fr(v)-5 b(arname)44 b Fu(de\014nes)39
-b(the)g(\014le)150 4054 y(descriptor)34 b(to)g(close.)52
-b(If)34 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})34 b Fu(is)g(supplied,)g
-(the)g(redirection)g(p)s(ersists)f(b)s(ey)m(ond)g(the)h(scop)s(e)g(of)
-150 4163 y(the)i(command,)h(whic)m(h)e(allo)m(ws)i(the)f(shell)g
-(programmer)f(to)h(manage)h(the)e(\014le)h(descriptor's)g(lifetime)150
-4273 y(man)m(ually)d(without)g(using)g(the)g Ft(exec)e
-Fu(builtin.)48 b(The)32 b Ft(varredir_close)d Fu(shell)k(option)g
-(manages)h(this)150 4383 y(b)s(eha)m(vior)c(\(see)i(Section)f(4.3.2)h
-([The)e(Shopt)g(Builtin],)h(page)g(77\).)275 4533 y(In)c(the)i(follo)m
-(wing)h(descriptions,)g(if)e(the)h(\014le)g(descriptor)f(n)m(um)m(b)s
-(er)g(is)g(omitted,)i(and)f(the)f(\014rst)g(c)m(har-)150
-4642 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g(is)g(`)p
-Ft(<)p Fu(',)i(the)e(redirection)g(refers)g(to)g(the)g(standard)f
-(input)f(\(\014le)150 4752 y(descriptor)33 b(0\).)49
-b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f(redirection)g(op)s
-(erator)h(is)f(`)p Ft(>)p Fu(',)h(the)f(redirection)g(refers)150
-4861 y(to)e(the)g(standard)e(output)h(\(\014le)h(descriptor)f(1\).)275
-5011 y(The)h Fr(w)m(ord)k Fu(follo)m(wing)f(the)e(redirection)h(op)s
-(erator)f(in)g(the)g(follo)m(wing)h(descriptions,)g(unless)e(other-)150
-5121 y(wise)26 b(noted,)i(is)e(sub)5 b(jected)26 b(to)h(brace)f
-(expansion,)i(tilde)e(expansion,)i(parameter)e(and)g(v)-5
-b(ariable)27 b(expan-)150 5230 y(sion,)i(command)g(substitution,)g
-(arithmetic)h(expansion,)g(quote)f(remo)m(v)-5 b(al,)31
-b(\014lename)e(expansion,)h(and)150 5340 y(w)m(ord)g(splitting.)41
-b(If)30 b(it)h(expands)f(to)h(more)f(than)h(one)f(w)m(ord,)g(Bash)h
-(rep)s(orts)f(an)g(error.)p eop end
-%%Page: 41 47
-TeXDict begin 41 46 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(41)275 299
-y(The)29 b(order)h(of)h(redirections)g(is)f(signi\014can)m(t.)42
-b(F)-8 b(or)31 b(example,)g(the)g(command)390 435 y Ft(ls)47
-b(>)h Fj(dirlist)d Ft(2>&1)150 570 y Fu(directs)28 b(b)s(oth)f
-(standard)g(output)g(\(\014le)h(descriptor)f(1\))i(and)e(standard)f
-(error)i(\(\014le)g(descriptor)f(2\))h(to)h(the)150 680
-y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390
-816 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)150 951 y Fu(directs)28
-b(only)f(the)h(standard)e(output)i(to)g(\014le)f Fr(dirlist)p
-Fu(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)h(made)f(a)h(cop)m
-(y)150 1061 y(of)j(the)f(standard)g(output)g(b)s(efore)g(the)g
-(standard)g(output)g(w)m(as)g(redirected)h(to)g Fr(dirlist)p
-Fu(.)275 1197 y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s
-(ecially)h(when)f(they)g(are)g(used)g(in)g(redirections,)i(as)e
-(describ)s(ed)150 1306 y(in)38 b(the)h(follo)m(wing)h(table.)66
-b(If)38 b(the)h(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)h(is)f
-(running)f(pro)m(vides)h(these)150 1416 y(sp)s(ecial)26
-b(\014les,)g(Bash)f(will)h(use)e(them;)k(otherwise)d(it)h(will)f(em)m
-(ulate)i(them)e(in)m(ternally)h(with)f(the)g(b)s(eha)m(vior)150
-1526 y(describ)s(ed)k(b)s(elo)m(w.)150 1687 y Ft(/dev/fd/)p
-Fj(fd)630 1796 y Fu(If)h Fr(fd)j Fu(is)d(a)h(v)-5 b(alid)31
-b(in)m(teger,)h(duplicate)f(\014le)f(descriptor)h Fr(fd)p
-Fu(.)150 1957 y Ft(/dev/stdin)630 2067 y Fu(File)h(descriptor)e(0)h(is)
-f(duplicated.)150 2227 y Ft(/dev/stdout)630 2337 y Fu(File)i
-(descriptor)e(1)h(is)f(duplicated.)150 2498 y Ft(/dev/stderr)630
-2607 y Fu(File)i(descriptor)e(2)h(is)f(duplicated.)150
-2768 y Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 2877
-y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In)
-m(ternet)h(address,)i(and)c Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s
-(ort)630 2987 y(n)m(um)m(b)s(er)23 b(or)i(service)h(name,)g(Bash)f
-(attempts)h(to)f(op)s(en)f(the)h(corresp)s(onding)f(TCP)g(so)s(c)m(k)m
-(et.)150 3148 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630
-3257 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41
-b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c Fr(p)s(ort)j
-Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 3367 y(n)m(um)m(b)s(er)23
-b(or)h(service)h(name,)h(Bash)e(attempts)h(to)g(op)s(en)f(the)g
-(corresp)s(onding)f(UDP)i(so)s(c)m(k)m(et.)275 3528 y(A)30
-b(failure)h(to)g(op)s(en)e(or)i(create)h(a)e(\014le)h(causes)g(the)f
-(redirection)h(to)g(fail.)275 3664 y(Redirections)f(using)e(\014le)i
-(descriptors)f(greater)h(than)f(9)h(should)e(b)s(e)h(used)f(with)h
-(care,)h(as)g(they)f(ma)m(y)150 3773 y(con\015ict)i(with)f(\014le)h
-(descriptors)f(the)g(shell)h(uses)f(in)m(ternally)-8
-b(.)150 3974 y Fk(3.6.1)63 b(Redirecting)40 b(Input)150
-4121 y Fu(Redirecting)28 b(input)e(op)s(ens)h(the)g(\014le)g(whose)g
-(name)g(results)g(from)g(the)g(expansion)g(of)h Fr(w)m(ord)i
-Fu(for)d(reading)150 4230 y(on)j(\014le)h(descriptor)f
-Ft(n)p Fu(,)g(or)h(the)f(standard)g(input)f(\(\014le)i(descriptor)f
-(0\))h(if)g Ft(n)f Fu(is)g(not)h(sp)s(eci\014ed.)275
-4366 y(The)e(general)j(format)e(for)h(redirecting)g(input)e(is:)390
-4502 y Ft([)p Fj(n)p Ft(]<)p Fj(word)150 4702 y Fk(3.6.2)63
-b(Redirecting)40 b(Output)150 4849 y Fu(Redirecting)25
-b(output)e(op)s(ens)g(the)i(\014le)f(whose)f(name)h(results)g(from)f
-(the)h(expansion)g(of)g Fr(w)m(ord)j Fu(for)d(writing)150
-4959 y(on)j(\014le)h(descriptor)f Fr(n)p Fu(,)h(or)f(the)h(standard)e
-(output)i(\(\014le)f(descriptor)h(1\))g(if)f Fr(n)g Fu(is)h(not)f(sp)s
-(eci\014ed.)39 b(If)27 b(the)h(\014le)150 5068 y(do)s(es)i(not)h(exist)
-g(it)g(is)f(created;)i(if)e(it)h(do)s(es)f(exist)h(it)g(is)g(truncated)
-f(to)h(zero)g(size.)275 5204 y(The)e(general)j(format)e(for)h
-(redirecting)g(output)f(is:)390 5340 y Ft([)p Fj(n)p
-Ft(]>[|])p Fj(word)p eop end
-%%Page: 42 48
-TeXDict begin 42 47 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(42)275 299
-y(If)30 b(the)h(redirection)g(op)s(erator)g(is)g(`)p
-Ft(>)p Fu(',)g(and)f(the)h Ft(noclobber)d Fu(option)j(to)g(the)g
-Ft(set)f Fu(builtin)g(has)h(b)s(een)150 408 y(enabled,)h(the)g
-(redirection)h(will)f(fail)h(if)e(the)i(\014le)e(whose)h(name)g
-(results)g(from)f(the)h(expansion)g(of)g Fr(w)m(ord)150
-518 y Fu(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
-b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p
-Ft(>|)p Fu(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-628 y(`)p Ft(>)p Fu(')i(and)f(the)g Ft(noclobber)f Fu(option)i(is)f
-(not)h(enabled,)g(Bash)g(attemps)g(the)g(redirection)g(ev)m(en)h(if)e
-(the)h(\014le)150 737 y(named)d(b)m(y)g Fr(w)m(ord)k
-Fu(exists.)150 934 y Fk(3.6.3)63 b(App)s(ending)42 b(Redirected)e
-(Output)150 1081 y Fu(Redirecting)31 b(output)f(in)g(this)g(fashion)f
-(op)s(ens)h(the)g(\014le)g(whose)g(name)g(results)g(from)g(the)g
-(expansion)g(of)150 1191 y Fr(w)m(ord)g Fu(for)c(app)s(ending)f(on)i
-(\014le)f(descriptor)h Fr(n)p Fu(,)g(or)f(the)h(standard)f(output)g
-(\(\014le)h(descriptor)f(1\))i(if)e Fr(n)g Fu(is)h(not)150
-1300 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h
-(exist)g(it)g(is)f(created.)275 1433 y(The)f(general)j(format)e(for)h
-(app)s(ending)e(output)h(is:)390 1567 y Ft([)p Fj(n)p
-Ft(]>>)p Fj(word)150 1763 y Fk(3.6.4)63 b(Redirecting)40
-b(Standard)h(Output)g(and)g(Standard)g(Error)150 1910
-y Fu(This)26 b(construct)h(redirects)g(b)s(oth)e(the)i(standard)f
-(output)g(\(\014le)h(descriptor)g(1\))g(and)f(the)h(standard)e(error)
-150 2020 y(output)30 b(\(\014le)h(descriptor)f(2\))h(to)g(the)g(\014le)
-f(whose)g(name)h(is)f(the)h(expansion)f(of)h Fr(w)m(ord)p
-Fu(.)275 2153 y(There)e(are)i(t)m(w)m(o)h(formats)e(for)h(redirecting)g
-(standard)e(output)h(and)g(standard)f(error:)390 2286
-y Ft(&>)p Fj(word)150 2420 y Fu(and)390 2553 y Ft(>&)p
-Fj(word)150 2686 y Fu(Of)h(the)g(t)m(w)m(o)i(forms,)e(the)h(\014rst)e
-(is)i(preferred.)39 b(This)30 b(is)g(seman)m(tically)j(equiv)-5
-b(alen)m(t)32 b(to)390 2819 y Ft(>)p Fj(word)46 b Ft(2>&1)275
-2953 y Fu(When)41 b(using)g(the)h(second)f(form,)k Fr(w)m(ord)f
-Fu(ma)m(y)e(not)g(expand)f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p
-Ft(-)p Fu('.)75 b(If)41 b(it)h(do)s(es,)150 3062 y(other)27
-b(redirection)g(op)s(erators)f(apply)h(\(see)g(Duplicating)h(File)f
-(Descriptors)h(b)s(elo)m(w\))f(for)f(compatibilit)m(y)150
-3172 y(reasons.)150 3369 y Fk(3.6.5)63 b(App)s(ending)42
-b(Standard)f(Output)g(and)g(Standard)g(Error)150 3516
-y Fu(This)27 b(construct)h(app)s(ends)d(b)s(oth)i(the)h(standard)f
-(output)g(\(\014le)h(descriptor)g(1\))g(and)f(the)h(standard)e(error)
-150 3625 y(output)k(\(\014le)h(descriptor)f(2\))h(to)g(the)g(\014le)f
-(whose)g(name)h(is)f(the)h(expansion)f(of)h Fr(w)m(ord)p
-Fu(.)275 3758 y(The)e(format)i(for)f(app)s(ending)f(standard)h(output)g
-(and)f(standard)h(error)g(is:)390 3892 y Ft(&>>)p Fj(word)150
-4025 y Fu(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
-b(to)390 4158 y Ft(>>)p Fj(word)46 b Ft(2>&1)275 4291
-y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)150
-4488 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 4635
-y Fu(This)36 b(t)m(yp)s(e)h(of)f(redirection)h(instructs)g(the)f(shell)
-h(to)h(read)e(input)g(from)g(the)g(curren)m(t)h(source)g(un)m(til)f(it)
-150 4745 y(reads)h(a)h(line)g(con)m(taining)g(only)g
-Fr(delimiter)45 b Fu(\(with)37 b(no)g(trailing)i(blanks\).)61
-b(All)38 b(of)g(the)f(lines)h(read)f(up)150 4854 y(to)g(that)g(p)s(oin)
-m(t)f(then)g(b)s(ecome)h(the)g(standard)e(input)h(\(or)g(\014le)h
-(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)g(sp)s(eci\014ed\))g(for)h(a)
-150 4964 y(command.)275 5097 y(The)29 b(format)i(of)g(here-do)s(cumen)m
-(ts)f(is:)390 5230 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p
-Ft(])p Fj(word)772 5340 y(here-document)p eop end
-%%Page: 43 49
-TeXDict begin 43 48 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(43)390 299
-y Fj(delimiter)275 432 y Fu(The)35 b(shell)h(do)s(es)f(not)h(p)s
-(erform)e(parameter)j(and)e(v)-5 b(ariable)36 b(expansion,)h(command)f
-(substitution,)150 542 y(arithmetic)c(expansion,)e(or)g(\014lename)h
-(expansion)f(on)h Fr(w)m(ord)p Fu(.)275 675 y(If)f(an)m(y)g(part)h(of)g
-Fr(w)m(ord)i Fu(is)e(quoted,)g(the)g Fr(delimiter)37
-b Fu(is)31 b(the)g(result)f(of)h(quote)g(remo)m(v)-5
-b(al)32 b(on)e Fr(w)m(ord)p Fu(,)h(and)150 785 y(the)36
-b(lines)f(in)h(the)f(here-do)s(cumen)m(t)h(are)g(not)g(expanded.)55
-b(If)35 b Fr(w)m(ord)k Fu(is)c(unquoted,)h Fr(delimiter)43
-b Fu(is)36 b Fr(w)m(ord)150 894 y Fu(itself,)h(and)d(the)h(here-do)s
-(cumen)m(t)f(text)i(is)f(treated)g(similarly)h(to)f(a)g(double-quoted)g
-(string:)49 b(all)36 b(lines)150 1004 y(of)i(the)g(here-do)s(cumen)m(t)
-g(are)g(sub)5 b(jected)38 b(to)h(parameter)f(expansion,)i(command)e
-(substitution,)i(and)150 1113 y(arithmetic)h(expansion,)i(the)d(c)m
-(haracter)i(sequence)e Ft(\\newline)e Fu(is)i(treated)h(literally)-8
-b(,)45 b(and)40 b(`)p Ft(\\)p Fu(')g(m)m(ust)150 1223
-y(b)s(e)31 b(used)g(to)i(quote)g(the)f(c)m(haracters)h(`)p
-Ft(\\)p Fu(',)g(`)p Ft($)p Fu(',)f(and)g(`)p Ft(`)p Fu(';)h(ho)m(w)m
-(ev)m(er,)h(double)d(quote)i(c)m(haracters)g(ha)m(v)m(e)g(no)150
-1333 y(sp)s(ecial)e(meaning.)275 1466 y(If)j(the)i(redirection)g(op)s
-(erator)g(is)f(`)p Ft(<<-)p Fu(',)i(the)f(shell)f(strips)g(leading)h
-(tab)g(c)m(haracters)h(are)e(stripp)s(ed)150 1575 y(from)28
-b(input)f(lines)i(and)f(the)h(line)f(con)m(taining)i
-Fr(delimiter)p Fu(.)41 b(This)28 b(allo)m(ws)i(here-do)s(cumen)m(ts)e
-(within)g(shell)150 1685 y(scripts)i(to)h(b)s(e)f(inden)m(ted)g(in)g(a)
-h(natural)f(fashion.)275 1818 y(If)25 b(the)h(delimiter)h(is)f(not)g
-(quoted,)i(the)e Ft(\\<newline>)d Fu(sequence)k(is)f(treated)h(as)f(a)g
-(line)h(con)m(tin)m(uation:)150 1928 y(the)j(t)m(w)m(o)h(lines)f(are)g
-(joined)g(and)f(the)h(bac)m(kslash-newline)h(is)f(remo)m(v)m(ed.)41
-b(This)29 b(happ)s(ens)f(while)i(reading)150 2037 y(the)j(here-do)s
-(cumen)m(t,)g(b)s(efore)f(the)h(c)m(hec)m(k)h(for)f(the)f(ending)h
-(delimiter,)h(so)f(joined)f(lines)h(can)g(form)f(the)150
-2147 y(end)e(delimiter.)150 2344 y Fk(3.6.7)63 b(Here)41
-b(Strings)150 2491 y Fu(A)30 b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s
-(cumen)m(ts,)f(the)g(format)h(is:)390 2624 y Ft([)p Fj(n)p
-Ft(]<<<)46 b Fj(word)275 2757 y Fu(The)29 b Fr(w)m(ord)k
-Fu(undergo)s(es)c(tilde)i(expansion,)f(parameter)h(and)e(v)-5
-b(ariable)31 b(expansion,)f(command)g(sub-)150 2867 y(stitution,)f
-(arithmetic)f(expansion,)g(and)f(quote)h(remo)m(v)-5
-b(al.)41 b(Filename)29 b(expansion)e(and)f(w)m(ord)h(splitting)150
-2976 y(are)35 b(not)g(p)s(erformed.)51 b(The)34 b(result)h(is)g
-(supplied)e(as)i(a)f(single)i(string,)f(with)g(a)g(newline)f(app)s
-(ended,)g(to)150 3086 y(the)d(command)f(on)g(its)h(standard)e(input)h
-(\(or)g(\014le)h(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)h(sp)s
-(eci\014ed\).)150 3283 y Fk(3.6.8)63 b(Duplicating)41
-b(File)g(Descriptors)150 3430 y Fu(The)30 b(redirection)h(op)s(erator)
-390 3563 y Ft([)p Fj(n)p Ft(]<&)p Fj(word)150 3696 y
-Fu(is)44 b(used)f(to)i(duplicate)f(input)f(\014le)h(descriptors.)81
-b(If)44 b Fr(w)m(ord)j Fu(expands)c(to)i(one)f(or)g(more)g(digits,)k
-(\014le)150 3806 y(descriptor)39 b Fr(n)g Fu(is)g(made)g(to)h(b)s(e)f
-(a)g(cop)m(y)h(of)g(that)f(\014le)h(descriptor.)67 b(It)39
-b(is)g(a)h(redirection)g(error)f(if)g(the)150 3915 y(digits)34
-b(in)e Fr(w)m(ord)37 b Fu(do)c(not)g(sp)s(ecify)g(a)g(\014le)g
-(descriptor)g(op)s(en)g(for)f(input.)48 b(If)33 b Fr(w)m(ord)j
-Fu(ev)-5 b(aluates)35 b(to)f(`)p Ft(-)p Fu(',)g(\014le)150
-4025 y(descriptor)c Fr(n)g Fu(is)g(closed.)42 b(If)30
-b Fr(n)g Fu(is)g(not)h(sp)s(eci\014ed,)f(this)g(uses)g(the)g(standard)g
-(input)f(\(\014le)i(descriptor)f(0\).)275 4158 y(The)f(op)s(erator)390
-4291 y Ft([)p Fj(n)p Ft(]>&)p Fj(word)150 4425 y Fu(is)40
-b(used)g(similarly)h(to)f(duplicate)h(output)f(\014le)g(descriptors.)70
-b(If)40 b Fr(n)g Fu(is)g(not)h(sp)s(eci\014ed,)h(this)e(uses)g(the)150
-4534 y(standard)e(output)g(\(\014le)h(descriptor)f(1\).)66
-b(It)38 b(is)h(a)f(redirection)h(error)g(if)f(the)h(digits)g(in)f
-Fr(w)m(ord)j Fu(do)e(not)150 4644 y(sp)s(ecify)28 b(a)i(\014le)e
-(descriptor)h(op)s(en)f(for)h(output.)40 b(If)28 b Fr(w)m(ord)k
-Fu(ev)-5 b(aluates)30 b(to)g(`)p Ft(-)p Fu(',)f(\014le)g(descriptor)g
-Fr(n)f Fu(is)h(closed.)150 4753 y(As)34 b(a)g(sp)s(ecial)h(case,)h(if)e
-Fr(n)f Fu(is)h(omitted,)i(and)e Fr(w)m(ord)j Fu(do)s(es)d(not)g(expand)
-f(to)i(one)f(or)g(more)g(digits)h(or)f(`)p Ft(-)p Fu(',)150
-4863 y(this)c(redirects)h(the)g(standard)e(output)h(and)g(standard)f
-(error)h(as)h(describ)s(ed)e(previously)-8 b(.)150 5060
-y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
-5207 y Fu(The)30 b(redirection)h(op)s(erator)390 5340
-y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)p eop end
-%%Page: 44 50
-TeXDict begin 44 49 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(44)150 299
-y(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fr(digit)k
-Fu(to)d(\014le)g(descriptor)g Fr(n)p Fu(,)f(or)h(the)g(standard)f
-(input)f(\(\014le)j(descriptor)e(0\))150 408 y(if)f Fr(n)g
-Fu(is)h(not)f(sp)s(eci\014ed.)40 b Fr(digit)33 b Fu(is)e(closed)g
-(after)g(b)s(eing)f(duplicated)g(to)h Fr(n)p Fu(.)275
-562 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s(erator)390
-715 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p Ft(-)150 868
-y Fu(mo)m(v)m(es)e(the)g(\014le)f(descriptor)f Fr(digit)k
-Fu(to)e(\014le)f(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard)f
-(output)h(\(\014le)g(descriptor)g(1\))150 978 y(if)i
-Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150 1196 y Fk(3.6.10)63
-b(Op)s(ening)42 b(File)g(Descriptors)g(for)g(Reading)e(and)h(W)-10
-b(riting)150 1343 y Fu(The)30 b(redirection)h(op)s(erator)390
-1496 y Ft([)p Fj(n)p Ft(]<>)p Fj(word)150 1649 y Fu(op)s(ens)37
-b(the)h(\014le)g(whose)f(name)h(is)g(the)g(expansion)g(of)g
-Fr(w)m(ord)j Fu(for)c(b)s(oth)g(reading)h(and)f(writing)h(on)g(\014le)
-150 1758 y(descriptor)i Fr(n)p Fu(,)i(or)f(on)f(\014le)g(descriptor)g
-(0)h(if)f Fr(n)f Fu(is)i(not)f(sp)s(eci\014ed.)70 b(If)39
-b(the)i(\014le)f(do)s(es)g(not)g(exist,)k(it)d(is)150
-1868 y(created.)150 2137 y Fs(3.7)68 b(Executing)46 b(Commands)150
-2361 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150
-2508 y Fu(When)34 b(the)g(shell)h(executes)g(a)g(simple)f(command,)h
-(it)g(p)s(erforms)d(the)j(follo)m(wing)g(expansions,)g(assign-)150
-2618 y(men)m(ts,)c(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t,)g
-(in)f(the)h(follo)m(wing)h(order.)199 2771 y(1.)61 b(The)38
-b(w)m(ords)f(that)i(the)g(parser)e(has)h(mark)m(ed)g(as)h(v)-5
-b(ariable)39 b(assignmen)m(ts)g(\(those)g(preceding)f(the)330
-2880 y(command)30 b(name\))h(and)f(redirections)h(are)f(sa)m(v)m(ed)i
-(for)e(later)h(pro)s(cessing.)199 3024 y(2.)61 b(The)39
-b(w)m(ords)g(that)i(are)f(not)g(v)-5 b(ariable)40 b(assignmen)m(ts)h
-(or)e(redirections)i(are)f(expanded)f(\(see)h(Sec-)330
-3134 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g(24\).)61
-b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h(the)e
-(\014rst)330 3243 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f(the)g
-(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g(are)g
-(the)h(argu-)330 3353 y(men)m(ts.)199 3497 y(3.)61 b(Redirections)25
-b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g
-(Section)g(3.6)g([Redirections],)i(page)d(40\).)199 3641
-y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Ft(=)p Fu(')h(in)e(eac)m(h)
-j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es)e(tilde)i
-(expansion,)g(parameter)330 3750 y(expansion,)49 b(command)d
-(substitution,)j(arithmetic)d(expansion,)k(and)45 b(quote)h(remo)m(v)-5
-b(al)46 b(b)s(efore)330 3860 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5
-b(ariable.)275 4047 y(If)32 b(no)i(command)f(name)g(results,)h(the)g(v)
--5 b(ariable)34 b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)
-h(en)m(viron-)150 4157 y(men)m(t.)68 b(In)38 b(the)h(case)i(of)e(suc)m
-(h)g(a)g(command)g(\(one)h(that)g(consists)g(only)f(of)g(assignmen)m(t)
-h(statemen)m(ts)150 4266 y(and)27 b(redirections\),)i(assignmen)m(t)g
-(statemen)m(ts)g(are)f(p)s(erformed)e(b)s(efore)h(redirections.)41
-b(Otherwise,)28 b(the)150 4376 y(v)-5 b(ariables)27 b(are)g(added)e(to)
-i(the)g(en)m(vironmen)m(t)g(of)f(the)h(executed)g(command)f(and)g(do)g
-(not)h(a\013ect)h(the)e(cur-)150 4486 y(ren)m(t)32 b(shell)f(en)m
-(vironmen)m(t.)44 b(If)31 b(an)m(y)g(of)h(the)f(assignmen)m(ts)h
-(attempts)g(to)g(assign)g(a)f(v)-5 b(alue)32 b(to)g(a)g(readonly)150
-4595 y(v)-5 b(ariable,)31 b(an)g(error)f(o)s(ccurs,)g(and)g(the)g
-(command)g(exits)i(with)e(a)g(non-zero)h(status.)275
-4748 y(If)i(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s
-(erformed,)f(but)g(do)h(not)f(a\013ect)i(the)f(curren)m(t)150
-4858 y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f
-(causes)h(the)g(command)f(to)h(exit)g(with)f(a)h(non-zero)g(status.)275
-5011 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g
-(expansion,)g(execution)h(pro)s(ceeds)e(as)g(describ)s(ed)f(b)s(elo)m
-(w.)150 5121 y(Otherwise,)39 b(the)e(command)g(exits.)62
-b(If)37 b(one)g(of)g(the)h(expansions)f(con)m(tained)h(a)g(command)f
-(substitu-)150 5230 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command)
-f(is)h(the)f(exit)h(status)g(of)f(the)h(last)g(command)f(substitution)
-150 5340 y(p)s(erformed.)i(If)27 b(there)h(w)m(ere)g(no)f(command)g
-(substitutions,)h(the)g(command)f(exits)h(with)f(a)h(zero)g(status.)p
-eop end
-%%Page: 45 51
-TeXDict begin 45 50 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(45)150 299
-y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150
-446 y Fu(After)i(a)h(command)f(has)g(b)s(een)f(split)h(in)m(to)h(w)m
-(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g(and)f(an)150
-555 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g(shell)f(p)s
-(erforms)f(the)i(follo)m(wing)g(actions.)199 697 y(1.)61
-b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e(slashes,)i(the)e
-(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39 b(If)24 b(there)g(exists)
-330 807 y(a)h(shell)g(function)f(b)m(y)g(that)h(name,)h(that)f
-(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g(in)g(Section)h
-(3.3)h([Shell)330 916 y(F)-8 b(unctions],)31 b(page)h(19.)199
-1054 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e
-(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h
-(of)g(shell)330 1164 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g
-(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)199 1302 y(3.)61
-b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h(function)f(nor)g(a)g
-(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i(Bash)330
-1411 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g Ft($PATH)d
-Fu(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h(\014le)f(b)m
-(y)g(that)330 1521 y(name.)56 b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)
-f(remem)m(b)s(er)f(the)h(full)f(pathnames)g(of)h(executable)h(\014les)e
-(to)330 1631 y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f
-Fu(searc)m(hes)i(\(see)f(the)g(description)g(of)f Ft(hash)g
-Fu(in)g(Section)i(4.1)f([Bourne)g(Shell)330 1740 y(Builtins],)h(page)f
-(51\).)46 b(Bash)31 b(p)s(erforms)f(a)i(full)g(searc)m(h)g(of)g(the)f
-(directories)i(in)e Ft($PATH)f Fu(only)i(if)g(the)330
-1850 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f(table.)39
-b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g(shell)g(searc)m
-(hes)330 1959 y(for)e(a)h(de\014ned)e(shell)h(function)h(named)e
-Ft(command_not_found_handle)p Fu(.)32 b(If)23 b(that)h(function)f
-(exists,)330 2069 y(it)33 b(is)f(in)m(v)m(ok)m(ed)i(in)e(a)h(separate)h
-(execution)f(en)m(vironmen)m(t)g(with)f(the)h(original)h(command)e(and)
-g(the)330 2178 y(original)26 b(command's)e(argumen)m(ts)h(as)g(its)g
-(argumen)m(ts,)h(and)e(the)h(function's)f(exit)i(status)f(b)s(ecomes)
-330 2288 y(the)j(exit)g(status)g(of)f(that)h(subshell.)39
-b(If)27 b(that)h(function)f(is)h(not)g(de\014ned,)f(the)g(shell)h(prin)
-m(ts)f(an)g(error)330 2398 y(message)k(and)f(returns)f(an)i(exit)g
-(status)g(of)f(127.)199 2536 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g
-(successful,)g(or)f(if)g(the)h(command)f(name)g(con)m(tains)i(one)f(or)
-f(more)g(slashes,)i(the)330 2645 y(shell)g(executes)h(the)f(named)f
-(program)g(in)h(a)g(separate)h(execution)f(en)m(vironmen)m(t.)55
-b(Argumen)m(t)35 b(0)330 2755 y(is)30 b(set)h(to)h(the)e(name)h(giv)m
-(en,)g(and)f(the)h(remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)
-h(set)g(to)g(the)330 2864 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 3002 y(5.)61 b(If)31 b(this)f(execution)j(fails)e(b)s(ecause)g
-(the)g(\014le)g(is)g(not)h(in)e(executable)j(format,)f(and)e(the)h
-(\014le)g(is)g(not)h(a)330 3112 y(directory)-8 b(,)33
-b(it)g(is)e(assumed)g(to)i(b)s(e)e(a)h Fr(shell)g(script)p
-Fu(,)g(a)h(\014le)e(con)m(taining)j(shell)e(commands,)g(and)f(the)330
-3222 y(shell)g(executes)g(it)g(as)g(describ)s(ed)e(in)h(Section)h(3.8)h
-([Shell)e(Scripts],)g(page)i(49.)199 3360 y(6.)61 b(If)38
-b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)m(hronously)-8
-b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f(to)330
-3469 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-3675 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
-3822 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t)
-p Fu(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225
-3964 y Fq(\017)60 b Fu(Op)s(en)29 b(\014les)i(inherited)f(b)m(y)g(the)h
-(shell)g(at)g(in)m(v)m(o)s(cation,)i(as)e(mo)s(di\014ed)e(b)m(y)i
-(redirections)g(supplied)e(to)330 4074 y(the)i Ft(exec)e
-Fu(builtin.)225 4212 y Fq(\017)60 b Fu(The)33 b(curren)m(t)g(w)m
-(orking)h(directory)g(as)f(set)h(b)m(y)g Ft(cd)p Fu(,)g
-Ft(pushd)p Fu(,)f(or)g Ft(popd)p Fu(,)g(or)h(inherited)f(b)m(y)g(the)h
-(shell)330 4321 y(at)d(in)m(v)m(o)s(cation.)225 4459
-y Fq(\017)60 b Fu(The)30 b(\014le)g(creation)i(mo)s(de)e(mask)g(as)h
-(set)g(b)m(y)f Ft(umask)f Fu(or)h(inherited)h(from)e(the)i(shell's)g
-(paren)m(t.)225 4597 y Fq(\017)60 b Fu(Curren)m(t)29
-b(traps)h(set)h(b)m(y)g Ft(trap)p Fu(.)225 4735 y Fq(\017)60
-b Fu(Shell)28 b(parameters)h(that)g(are)g(set)g(b)m(y)f(v)-5
-b(ariable)29 b(assignmen)m(t)g(or)g(with)f Ft(set)f Fu(or)i(inherited)f
-(from)g(the)330 4845 y(shell's)j(paren)m(t)f(in)g(the)h(en)m(vironmen)m
-(t.)225 4983 y Fq(\017)60 b Fu(Shell)42 b(functions)g(de\014ned)f
-(during)h(execution)h(or)g(inherited)f(from)g(the)g(shell's)h(paren)m
-(t)g(in)f(the)330 5092 y(en)m(vironmen)m(t.)225 5230
-y Fq(\017)60 b Fu(Options)30 b(enabled)h(at)g(in)m(v)m(o)s(cation)i
-(\(either)f(b)m(y)e(default)h(or)g(with)f(command-line)i(argumen)m
-(ts\))f(or)330 5340 y(b)m(y)f Ft(set)p Fu(.)p eop end
-%%Page: 46 52
-TeXDict begin 46 51 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(46)225 299
-y Fq(\017)60 b Fu(Options)30 b(enabled)g(b)m(y)h Ft(shopt)d
-Fu(\(see)k(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77\).)
-225 434 y Fq(\017)60 b Fu(Shell)30 b(aliases)i(de\014ned)d(with)h
-Ft(alias)f Fu(\(see)j(Section)f(6.6)g([Aliases],)h(page)g(108\).)225
-570 y Fq(\017)60 b Fu(V)-8 b(arious)49 b(pro)s(cess)f
-Fm(id)p Fu(s,)53 b(including)47 b(those)i(of)f(bac)m(kground)g(jobs)g
-(\(see)h(Section)g(3.2.4)h([Lists],)330 679 y(page)31
-b(11\),)h(the)f(v)-5 b(alue)30 b(of)h Ft($$)p Fu(,)f(and)g(the)g(v)-5
-b(alue)31 b(of)g Ft($PPID)p Fu(.)275 841 y(When)j(a)g(simple)h(command)
-f(other)g(than)g(a)h(builtin)f(or)g(shell)h(function)f(is)g(to)h(b)s(e)
-f(executed,)i(it)f(is)150 951 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
-(separate)h(execution)g(en)m(vironmen)m(t)g(that)f(consists)g(of)h(the)
-f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 1060 y(noted,)31
-b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-1197 y Fq(\017)60 b Fu(The)28 b(shell's)h(op)s(en)f(\014les,)h(plus)f
-(an)m(y)g(mo)s(di\014cations)h(and)f(additions)h(sp)s(eci\014ed)f(b)m
-(y)g(redirections)h(to)330 1306 y(the)i(command.)225
-1442 y Fq(\017)60 b Fu(The)30 b(curren)m(t)g(w)m(orking)h(directory)-8
-b(.)225 1577 y Fq(\017)60 b Fu(The)30 b(\014le)g(creation)i(mo)s(de)e
-(mask.)225 1712 y Fq(\017)60 b Fu(Shell)31 b(v)-5 b(ariables)31
-b(and)f(functions)h(mark)m(ed)f(for)h(exp)s(ort,)g(along)h(with)e(v)-5
-b(ariables)32 b(exp)s(orted)e(for)h(the)330 1822 y(command,)f(passed)g
-(in)g(the)h(en)m(vironmen)m(t)g(\(see)g(Section)g(3.7.4)i([En)m
-(vironmen)m(t],)e(page)g(46\).)225 1957 y Fq(\017)60
-b Fu(T)-8 b(raps)29 b(caugh)m(t)i(b)m(y)e(the)h(shell)g(are)g(reset)g
-(to)g(the)g(v)-5 b(alues)30 b(inherited)f(from)h(the)f(shell's)h(paren)
-m(t,)h(and)330 2067 y(traps)f(ignored)h(b)m(y)f(the)g(shell)h(are)g
-(ignored.)275 2229 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h
-(separate)g(en)m(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g
-(execution)150 2338 y(en)m(vironmen)m(t.)275 2475 y(A)30
-b Fr(subshell)j Fu(is)d(a)h(cop)m(y)g(of)g(the)f(shell)h(pro)s(cess.)
-275 2611 y(Command)k(substitution,)j(commands)e(group)s(ed)f(with)i
-(paren)m(theses,)h(and)e(async)m(hronous)g(com-)150 2720
-y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i(subshell)e(en)m(vironmen)m
-(t)h(that)h(is)f(a)g(duplicate)h(of)f(the)g(shell)g(en)m(vironmen)m(t,)
-150 2830 y(except)i(that)g(traps)f(caugh)m(t)h(b)m(y)f(the)h(shell)f
-(are)g(reset)h(to)g(the)f(v)-5 b(alues)35 b(that)g(the)f(shell)h
-(inherited)e(from)150 2940 y(its)43 b(paren)m(t)f(at)h(in)m(v)m(o)s
-(cation.)78 b(Builtin)43 b(commands)f(that)h(are)f(in)m(v)m(ok)m(ed)i
-(as)e(part)g(of)h(a)f(pip)s(eline,)j(ex-)150 3049 y(cept)32
-b(p)s(ossibly)e(in)h(the)h(last)g(elemen)m(t)h(dep)s(ending)c(on)j(the)
-f(v)-5 b(alue)32 b(of)f(the)h Ft(lastpipe)d Fu(shell)i(option)h(\(see)
-150 3159 y(Section)37 b(4.3.2)i([The)d(Shopt)g(Builtin],)j(page)e
-(77\),)j(are)d(also)h(executed)f(in)f(a)h(subshell)f(en)m(vironmen)m
-(t.)150 3268 y(Changes)27 b(made)g(to)h(the)g(subshell)e(en)m(vironmen)
-m(t)i(cannot)g(a\013ect)h(the)e(shell's)h(execution)g(en)m(vironmen)m
-(t.)275 3405 y(When)i(the)h(shell)g(is)g(in)f Fm(posix)h
-Fu(mo)s(de,)f(subshells)g(spa)m(wned)g(to)i(execute)g(command)e
-(substitutions)150 3514 y(inherit)35 b(the)g(v)-5 b(alue)35
-b(of)h(the)f Ft(-e)f Fu(option)h(from)g(the)g(paren)m(t)g(shell.)55
-b(When)35 b(not)g(in)g Fm(posix)f Fu(mo)s(de,)i(Bash)150
-3624 y(clears)41 b(the)f Ft(-e)f Fu(option)h(in)g(suc)m(h)f(subshells)g
-(See)h(the)g(description)g(of)g(the)g Ft(inherit_errexit)c
-Fu(shell)150 3733 y(option)30 b(\(see)h(Section)g(4.2)g([Bash)f
-(Builtins],)h(page)g(60\))g(for)f(ho)m(w)g(to)g(con)m(trol)i(this)e(b)s
-(eha)m(vior)g(when)f(not)150 3843 y(in)h Fm(posix)g Fu(mo)s(de.)275
-3979 y(If)23 b(a)h(command)g(is)g(follo)m(w)m(ed)h(b)m(y)f(a)g(`)p
-Ft(&)p Fu(')g(and)f(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)k(the)c
-(default)g(standard)f(input)150 4089 y(for)35 b(the)g(command)g(is)g
-(the)g(empt)m(y)h(\014le)f Ft(/dev/null)p Fu(.)52 b(Otherwise,)37
-b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 4198
-y(the)c(\014le)f(descriptors)g(of)h(the)f(calling)i(shell)f(as)f(mo)s
-(di\014ed)g(b)m(y)g(redirections.)150 4399 y Fk(3.7.4)63
-b(En)m(vironmen)m(t)150 4546 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m
-(ok)m(ed)h(it)g(is)f(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)g(called)h
-(the)f Fr(en)m(vironmen)m(t)p Fu(.)41 b(This)28 b(is)h(a)150
-4656 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
-Ft(name=value)p Fu(.)275 4792 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)
-m(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69
-b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 4902
-y(scans)g(its)h(o)m(wn)f(en)m(vironmen)m(t)h(and)f(creates)i(a)f
-(parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150
-5011 y(marking)23 b(it)h(for)f Ft(export)f Fu(to)i(c)m(hild)g(pro)s
-(cesses.)38 b(Executed)24 b(commands)f(inherit)g(the)g(en)m(vironmen)m
-(t.)39 b(The)150 5121 y Ft(export)p Fu(,)21 b(`)p Ft(declare)29
-b(-x)p Fu(',)22 b(and)e Ft(unset)g Fu(commands)g(mo)s(dify)g(the)h(en)m
-(vironmen)m(t)g(b)m(y)g(adding)f(and)g(deleting)150 5230
-y(parameters)43 b(and)f(functions.)78 b(If)42 b(the)h(v)-5
-b(alue)43 b(of)g(a)g(parameter)g(in)g(the)g(en)m(vironmen)m(t)g(is)g
-(mo)s(di\014ed,)150 5340 y(the)h(new)f(v)-5 b(alue)45
-b(automatically)h(b)s(ecomes)f(part)e(of)h(the)g(en)m(vironmen)m(t,)k
-(replacing)d(the)f(old.)81 b(The)p eop end
-%%Page: 47 53
-TeXDict begin 47 52 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(47)150 299
-y(en)m(vironmen)m(t)27 b(inherited)g(b)m(y)g(an)m(y)g(executed)g
-(command)g(consists)g(of)g(the)g(shell's)g(initial)h(en)m(vironmen)m
-(t,)150 408 y(whose)c(v)-5 b(alues)25 b(ma)m(y)h(b)s(e)e(mo)s(di\014ed)
-f(in)i(the)f(shell,)j(less)e(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)e
-(the)h Ft(unset)e Fu(and)h(`)p Ft(export)150 518 y(-n)p
-Fu(')30 b(commands,)g(plus)g(an)m(y)g(additions)h(via)g(the)f
-Ft(export)f Fu(and)h(`)p Ft(declare)e(-x)p Fu(')i(commands.)275
-674 y(If)f(an)m(y)h(parameter)h(assignmen)m(t)f(statemen)m(ts,)i(as)e
-(describ)s(ed)f(in)h(Section)g(3.4)h([Shell)f(P)m(arameters],)150
-784 y(page)j(22,)h(app)s(ear)d(b)s(efore)h(a)g(simple)h(command,)f(the)
-h(v)-5 b(ariable)33 b(assignmen)m(ts)f(are)h(part)f(of)g(that)h(com-)
-150 893 y(mand's)26 b(en)m(vironmen)m(t)h(for)g(as)g(long)h(as)f(it)g
-(executes.)41 b(These)26 b(assignmen)m(t)i(statemen)m(ts)g(a\013ect)h
-(only)e(the)150 1003 y(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h
-(command.)40 b(If)27 b(these)h(assignmen)m(ts)g(precede)g(a)g(call)h
-(to)f(a)g(shell)g(function,)150 1112 y(the)j(v)-5 b(ariables)31
-b(are)f(lo)s(cal)i(to)f(the)g(function)f(and)g(exp)s(orted)g(to)h(that)
-g(function's)f(c)m(hildren.)275 1268 y(If)g(the)h Ft(-k)g
-Fu(option)g(is)g(set)h(\(see)g(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)h(page)g(72\),)h(then)e(all)g(parameter)150
-1378 y(assignmen)m(ts)f(are)g(placed)h(in)e(the)h(en)m(vironmen)m(t)g
-(for)g(a)g(command,)f(not)h(just)f(those)i(that)f(precede)g(the)150
-1487 y(command)g(name.)275 1643 y(When)h(Bash)h(in)m(v)m(ok)m(es)i(an)e
-(external)h(command,)f(the)g(v)-5 b(ariable)33 b(`)p
-Ft($_)p Fu(')f(is)g(set)h(to)f(the)g(full)g(pathname)150
-1753 y(of)f(the)f(command)g(and)g(passed)g(to)h(that)g(command)f(in)g
-(its)h(en)m(vironmen)m(t.)150 1973 y Fk(3.7.5)63 b(Exit)40
-b(Status)150 2120 y Fu(The)23 b(exit)i(status)f(of)h(an)e(executed)i
-(command)f(is)g(the)g(v)-5 b(alue)24 b(returned)f(b)m(y)h(the)g
-Ft(waitpid)e Fu(system)i(call)h(or)150 2230 y(equiv)-5
-b(alen)m(t)33 b(function.)45 b(Exit)32 b(statuses)g(fall)g(b)s(et)m(w)m
-(een)h(0)f(and)f(255,)i(though,)f(as)g(explained)g(b)s(elo)m(w,)h(the)
-150 2340 y(shell)i(ma)m(y)g(use)f(v)-5 b(alues)35 b(ab)s(o)m(v)m(e)g
-(125)h(sp)s(ecially)-8 b(.)54 b(Exit)35 b(statuses)g(from)f(shell)h
-(builtins)f(and)f(comp)s(ound)150 2449 y(commands)j(are)g(also)h
-(limited)g(to)g(this)f(range.)58 b(Under)36 b(certain)h(circumstances,)
-h(the)e(shell)h(will)f(use)150 2559 y(sp)s(ecial)31 b(v)-5
-b(alues)31 b(to)g(indicate)g(sp)s(eci\014c)f(failure)h(mo)s(des.)275
-2715 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s(oses,)e(a)j(command)e
-(whic)m(h)h(exits)g(with)g(a)g(zero)g(exit)h(status)f(has)f(succeeded.)
-150 2824 y(So)38 b(while)f(an)h(exit)h(status)f(of)g(zero)g(indicates)h
-(success,)h(a)e(non-zero)g(exit)h(status)f(indicates)g(failure.)150
-2934 y(This)27 b(seemingly)i(coun)m(ter-in)m(tuitiv)m(e)i(sc)m(heme)e
-(is)f(used)f(so)h(there)h(is)f(one)g(w)m(ell-de\014ned)g(w)m(a)m(y)h
-(to)g(indicate)150 3043 y(success)i(and)e(a)i(v)-5 b(ariet)m(y)32
-b(of)e(w)m(a)m(ys)i(to)f(indicate)g(v)-5 b(arious)31
-b(failure)f(mo)s(des.)275 3199 y(When)g(a)h(command)g(terminates)g(on)g
-(a)g(fatal)h(signal)f(whose)g(n)m(um)m(b)s(er)e(is)i
-Fr(N)p Fu(,)g(Bash)g(uses)g(the)f(v)-5 b(alue)150 3309
-y(128)p Ft(+)p Fr(N)41 b Fu(as)31 b(the)g(exit)g(status.)275
-3465 y(If)k(a)h(command)g(is)g(not)g(found,)g(the)g(c)m(hild)h(pro)s
-(cess)e(created)i(to)g(execute)g(it)g(returns)d(a)j(status)f(of)150
-3574 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)f(but)h(is)g(not)h
-(executable,)h(the)f(return)e(status)i(is)f(126.)275
-3730 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
-(during)g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150
-3840 y(is)c(greater)i(than)e(zero.)275 3996 y(The)38
-b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h
-(commands)e(\(see)h(Section)h(3.2.5.2)h([Con-)150 4105
-y(ditional)i(Constructs],)h(page)f(12\))g(and)e(some)i(of)f(the)g(list)
-g(constructs)g(\(see)h(Section)f(3.2.4)i([Lists],)150
-4215 y(page)31 b(11\).)275 4371 y(All)40 b(of)g(the)h(Bash)f(builtins)f
-(return)g(an)h(exit)h(status)g(of)f(zero)h(if)f(they)g(succeed)g(and)g
-(a)g(non-zero)150 4480 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
-(y)g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h
-(constructs.)50 b(All)35 b(builtins)150 4590 y(return)e(an)i(exit)g
-(status)g(of)f(2)h(to)g(indicate)h(incorrect)f(usage,)h(generally)g(in)
-m(v)-5 b(alid)35 b(options)g(or)f(missing)150 4699 y(argumen)m(ts.)275
-4855 y(The)f(exit)i(status)f(of)h(the)f(last)h(command)f(is)g(a)m(v)-5
-b(ailable)36 b(in)e(the)g(sp)s(ecial)h(parameter)f($?)52
-b(\(see)35 b(Sec-)150 4965 y(tion)c(3.4.2)h([Sp)s(ecial)f(P)m
-(arameters],)h(page)f(23\).)275 5121 y(Bash)h(itself)i(returns)e(the)h
-(exit)g(status)g(of)g(the)g(last)h(command)e(executed,)j(unless)d(a)h
-(syn)m(tax)g(error)150 5230 y(o)s(ccurs,)38 b(in)f(whic)m(h)f(case)i
-(it)f(exits)g(with)g(a)g(non-zero)g(v)-5 b(alue.)60 b(See)37
-b(also)h(the)e Ft(exit)g Fu(builtin)g(command)150 5340
-y(\(see)31 b(Section)h(4.1)f([Bourne)f(Shell)h(Builtins],)g(page)g(51.)
-p eop end
-%%Page: 48 54
-TeXDict begin 48 53 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(48)150 299
-y Fk(3.7.6)63 b(Signals)150 446 y Fu(When)29 b(Bash)h(is)f(in)m
-(teractiv)m(e,)k(in)c(the)h(absence)g(of)g(an)m(y)f(traps,)h(it)g
-(ignores)g Ft(SIGTERM)d Fu(\(so)j(that)h(`)p Ft(kill)e(0)p
-Fu(')150 555 y(do)s(es)d(not)g(kill)h(an)f(in)m(teractiv)m(e)j
-(shell\),)f(and)e(catc)m(hes)i(and)d(handles)h Ft(SIGINT)e
-Fu(\(so)j(that)g(the)f Ft(wait)f Fu(builtin)150 665 y(is)35
-b(in)m(terruptible\).)56 b(When)36 b(Bash)f(receiv)m(es)i(a)f
-Ft(SIGINT)p Fu(,)f(it)h(breaks)f(out)h(of)g(an)m(y)f(executing)i(lo)s
-(ops.)56 b(In)150 775 y(all)39 b(cases,)i(Bash)e(ignores)g
-Ft(SIGQUIT)p Fu(.)62 b(If)38 b(job)g(con)m(trol)h(is)g(in)e(e\013ect)j
-(\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)150 884 y(page)31
-b(123\),)h(Bash)f(ignores)g Ft(SIGTTIN)p Fu(,)d Ft(SIGTTOU)p
-Fu(,)h(and)h Ft(SIGTSTP)p Fu(.)275 1026 y(The)25 b Ft(trap)g
-Fu(builtin)h(mo)s(di\014es)g(the)g(shell's)h(signal)g(handling,)f(as)h
-(describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(4.1)150
-1136 y([Bourne)j(Shell)h(Builtins],)g(page)g(51.)275
-1278 y(Non-builtin)38 b(commands)f(Bash)h(executes)i(ha)m(v)m(e)f
-(signal)f(handlers)f(set)i(to)g(the)f(v)-5 b(alues)38
-b(inherited)150 1387 y(b)m(y)c(the)h(shell)f(from)g(its)h(paren)m(t,)h
-(unless)d Ft(trap)g Fu(sets)i(them)f(to)h(b)s(e)f(ignored,)i(in)e(whic)
-m(h)g(case)h(the)g(c)m(hild)150 1497 y(pro)s(cess)26
-b(will)g(ignore)h(them)f(as)g(w)m(ell.)40 b(When)26 b(job)g(con)m(trol)
-i(is)e(not)g(in)g(e\013ect,)j(async)m(hronous)c(commands)150
-1606 y(ignore)36 b Ft(SIGINT)e Fu(and)h Ft(SIGQUIT)e
-Fu(in)j(addition)f(to)i(these)f(inherited)f(handlers.)55
-b(Commands)35 b(run)f(as)i(a)150 1716 y(result)27 b(of)h(command)f
-(substitution)h(ignore)g(the)g(k)m(eyb)s(oard-generated)g(job)g(con)m
-(trol)h(signals)f Ft(SIGTTIN)p Fu(,)150 1826 y Ft(SIGTTOU)p
-Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 1968 y(The)h(shell)i(exits)g(b)m(y)f
-(default)g(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42
-b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150
-2077 y(resends)i(the)h Ft(SIGHUP)e Fu(to)i(all)h(jobs,)g(running)d(or)i
-(stopp)s(ed.)59 b(The)36 b(shell)h(sends)f Ft(SIGCONT)e
-Fu(to)k(stopp)s(ed)150 2187 y(jobs)g(to)h(ensure)e(that)i(they)g
-(receiv)m(e)h(the)f Ft(SIGHUP)d Fu(\(See)j(Chapter)f(7)h([Job)f(Con)m
-(trol],)j(page)e(123,)j(for)150 2296 y(more)31 b(information)g(ab)s
-(out)g(running)e(and)h(stopp)s(ed)g(jobs\).)43 b(T)-8
-b(o)31 b(prev)m(en)m(t)h(the)f(shell)g(from)f(sending)h(the)150
-2406 y Ft(SIGHUP)36 b Fu(signal)i(to)g(a)f(particular)h(job,)h(remo)m
-(v)m(e)g(it)f(from)f(the)g(jobs)g(table)h(with)f(the)h
-Ft(disown)d Fu(builtin)150 2516 y(\(see)i(Section)g(7.2)f([Job)g(Con)m
-(trol)h(Builtins],)h(page)e(124\))i(or)e(mark)f(it)i(not)f(to)h(receiv)
-m(e)g Ft(SIGHUP)d Fu(using)150 2625 y Ft(disown)29 b(-h)p
-Fu(.)275 2767 y(If)36 b(the)h Ft(huponexit)d Fu(shell)j(option)g(has)g
-(b)s(een)f(set)h(using)g Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)g([The)f
-(Shopt)150 2877 y(Builtin],)31 b(page)g(77\),)h(Bash)f(sends)e(a)i
-Ft(SIGHUP)e Fu(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
-e(shell)g(exits.)275 3019 y(If)d(Bash)h(is)g(w)m(aiting)h(for)e(a)i
-(command)e(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)g(for)g(whic)
-m(h)f(a)i(trap)e(has)150 3128 y(b)s(een)k(set,)h(it)g(will)g(not)f
-(execute)i(the)f(trap)f(un)m(til)g(the)h(command)f(completes.)48
-b(If)32 b(Bash)g(is)h(w)m(aiting)g(for)150 3238 y(an)i(async)m(hronous)
-g(command)g(via)h(the)g Ft(wait)e Fu(builtin,)i(and)f(it)h(receiv)m(es)
-h(a)e(signal)h(for)f(whic)m(h)g(a)h(trap)150 3347 y(has)27
-b(b)s(een)g(set,)h(the)g Ft(wait)e Fu(builtin)h(will)g(return)f
-(immediately)j(with)e(an)g(exit)h(status)g(greater)g(than)f(128,)150
-3457 y(immediately)32 b(after)f(whic)m(h)f(the)g(shell)h(executes)g
-(the)g(trap.)275 3599 y(When)41 b(job)g(con)m(trol)h(is)g(not)f
-(enabled,)k(and)40 b(Bash)i(is)f(w)m(aiting)i(for)e(a)h(foreground)e
-(command)h(to)150 3709 y(complete,)35 b(the)e(shell)h(receiv)m(es)g(k)m
-(eyb)s(oard-generated)g(signals)g(suc)m(h)e(as)i Ft(SIGINT)d
-Fu(\(usually)i(generated)150 3818 y(b)m(y)e(`)p Ft(^C)p
-Fu('\))h(that)g(users)e(commonly)i(in)m(tend)g(to)g(send)e(to)j(that)f
-(command.)43 b(This)31 b(happ)s(ens)e(b)s(ecause)j(the)150
-3928 y(shell)23 b(and)g(the)h(command)f(are)g(in)g(the)h(same)f(pro)s
-(cess)g(group)g(as)h(the)f(terminal,)i(and)e(`)p Ft(^C)p
-Fu(')g(sends)g Ft(SIGINT)150 4037 y Fu(to)36 b(all)g(pro)s(cesses)f(in)
-g(that)h(pro)s(cess)e(group.)55 b(Since)35 b(Bash)g(do)s(es)g(not)h
-(enable)f(job)g(con)m(trol)i(b)m(y)e(default)150 4147
-y(when)29 b(the)i(shell)g(is)f(not)h(in)m(teractiv)m(e,)i(this)d
-(scenario)i(is)e(most)h(common)f(in)g(non-in)m(teractiv)m(e)j(shells.)
-275 4289 y(When)23 b(job)g(con)m(trol)j(is)d(enabled,)j(and)d(Bash)h
-(is)g(w)m(aiting)h(for)e(a)h(foreground)f(command)h(to)g(complete,)150
-4399 y(the)30 b(shell)f(do)s(es)g(not)h(receiv)m(e)h(k)m(eyb)s
-(oard-generated)f(signals,)h(b)s(ecause)e(it)h(is)f(not)h(in)f(the)h
-(same)f(pro)s(cess)150 4508 y(group)40 b(as)h(the)g(terminal.)73
-b(This)40 b(scenario)i(is)e(most)i(common)f(in)f(in)m(teractiv)m(e)k
-(shells,)f(where)e(Bash)150 4618 y(attempts)e(to)g(enable)f(job)g(con)m
-(trol)i(b)m(y)e(default.)64 b(See)38 b(Chapter)g(7)g([Job)g(Con)m
-(trol],)j(page)e(123,)j(for)c(a)150 4727 y(more)31 b(in-depth)e
-(discussion)h(of)g(pro)s(cess)g(groups.)275 4869 y(When)21
-b(job)h(con)m(trol)h(is)f(not)h(enabled,)h(and)d(Bash)h(receiv)m(es)i
-Ft(SIGINT)c Fu(while)i(w)m(aiting)i(for)d(a)i(foreground)150
-4979 y(command,)28 b(it)h(w)m(aits)g(un)m(til)f(that)h(foreground)e
-(command)g(terminates)i(and)f(then)f(decides)i(what)e(to)i(do)150
-5088 y(ab)s(out)h(the)h Ft(SIGINT)p Fu(:)199 5230 y(1.)61
-b(If)37 b(the)i(command)e(terminates)i(due)e(to)i(the)f
-Ft(SIGINT)p Fu(,)g(Bash)g(concludes)g(that)h(the)f(user)f(mean)m(t)330
-5340 y(to)i(send)e(the)h Ft(SIGINT)e Fu(to)i(the)g(shell)g(as)g(w)m
-(ell,)j(and)d(acts)g(on)g(the)g Ft(SIGINT)e Fu(\(e.g.,)42
-b(b)m(y)37 b(running)g(a)p eop end
-%%Page: 49 55
-TeXDict begin 49 54 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(49)330 299
-y Ft(SIGINT)26 b Fu(trap,)i(exiting)g(a)g(non-in)m(teractiv)m(e)i
-(shell,)e(or)f(returning)g(to)h(the)f(top)h(lev)m(el)h(to)f(read)f(a)g
-(new)330 408 y(command\).)199 547 y(2.)61 b(If)33 b(the)h(command)g(do)
-s(es)f(not)h(terminate)h(due)e(to)i Ft(SIGINT)p Fu(,)e(the)h(program)g
-(handled)f(the)h Ft(SIGINT)330 657 y Fu(itself)h(and)e(did)h(not)g
-(treat)h(it)g(as)f(a)g(fatal)i(signal.)52 b(In)33 b(that)i(case,)h
-(Bash)e(do)s(es)g(not)g(treat)i Ft(SIGINT)330 766 y Fu(as)41
-b(a)g(fatal)g(signal,)j(either,)g(instead)d(assuming)f(that)h(the)g
-Ft(SIGINT)d Fu(w)m(as)j(used)f(as)h(part)f(of)h(the)330
-876 y(program's)32 b(normal)g(op)s(eration)h(\(e.g.,)h
-Ft(emacs)d Fu(uses)g(it)i(to)g(ab)s(ort)f(editing)h(commands\))f(or)g
-(delib-)330 985 y(erately)41 b(discarded.)69 b(Ho)m(w)m(ev)m(er,)45
-b(Bash)40 b(will)h(run)d(an)m(y)j(trap)e(set)i(on)f Ft(SIGINT)p
-Fu(,)h(as)f(it)h(do)s(es)e(with)330 1095 y(an)m(y)31
-b(other)f(trapp)s(ed)f(signal)i(it)g(receiv)m(es)h(while)e(it)h(is)f(w)
-m(aiting)h(for)f(the)h(foreground)e(command)h(to)330
-1205 y(complete,)i(for)e(compatibilit)m(y)-8 b(.)275
-1376 y(When)31 b(job)h(con)m(trol)h(is)g(enabled,)f(Bash)g(do)s(es)g
-(not)g(receiv)m(e)i(k)m(eyb)s(oard-generated)f(signals)g(suc)m(h)f(as)
-150 1486 y Ft(SIGINT)j Fu(while)j(it)f(is)h(w)m(aiting)g(for)f(a)h
-(foreground)e(command.)61 b(An)37 b(in)m(teractiv)m(e)j(shell)d(do)s
-(es)g(not)h(pa)m(y)150 1595 y(atten)m(tion)44 b(to)f(the)f
-Ft(SIGINT)p Fu(,)h(ev)m(en)g(if)f(the)g(foreground)f(command)h
-(terminates)h(as)f(a)h(result,)i(other)150 1705 y(than)39
-b(noting)g(its)g(exit)h(status.)67 b(If)39 b(the)g(shell)g(is)g(not)g
-(in)m(teractiv)m(e,)44 b(and)39 b(the)g(foreground)f(command)150
-1814 y(terminates)23 b(due)f(to)h(the)g Ft(SIGINT)p Fu(,)g(Bash)f
-(pretends)g(it)h(receiv)m(ed)h(the)e Ft(SIGINT)f Fu(itself)j
-(\(scenario)f(1)g(ab)s(o)m(v)m(e\),)150 1924 y(for)30
-b(compatibilit)m(y)-8 b(.)150 2177 y Fs(3.8)68 b(Shell)45
-b(Scripts)150 2336 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le)
-f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h
-(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2446 y(non-option)c
-(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f(neither)g(the)g
-Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f(\(see)150
-2555 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(99\),)i
-(Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i(\014le,)150
-2665 y(then)29 b(exits.)42 b(This)28 b(mo)s(de)i(of)f(op)s(eration)i
-(creates)g(a)f(non-in)m(teractiv)m(e)i(shell.)41 b(If)29
-b(the)h(\014lename)f(do)s(es)h(not)150 2775 y(con)m(tain)g(an)m(y)e
-(slashes,)h(the)g(shell)f(\014rst)g(searc)m(hes)h(for)f(the)h(\014le)f
-(in)g(the)h(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)150
-2884 y(the)i(directories)g(in)f Ft($PATH)f Fu(if)h(not)h(found)e
-(there.)275 3027 y(Bash)34 b(tries)g(to)g(determine)g(whether)g(the)g
-(\014le)f(is)h(a)h(text)f(\014le)g(or)g(a)g(binary)-8
-b(,)35 b(and)e(will)h(not)h(execute)150 3136 y(\014les)30
-b(it)h(determines)g(to)g(b)s(e)e(binaries.)275 3279 y(When)34
-b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f(sp)s(ecial)i
-(parameter)f Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g(\014le,)150
-3389 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j(and)d(the)h(p)s
-(ositional)g(parameters)f(are)h(set)g(to)g(the)g(remain-)150
-3498 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m(en.)67
-b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h(the)f(p)s
-(ositional)150 3608 y(parameters)31 b(are)f(unset.)275
-3750 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
-(y)e(using)g(the)h Ft(chmod)e Fu(command)h(to)h(turn)e(on)i(the)150
-3860 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
-(\014le)f(while)g(searc)m(hing)h(the)f Ft($PATH)f Fu(for)h(a)h
-(command,)h(it)150 3970 y(creates)32 b(a)f(new)e(instance)i(of)g
-(itself)g(to)g(execute)h(it.)41 b(In)30 b(other)h(w)m(ords,)f
-(executing)390 4112 y Ft(filename)46 b Fj(arguments)150
-4255 y Fu(is)30 b(equiv)-5 b(alen)m(t)32 b(to)f(executing)390
-4397 y Ft(bash)47 b(filename)e Fj(arguments)150 4540
-y Fu(if)30 b Ft(filename)d Fu(is)j(an)f(executable)j(shell)e(script.)40
-b(This)29 b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e
-(e\013ect)150 4649 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)
-g(in)m(v)m(ok)m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h
-(exception)h(that)f(the)150 4759 y(lo)s(cations)25 b(of)g(commands)e
-(remem)m(b)s(ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f
-(description)g(of)g Ft(hash)f Fu(in)h(Section)h(4.1)150
-4869 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(51\))h(are)e(retained)h
-(b)m(y)f(the)h(c)m(hild.)275 5011 y(The)25 b Fm(gnu)h
-Fu(op)s(erating)g(system,)h(and)f(most)g(v)m(ersions)g(of)g(Unix,)h
-(mak)m(e)g(this)f(a)g(part)g(of)g(the)g(op)s(erating)150
-5121 y(system's)36 b(command)g(execution)h(mec)m(hanism.)58
-b(If)35 b(the)h(\014rst)f(line)h(of)g(a)h(script)f(b)s(egins)f(with)g
-(the)i(t)m(w)m(o)150 5230 y(c)m(haracters)46 b(`)p Ft(#!)p
-Fu(',)i(the)c(remainder)g(of)g(the)h(line)g(sp)s(eci\014es)f(an)g(in)m
-(terpreter)h(for)f(the)g(program)g(and,)150 5340 y(dep)s(ending)34
-b(on)h(the)h(op)s(erating)f(system,)i(one)f(or)f(more)h(optional)h
-(argumen)m(ts)e(for)g(that)h(in)m(terpreter.)p eop end
-%%Page: 50 56
-TeXDict begin 50 55 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(50)150 299
-y(Th)m(us,)32 b(y)m(ou)h(can)g(sp)s(ecify)f(Bash,)h Ft(awk)p
-Fu(,)g(P)m(erl,)g(or)g(some)g(other)f(in)m(terpreter)h(and)f(write)h
-(the)f(rest)h(of)g(the)150 408 y(script)d(\014le)h(in)f(that)h
-(language.)275 543 y(The)k(argumen)m(ts)h(to)h(the)f(in)m(terpreter)h
-(consist)f(of)h(one)f(or)g(more)g(optional)h(argumen)m(ts)f(follo)m
-(wing)150 653 y(the)e(in)m(terpreter)g(name)g(on)g(the)g(\014rst)g
-(line)g(of)g(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)e(the)g
-(name)g(of)g(the)g(script)150 762 y(\014le,)k(follo)m(w)m(ed)g(b)m(y)e
-(the)g(rest)g(of)g(the)h(argumen)m(ts)f(supplied)f(to)i(the)f(script.)
-58 b(The)35 b(details)i(of)g(ho)m(w)f(the)150 872 y(in)m(terpreter)26
-b(line)g(is)g(split)g(in)m(to)h(an)f(in)m(terpreter)g(name)g(and)f(a)h
-(set)h(of)e(argumen)m(ts)i(v)-5 b(ary)25 b(across)i(systems.)150
-981 y(Bash)j(will)f(p)s(erform)g(this)g(action)i(on)e(op)s(erating)h
-(systems)g(that)g(do)f(not)h(handle)f(it)h(themselv)m(es.)42
-b(Note)150 1091 y(that)e(some)g(older)g(v)m(ersions)g(of)g(Unix)f
-(limit)i(the)f(in)m(terpreter)g(name)g(and)f(a)h(single)g(argumen)m(t)g
-(to)h(a)150 1200 y(maxim)m(um)21 b(of)g(32)h(c)m(haracters,)j(so)c
-(it's)h(not)g(p)s(ortable)f(to)h(assume)e(that)i(using)f(more)g(than)g
-(one)g(argumen)m(t)150 1310 y(will)31 b(w)m(ork.)275
-1445 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g Ft(#!)e(/bin/bash)g
-Fu(\(assuming)i(that)h(Bash)f(has)g(b)s(een)f(installed)i(in)150
-1554 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f
-(will)h(b)s(e)f(used)f(to)i(in)m(terpret)f(the)h(script,)g(ev)m(en)g
-(if)f(it)h(is)f(executed)150 1664 y(under)h(another)h(shell.)41
-b(It's)28 b(a)h(common)g(idiom)f(to)h(use)f Ft(env)g
-Fu(to)h(\014nd)e Ft(bash)g Fu(ev)m(en)i(if)f(it's)i(b)s(een)d
-(installed)150 1773 y(in)h(another)g(directory:)40 b
-Ft(#!/usr/bin/env)27 b(bash)f Fu(will)j(\014nd)d(the)j(\014rst)e(o)s
-(ccurrence)h(of)g Ft(bash)f Fu(in)h Ft($PATH)p Fu(.)p
-eop end
-%%Page: 51 57
-TeXDict begin 51 56 bop 3659 -116 a Fu(51)150 299 y Fp(4)80
-b(Shell)53 b(Builtin)f(Commands)150 545 y Fu(Builtin)34
-b(commands)f(are)h(con)m(tained)g(within)f(the)h(shell)g(itself.)50
-b(When)34 b(the)f(name)h(of)f(a)h(builtin)f(com-)150
-655 y(mand)26 b(is)i(used)e(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)f
-(simple)h(command)f(\(see)h(Section)g(3.2.2)h([Simple)f(Commands],)150
-764 y(page)21 b(9\),)j(the)d(shell)g(executes)h(the)f(command)f
-(directly)-8 b(,)24 b(without)d(in)m(v)m(oking)h(another)f(program.)37
-b(Builtin)150 874 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
-(functionalit)m(y)h(imp)s(ossible)e(or)h(incon)m(v)m(enien)m(t)h(to)f
-(obtain)150 984 y(with)30 b(separate)h(utilities.)275
-1122 y(This)c(section)j(brie\015y)e(describ)s(es)g(the)h(builtins)f
-(whic)m(h)g(Bash)h(inherits)f(from)g(the)h(Bourne)g(Shell,)g(as)150
-1232 y(w)m(ell)i(as)g(the)g(builtin)e(commands)h(whic)m(h)h(are)f
-(unique)g(to)h(or)f(ha)m(v)m(e)i(b)s(een)d(extended)i(in)f(Bash.)275
-1370 y(Sev)m(eral)45 b(builtin)e(commands)h(are)h(describ)s(ed)e(in)h
-(other)g(c)m(hapters:)69 b(builtin)43 b(commands)h(whic)m(h)150
-1480 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f
-(con)m(trol)i(facilities)g(\(see)f(Section)h(7.2)f([Job)f(Con)m(trol)h
-(Builtins],)150 1590 y(page)33 b(124\),)i(the)e(directory)g(stac)m(k)h
-(\(see)f(Section)h(6.8.1)g([Directory)g(Stac)m(k)g(Builtins],)g(page)f
-(111\),)i(the)150 1699 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
-([Bash)f(History)g(Builtins],)h(page)g(166\),)h(and)d(the)h
-(programmable)150 1809 y(completion)32 b(facilities)g(\(see)g(Section)f
-(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(158\).)275
-1947 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended)
-g(b)m(y)g Fm(posix)g Fu(or)g(Bash.)275 2086 y(Unless)20
-b(otherwise)h(noted,)h(eac)m(h)g(builtin)e(command)g(do)s(cumen)m(ted)g
-(as)h(accepting)h(options)e(preceded)150 2195 y(b)m(y)42
-b(`)p Ft(-)p Fu(')g(accepts)h(`)p Ft(--)p Fu(')f(to)h(signify)f(the)g
-(end)f(of)h(the)g(options.)76 b(The)41 b Ft(:)p Fu(,)k
-Ft(true)p Fu(,)f Ft(false)p Fu(,)g(and)d Ft(test)p Fu(/)p
-Ft([)150 2305 y Fu(builtins)32 b(do)g(not)h(accept)h(options)f(and)f
-(do)g(not)h(treat)g(`)p Ft(--)p Fu(')g(sp)s(ecially)-8
-b(.)48 b(The)32 b Ft(exit)p Fu(,)g Ft(logout)p Fu(,)f
-Ft(return)p Fu(,)150 2415 y Ft(break)p Fu(,)38 b Ft(continue)p
-Fu(,)f Ft(let)p Fu(,)i(and)d Ft(shift)g Fu(builtins)h(accept)i(and)e
-(pro)s(cess)g(argumen)m(ts)h(b)s(eginning)e(with)150
-2524 y(`)p Ft(-)p Fu(')h(without)f(requiring)g(`)p Ft(--)p
-Fu('.)59 b(Other)36 b(builtins)g(that)h(accept)h(argumen)m(ts)f(but)f
-(are)h(not)g(sp)s(eci\014ed)f(as)150 2634 y(accepting)28
-b(options)f(in)m(terpret)g(argumen)m(ts)g(b)s(eginning)e(with)i(`)p
-Ft(-)p Fu(')f(as)h(in)m(v)-5 b(alid)27 b(options)g(and)f(require)g(`)p
-Ft(--)p Fu(')150 2743 y(to)31 b(prev)m(en)m(t)g(this)f(in)m
-(terpretation.)150 2990 y Fs(4.1)68 b(Bourne)45 b(Shell)g(Builtins)150
-3150 y Fu(The)22 b(follo)m(wing)j(shell)d(builtin)h(commands)f(are)h
-(inherited)g(from)f(the)h(Bourne)g(Shell.)38 b(These)22
-b(commands)150 3259 y(are)31 b(implemen)m(ted)g(as)f(sp)s(eci\014ed)g
-(b)m(y)g(the)h Fm(posix)e Fu(standard.)150 3425 y Ft(:)h
-Fu(\(a)h(colon\))870 3534 y Ft(:)47 b([)p Fj(arguments)p
-Ft(])630 3671 y Fu(Do)c(nothing)f(b)s(ey)m(ond)g(expanding)f
-Fr(argumen)m(ts)46 b Fu(and)c(p)s(erforming)f(redirections.)76
-b(The)630 3781 y(return)29 b(status)i(is)f(zero.)150
-3944 y Ft(.)g Fu(\(a)h(p)s(erio)s(d\))870 4054 y Ft(.)47
-b([-p)g Fj(path)p Ft(])g Fj(filename)e Ft([)p Fj(arguments)p
-Ft(])630 4190 y Fu(The)33 b Ft(.)g Fu(command)g(reads)g(and)g(execute)h
-(commands)f(from)g(the)h Fr(\014lename)k Fu(argumen)m(t)c(in)630
-4300 y(the)d(curren)m(t)f(shell)g(con)m(text.)630 4436
-y(If)d Fr(\014lename)33 b Fu(do)s(es)28 b(not)f(con)m(tain)i(a)f
-(slash,)h Ft(.)e Fu(searc)m(hes)i(for)e(it.)41 b(If)27
-b Ft(-p)g Fu(is)g(supplied,)h Ft(.)f Fu(treats)630 4546
-y Fr(path)d Fu(as)h(a)f(colon-separated)j(list)e(of)f(directories)h(in)
-f(whic)m(h)g(to)i(\014nd)c Fr(\014lename)5 b Fu(;)27
-b(otherwise,)630 4655 y Ft(.)36 b Fu(uses)f(the)i(directories)g(in)e
-Ft(PATH)g Fu(to)i(\014nd)e Fr(\014lename)p Fu(.)58 b
-Fr(\014lename)41 b Fu(do)s(es)36 b(not)g(need)g(to)h(b)s(e)630
-4765 y(executable.)42 b(When)28 b(Bash)h(is)g(not)f(in)h
-Fm(posix)f Fu(mo)s(de,)g(it)i(searc)m(hes)f(the)g(curren)m(t)f
-(directory)630 4875 y(if)33 b Fr(\014lename)39 b Fu(is)33
-b(not)h(found)e(in)h Ft($PATH)p Fu(,)g(but)g(do)s(es)g(not)g(searc)m(h)
-h(the)g(curren)m(t)f(directory)h(if)630 4984 y Ft(-p)25
-b Fu(is)i(supplied.)38 b(If)25 b(the)h Ft(sourcepath)e
-Fu(option)i(\(see)h(Section)g(4.3.2)h([The)e(Shopt)f(Builtin],)630
-5094 y(page)31 b(77\))h(is)e(turned)f(o\013,)i Ft(.)f
-Fu(do)s(es)g(not)h(searc)m(h)g Ft(PATH)p Fu(.)630 5230
-y(If)39 b(an)m(y)h Fr(argumen)m(ts)j Fu(are)d(supplied,)h(they)e(b)s
-(ecome)h(the)g(p)s(ositional)g(parameters)g(when)630
-5340 y Fr(\014lename)c Fu(is)30 b(executed.)42 b(Otherwise)30
-b(the)g(p)s(ositional)i(parameters)e(are)h(unc)m(hanged.)p
-eop end
-%%Page: 52 58
-TeXDict begin 52 57 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(52)630 299 y(If)27
-b(the)h Ft(-T)f Fu(option)h(is)g(enabled,)g Ft(.)f Fu(inherits)g(an)m
-(y)h(trap)g(on)f Ft(DEBUG)p Fu(;)h(if)f(it)h(is)g(not,)g(an)m(y)g
-Ft(DEBUG)630 408 y Fu(trap)k(string)g(is)g(sa)m(v)m(ed)h(and)f
-(restored)g(around)f(the)i(call)g(to)g Ft(.)p Fu(,)f(and)g
-Ft(.)g Fu(unsets)f(the)h Ft(DEBUG)630 518 y Fu(trap)f(while)h(it)g
-(executes.)46 b(If)31 b Ft(-T)g Fu(is)g(not)h(set,)h(and)d(the)i
-(sourced)f(\014le)h(c)m(hanges)h(the)e Ft(DEBUG)630 628
-y Fu(trap,)40 b(the)e(new)f(v)-5 b(alue)38 b(p)s(ersists)f(after)h
-Ft(.)g Fu(completes.)64 b(The)37 b(return)g(status)h(is)g(the)g(exit)
-630 737 y(status)h(of)f(the)h(last)g(command)f(executed)h(from)f
-Fr(\014lename)p Fu(,)i(or)f(zero)g(if)f(no)g(commands)630
-847 y(are)33 b(executed.)50 b(If)32 b Fr(\014lename)39
-b Fu(is)33 b(not)g(found,)g(or)g(cannot)g(b)s(e)g(read,)g(the)h(return)
-e(status)h(is)630 956 y(non-zero.)41 b(This)30 b(builtin)g(is)g(equiv)
--5 b(alen)m(t)32 b(to)f Ft(source)p Fu(.)150 1107 y Ft(break)870
-1237 y(break)46 b([)p Fj(n)p Ft(])630 1367 y Fu(Exit)35
-b(from)g(a)g Ft(for)p Fu(,)g Ft(while)p Fu(,)g Ft(until)p
-Fu(,)g(or)g Ft(select)e Fu(lo)s(op.)55 b(If)34 b Fr(n)h
-Fu(is)g(supplied,)g Ft(break)e Fu(exits)630 1477 y(the)27
-b Fr(n)p Fu(th)e(enclosing)j(lo)s(op.)39 b Fr(n)26 b
-Fu(m)m(ust)g(b)s(e)g(greater)h(than)f(or)h(equal)g(to)g(1.)40
-b(The)25 b(return)h(status)630 1587 y(is)k(zero)i(unless)d
-Fr(n)h Fu(is)g(not)h(greater)h(than)e(or)g(equal)h(to)g(1.)150
-1737 y Ft(cd)870 1867 y(cd)47 b([-L])g([-@])f([)p Fj(directory)p
-Ft(])870 1977 y(cd)h(-P)g([-e])g([-@])g([)p Fj(directory)p
-Ft(])630 2107 y Fu(Change)27 b(the)g(curren)m(t)f(w)m(orking)h
-(directory)g(to)h Fr(directory)p Fu(.)40 b(If)26 b Fr(directory)35
-b Fu(is)27 b(not)g(supplied,)630 2217 y(the)37 b(v)-5
-b(alue)37 b(of)g(the)f Ft(HOME)g Fu(shell)h(v)-5 b(ariable)37
-b(is)g(used)f(as)g Fr(directory)p Fu(.)60 b(If)37 b(the)f(shell)h(v)-5
-b(ariable)630 2326 y Ft(CDPATH)27 b Fu(exists,)i(and)f
-Fr(directory)37 b Fu(do)s(es)28 b(not)g(b)s(egin)g(with)g(a)h(slash,)g
-Ft(cd)e Fu(uses)h(it)h(as)g(a)f(searc)m(h)630 2436 y(path:)38
-b Ft(cd)26 b Fu(searc)m(hes)h(eac)m(h)g(directory)f(name)g(in)g
-Ft(CDPATH)e Fu(for)i Fr(directory)p Fu(,)i(with)e(alternativ)m(e)630
-2545 y(directory)i(names)g(in)f Ft(CDPATH)f Fu(separated)i(b)m(y)f(a)h
-(colon)h(\(`)p Ft(:)p Fu('\).)40 b(A)28 b(n)m(ull)g(directory)g(name)f
-(in)630 2655 y Ft(CDPATH)i Fu(means)h(the)h(same)f(thing)h(as)f(the)h
-(curren)m(t)f(directory)-8 b(.)630 2785 y(The)31 b Ft(-P)h
-Fu(option)g(means)g(not)g(to)h(follo)m(w)g(sym)m(b)s(olic)g(links:)44
-b(sym)m(b)s(olic)32 b(links)g(are)g(resolv)m(ed)630 2895
-y(while)45 b Ft(cd)f Fu(is)h(tra)m(v)m(ersing)i Fr(directory)53
-b Fu(and)44 b(b)s(efore)h(pro)s(cessing)f(an)h(instance)h(of)f
-Ft(..)f Fu(in)630 3004 y Fr(directory)p Fu(.)630 3134
-y(By)34 b(default,)h(or)e(when)g(the)g Ft(-L)g Fu(option)h(is)g
-(supplied,)f(sym)m(b)s(olic)h(links)f(in)h Fr(directory)42
-b Fu(are)630 3244 y(resolv)m(ed)31 b(after)g Ft(cd)f
-Fu(pro)s(cesses)g(an)g(instance)h(of)g Ft(..)f Fu(in)g
-Fr(directory)p Fu(.)630 3374 y(If)c Ft(..)g Fu(app)s(ears)g(in)g
-Fr(directory)p Fu(,)j Ft(cd)d Fu(pro)s(cesses)g(it)h(b)m(y)g(remo)m
-(ving)g(the)g(immediately)h(preced-)630 3484 y(ing)37
-b(pathname)g(comp)s(onen)m(t,)j(bac)m(k)e(to)g(a)f(slash)g(or)h(the)f
-(b)s(eginning)g(of)g Fr(directory)p Fu(,)j(and)630 3593
-y(v)m(erifying)35 b(that)g(the)f(p)s(ortion)g(of)g Fr(directory)42
-b Fu(it)35 b(has)f(pro)s(cessed)g(to)g(that)h(p)s(oin)m(t)f(is)g(still)
-i(a)630 3703 y(v)-5 b(alid)38 b(directory)g(name)g(after)g(remo)m(ving)
-g(the)g(pathname)f(comp)s(onen)m(t.)63 b(If)37 b(it)h(is)g(not)g(a)630
-3813 y(v)-5 b(alid)31 b(directory)g(name,)f Ft(cd)g Fu(returns)f(a)i
-(non-zero)g(status.)630 3943 y(If)i(the)h Ft(-e)f Fu(option)h(is)g
-(supplied)e(with)i Ft(-P)f Fu(and)g Ft(cd)g Fu(cannot)h(successfully)g
-(determine)g(the)630 4052 y(curren)m(t)i(w)m(orking)h(directory)h
-(after)f(a)g(successful)f(directory)h(c)m(hange,)j(it)d(will)g(return)f
-(a)630 4162 y(non-zero)31 b(status.)630 4292 y(On)41
-b(systems)h(that)h(supp)s(ort)d(it,)46 b(the)c Ft(-@)g
-Fu(option)g(presen)m(ts)g(the)g(extended)g(attributes)630
-4402 y(asso)s(ciated)32 b(with)e(a)h(\014le)f(as)h(a)f(directory)-8
-b(.)630 4532 y(If)35 b Fr(directory)44 b Fu(is)36 b(`)p
-Ft(-)p Fu(',)h(it)f(is)g(con)m(v)m(erted)h(to)f Ft($OLDPWD)e
-Fu(b)s(efore)h(attempting)i(the)e(directory)630 4641
-y(c)m(hange.)630 4771 y(If)d Ft(cd)f Fu(uses)h(a)h(non-empt)m(y)f
-(directory)h(name)f(from)g Ft(CDPATH)p Fu(,)f(or)h(if)g(`)p
-Ft(-)p Fu(')h(is)f(the)g(\014rst)g(argu-)630 4881 y(men)m(t,)g(and)f
-(the)g(directory)h(c)m(hange)h(is)e(successful,)h Ft(cd)e
-Fu(writes)i(the)f(absolute)h(pathname)630 4991 y(of)f(the)f(new)g(w)m
-(orking)h(directory)g(to)g(the)f(standard)g(output.)630
-5121 y(If)i(the)i(directory)f(c)m(hange)h(is)f(successful,)h
-Ft(cd)e Fu(sets)h(the)h(v)-5 b(alue)33 b(of)g(the)g Ft(PWD)f
-Fu(en)m(vironmen)m(t)630 5230 y(v)-5 b(ariable)32 b(to)g(the)f(new)g
-(directory)g(name,)h(and)e(sets)i(the)f Ft(OLDPWD)e Fu(en)m(vironmen)m
-(t)j(v)-5 b(ariable)630 5340 y(to)31 b(the)g(v)-5 b(alue)31
-b(of)f(the)h(curren)m(t)f(w)m(orking)g(directory)h(b)s(efore)f(the)h(c)
-m(hange.)p eop end
-%%Page: 53 59
-TeXDict begin 53 58 bop 150 -116 a Fu(Chapter)30 b(4:)h(Shell)f
-(Builtin)h(Commands)2079 b(53)630 299 y(The)29 b(return)g(status)h(is)f
-(zero)i(if)e(the)h(directory)g(is)g(successfully)g(c)m(hanged,)g
-(non-zero)g(oth-)630 408 y(erwise.)150 566 y Ft(continue)870
-699 y(continue)46 b([)p Fj(n)p Ft(])630 833 y(continue)41
-b Fu(resumes)h(the)h(next)g(iteration)h(of)f(an)g(enclosing)g
-Ft(for)p Fu(,)j Ft(while)p Fu(,)e Ft(until)p Fu(,)h(or)630
-942 y Ft(select)29 b Fu(lo)s(op.)41 b(If)30 b Fr(n)g
-Fu(is)g(supplied,)f(Bash)i(resumes)f(the)g(execution)i(of)f(the)f
-Fr(n)p Fu(th)g(enclosing)630 1052 y(lo)s(op.)45 b Fr(n)31
-b Fu(m)m(ust)g(b)s(e)g(greater)i(than)e(or)h(equal)g(to)g(1.)45
-b(The)31 b(return)g(status)h(is)f(zero)i(unless)d Fr(n)630
-1161 y Fu(is)g(not)h(greater)h(than)e(or)g(equal)h(to)g(1.)150
-1319 y Ft(eval)870 1452 y(eval)47 b([)p Fj(arguments)p
-Ft(])630 1585 y Fu(The)27 b Fr(argumen)m(ts)k Fu(are)c(concatenated)i
-(together)g(in)m(to)f(a)f(single)h(command,)g(separated)f(b)m(y)630
-1695 y(spaces.)40 b(Bash)28 b(then)f(reads)h(and)f(executes)i(this)e
-(command)h(and)f(returns)f(its)i(exit)h(status)630 1805
-y(as)g(the)f(exit)h(status)g(of)g Ft(eval)p Fu(.)39 b(If)27
-b(there)i(are)g(no)f(argumen)m(ts)h(or)f(only)h(empt)m(y)f(argumen)m
-(ts,)630 1914 y(the)j(return)e(status)i(is)f(zero.)150
-2071 y Ft(exec)870 2205 y(exec)47 b([-cl])f([-a)h Fj(name)p
-Ft(])f([)p Fj(command)g Ft([)p Fj(arguments)p Ft(]])630
-2338 y Fu(If)36 b Fr(command)k Fu(is)c(supplied,)h(it)g(replaces)h(the)
-e(shell)h(without)f(creating)i(a)f(new)f(pro)s(cess.)630
-2448 y Fr(command)43 b Fu(cannot)d(b)s(e)e(a)i(shell)f(builtin)g(or)h
-(function.)67 b(The)39 b Fr(argumen)m(ts)k Fu(b)s(ecome)d(the)630
-2557 y(argumen)m(ts)g(to)h Fr(command)i Fu(If)d(the)g
-Ft(-l)f Fu(option)h(is)g(supplied,)h(the)g(shell)f(places)g(a)h(dash)
-630 2667 y(at)g(the)g(b)s(eginning)f(of)h(the)g(zeroth)h(argumen)m(t)f
-(passed)f(to)i Fr(command)p Fu(.)71 b(This)40 b(is)h(what)630
-2777 y(the)31 b Ft(login)f Fu(program)h(do)s(es.)42 b(The)31
-b Ft(-c)f Fu(option)i(causes)g Fr(command)i Fu(to)e(b)s(e)e(executed)i
-(with)630 2886 y(an)i(empt)m(y)h(en)m(vironmen)m(t.)54
-b(If)34 b Ft(-a)g Fu(is)h(supplied,)f(the)h(shell)g(passes)f
-Fr(name)40 b Fu(as)35 b(the)f(zeroth)630 2996 y(argumen)m(t)d(to)g
-Fr(command)p Fu(.)630 3129 y(If)h Fr(command)j Fu(cannot)e(b)s(e)f
-(executed)h(for)f(some)g(reason,)h(a)g(non-in)m(teractiv)m(e)i(shell)d
-(exits,)630 3239 y(unless)39 b(the)h Ft(execfail)e Fu(shell)i(option)h
-(is)f(enabled.)69 b(In)39 b(that)i(case,)j(it)c(returns)f(a)h(non-)630
-3348 y(zero)32 b(status.)44 b(An)31 b(in)m(teractiv)m(e)j(shell)e
-(returns)e(a)i(non-zero)g(status)f(if)h(the)f(\014le)h(cannot)g(b)s(e)
-630 3458 y(executed.)42 b(A)30 b(subshell)g(exits)h(unconditionally)g
-(if)f Ft(exec)f Fu(fails.)630 3591 y(If)42 b Fr(command)k
-Fu(is)c(not)h(sp)s(eci\014ed,)i(redirections)e(ma)m(y)g(b)s(e)f(used)g
-(to)h(a\013ect)h(the)f(curren)m(t)630 3701 y(shell)33
-b(en)m(vironmen)m(t.)48 b(If)32 b(there)h(are)g(no)f(redirection)h
-(errors,)g(the)g(return)e(status)i(is)g(zero;)630 3810
-y(otherwise)e(the)f(return)g(status)g(is)h(non-zero.)150
-3968 y Ft(exit)870 4101 y(exit)47 b([)p Fj(n)p Ft(])630
-4235 y Fu(Exit)30 b(the)g(shell,)h(returning)d(a)j(status)f(of)g
-Fr(n)f Fu(to)h(the)g(shell's)g(paren)m(t.)41 b(If)30
-b Fr(n)f Fu(is)h(omitted,)h(the)630 4344 y(exit)c(status)g(is)g(that)g
-(of)g(the)g(last)g(command)f(executed.)41 b(An)m(y)26
-b(trap)h(on)f Ft(EXIT)f Fu(is)i(executed)630 4454 y(b)s(efore)j(the)h
-(shell)f(terminates.)150 4611 y Ft(export)870 4744 y(export)46
-b([-fn])g([-p])h([)p Fj(name)p Ft([=)p Fj(value)p Ft(]])630
-4878 y Fu(Mark)34 b(eac)m(h)h Fr(name)k Fu(to)c(b)s(e)e(passed)g(to)i
-(subsequen)m(tly)e(executed)i(commands)e(in)h(the)g(en-)630
-4987 y(vironmen)m(t.)75 b(If)42 b(the)f Ft(-f)h Fu(option)g(is)g
-(supplied,)h(the)f Fr(name)5 b Fu(s)42 b(refer)g(to)g(shell)g
-(functions;)630 5097 y(otherwise)31 b(the)f(names)h(refer)f(to)h(shell)
-f(v)-5 b(ariables.)630 5230 y(The)31 b Ft(-n)f Fu(option)i(means)f(to)h
-(unexp)s(ort)e(eac)m(h)j(name:)42 b(no)32 b(longer)f(mark)g(it)h(for)f
-(exp)s(ort.)43 b(If)630 5340 y(no)37 b Fr(name)5 b Fu(s)36
-b(are)h(supplied,)h(or)e(if)h(the)g Ft(-p)f Fu(option)h(is)g(giv)m(en,)
-j Ft(export)35 b Fu(displa)m(ys)h(a)h(list)h(of)p eop
-end
-%%Page: 54 60
-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(names)26
-b(of)g(all)h(exp)s(orted)f(v)-5 b(ariables)26 b(on)g(the)g(standard)g
-(output.)38 b(The)26 b Ft(-p)f Fu(option)i(displa)m(ys)630
-408 y(output)j(in)g(a)h(form)f(that)h(ma)m(y)g(b)s(e)e(reused)h(as)h
-(input.)630 544 y Ft(export)e Fu(allo)m(ws)k(the)e(v)-5
-b(alue)31 b(of)h(a)f(v)-5 b(ariable)32 b(to)g(b)s(e)e(set)i(at)f(the)g
-(same)h(time)g(it)f(is)g(exp)s(orted)630 653 y(or)e(unexp)s(orted)f(b)m
-(y)g(follo)m(wing)j(the)e(v)-5 b(ariable)30 b(name)f(with)f(=)p
-Fr(v)-5 b(alue)p Fu(.)41 b(This)28 b(sets)h(the)g(v)-5
-b(alue)630 763 y(of)31 b(the)f(v)-5 b(ariable)31 b(is)g(to)g
-Fr(v)-5 b(alue)36 b Fu(while)30 b(mo)s(difying)g(the)g(exp)s(ort)h
-(attribute.)630 898 y(The)e(return)e(status)j(is)f(zero)h(unless)e(an)h
-(in)m(v)-5 b(alid)29 b(option)h(is)f(supplied,)f(one)i(of)f(the)g
-(names)630 1008 y(is)k(not)g(a)h(v)-5 b(alid)33 b(shell)h(v)-5
-b(ariable)33 b(name,)i(or)e Ft(-f)f Fu(is)h(supplied)f(with)h(a)g(name)
-g(that)h(is)f(not)h(a)630 1118 y(shell)d(function.)150
-1279 y Ft(false)870 1414 y(false)630 1549 y Fu(Do)s(es)g(nothing;)g
-(returns)e(a)h(non-zero)h(status.)150 1711 y Ft(getopts)870
-1846 y(getopts)46 b Fj(optstring)f(name)i Ft([)p Fj(arg)f
-Ft(...])630 1981 y(getopts)24 b Fu(is)i(used)f(b)m(y)h(shell)g(scripts)
-g(or)g(functions)f(to)i(parse)f(p)s(ositional)g(parameters)h(and)630
-2091 y(obtain)35 b(options)h(and)e(their)h(argumen)m(ts.)55
-b Fr(optstring)43 b Fu(con)m(tains)36 b(the)f(option)g(c)m(haracters)
-630 2201 y(to)h(b)s(e)f(recognized;)k(if)c(a)h(c)m(haracter)h(is)e
-(follo)m(w)m(ed)i(b)m(y)e(a)h(colon,)i(the)d(option)h(is)g(exp)s(ected)
-630 2310 y(to)g(ha)m(v)m(e)h(an)f(argumen)m(t,)h(whic)m(h)f(should)e(b)
-s(e)h(separated)h(from)g(it)g(b)m(y)f(whitespace.)57
-b(The)630 2420 y(colon)31 b(\(`)p Ft(:)p Fu('\))h(and)d(question)i
-(mark)f(\(`)p Ft(?)p Fu('\))h(ma)m(y)g(not)g(b)s(e)f(used)f(as)i
-(option)g(c)m(haracters.)630 2555 y(Eac)m(h)38 b(time)g(it)g(is)f(in)m
-(v)m(ok)m(ed,)k Ft(getopts)35 b Fu(places)j(the)f(next)h(option)f(in)g
-(the)h(shell)f(v)-5 b(ariable)630 2665 y Fr(name)p Fu(,)28
-b(initializing)h Fr(name)j Fu(if)27 b(it)h(do)s(es)f(not)g(exist,)i
-(and)d(the)h(index)g(of)g(the)g(next)g(argumen)m(t)630
-2774 y(to)34 b(b)s(e)f(pro)s(cessed)g(in)m(to)i(the)f(v)-5
-b(ariable)34 b Ft(OPTIND)p Fu(.)48 b Ft(OPTIND)32 b Fu(is)i
-(initialized)h(to)g(1)f(eac)m(h)g(time)630 2884 y(the)k(shell)f(or)h(a)
-g(shell)f(script)h(is)f(in)m(v)m(ok)m(ed.)63 b(When)38
-b(an)f(option)h(requires)f(an)g(argumen)m(t,)630 2993
-y Ft(getopts)28 b Fu(places)k(that)f(argumen)m(t)f(in)m(to)i(the)e(v)-5
-b(ariable)31 b Ft(OPTARG)p Fu(.)630 3129 y(The)j(shell)g(do)s(es)h(not)
-f(reset)h Ft(OPTIND)e Fu(automatically;)39 b(it)c(m)m(ust)g(b)s(e)e
-(man)m(ually)i(reset)g(b)s(e-)630 3238 y(t)m(w)m(een)e(m)m(ultiple)f
-(calls)g(to)g Ft(getopts)e Fu(within)h(the)g(same)h(shell)g(in)m(v)m(o)
-s(cation)h(to)g(use)e(a)g(new)630 3348 y(set)g(of)f(parameters.)630
-3483 y(When)i(it)g(reac)m(hes)h(the)e(end)h(of)f(options,)i
-Ft(getopts)d Fu(exits)i(with)g(a)g(return)f(v)-5 b(alue)32
-b(greater)630 3593 y(than)39 b(zero.)67 b Ft(OPTIND)38
-b Fu(is)h(set)g(to)h(the)f(index)g(of)g(the)g(\014rst)f(non-option)i
-(argumen)m(t,)i(and)630 3703 y Fr(name)36 b Fu(is)30
-b(set)h(to)g(`)p Ft(?)p Fu('.)630 3838 y Ft(getopts)c
-Fu(normally)j(parses)e(the)i(p)s(ositional)g(parameters,)g(but)e(if)i
-(more)f(argumen)m(ts)h(are)630 3948 y(supplied)f(as)i
-Fr(arg)38 b Fu(v)-5 b(alues,)31 b Ft(getopts)e Fu(parses)h(those)h
-(instead.)630 4083 y Ft(getopts)37 b Fu(can)i(rep)s(ort)f(errors)g(in)h
-(t)m(w)m(o)h(w)m(a)m(ys.)67 b(If)38 b(the)h(\014rst)g(c)m(haracter)h
-(of)f Fr(optstring)47 b Fu(is)630 4193 y(a)41 b(colon,)k
-Ft(getopts)39 b Fu(uses)h Fl(silent)50 b Fu(error)40
-b(rep)s(orting.)72 b(In)40 b(normal)h(op)s(eration,)j
-Ft(getopts)630 4302 y Fu(prin)m(ts)26 b(diagnostic)i(messages)g(when)e
-(it)h(encoun)m(ters)g(in)m(v)-5 b(alid)27 b(options)g(or)g(missing)f
-(option)630 4412 y(argumen)m(ts.)38 b(If)20 b(the)g(v)-5
-b(ariable)21 b Ft(OPTERR)e Fu(is)i(set)g(to)g(0,)i(no)d(error)g
-(messages)i(will)e(b)s(e)g(displa)m(y)m(ed,)630 4521
-y(ev)m(en)31 b(if)f(the)h(\014rst)f(c)m(haracter)i(of)e
-Ft(optstring)e Fu(is)i(not)h(a)g(colon.)630 4657 y(If)h
-Ft(getopts)e Fu(detects)j(an)g(in)m(v)-5 b(alid)32 b(option,)i(it)f
-(places)g(`)p Ft(?)p Fu(')f(in)m(to)h Fr(name)38 b Fu(and,)32
-b(if)g(not)h(silen)m(t,)630 4766 y(prin)m(ts)e(an)h(error)f(message)i
-(and)e(unsets)g Ft(OPTARG)p Fu(.)42 b(If)31 b Ft(getopts)f
-Fu(is)i(silen)m(t,)h(it)f(assigns)g(the)630 4876 y(option)f(c)m
-(haracter)h(found)d(to)i Ft(OPTARG)e Fu(and)g(do)s(es)h(not)h(prin)m(t)
-f(a)h(diagnostic)h(message.)630 5011 y(If)21 b(a)h(required)f(argumen)m
-(t)h(is)g(not)g(found,)g(and)f Ft(getopts)f Fu(is)h(not)h(silen)m(t,)j
-(it)d(sets)g(the)g(v)-5 b(alue)22 b(of)630 5121 y Fr(name)32
-b Fu(to)27 b(a)g(question)g(mark)f(\(`)p Ft(?)p Fu('\),)j(unsets)d
-Ft(OPTARG)p Fu(,)g(and)g(prin)m(ts)g(a)h(diagnostic)h(message.)630
-5230 y(If)i Ft(getopts)f Fu(is)i(silen)m(t,)h(it)f(sets)h(the)f(v)-5
-b(alue)31 b(of)g Fr(name)36 b Fu(to)31 b(a)g(colon)h(\(`)p
-Ft(:)p Fu('\),)g(and)e(sets)i Ft(OPTARG)630 5340 y Fu(to)f(the)g
-(option)g(c)m(haracter)g(found.)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 Ft(getopts)28
-b Fu(returns)h(true)h(if)g(an)g(option,)h(sp)s(eci\014ed)e(or)h(unsp)s
-(eci\014ed,)f(is)h(found.)39 b(It)30 b(returns)630 408
-y(false)h(when)e(it)i(encoun)m(ters)g(the)g(end)e(of)i(options)g(or)f
-(if)g(an)h(error)f(o)s(ccurs.)150 573 y Ft(hash)870 710
-y(hash)47 b([-r])f([-p)h Fj(filename)p Ft(])e([-dt])i([)p
-Fj(name)p Ft(])630 847 y Fu(Eac)m(h)37 b(time)h Ft(hash)d
-Fu(is)i(in)m(v)m(ok)m(ed,)j(it)d(remem)m(b)s(ers)f(the)h(full)f
-(\014lenames)h(of)f(the)h(commands)630 956 y(sp)s(eci\014ed)c(as)i
-Fr(name)k Fu(argumen)m(ts,)c(so)g(they)f(need)g(not)g(b)s(e)f(searc)m
-(hed)i(for)f(on)g(subsequen)m(t)630 1066 y(in)m(v)m(o)s(cations.)79
-b(The)41 b(commands)h(are)h(found)e(b)m(y)h(searc)m(hing)i(through)d
-(the)i(directories)630 1176 y(listed)32 b(in)g Ft($PATH)p
-Fu(.)43 b(An)m(y)32 b(previously-remem)m(b)s(ered)f(\014lename)h(asso)s
-(ciated)h(with)e Fr(name)37 b Fu(is)630 1285 y(discarded.)51
-b(The)33 b Ft(-p)g Fu(option)i(inhibits)e(the)h(path)g(searc)m(h,)h
-(and)e Ft(hash)g Fu(uses)h Fr(\014lename)39 b Fu(as)630
-1395 y(the)31 b(lo)s(cation)h(of)e Fr(name)p Fu(.)630
-1532 y(The)35 b Ft(-r)g Fu(option)h(causes)g(the)g(shell)g(to)h(forget)
-f(all)h(remem)m(b)s(ered)e(lo)s(cations.)58 b(Assigning)630
-1641 y(to)31 b(the)f Ft(PATH)e Fu(v)-5 b(ariable)31 b(also)g(clears)g
-(all)g(hashed)e(\014lenames.)40 b(The)30 b Ft(-d)f Fu(option)h(causes)h
-(the)630 1751 y(shell)g(to)g(forget)g(the)g(remem)m(b)s(ered)e(lo)s
-(cation)j(of)f(eac)m(h)g Fr(name)p Fu(.)630 1888 y(If)38
-b(the)h Ft(-t)f Fu(option)h(is)g(supplied,)g Ft(hash)f
-Fu(prin)m(ts)g(the)h(full)f(pathname)h(corresp)s(onding)e(to)630
-1998 y(eac)m(h)29 b Fr(name)p Fu(.)40 b(If)28 b(m)m(ultiple)h
-Fr(name)k Fu(argumen)m(ts)c(are)f(supplied)f(with)h Ft(-t)p
-Fu(,)g Ft(hash)f Fu(prin)m(ts)h(eac)m(h)630 2107 y Fr(name)i
-Fu(b)s(efore)24 b(the)h(corresp)s(onding)f(hashed)f(full)i(path.)38
-b(The)24 b Ft(-l)g Fu(option)i(displa)m(ys)e(output)630
-2217 y(in)30 b(a)h(format)g(that)f(ma)m(y)h(b)s(e)f(reused)g(as)g
-(input.)630 2354 y(If)38 b(no)g(argumen)m(ts)g(are)h(giv)m(en,)i(or)d
-(if)h(only)f Ft(-l)g Fu(is)g(supplied,)h Ft(hash)e Fu(prin)m(ts)h
-(information)630 2463 y(ab)s(out)d(remem)m(b)s(ered)g(commands.)57
-b(The)35 b Ft(-t)p Fu(,)h Ft(-d)p Fu(,)h(and)e Ft(-p)g
-Fu(options)h(\(the)g(options)g(that)630 2573 y(act)28
-b(on)f(the)h Fr(name)k Fu(argumen)m(ts\))c(are)f(m)m(utually)h
-(exclusiv)m(e.)41 b(Only)26 b(one)i(will)f(b)s(e)g(activ)m(e.)41
-b(If)630 2682 y(more)25 b(than)h(one)f(is)h(supplied,)f
-Ft(-t)g Fu(has)g(higher)g(priorit)m(y)g(than)g Ft(-p)p
-Fu(,)h(and)f(b)s(oth)g(ha)m(v)m(e)h(higher)630 2792 y(priorit)m(y)31
-b(than)f Ft(-d)p Fu(.)630 2929 y(The)38 b(return)g(status)h(is)g(zero)h
-(unless)e(a)i Fr(name)k Fu(is)39 b(not)g(found)e(or)i(an)g(in)m(v)-5
-b(alid)40 b(option)f(is)630 3039 y(supplied.)150 3203
-y Ft(pwd)870 3340 y(pwd)47 b([-LP])630 3477 y Fu(Prin)m(t)29
-b(the)g(absolute)h(pathname)e(of)h(the)h(curren)m(t)e(w)m(orking)h
-(directory)-8 b(.)42 b(If)28 b(the)h Ft(-P)f Fu(option)630
-3587 y(is)41 b(supplied,)i(or)f(the)f Ft(-o)30 b(physical)39
-b Fu(option)j(to)g(the)f Ft(set)g Fu(builtin)g(\(see)h(Section)g(4.3.1)
-630 3696 y([The)35 b(Set)f(Builtin],)j(page)f(72\))g(is)f(enabled,)h
-(the)f(pathname)f(prin)m(ted)g(will)i(not)f(con)m(tain)630
-3806 y(sym)m(b)s(olic)29 b(links.)39 b(If)28 b(the)h
-Ft(-L)e Fu(option)i(is)g(supplied,)e(the)i(pathname)f(prin)m(ted)g(ma)m
-(y)h(con)m(tain)630 3915 y(sym)m(b)s(olic)34 b(links.)52
-b(The)33 b(return)g(status)i(is)f(zero)h(unless)e(an)h(error)f(is)h
-(encoun)m(tered)h(while)630 4025 y(determining)30 b(the)g(name)g(of)g
-(the)g(curren)m(t)f(directory)i(or)f(an)f(in)m(v)-5 b(alid)31
-b(option)f(is)g(supplied.)150 4189 y Ft(readonly)870
-4326 y(readonly)46 b([-aAf])g([-p])g([)p Fj(name)p Ft([=)p
-Fj(value)p Ft(]])e(...)630 4463 y Fu(Mark)24 b(eac)m(h)h
-Fr(name)k Fu(as)24 b(readonly)-8 b(.)39 b(The)24 b(v)-5
-b(alues)24 b(of)g(these)g(names)g(ma)m(y)g(not)g(b)s(e)g(c)m(hanged)g
-(b)m(y)630 4573 y(subsequen)m(t)29 b(assignmen)m(t)i(or)f(unset.)41
-b(If)29 b(the)i Ft(-f)e Fu(option)i(is)f(supplied,)f(eac)m(h)i
-Fr(name)k Fu(refers)630 4682 y(to)30 b(a)f(shell)g(function.)40
-b(The)29 b Ft(-a)f Fu(option)i(means)e(eac)m(h)j Fr(name)j
-Fu(refers)28 b(to)i(an)f(indexed)f(arra)m(y)630 4792
-y(v)-5 b(ariable;)28 b(the)f Ft(-A)e Fu(option)h(means)g(eac)m(h)h
-Fr(name)k Fu(refers)26 b(to)g(an)g(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5
-b(ariable.)630 4902 y(If)35 b(b)s(oth)g(options)h(are)h(supplied,)f
-Ft(-A)f Fu(tak)m(es)i(precedence.)58 b(If)35 b(no)h Fr(name)k
-Fu(argumen)m(ts)d(are)630 5011 y(supplied,)44 b(or)f(if)f(the)g
-Ft(-p)g Fu(option)h(is)f(supplied,)i(prin)m(t)e(a)h(list)g(of)f(all)h
-(readonly)g(names.)630 5121 y(The)32 b(other)g(options)g(ma)m(y)h(b)s
-(e)f(used)f(to)i(restrict)g(the)f(output)g(to)h(a)f(subset)g(of)g(the)g
-(set)h(of)630 5230 y(readonly)26 b(names.)40 b(The)25
-b Ft(-p)h Fu(option)g(displa)m(ys)h(output)f(in)f(a)i(format)g(that)f
-(ma)m(y)h(b)s(e)f(reused)630 5340 y(as)31 b(input.)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 Ft(readonly)25
-b Fu(allo)m(ws)j(the)f(v)-5 b(alue)27 b(of)h(a)f(v)-5
-b(ariable)28 b(to)f(b)s(e)g(set)g(at)h(the)f(same)g(time)h(the)f
-(readonly)630 408 y(attribute)j(is)f(c)m(hanged)g(b)m(y)g(follo)m(wing)
-h(the)g(v)-5 b(ariable)29 b(name)g(with)g(=)p Fr(v)-5
-b(alue)p Fu(.)40 b(This)28 b(sets)i(the)630 518 y(v)-5
-b(alue)31 b(of)f(the)h(v)-5 b(ariable)31 b(is)g(to)g
-Fr(v)-5 b(alue)36 b Fu(while)30 b(mo)s(difying)g(the)g(readonly)h
-(attribute.)630 647 y(The)g(return)f(status)h(is)h(zero)g(unless)e(an)h
-(in)m(v)-5 b(alid)32 b(option)g(is)f(supplied,)f(one)i(of)f(the)h
-Fr(name)630 757 y Fu(argumen)m(ts)38 b(is)g(not)g(a)h(v)-5
-b(alid)38 b(shell)g(v)-5 b(ariable)39 b(or)f(function)f(name,)j(or)e
-(the)g Ft(-f)g Fu(option)g(is)630 866 y(supplied)29 b(with)h(a)h(name)f
-(that)h(is)g(not)f(a)h(shell)g(function.)150 1014 y Ft(return)870
-1143 y(return)46 b([)p Fj(n)p Ft(])630 1272 y Fu(Stop)22
-b(executing)h(a)f(shell)g(function)g(or)f(sourced)h(\014le)g(and)f
-(return)g(the)h(v)-5 b(alue)22 b Fr(n)g Fu(to)g(its)g(caller.)630
-1382 y(If)38 b Fr(n)h Fu(is)g(not)g(supplied,)h(the)f(return)e(v)-5
-b(alue)40 b(is)f(the)g(exit)g(status)g(of)g(the)g(last)h(command)630
-1491 y(executed.)51 b(If)33 b Ft(return)f Fu(is)i(executed)g(b)m(y)g(a)
-g(trap)f(handler,)h(the)g(last)g(command)f(used)g(to)630
-1601 y(determine)e(the)g(status)h(is)f(the)g(last)h(command)e(executed)
-i(b)s(efore)f(the)g(trap)g(handler.)41 b(If)630 1711
-y Ft(return)31 b Fu(is)h(executed)h(during)e(a)i Ft(DEBUG)e
-Fu(trap,)i(the)g(last)g(command)f(used)g(to)h(determine)630
-1820 y(the)26 b(status)g(is)g(the)g(last)h(command)f(executed)g(b)m(y)g
-(the)g(trap)g(handler)f(b)s(efore)g Ft(return)g Fu(w)m(as)630
-1930 y(in)m(v)m(ok)m(ed.)630 2059 y(When)f Ft(return)f
-Fu(is)h(used)f(to)i(terminate)g(execution)h(of)e(a)h(script)f(b)s(eing)
-g(executed)h(with)f(the)630 2168 y Ft(.)34 b Fu(\()p
-Ft(source)p Fu(\))g(builtin,)h(it)h(returns)d(either)i
-Fr(n)f Fu(or)h(the)g(exit)g(status)g(of)g(the)g(last)g(command)630
-2278 y(executed)d(within)f(the)g(script)g(as)g(the)g(exit)h(status)g
-(of)f(the)g(script.)43 b(If)31 b Fr(n)f Fu(is)h(supplied,)g(the)630
-2388 y(return)e(v)-5 b(alue)31 b(is)g(its)f(least)i(signi\014can)m(t)f
-(8)g(bits.)630 2516 y(An)m(y)39 b(command)f(asso)s(ciated)j(with)d(the)
-h Ft(RETURN)e Fu(trap)i(is)g(executed)g(b)s(efore)g(execution)630
-2626 y(resumes)30 b(after)h(the)f(function)g(or)h(script.)630
-2755 y(The)39 b(return)f(status)i(is)g(non-zero)g(if)f
-Ft(return)f Fu(is)h(supplied)g(a)g(non-n)m(umeric)g(argumen)m(t)630
-2865 y(or)34 b(is)g(used)f(outside)h(a)g(function)g(and)f(not)i(during)
-d(the)i(execution)h(of)f(a)h(script)f(b)m(y)f Ft(.)h
-Fu(or)630 2974 y Ft(source)p Fu(.)150 3122 y Ft(shift)870
-3251 y(shift)46 b([)p Fj(n)p Ft(])630 3380 y Fu(Shift)26
-b(the)h(p)s(ositional)g(parameters)g(to)h(the)f(left)g(b)m(y)g
-Fr(n)p Fu(:)38 b(the)27 b(p)s(ositional)g(parameters)g(from)630
-3490 y Fr(n)p Ft(+)p Fu(1)h(.)22 b(.)g(.)34 b Ft($#)22
-b Fu(are)h(renamed)g(to)g Ft($1)28 b Fu(.)22 b(.)g(.)34
-b Ft($#)p Fu(-)p Fr(n)p Fu(.)j(P)m(arameters)24 b(represen)m(ted)f(b)m
-(y)g(the)f(n)m(um)m(b)s(ers)630 3599 y Ft($#)35 b Fu(do)m(wn)g(to)h
-Ft($#)p Fu(-)p Fr(n)p Ft(+)p Fu(1)f(are)g(unset.)56 b
-Fr(n)35 b Fu(m)m(ust)g(b)s(e)g(a)h(non-negativ)m(e)h(n)m(um)m(b)s(er)d
-(less)i(than)f(or)630 3709 y(equal)f(to)f Ft($#)p Fu(.)48
-b(If)33 b Fr(n)f Fu(is)h(not)g(supplied,)g(it)h(is)f(assumed)f(to)i(b)s
-(e)e(1.)49 b(If)32 b Fr(n)h Fu(is)g(zero)h(or)f(greater)630
-3819 y(than)f Ft($#)p Fu(,)g(the)h(p)s(ositional)f(parameters)h(are)g
-(not)f(c)m(hanged.)47 b(The)31 b(return)g(status)i(is)f(zero)630
-3928 y(unless)e Fr(n)f Fu(is)i(greater)g(than)g Ft($#)e
-Fu(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
-4076 y Ft(test)150 4186 y([)870 4315 y(test)47 b Fj(expr)630
-4444 y Fu(Ev)-5 b(aluate)43 b(a)f(conditional)h(expression)f
-Fr(expr)48 b Fu(and)41 b(return)g(a)h(status)g(of)g(0)g(\(true\))h(or)f
-(1)630 4554 y(\(false\).)g(Eac)m(h)31 b(op)s(erator)f(and)f(op)s(erand)
-g(m)m(ust)h(b)s(e)f(a)i(separate)g(argumen)m(t.)41 b(Expressions)630
-4663 y(are)26 b(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s
-(elo)m(w)h(in)g(Section)h(6.4)h([Bash)e(Conditional)630
-4773 y(Expressions],)35 b(page)h(104.)55 b Ft(test)34
-b Fu(do)s(es)g(not)h(accept)h(an)m(y)f(options,)i(nor)d(do)s(es)g(it)h
-(accept)630 4882 y(and)28 b(ignore)g(an)h(argumen)m(t)f(of)h
-Ft(--)e Fu(as)i(signifying)f(the)h(end)e(of)i(options.)40
-b(When)28 b(using)g(the)630 4992 y Ft([)i Fu(form,)g(the)h(last)g
-(argumen)m(t)g(to)g(the)f(command)h(m)m(ust)f(b)s(e)g(a)g
-Ft(])p Fu(.)630 5121 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i
-(using)f(the)h(follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)
-630 5230 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
-b(aluation)33 b(dep)s(ends)28 b(on)j(the)g(n)m(um)m(b)s(er)f(of)h
-(argumen)m(ts;)g(see)630 5340 y(b)s(elo)m(w.)41 b Ft(test)29
-b Fu(uses)h(op)s(erator)h(precedence)g(when)e(there)i(are)f(\014v)m(e)h
-(or)f(more)h(argumen)m(ts.)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(!)30
-b Fj(expr)210 b Fu(T)-8 b(rue)30 b(if)g Fr(expr)37 b
-Fu(is)30 b(false.)630 454 y Ft(\()g Fj(expr)f Ft(\))133
-b Fu(Returns)36 b(the)i(v)-5 b(alue)37 b(of)g Fr(expr)p
-Fu(.)61 b(This)36 b(ma)m(y)i(b)s(e)f(used)f(to)i(o)m(v)m(erride)g
-(normal)1110 564 y(op)s(erator)31 b(precedence.)630 719
-y Fj(expr1)e Ft(-a)h Fj(expr2)1110 829 y Fu(T)-8 b(rue)30
-b(if)g(b)s(oth)g Fr(expr1)37 b Fu(and)30 b Fr(expr2)38
-b Fu(are)30 b(true.)630 984 y Fj(expr1)f Ft(-o)h Fj(expr2)1110
-1093 y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expr1)38 b
-Fu(or)30 b Fr(expr2)37 b Fu(is)31 b(true.)630 1249 y(The)37
-b Ft(test)f Fu(and)g Ft([)h Fu(builtins)g(ev)-5 b(aluate)39
-b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)630
-1358 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
-1513 y(0)h(argumen)m(ts)1110 1623 y(The)f(expression)g(is)g(false.)630
-1778 y(1)h(argumen)m(t)1110 1888 y(The)f(expression)g(is)g(true)h(if,)f
-(and)g(only)g(if,)h(the)g(argumen)m(t)f(is)h(not)f(n)m(ull.)630
-2043 y(2)h(argumen)m(ts)1110 2153 y(If)f(the)h(\014rst)f(argumen)m(t)h
-(is)g(`)p Ft(!)p Fu(',)g(the)g(expression)g(is)g(true)f(if)h(and)f
-(only)h(if)g(the)1110 2262 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
-b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary)
-1110 2372 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
-([Bash)g(Conditional)g(Expres-)1110 2482 y(sions],)30
-b(page)h(104\),)g(the)f(expression)g(is)f(true)h(if)f(the)h(unary)f
-(test)h(is)g(true.)40 b(If)1110 2591 y(the)33 b(\014rst)g(argumen)m(t)h
-(is)f(not)g(a)h(v)-5 b(alid)34 b(unary)e(op)s(erator,)i(the)g
-(expression)f(is)1110 2701 y(false.)630 2856 y(3)e(argumen)m(ts)1110
-2966 y(The)f(follo)m(wing)i(conditions)f(are)f(applied)h(in)f(the)g
-(order)g(listed.)1159 3098 y(1.)61 b(If)29 b(the)g(second)g(argumen)m
-(t)h(is)f(one)h(of)f(the)h(binary)e(conditional)j(op)s(era-)1290
-3208 y(tors)21 b(\(see)i(Section)f(6.4)g([Bash)g(Conditional)f
-(Expressions],)i(page)f(104\),)1290 3317 y(the)i(result)g(of)f(the)h
-(expression)g(is)g(the)f(result)h(of)g(the)g(binary)f(test)h(using)1290
-3427 y(the)35 b(\014rst)e(and)h(third)g(argumen)m(ts)h(as)f(op)s
-(erands.)52 b(The)34 b(`)p Ft(-a)p Fu(')g(and)g(`)p Ft(-o)p
-Fu(')1290 3536 y(op)s(erators)24 b(are)g(considered)g(binary)f(op)s
-(erators)h(when)f(there)h(are)h(three)1290 3646 y(argumen)m(ts.)1159
-3778 y(2.)61 b(If)41 b(the)h(\014rst)e(argumen)m(t)i(is)f(`)p
-Ft(!)p Fu(',)k(the)d(v)-5 b(alue)41 b(is)h(the)f(negation)i(of)f(the)
-1290 3888 y(t)m(w)m(o-argumen)m(t)33 b(test)e(using)f(the)g(second)h
-(and)e(third)h(argumen)m(ts.)1159 4020 y(3.)61 b(If)35
-b(the)h(\014rst)e(argumen)m(t)i(is)g(exactly)h(`)p Ft(\()p
-Fu(')f(and)f(the)g(third)g(argumen)m(t)h(is)1290 4130
-y(exactly)i(`)p Ft(\))p Fu(',)g(the)f(result)f(is)h(the)f(one-argumen)m
-(t)i(test)f(of)f(the)h(second)1290 4240 y(argumen)m(t.)1159
-4372 y(4.)61 b(Otherwise,)30 b(the)h(expression)f(is)g(false.)630
-4527 y(4)h(argumen)m(ts)1110 4637 y(The)f(follo)m(wing)i(conditions)f
-(are)f(applied)h(in)f(the)g(order)g(listed.)1159 4769
-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
-4879 y(three-argumen)m(t)k(expression)e(comp)s(osed)g(of)h(the)g
-(remaining)g(argu-)1290 4988 y(men)m(ts.)1159 5121 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
-5230 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 5340
-y(and)30 b(third)f(argumen)m(ts.)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)1159 299 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 408 y(precedence)31
-b(using)f(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
-576 y(5)g(or)f(more)h(argumen)m(ts)1110 685 y(The)43
-b(expression)f(is)i(parsed)e(and)g(ev)-5 b(aluated)45
-b(according)f(to)f(precedence)1110 795 y(using)30 b(the)g(rules)g
-(listed)h(ab)s(o)m(v)m(e.)630 962 y(If)24 b(the)h(shell)g(is)f(in)h
-Fm(posix)e Fu(mo)s(de,)j(or)f(if)f(the)h(expression)f(is)h(part)f(of)h
-(the)g Ft([[)f Fu(command,)i(the)630 1072 y(`)p Ft(<)p
-Fu(')34 b(and)e(`)p Ft(>)p Fu(')i(op)s(erators)g(sort)f(using)g(the)h
-(curren)m(t)f(lo)s(cale.)52 b(If)33 b(the)h(shell)f(is)h(not)g(in)f
-Fm(posix)630 1181 y Fu(mo)s(de,)28 b(the)f Ft(test)f
-Fu(and)g(`)p Ft([)p Fu(')h(commands)g(sort)g(lexicographically)j(using)
-c(ASCI)s(I)g(ordering.)630 1320 y(The)k(historical)i(op)s
-(erator-precedence)f(parsing)f(with)g(4)h(or)f(more)h(argumen)m(ts)g
-(can)f(lead)630 1429 y(to)k(am)m(biguities)g(when)e(it)i(encoun)m(ters)
-f(strings)g(that)h(lo)s(ok)f(lik)m(e)i(primaries.)48
-b(The)33 b Fm(posix)630 1539 y Fu(standard)42 b(has)g(deprecated)i(the)
-f Ft(-a)f Fu(and)g Ft(-o)g Fu(primaries)g(and)h(enclosing)g
-(expressions)630 1649 y(within)28 b(paren)m(theses.)40
-b(Scripts)28 b(should)f(no)h(longer)h(use)f(them.)40
-b(It's)28 b(m)m(uc)m(h)g(more)h(reliable)630 1758 y(to)f(restrict)f
-(test)h(in)m(v)m(o)s(cations)h(to)e(a)g(single)h(primary)-8
-b(,)27 b(and)f(to)i(replace)g(uses)e(of)h Ft(-a)f Fu(and)h
-Ft(-o)630 1868 y Fu(with)j(the)h(shell's)f Ft(&&)g Fu(and)g
-Ft(||)g Fu(list)h(op)s(erators.)41 b(F)-8 b(or)31 b(example,)g(use)870
-2006 y Ft(test)47 b(-n)g(string1)f(&&)h(test)f(-n)i(string2)630
-2145 y Fu(instead)31 b(of)870 2283 y Ft(test)47 b(-n)g(string1)f(-a)h
-(-n)g(string2)150 2450 y(times)870 2589 y(times)630 2727
-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
-2837 y(return)29 b(status)i(is)f(zero.)150 3004 y Ft(trap)870
-3142 y(trap)47 b([-lpP])f([)p Fj(action)p Ft(])f([)p
-Fj(sigspec)h Ft(...)o(])630 3281 y Fu(The)27 b Fr(action)i
-Fu(is)e(a)h(command)f(that)h(is)f(read)h(and)f(executed)h(when)e(the)i
-(shell)f(receiv)m(es)j(an)m(y)630 3390 y(of)d(the)g(signals)h
-Fr(sigsp)s(ec)p Fu(.)39 b(If)27 b Fr(action)h Fu(is)f(absen)m(t)g
-(\(and)g(there)g(is)g(a)g(single)h Fr(sigsp)s(ec)6 b
-Fu(\))27 b(or)f(equal)630 3500 y(to)j(`)p Ft(-)p Fu(',)g(eac)m(h)h(sp)s
-(eci\014ed)e Fr(sigsp)s(ec)6 b Fu('ss)28 b(disp)s(osition)g(is)h(reset)
-g(to)g(the)f(v)-5 b(alue)29 b(it)g(had)f(when)g(the)630
-3610 y(shell)k(w)m(as)h(started.)47 b(If)32 b Fr(action)h
-Fu(is)f(the)h(n)m(ull)f(string,)h(then)f(the)g(signal)h(sp)s(eci\014ed)
-f(b)m(y)g(eac)m(h)630 3719 y Fr(sigsp)s(ec)k Fu(is)30
-b(ignored)h(b)m(y)f(the)h(shell)f(and)g(commands)g(it)h(in)m(v)m(ok)m
-(es.)630 3858 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 3967 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 4077 y(restore)i(the)g(curren)m(t)f(signal)h(disp)s
-(ositions.)630 4215 y(If)g Fr(action)h Fu(is)g(not)f(presen)m(t)g(and)g
-Ft(-p)f Fu(has)h(b)s(een)g(supplied,)f Ft(trap)g Fu(displa)m(ys)i(the)f
-(trap)g(com-)630 4325 y(mands)44 b(asso)s(ciated)j(with)e(eac)m(h)h
-Fr(sigsp)s(ec)p Fu(,)k(or,)f(if)c(no)h Fr(sigsp)s(ec)6
-b Fu(s)44 b(are)i(supplied,)i(for)d(all)630 4434 y(trapp)s(ed)33
-b(signals,)j(as)e(a)h(set)f(of)h Ft(trap)e Fu(commands)g(that)i(can)f
-(b)s(e)g(reused)f(as)i(shell)f(input)630 4544 y(to)c(restore)g(the)g
-(curren)m(t)f(signal)h(disp)s(ositions.)40 b(The)28 b
-Ft(-P)h Fu(option)h(b)s(eha)m(v)m(es)g(similarly)-8 b(,)31
-b(but)630 4654 y(displa)m(ys)37 b(only)f(the)h(actions)h(asso)s(ciated)
-g(with)e(eac)m(h)i Fr(sigsp)s(ec)43 b Fu(argumen)m(t.)59
-b Ft(-P)36 b Fu(requires)630 4763 y(at)30 b(least)g(one)g
-Fr(sigsp)s(ec)35 b Fu(argumen)m(t.)40 b(The)29 b Ft(-P)g
-Fu(or)g Ft(-p)f Fu(options)i(ma)m(y)g(b)s(e)e(used)g(in)h(a)h(subshell)
-630 4873 y(en)m(vironmen)m(t)g(\(e.g.,)h(command)e(substitution\))g
-(and,)f(as)i(long)f(as)h(they)f(are)g(used)f(b)s(efore)630
-4982 y Ft(trap)g Fu(is)i(used)f(to)h(c)m(hange)g(a)g(signal's)h
-(handling,)e(will)h(displa)m(y)f(the)h(state)h(of)f(its)g(paren)m(t's)
-630 5092 y(traps.)630 5230 y(The)35 b Ft(-l)f Fu(option)h(prin)m(ts)g
-(a)g(list)h(of)f(signal)h(names)f(and)f(their)h(corresp)s(onding)f(n)m
-(um)m(b)s(ers.)630 5340 y(Eac)m(h)c Fr(sigsp)s(ec)k Fu(is)29
-b(either)g(a)h(signal)f(name)g(or)g(a)g(signal)h(n)m(um)m(b)s(er.)39
-b(Signal)29 b(names)g(are)g(case)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)630 299 y(insensitiv)m(e)42
-b(and)e(the)h Ft(SIG)f Fu(pre\014x)f(is)i(optional.)73
-b(If)40 b Ft(-l)g Fu(is)h(supplied)e(with)i(no)f Fr(sigsp)s(ec)630
-408 y Fu(argumen)m(ts,)31 b(it)g(prin)m(ts)f(a)g(list)h(of)g(v)-5
-b(alid)31 b(signal)g(names.)630 539 y(If)e(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 648 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 758 y
-Fu(command,)29 b Ft(select)d Fu(command,)j(\(\()g(arithmetic)h
-(command,)e([[)h(conditional)h(command,)630 867 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 977 y(function.)38 b(Refer)22
-b(to)g(the)g(description)g(of)g(the)g Ft(extdebug)e Fu(shell)i(option)h
-(\(see)f(Section)h(4.3.2)630 1087 y([The)36 b(Shopt)f(Builtin],)k(page)
-e(77\))g(for)f(details)i(of)e(its)h(e\013ect)g(on)f(the)h
-Ft(DEBUG)e Fu(trap.)58 b(If)36 b(a)630 1196 y Fr(sigsp)s(ec)49
-b Fu(is)44 b Ft(RETURN)p Fu(,)h Fr(action)g Fu(is)e(executed)h(eac)m(h)
-h(time)f(a)g(shell)g(function)f(or)g(a)h(script)630 1306
-y(executed)31 b(with)f(the)h Ft(.)f Fu(or)g Ft(source)f
-Fu(builtins)h(\014nishes)f(executing.)630 1436 y(If)c(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 1545 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
-1655 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 1765 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
-1874 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 1984 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 2093 y(\014nal)29 b Ft(&&)g Fu(or)g Ft(||)p
-Fu(,)h(an)m(y)f(command)h(in)f(a)h(pip)s(eline)f(but)f(the)i(last,)h
-(\(sub)5 b(ject)29 b(to)h(the)g(state)h(of)630 2203 y(the)d
-Ft(pipefail)e Fu(shell)i(option\),)h(or)f(if)f(the)h(command's)g
-(return)f(status)h(is)g(b)s(eing)f(in)m(v)m(erted)630
-2313 y(using)j Ft(!)p Fu(.)40 b(These)30 b(are)h(the)g(same)g
-(conditions)f(ob)s(ey)m(ed)h(b)m(y)f(the)h Ft(errexit)d
-Fu(\()p Ft(-e)p Fu(\))j(option.)630 2443 y(When)22 b(the)g(shell)g(is)g
-(not)g(in)m(teractiv)m(e,)27 b(signals)22 b(ignored)g(up)s(on)e(en)m
-(try)i(to)h(a)f(non-in)m(teractiv)m(e)630 2552 y(shell)44
-b(cannot)g(b)s(e)f(trapp)s(ed)f(or)i(reset.)81 b(In)m(teractiv)m(e)46
-b(shells)d(p)s(ermit)g(trapping)g(signals)630 2662 y(ignored)31
-b(on)f(en)m(try)-8 b(.)41 b(T)-8 b(rapp)s(ed)29 b(signals)i(that)g(are)
-g(not)g(b)s(eing)f(ignored)g(are)h(reset)g(to)g(their)630
-2771 y(original)h(v)-5 b(alues)30 b(in)g(a)h(subshell)f(or)g(subshell)f
-(en)m(vironmen)m(t)i(when)f(one)g(is)h(created.)630 2902
-y(The)g(return)g(status)i(is)f(zero)g(unless)g(a)g Fr(sigsp)s(ec)38
-b Fu(do)s(es)31 b(not)h(sp)s(ecify)g(a)g(v)-5 b(alid)33
-b(signal;)g(non-)630 3011 y(zero)e(otherwise.)150 3162
-y Ft(true)870 3292 y(true)630 3422 y Fu(Do)s(es)g(nothing,)g(returns)e
-(a)h(0)h(status.)150 3573 y Ft(umask)870 3703 y(umask)46
-b([-p])h([-S])g([)p Fj(mode)p Ft(])630 3833 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 3943 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 4052 y(mask)40 b(similar)h(to)g(that)
-f(accepted)i(b)m(y)e(the)g Ft(chmod)f Fu(command.)70
-b(If)40 b Fr(mo)s(de)k Fu(is)d(omitted,)630 4162 y Ft(umask)24
-b Fu(prin)m(ts)h(the)h(curren)m(t)g(v)-5 b(alue)26 b(of)g(the)f(mask.)
-40 b(If)25 b(the)h Ft(-S)f Fu(option)h(is)g(supplied)e(without)630
-4271 y(a)41 b Fr(mo)s(de)k Fu(argumen)m(t,)f Ft(umask)39
-b Fu(prin)m(ts)h(the)g(mask)h(in)f(a)h(sym)m(b)s(olic)g(format;)46
-b(the)41 b(default)630 4381 y(output)32 b(is)g(an)g(o)s(ctal)i(n)m(um)m
-(b)s(er.)45 b(If)31 b(the)i Ft(-p)e Fu(option)i(is)f(supplied,)g(and)g
-Fr(mo)s(de)k Fu(is)d(omitted,)630 4491 y(the)e(output)e(is)i(in)f(a)h
-(form)e(that)i(ma)m(y)g(b)s(e)f(reused)g(as)g(input.)40
-b(The)30 b(return)f(status)i(is)f(zero)630 4600 y(if)38
-b(the)h(mo)s(de)f(is)g(successfully)h(c)m(hanged)g(or)f(if)h(no)f
-Fr(mo)s(de)43 b Fu(argumen)m(t)c(is)f(supplied,)i(and)630
-4710 y(non-zero)31 b(otherwise.)630 4840 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 4950 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 5059 y(of)d
-Ft(755)p Fu(.)150 5210 y Ft(unset)870 5340 y(unset)46
-b([-fnv])g([)p Fj(name)p Ft(])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(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 408 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
-518 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 628 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 737 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
-847 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 956 y(v)-5 b(ariable;)29 b(if)d(there)g(is)h
-(no)f(v)-5 b(ariable)27 b(b)m(y)f(that)h(name,)h(a)e(function)g(with)g
-(that)h(name,)h(if)e(an)m(y)-8 b(,)630 1066 y(is)32 b(unset.)47
-b(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)g(ma)m(y)h(not)f
-(b)s(e)g(unset.)46 b(When)32 b(v)-5 b(ariables)630 1176
-y(or)33 b(functions)f(are)h(remo)m(v)m(ed,)h(they)f(are)g(also)h(remo)m
-(v)m(ed)f(from)f(the)h(en)m(vironmen)m(t)g(passed)630
-1285 y(to)h(subsequen)m(t)g(commands.)50 b(Some)34 b(shell)g(v)-5
-b(ariables)34 b(ma)m(y)g(not)g(b)s(e)g(unset.)50 b(Some)34
-b(shell)630 1395 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 1504 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 1614 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m(y)g(not)f(b)s
-(e)g(unset.)150 1862 y Fs(4.2)68 b(Bash)45 b(Builtin)g(Commands)150
-2022 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
-2131 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 2298 y Ft(alias)870
-2435 y(alias)46 b([-p])h([)p Fj(name)p Ft([=)p Fj(value)p
-Ft(])d(...)o(])630 2573 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 2682 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 2792 y(are)37 b(supplied,)g(de\014ne)e(an)h
-(alias)i(for)e(eac)m(h)i Fr(name)j Fu(whose)36 b Fr(v)-5
-b(alue)42 b Fu(is)37 b(giv)m(en.)59 b(If)36 b(no)g Fr(v)-5
-b(alue)630 2901 y Fu(is)31 b(giv)m(en,)h(prin)m(t)f(the)g(name)g(and)f
-(v)-5 b(alue)32 b(of)f(the)g(alias)h Fr(name)p Fu(.)42
-b(A)31 b(trailing)h(space)g(in)e Fr(v)-5 b(alue)630 3011
-y Fu(causes)44 b(the)g(next)f(w)m(ord)h(to)g(b)s(e)f(c)m(hec)m(k)m(ed)i
-(for)f(alias)h(substitution)e(when)f(the)i(alias)h(is)630
-3120 y(expanded)29 b(during)f(command)h(parsing.)40 b
-Ft(alias)28 b Fu(returns)h(true)g(unless)g(a)h Fr(name)k
-Fu(is)c(giv)m(en)630 3230 y(\(without)h(a)g(corresp)s(onding)f(=)p
-Fr(v)-5 b(alue)5 b Fu(\))32 b(for)e(whic)m(h)h(no)f(alias)i(has)f(b)s
-(een)f(de\014ned.)41 b(Aliases)630 3340 y(are)31 b(describ)s(ed)e(in)h
-(Section)h(6.6)h([Aliases],)g(page)f(108.)150 3504 y
-Ft(bind)870 3641 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lsvSVX])870
-3751 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
-3860 y(bind)g([-m)g Fj(keymap)p Ft(])e(-f)j Fj(filename)870
-3970 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e(-x)j Fj(keyseq[:)d
-(]shell-command)870 4080 y Ft(bind)i([-m)g Fj(keymap)p
-Ft(])e Fj(keyseq:function-name)870 4189 y Ft(bind)i([-m)g
-Fj(keymap)p Ft(])e Fj(keyseq:readline-command)870 4299
-y Ft(bind)i([-m)g Fj(keymap)p Ft(])e(-p|-P)i([)p Fj(readline-command)p
-Ft(])870 4408 y(bind)g Fj(readline-command-line)630 4545
-y Fu(Displa)m(y)38 b(curren)m(t)e(Readline)h(\(see)g(Chapter)f(8)h
-([Command)f(Line)g(Editing],)j(page)e(128\))630 4655
-y(k)m(ey)26 b(and)f(function)g(bindings,)h(bind)e(a)i(k)m(ey)g
-(sequence)g(to)h(a)e(Readline)i(function)e(or)g(macro)630
-4765 y(or)g(to)i(a)f(shell)f(command,)i(or)e(set)h(a)g(Readline)g(v)-5
-b(ariable.)40 b(Eac)m(h)26 b(non-option)g(argumen)m(t)g(is)630
-4874 y(a)c(k)m(ey)g(binding)e(or)h(command)g(as)h(it)f(w)m(ould)g(app)s
-(ear)g(in)g(a)h(Readline)f(initialization)k(\014le)c(\(see)630
-4984 y(Section)30 b(8.3)h([Readline)f(Init)g(File],)h(page)g(131\),)g
-(but)e(eac)m(h)i(binding)d(or)i(command)f(m)m(ust)630
-5093 y(b)s(e)h(passed)g(as)g(a)h(separate)g(argumen)m(t;)g(e.g.,)h(`)p
-Ft("\\C-x\\C-r":re-read-init-fi)o(le)p Fu('.)630 5230
-y(In)27 b(the)g(follo)m(wing)i(descriptions,)g(options)e(that)h(displa)
-m(y)g(output)f(in)g(a)h(form)f(a)m(v)-5 b(ailable)30
-b(to)630 5340 y(b)s(e)i(re-read)h(format)f(their)h(output)f(as)h
-(commands)f(that)h(w)m(ould)f(app)s(ear)g(in)g(a)h(Readline)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)630 299 y(initialization)36
-b(\014le)c(or)h(that)g(w)m(ould)g(b)s(e)f(supplied)f(as)i(individual)g
-(argumen)m(ts)g(to)g(a)g Ft(bind)630 408 y Fu(command.)630
-542 y(Options,)d(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 701 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 810 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 920 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 1029 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 1139 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 1297 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 1456 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 1565 y(they)h(can)g(b)s(e)f(used)f(as)i(an)g
-(argumen)m(t)g(to)g(a)g(subsequen)m(t)f Ft(bind)f Fu(command)1110
-1675 y(or)37 b(in)g(a)h(Readline)f(initialization)k(\014le.)61
-b(If)36 b(argumen)m(ts)i(remain)f(after)h(op-)1110 1784
-y(tion)29 b(pro)s(cessing,)g Ft(bind)e Fu(treats)j(them)e(as)h
-(readline)g(command)f(names)h(and)1110 1894 y(restricts)i(output)f(to)h
-(those)g(names.)630 2052 y Ft(-P)384 b Fu(List)36 b(curren)m(t)f
-(Readline)h(function)f(names)h(and)f(bindings.)55 b(If)35
-b(argumen)m(ts)1110 2162 y(remain)d(after)h(option)f(pro)s(cessing,)h
-Ft(bind)e Fu(treats)i(them)f(as)h(readline)f(com-)1110
-2271 y(mand)e(names)g(and)g(restricts)h(output)f(to)h(those)g(names.)
-630 2430 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
-2539 y(they)e(output)f(in)g(suc)m(h)g(a)h(w)m(a)m(y)g(that)g(they)f
-(can)h(b)s(e)f(used)g(as)g(an)g(argumen)m(t)1110 2649
-y(to)d(a)g(subsequen)m(t)f Ft(bind)f Fu(command)h(or)g(in)g(a)h
-(Readline)g(initialization)i(\014le.)630 2807 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 2917 y(they)31 b(output.)630
-3075 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 3185 y(can)33 b(b)s(e)e(used)h(as)g(an)g
-(argumen)m(t)h(to)g(a)f(subsequen)m(t)g Ft(bind)f Fu(command)h(or)g(in)
-1110 3294 y(a)f(Readline)g(initialization)i(\014le.)630
-3453 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 3611 y
-Ft(-f)30 b Fj(filename)1110 3720 y Fu(Read)h(k)m(ey)g(bindings)e(from)h
-Fr(\014lename)p Fu(.)630 3879 y Ft(-q)g Fj(function)1110
-3988 y Fu(Displa)m(y)i(k)m(ey)f(sequences)f(that)h(in)m(v)m(ok)m(e)i
-(the)d(named)g(Readline)h Fr(function)p Fu(.)630 4147
-y Ft(-u)f Fj(function)1110 4256 y Fu(Un)m(bind)f(all)i(k)m(ey)h
-(sequences)e(b)s(ound)f(to)i(the)f(named)g(Readline)h
-Fr(function)p Fu(.)630 4415 y Ft(-r)f 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 4573 y Ft(-x)g Fj(keyseq:shell-command)1110
-4682 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
-4792 y(The)c(separator)i(b)s(et)m(w)m(een)g Fr(k)m(eyseq)i
-Fu(and)c Fr(shell-command)36 b Fu(is)c(either)h(white-)1110
-4902 y(space)26 b(or)g(a)g(colon)h(optionally)g(follo)m(w)m(ed)g(b)m(y)
-e(whitespace.)40 b(If)25 b(the)h(separator)1110 5011
-y(is)40 b(whitespace,)i Fr(shell-command)i Fu(m)m(ust)39
-b(b)s(e)g(enclosed)h(in)f(double)g(quotes)1110 5121 y(and)30
-b(Readline)g(expands)g(an)m(y)g(of)h(its)f(sp)s(ecial)h(bac)m
-(kslash-escap)s(es)h(in)d Fr(shell-)1110 5230 y(command)47
-b Fu(b)s(efore)c(sa)m(ving)i(it.)80 b(If)43 b(the)h(separator)g(is)g(a)
-g(colon,)k(an)m(y)c(en-)1110 5340 y(closing)35 b(double)e(quotes)g(are)
-h(optional,)i(and)d(Readline)h(do)s(es)f(not)h(expand)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)1110 299 y(the)32
-b(command)g(string)h(b)s(efore)e(sa)m(ving)j(it.)46 b(Since)32
-b(the)h(en)m(tire)g(k)m(ey)g(binding)1110 408 y(expression)28
-b(m)m(ust)h(b)s(e)f(a)h(single)h(argumen)m(t,)f(it)h(should)d(b)s(e)h
-(enclosed)i(in)e(sin-)1110 518 y(gle)38 b(quotes.)62
-b(When)37 b Fr(shell-command)42 b Fu(is)37 b(executed,)j(the)e(shell)f
-(sets)h(thex)1110 628 y Ft(READLINE_LINE)25 b Fu(v)-5
-b(ariable)29 b(to)h(the)f(con)m(ten)m(ts)h(of)f(the)g(Readline)g(line)g
-(bu\013er)1110 737 y(and)e(the)h Ft(READLINE_POINT)c
-Fu(and)j Ft(READLINE_MARK)d Fu(v)-5 b(ariables)29 b(to)f(the)g(cur-)
-1110 847 y(ren)m(t)38 b(lo)s(cation)h(of)f(the)g(insertion)f(p)s(oin)m
-(t)h(and)f(the)h(sa)m(v)m(ed)g(insertion)g(p)s(oin)m(t)1110
-956 y(\(the)c Fr(mark)6 b Fu(\),)34 b(resp)s(ectiv)m(ely)-8
-b(.)51 b(The)33 b(shell)g(assigns)h(an)m(y)f(n)m(umeric)g(argumen)m(t)
-1110 1066 y(the)28 b(user)f(supplied)f(to)j(the)f Ft(READLINE_ARGUMENT)
-23 b Fu(v)-5 b(ariable.)40 b(If)28 b(there)g(w)m(as)1110
-1176 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
-1285 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
-1395 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
-1504 y(state.)630 1663 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 1772 y(commands)42 b(in)f(a)i(format)f(that)h(can)f(b)s(e)
-g(reused)f(as)h(an)g(argumen)m(t)h(to)g(a)1110 1882 y(subsequen)m(t)30
-b Ft(bind)f Fu(command.)630 2040 y(The)d(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 2198 y Ft(builtin)870 2332 y(builtin)46
-b([)p Fj(shell-builtin)e Ft([)p Fj(args)p Ft(]])630 2466
-y Fu(Execute)35 b(the)f(sp)s(eci\014ed)g(shell)g(builtin)g
-Fr(shell-builtin)p Fu(,)h(passing)f(it)h Fr(args)p Fu(,)h(and)d(return)
-h(its)630 2576 y(exit)h(status.)52 b(This)33 b(is)h(useful)f(when)g
-(de\014ning)g(a)h(shell)g(function)g(with)f(the)i(same)f(name)630
-2685 y(as)c(a)g(shell)f(builtin,)h(retaining)g(the)g(functionalit)m(y)h
-(of)f(the)f(builtin)g(within)g(the)h(function.)630 2795
-y(The)g(return)f(status)i(is)f(non-zero)h(if)g Fr(shell-builtin)f
-Fu(is)g(not)h(a)g(shell)f(builtin)g(command.)150 2953
-y Ft(caller)870 3087 y(caller)46 b([)p Fj(expr)p Ft(])630
-3221 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
-3331 y(executed)c(with)f(the)h Ft(.)f Fu(or)g Ft(source)f
-Fu(builtins\).)630 3465 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 3574 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
-3684 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
-3794 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
-3903 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
-4037 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 4147 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
-4305 y Ft(command)870 4439 y(command)46 b([-pVv])g Fj(command)g
-Ft([)p Fj(arguments)f Ft(...)o(])630 4573 y Fu(The)37
-b Ft(command)e Fu(builtin)i(runs)f Fr(command)k Fu(with)d
-Fr(argumen)m(ts)42 b Fu(ignoring)37 b(an)m(y)h(shell)g(func-)630
-4682 y(tion)h(named)g Fr(command)p Fu(.)66 b(Only)39
-b(shell)g(builtin)f(commands)h(or)g(commands)f(found)g(b)m(y)630
-4792 y(searc)m(hing)29 b(the)g Ft(PATH)e Fu(are)i(executed.)40
-b(If)28 b(there)h(is)f(a)h(shell)f(function)g(named)g
-Ft(ls)p Fu(,)h(running)630 4902 y(`)p Ft(command)g(ls)p
-Fu(')c(within)h(the)g(function)f(will)i(execute)g(the)f(external)h
-(command)e Ft(ls)h Fu(instead)630 5011 y(of)31 b(calling)h(the)f
-(function)g(recursiv)m(ely)-8 b(.)43 b(The)31 b Ft(-p)f
-Fu(option)h(means)g(to)h(use)e(a)h(default)g(v)-5 b(alue)630
-5121 y(for)40 b Ft(PATH)f Fu(that)i(is)f(guaran)m(teed)h(to)g(\014nd)d
-(all)j(of)f(the)h(standard)e(utilities.)71 b(The)40 b(return)630
-5230 y(status)26 b(in)g(this)g(case)h(is)f(127)h(if)f
-Fr(command)k Fu(cannot)c(b)s(e)g(found)e(or)j(an)e(error)h(o)s
-(ccurred,)h(and)630 5340 y(the)k(exit)g(status)g(of)f
-Fr(command)k Fu(otherwise.)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(If)49
-b(either)h(the)g Ft(-V)f Fu(or)g Ft(-v)g Fu(option)h(is)g(supplied,)j
-Ft(command)47 b Fu(prin)m(ts)i(a)h(description)g(of)630
-408 y Fr(command)p Fu(.)64 b(The)37 b Ft(-v)h Fu(option)g(displa)m(ys)h
-(a)f(single)h(w)m(ord)f(indicating)h(the)f(command)g(or)630
-518 y(\014le)k(name)g(used)f(to)h(in)m(v)m(ok)m(e)i Fr(command)t
-Fu(;)j(the)42 b Ft(-V)f Fu(option)h(pro)s(duces)f(a)h(more)g(v)m(erb)s
-(ose)630 628 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
-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(or)f(shell)h(functions)f(instead.)630 1410 y(The)35
-b 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)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
-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
-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
-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)43
-b(attributes)g(and)g(v)-5 b(alues)43 b(of)g(all)h(shell)f(v)-5
-b(ariables.)78 b(The)43 b Ft(-f)f Fu(option)h(restricts)h(the)630
-2202 y(displa)m(y)31 b(to)g(shell)f(functions.)630 2336
-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
-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
-(Builtin],)k(page)e(77\),)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
-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
-y(The)21 b Ft(-g)f Fu(option)i(forces)f(v)-5 b(ariables)22
-b(to)g(b)s(e)f(created)h(or)f(mo)s(di\014ed)f(at)i(the)f(global)i(scop)
-s(e,)g(ev)m(en)630 2909 y(when)28 b Ft(declare)g Fu(is)h(executed)i(in)
-e(a)h(shell)f(function.)40 b(It)30 b(is)f(ignored)h(in)f(when)f
-Ft(declare)g Fu(is)630 3019 y(not)j(executed)g(in)f(a)h(shell)f
-(function.)630 3153 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
-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
-(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
-(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
-(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
-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(109\).)630 4154 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(109\).)630 4423 y Ft(-f)384
-b Fu(Eac)m(h)31 b Fr(name)36 b Fu(refers)29 b(to)j(a)e(shell)h
-(function.)630 4583 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)41
-b(Section)f(6.5)h([Shell)e(Arithmetic],)44 b(page)c(106\))h(is)f(p)s
-(erformed)e(when)1110 4802 y(the)31 b(v)-5 b(ariable)31
-b(is)f(assigned)h(a)f(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
-%%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
-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(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(')f(instead)h(of)g
-(`)p Ft(-)p Fu(')g(turns)e(o\013)i(the)f(sp)s(eci\014ed)g(attribute)h
-(instead,)h(with)e(the)h(excep-)630 2071 y(tions)f(that)g(`)p
-Ft(+a)p Fu(')f(and)g(`)p Ft(+A)p Fu(')h(ma)m(y)g(not)f(b)s(e)g(used)g
-(to)h(destro)m(y)g(arra)m(y)g(v)-5 b(ariables)27 b(and)f(`)p
-Ft(+r)p Fu(')h(will)630 2181 y(not)k(remo)m(v)m(e)g(the)g(readonly)g
-(attribute.)630 2314 y(When)i(used)g(in)g(a)h(function,)g
-Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)j Fu(lo)s(cal,)e(as)e
-(with)f(the)g Ft(local)630 2424 y Fu(command,)j(unless)f(the)g
-Ft(-g)g Fu(option)g(is)g(supplied.)54 b(If)35 b(a)g(v)-5
-b(ariable)36 b(name)f(is)g(follo)m(w)m(ed)i(b)m(y)630
-2534 y(=)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)31 b(is)g(set)g(to)g Fr(v)-5
-b(alue)p Fu(.)630 2667 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 2777 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 2910 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 3020 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 3129 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 3239 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 3348 y([Arra)m(ys],)43 b(page)d(109\),)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
-3458 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
-3567 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
-3677 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
-Ft(-f)p Fu(.)150 3834 y Ft(echo)870 3968 y(echo)47 b([-neE])f([)p
-Fj(arg)g Ft(...])630 4101 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 4211 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 4320
-y(not)g(prin)m(ted.)630 4454 y(If)e(the)h Ft(-e)g Fu(option)g(is)g(giv)
-m(en,)h Ft(echo)e Fu(in)m(terprets)h(the)g(follo)m(wing)h(bac)m
-(kslash-escap)s(ed)g(c)m(har-)630 4563 y(acters.)39 b(The)23
-b Ft(-E)f Fu(option)h(disables)g(in)m(terpretation)i(of)e(these)g
-(escap)s(e)g(c)m(haracters,)j(ev)m(en)e(on)630 4673 y(systems)32
-b(where)f(they)h(are)g(in)m(terpreted)g(b)m(y)g(default.)45
-b(The)31 b Ft(xpg_echo)f Fu(shell)i(option)g(de-)630
-4783 y(termines)d(whether)g(or)g(not)h Ft(echo)e Fu(in)m(terprets)h(an)
-m(y)h(options)g(and)e(expands)h(these)g(escap)s(e)630
-4892 y(c)m(haracters.)42 b Ft(echo)29 b Fu(do)s(es)h(not)h(in)m
-(terpret)g Ft(--)f Fu(to)h(mean)f(the)h(end)e(of)i(options.)630
-5026 y Ft(echo)e Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
-(sequences:)630 5183 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630
-5340 y Ft(\\b)384 b Fu(bac)m(kspace)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 Ft(\\c)384
-b Fu(suppress)28 b(further)h(output)630 465 y Ft(\\e)630
-575 y(\\E)384 b Fu(escap)s(e)630 741 y Ft(\\f)g Fu(form)30
-b(feed)630 907 y Ft(\\n)384 b Fu(new)30 b(line)630 1073
-y Ft(\\r)384 b Fu(carriage)32 b(return)630 1239 y Ft(\\t)384
-b Fu(horizon)m(tal)32 b(tab)630 1405 y Ft(\\v)384 b Fu(v)m(ertical)32
-b(tab)630 1572 y Ft(\\\\)384 b Fu(bac)m(kslash)630 1738
-y Ft(\\0)p Fj(nnn)240 b Fu(The)29 b(eigh)m(t-bit)i(c)m(haracter)g
-(whose)e(v)-5 b(alue)30 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)30 b Fr(nnn)e Fu(\(zero)i(to)1110 1847 y(three)h(o)s(ctal)g
-(digits\).)630 2013 y Ft(\\x)p Fj(HH)288 b Fu(The)34
-b(eigh)m(t-bit)j(c)m(haracter)f(whose)f(v)-5 b(alue)35
-b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b Fr(HH)1110
-2123 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\).)630
-2289 y Ft(\\u)p Fj(HHHH)192 b Fu(The)37 b(Unico)s(de)h(\(ISO/IEC)e
-(10646\))k(c)m(haracter)f(whose)f(v)-5 b(alue)38 b(is)f(the)h(hex-)1110
-2399 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 2565 y Ft(\\U)p Fj(HHHHHHHH)1110
-2674 y Fu(The)37 b(Unico)s(de)h(\(ISO/IEC)e(10646\))k(c)m(haracter)f
-(whose)f(v)-5 b(alue)38 b(is)f(the)h(hex-)1110 2784 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\).)630 2950 y Ft(echo)f Fu(writes)i(an)m(y)f(unrecognized)h
-(bac)m(kslash-escap)s(ed)g(c)m(haracters)h(unc)m(hanged.)150
-3116 y Ft(enable)870 3254 y(enable)46 b([-a])h([-dnps])f([-f)g
-Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 3392
-y Fu(Enable)32 b(and)f(disable)i(builtin)e(shell)h(commands.)46
-b(Disabling)33 b(a)f(builtin)g(allo)m(ws)h(an)f(exe-)630
-3502 y(cutable)f(\014le)g(whic)m(h)f(has)g(the)g(same)h(name)f(as)h(a)g
-(shell)f(builtin)g(to)h(b)s(e)f(executed)h(without)630
-3611 y(sp)s(ecifying)c(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
-3721 y(b)s(efore)j(\014les.)630 3859 y(If)35 b Ft(-n)f
-Fu(is)i(supplied,)f(the)h Fr(name)5 b Fu(s)35 b(are)h(disabled.)55
-b(Otherwise)35 b Fr(name)5 b Fu(s)35 b(are)h(enabled.)55
-b(F)-8 b(or)630 3968 y(example,)31 b(to)h(use)e(the)g
-Ft(test)g Fu(binary)f(found)h(using)g Ft($PATH)f Fu(instead)h(of)h(the)
-g(shell)f(builtin)630 4078 y(v)m(ersion,)h(t)m(yp)s(e)g(`)p
-Ft(enable)e(-n)g(test)p Fu('.)630 4216 y(If)h(the)g Ft(-p)g
-Fu(option)h(is)f(supplied,)f(or)h(no)h Fr(name)k Fu(argumen)m(ts)30
-b(are)h(supplied,)e(prin)m(t)h(a)h(list)g(of)630 4325
-y(shell)37 b(builtins.)61 b(With)38 b(no)f(other)g(argumen)m(ts,)j(the)
-d(list)h(consists)g(of)f(all)i(enabled)e(shell)630 4435
-y(builtins.)52 b(The)34 b Ft(-n)g Fu(option)g(means)h(to)g(prin)m(t)f
-(only)g(disabled)g(builtins.)52 b(The)34 b Ft(-a)f Fu(option)630
-4545 y(means)k(to)g(list)g(eac)m(h)h(builtin)e(with)h(an)f(indication)i
-(of)e(whether)g(or)h(not)g(it)g(is)g(enabled.)630 4654
-y(The)30 b Ft(-s)g Fu(option)g(means)h(to)g(restrict)g
-Ft(enable)e Fu(to)i(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)630
-4792 y(The)44 b Ft(-f)f Fu(option)i(means)f(to)h(load)g(the)g(new)f
-(builtin)f(command)h Fr(name)50 b Fu(from)44 b(shared)630
-4902 y(ob)5 b(ject)27 b Fr(\014lename)p Fu(,)g(on)e(systems)h(that)g
-(supp)s(ort)e(dynamic)i(loading.)40 b(If)25 b Fr(\014lename)31
-b Fu(do)s(es)26 b(not)630 5011 y(con)m(tain)32 b(a)g(slash.)43
-b(Bash)31 b(will)h(use)f(the)g(v)-5 b(alue)32 b(of)f(the)g
-Ft(BASH_LOADABLES_PATH)26 b Fu(v)-5 b(ariable)630 5121
-y(as)41 b(a)g(colon-separated)i(list)e(of)g(directories)h(in)f(whic)m
-(h)f(to)i(searc)m(h)f(for)g Fr(\014lename)p Fu(.)72 b(The)630
-5230 y(default)39 b(for)g Ft(BASH_LOADABLES_PATH)34 b
-Fu(is)40 b(system-dep)s(enden)m(t,)h(and)d(ma)m(y)i(include)f
-Ft(")p Fu(.)p Ft(")630 5340 y Fu(to)d(force)g(a)f(searc)m(h)h(of)g(the)
-f(curren)m(t)g(directory)-8 b(.)57 b(The)34 b Ft(-d)h
-Fu(option)h(will)f(delete)i(a)e(builtin)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(loaded)28
-b(with)f Ft(-f)p Fu(.)39 b(If)27 b Ft(-s)g Fu(is)g(used)g(with)g
-Ft(-f)p Fu(,)h(the)f(new)g(builtin)g(b)s(ecomes)h(a)f(sp)s(ecial)h
-(builtin)630 408 y(\(see)j(Section)h(4.4)f([Sp)s(ecial)g(Builtins],)g
-(page)g(83\).)630 540 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 650 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
-759 y(-f)30 b Fj(name)f(name)p Fu('.)630 891 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 1000 y(loading)31
-b(a)g(new)f(builtin)g(from)g(a)g(shared)g(ob)5 b(ject.)150
-1154 y Ft(help)870 1285 y(help)47 b([-dms])f([)p Fj(pattern)p
-Ft(])630 1417 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 1526 y Ft(help)34 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)g(it)f(dis-)630
-1636 y(pla)m(ys)c(a)g(list)g(of)f(all)h(builtins)f(and)g(shell)h(comp)s
-(ound)d(commands.)630 1767 y(Options,)i(if)h(supplied,)e(ha)m(v)m(e)i
-(the)g(follo)m(wing)h(meanings:)630 1921 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 2074 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
-2228 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 2381 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 2534 y Ft(let)870 2666 y(let)47
-b Fj(expression)e Ft([)p Fj(expression)g Ft(...)o(])630
-2798 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 2907 y Fr(expression)27 b Fu(is)g(ev)-5
-b(aluated)29 b(as)e(an)h(arithmetic)g(expression)f(according)i(to)f
-(the)f(rules)g(giv)m(en)630 3017 y(b)s(elo)m(w)21 b(in)g(Section)h(6.5)
-h([Shell)e(Arithmetic],)j(page)e(106.)39 b(If)21 b(the)g(last)h
-Fr(expression)f Fu(ev)-5 b(aluates)630 3126 y(to)31 b(0,)g
-Ft(let)f Fu(returns)f(1;)i(otherwise)g Ft(let)e Fu(returns)g(0.)150
-3280 y Ft(local)870 3411 y(local)46 b([)p Fj(option)p
-Ft(])g Fj(name)p Ft([=)p Fj(value)p Ft(])e(...)630 3543
-y Fu(F)-8 b(or)39 b(eac)m(h)g(argumen)m(t,)h(create)g(a)e(lo)s(cal)h(v)
--5 b(ariable)39 b(named)e Fr(name)p Fu(,)j(and)e(assign)g(it)g
-Fr(v)-5 b(alue)p Fu(.)630 3652 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
-3762 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 3871 y(restricted)36 b(to)g(that)h
-(function)e(and)g(its)h(c)m(hildren.)56 b(It)35 b(is)h(an)f(error)g(to)
-i(use)e Ft(local)f Fu(when)630 3981 y(not)d(within)e(a)i(function.)630
-4113 y(If)j Fr(name)40 b Fu(is)35 b(`)p Ft(-)p Fu(',)h(it)f(mak)m(es)h
-(the)e(set)i(of)e(shell)h(options)g(lo)s(cal)h(to)g(the)f(function)f
-(in)g(whic)m(h)630 4222 y Ft(local)j Fu(is)h(in)m(v)m(ok)m(ed:)57
-b(an)m(y)38 b(shell)h(options)f(c)m(hanged)h(using)e(the)h
-Ft(set)f Fu(builtin)h(inside)g(the)630 4332 y(function)c(after)h(the)g
-(call)h(to)f Ft(local)e Fu(are)i(restored)f(to)h(their)g(original)g(v)
--5 b(alues)35 b(when)f(the)630 4441 y(function)29 b(returns.)39
-b(The)28 b(restore)h(is)g(p)s(erformed)f(as)h(if)g(a)g(series)g(of)g
-Ft(set)f Fu(commands)g(w)m(ere)630 4551 y(executed)j(to)g(restore)g
-(the)g(v)-5 b(alues)31 b(that)g(w)m(ere)f(in)h(place)g(b)s(efore)f(the)
-g(function.)630 4682 y(With)d(no)f(op)s(erands,)g Ft(local)e
-Fu(writes)j(a)f(list)h(of)f(lo)s(cal)i(v)-5 b(ariables)27
-b(to)f(the)h(standard)e(output.)630 4814 y(The)38 b(return)f(status)i
-(is)f(zero)i(unless)d Ft(local)g Fu(is)i(used)e(outside)i(a)g
-(function,)h(an)e(in)m(v)-5 b(alid)630 4924 y Fr(name)36
-b Fu(is)30 b(supplied,)f(or)i Fr(name)k Fu(is)c(a)f(readonly)h(v)-5
-b(ariable.)150 5077 y Ft(logout)870 5208 y(logout)46
-b([)p Fj(n)p Ft(])630 5340 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.)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 Ft(mapfile)870
-439 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
-548 y([-t])h([-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
-688 y Fu(Read)33 b(lines)g(from)f(the)h(standard)e(input,)i(or)f(from)h
-(\014le)f(descriptor)h Fr(fd)i Fu(if)e(the)f Ft(-u)g
-Fu(option)630 798 y(is)f(supplied,)f(in)m(to)h(the)g(indexed)f(arra)m
-(y)i(v)-5 b(ariable)31 b Fr(arra)m(y)p Fu(.)42 b(The)31
-b(v)-5 b(ariable)31 b Ft(MAPFILE)e Fu(is)i(the)630 907
-y(default)g 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 1077 y Ft(-d)384
-b Fu(Use)27 b(the)g(\014rst)f(c)m(haracter)i(of)f Fr(delim)g
-Fu(to)h(terminate)f(eac)m(h)h(input)e(line,)i(rather)1110
-1187 y(than)i(newline.)40 b(If)30 b Fr(delim)g Fu(is)g(the)g(empt)m(y)g
-(string,)h Ft(mapfile)d Fu(will)i(terminate)1110 1297
-y(a)h(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)630
-1467 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(cop)m(y)h(all)f
-(lines.)630 1637 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 1807 y Ft(-s)384
-b Fu(Discard)31 b(the)f(\014rst)g Fr(coun)m(t)j Fu(lines)e(read.)630
-1977 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
-2147 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
-2317 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 2426 y(sp)s(eci\014es)30
-b Fr(quan)m(tum)p Fu(.)630 2596 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 2767 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 2876 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 2986 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 3095 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
-3235 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 3345 y(to)31 b(it.)630 3485 y Ft(mapfile)g
-Fu(returns)h(zero)i(unless)f(an)g(in)m(v)-5 b(alid)34
-b(option)g(or)f(option)h(argumen)m(t)g(is)f(supplied,)630
-3594 y Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5 b(alid)31
-b(or)f(unassignable,)h(or)f(if)h Fr(arra)m(y)38 b Fu(is)31
-b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150 3764 y Ft(printf)870
-3904 y(printf)46 b([-v)h Fj(var)p Ft(])g Fj(format)f
-Ft([)p Fj(arguments)p Ft(])630 4044 y Fu(W)-8 b(rite)41
-b(the)f(formatted)h Fr(argumen)m(ts)i Fu(to)e(the)f(standard)f(output)g
-(under)g(the)h(con)m(trol)h(of)630 4153 y(the)34 b Fr(format)p
-Fu(.)52 b(The)33 b Ft(-v)h Fu(option)g(assigns)g(the)g(output)g(to)g
-(the)g(v)-5 b(ariable)35 b Fr(v)-5 b(ar)40 b Fu(rather)34
-b(than)630 4263 y(prin)m(ting)c(it)h(to)g(the)g(standard)e(output.)630
-4403 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 4512 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
-4622 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 4732 y(sp)s
-(eci\014cations,)26 b(eac)m(h)g(of)e(whic)m(h)g(causes)g(prin)m(ting)g
-(of)h(the)f(next)g(successiv)m(e)i Fr(argumen)m(t)p Fu(.)39
-b(In)630 4841 y(addition)30 b(to)g(the)g(standard)e Ft(printf\(3\))f
-Fu(format)j(c)m(haracters)h Ft(cCsSndiouxXeEfFgGaA)p
-Fu(,)630 4951 y Ft(printf)e Fu(in)m(terprets)h(the)h(follo)m(wing)h
-(additional)f(format)g(sp)s(eci\014ers:)630 5121 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 5230 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 5340 y([Bash)e(Builtins],)
-g(page)g(60\).)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)630 299 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 408 y(that)42
-b(can)f(b)s(e)g(reused)g(as)g(shell)h(input.)72 b Ft(\045q)41
-b Fu(and)f Ft(\045Q)p Fu(P)h(use)g(the)g(ANSI-C)1110
-518 y(quoting)29 b(st)m(yle)h(\(see)g(Section)g(3.1.2.4)h([ANSI-C)e
-(Quoting],)h(page)f(6\))h(if)f(an)m(y)1110 628 y(c)m(haracters)g(in)e
-(the)h(argumen)m(t)g(string)f(require)h(it,)g(and)f(bac)m(kslash)h
-(quoting)1110 737 y(otherwise.)79 b(If)43 b(the)g(format)g(string)g
-(uses)g(the)g Ft(printf)e Fl(alternate)46 b(form)p Fu(,)1110
-847 y(these)31 b(t)m(w)m(o)h(formats)e(quote)h(the)g(argumen)m(t)f
-(string)h(using)f(single)h(quotes.)630 1003 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
-1113 y(quoting)c(it.)630 1270 y Ft(\045\()p Fj(datefmt)p
-Ft(\)T)1110 1379 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 1489
-y Fr(datefm)m(t)i Fu(as)d(a)h(format)f(string)h(for)e
-Ft(strftime)p Fu(\(3\).)39 b(The)27 b(corresp)s(onding)f
-Fr(ar-)1110 1598 y(gumen)m(t)34 b Fu(is)d(an)h(in)m(teger)g(represen)m
-(ting)g(the)g(n)m(um)m(b)s(er)e(of)i(seconds)f(since)h(the)1110
-1708 y(ep)s(o)s(c)m(h.)43 b(This)30 b(format)i(sp)s(eci\014er)e
-(recognizes)j(Tw)m(o)f(sp)s(ecial)f(argumen)m(t)h(v)-5
-b(al-)1110 1817 y(ues:)42 b(-1)31 b(represen)m(ts)g(the)g(curren)m(t)g
-(time,)h(and)e(-2)i(represen)m(ts)f(the)g(time)h(the)1110
-1927 y(shell)i(w)m(as)f(in)m(v)m(ok)m(ed.)51 b(If)33
-b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)h(con)m(v)m(ersion)g(b)s(eha)
-m(v)m(es)1110 2037 y(as)25 b(if)g(-1)g(had)f(b)s(een)g(supplied.)37
-b(This)24 b(is)h(an)f(exception)i(to)g(the)e(usual)h
-Ft(printf)1110 2146 y Fu(b)s(eha)m(vior.)630 2303 y(The)39
-b(\045b,)i(\045q,)g(and)e(\045T)f(format)i(sp)s(eci\014ers)e(all)i(use)
-f(the)h(\014eld)f(width)f(and)h(precision)630 2412 y(argumen)m(ts)e
-(from)f(the)h(format)g(sp)s(eci\014cation)g(and)f(write)h(that)h(man)m
-(y)e(b)m(ytes)h(from)g(\(or)630 2522 y(use)29 b(that)h(wide)f(a)g
-(\014eld)g(for\))g(the)h(expanded)e(argumen)m(t,)i(whic)m(h)f(usually)g
-(con)m(tains)i(more)630 2632 y(c)m(haracters)h(than)e(the)h(original.)
-630 2765 y(The)e(\045n)f(format)h(sp)s(eci\014er)g(accepts)h(a)g
-(corresp)s(onding)e(argumen)m(t)h(that)h(is)f(treated)h(as)g(a)630
-2874 y(shell)h(v)-5 b(ariable)31 b(name.)630 3007 y(The)26
-b(\045s)g(and)h(\045c)f(format)h(sp)s(eci\014ers)f(accept)i(an)f(l)g
-(\(long\))h(mo)s(di\014er,)e(whic)m(h)h(forces)g(them)630
-3117 y(to)21 b(con)m(v)m(ert)i(the)e(argumen)m(t)g(string)g(to)g(a)g
-(wide-c)m(haracter)i(string)e(and)f(apply)g(an)m(y)h(supplied)630
-3226 y(\014eld)36 b(width)g(and)f(precision)i(in)f(terms)g(of)h(c)m
-(haracters,)i(not)e(b)m(ytes.)59 b(The)36 b(\045S)g(and)g(\045C)630
-3336 y(format)31 b(sp)s(eci\014ers)e(are)i(equiv)-5 b(alen)m(t)32
-b(to)f(\045ls)f(and)g(\045lc,)h(resp)s(ectiv)m(ely)-8
-b(.)630 3469 y(Argumen)m(ts)28 b(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
-3579 y(except)e(that)g(a)f(leading)h(plus)f(or)g(min)m(us)f(sign)h(is)g
-(allo)m(w)m(ed,)j(and)d(if)g(the)g(leading)h(c)m(haracter)630
-3688 y(is)43 b(a)h(single)g(or)g(double)f(quote,)k(the)d(v)-5
-b(alue)44 b(is)f(the)h(n)m(umeric)f(v)-5 b(alue)44 b(of)g(the)f(follo)m
-(wing)630 3798 y(c)m(haracter,)32 b(using)e(the)h(curren)m(t)f(lo)s
-(cale.)630 3931 y(The)h 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 4041 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 4150 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 4260 y(return)e(v)-5 b(alue)38
-b(is)g(zero)g(on)f(success,)j(non-zero)e(if)f(an)h(in)m(v)-5
-b(alid)38 b(option)g(is)f(supplied)f(or)i(a)630 4369
-y(write)31 b(or)f(assignmen)m(t)h(error)f(o)s(ccurs.)150
-4526 y Ft(read)870 4659 y(read)47 b([-Eers])e([-a)i Fj(aname)p
-Ft(])f([-d)h Fj(delim)p Ft(])f([-i)h Fj(text)p Ft(])g([-n)g
-Fj(nchars)p Ft(])1061 4769 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 4902 y Fu(Read)33
-b(one)g(line)h(from)e(the)h(standard)f(input,)h(or)g(from)g(the)g
-(\014le)g(descriptor)f Fr(fd)k Fu(supplied)630 5011 y(as)44
-b(an)f(argumen)m(t)h(to)h(the)e Ft(-u)g Fu(option,)48
-b(split)c(it)g(in)m(to)g(w)m(ords)f(as)h(describ)s(ed)e(ab)s(o)m(v)m(e)
-j(in)630 5121 y(Section)38 b(3.5.7)h([W)-8 b(ord)37 b(Splitting],)j
-(page)d(37,)j(and)c(assign)i(the)f(\014rst)f(w)m(ord)h(to)h(the)f
-(\014rst)630 5230 y Fr(name)p Fu(,)29 b(the)f(second)g(w)m(ord)f(to)i
-(the)f(second)g Fr(name)p Fu(,)g(and)g(so)g(on.)40 b(If)27
-b(there)h(are)g(more)g(w)m(ords)630 5340 y(than)i(names,)g(the)g
-(remaining)g(w)m(ords)f(and)g(their)h(in)m(terv)m(ening)h(delimiters)f
-(are)h(assigned)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)630 299 y(to)39
-b(the)g(last)h Fr(name)p Fu(.)65 b(If)38 b(there)h(are)g(few)m(er)g(w)m
-(ords)f(read)h(from)f(the)h(input)e(stream)i(than)630
-408 y(names,)31 b(the)h(remaining)f(names)g(are)h(assigned)f(empt)m(y)g
-(v)-5 b(alues.)44 b(The)30 b(c)m(haracters)j(in)e(the)630
-518 y(v)-5 b(alue)22 b(of)f(the)h Ft(IFS)e Fu(v)-5 b(ariable)22
-b(are)g(used)e(to)i(split)g(the)f(line)h(in)m(to)g(w)m(ords)f(using)f
-(the)i(same)f(rules)630 628 y(the)30 b(shell)h(uses)f(for)f(expansion)i
-(\(describ)s(ed)e(ab)s(o)m(v)m(e)i(in)f(Section)h(3.5.7)h([W)-8
-b(ord)31 b(Splitting],)630 737 y(page)c(37\).)40 b(The)26
-b(bac)m(kslash)g(c)m(haracter)i(`)p Ft(\\)p Fu(')e(remo)m(v)m(es)i(an)m
-(y)e(sp)s(ecial)h(meaning)f(for)g(the)g(next)630 847
-y(c)m(haracter)32 b(read)e(and)g(is)g(used)g(for)g(line)h(con)m(tin)m
-(uation.)630 977 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g
-(follo)m(wing)h(meanings:)630 1129 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 1238 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 1348
-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 1499 y Ft(-d)f Fj(delim)114 b Fu(The)31
-b(\014rst)h(c)m(haracter)h(of)f Fr(delim)g Fu(terminates)h(the)f(input)
-f(line,)i(rather)f(than)1110 1609 y(newline.)64 b(If)38
-b Fr(delim)g Fu(is)h(the)f(empt)m(y)h(string,)h Ft(read)d
-Fu(will)i(terminate)g(a)g(line)1110 1718 y(when)29 b(it)i(reads)f(a)h
-(NUL)g(c)m(haracter.)630 1870 y Ft(-e)384 b Fu(If)33
-b(the)h(standard)f(input)g(is)h(coming)h(from)e(a)h(terminal,)h
-Ft(read)e Fu(uses)g(Read-)1110 1979 y(line)h(\(see)h(Chapter)e(8)i
-([Command)e(Line)g(Editing],)j(page)e(128\))i(to)e(obtain)1110
-2089 y(the)h(line.)53 b(Readline)36 b(uses)e(the)h(curren)m(t)f(\(or)h
-(default,)h(if)e(line)h(editing)h(w)m(as)1110 2198 y(not)c(previously)g
-(activ)m(e\))i(editing)e(settings,)i(but)d(uses)g(Readline's)i(default)
-1110 2308 y(\014lename)e(completion.)630 2459 y Ft(-E)384
-b Fu(If)23 b(the)h(standard)f(input)g(is)g(coming)i(from)e(a)h
-(terminal,)i Ft(read)c Fu(uses)h(Readline)1110 2569 y(\(see)36
-b(Chapter)f(8)h([Command)e(Line)i(Editing],)h(page)f(128\))h(to)f
-(obtain)g(the)1110 2679 y(line.)53 b(Readline)34 b(uses)g(the)g(curren)
-m(t)g(\(or)h(default,)h(if)e(line)g(editing)h(w)m(as)g(not)1110
-2788 y(previously)28 b(activ)m(e\))j(editing)e(settings,)h(but)d(uses)h
-(Bash's)g(default)h(comple-)1110 2898 y(tion,)i(including)f
-(programmable)h(completion.)630 3049 y Ft(-i)f Fj(text)162
-b Fu(If)28 b(Readline)h(is)f(b)s(eing)f(used)h(to)h(read)f(the)g(line,)
-h Ft(read)e Fu(places)i Fr(text)j Fu(in)m(to)d(the)1110
-3159 y(editing)i(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630
-3310 y Ft(-n)f Fj(nchars)66 b Ft(read)21 b Fu(returns)h(after)g
-(reading)h Fr(nc)m(hars)j Fu(c)m(haracters)e(rather)e(than)g(w)m
-(aiting)i(for)1110 3420 y(a)36 b(complete)h(line)f(of)f(input,)h
-(unless)f(it)h(encoun)m(ters)g(EOF)g(or)f Ft(read)f Fu(times)1110
-3529 y(out,)29 b(but)f(honors)g(a)g(delimiter)h(if)g(it)g(reads)f(few)m
-(er)g(than)h Fr(nc)m(hars)i Fu(c)m(haracters)1110 3639
-y(b)s(efore)f(the)h(delimiter.)630 3790 y Ft(-N)f 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
-3900 y(w)m(aiting)e(for)f(a)g(complete)h(line)g(of)f(input,)g(unless)g
-(it)g(encoun)m(ters)g(EOF)g(or)1110 4009 y Ft(read)d
-Fu(times)h(out.)51 b(Delimiter)36 b(c)m(haracters)f(in)f(the)g(input)f
-(are)h(not)g(treated)1110 4119 y(sp)s(ecially)f(and)f(do)g(not)h(cause)
-f Ft(read)g Fu(to)h(return)e(un)m(til)h(it)h(has)f(read)g
-Fr(nc)m(hars)1110 4228 y Fu(c)m(haracters.)71 b(The)39
-b(result)h(is)g(not)g(split)h(on)e(the)i(c)m(haracters)g(in)f
-Ft(IFS)p Fu(;)k(the)1110 4338 y(in)m(ten)m(t)38 b(is)f(that)h(the)f(v)
--5 b(ariable)38 b(is)f(assigned)g(exactly)h(the)g(c)m(haracters)g(read)
-1110 4448 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 4599 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 4709 y(read)30 b(an)m(y)h(input,)f(but)f(only)i(if)f(input)g(is)g
-(coming)h(from)f(a)h(terminal.)630 4860 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
-4969 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 5079
-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 5230 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 5340
-y(ec)m(ho)s(ed.)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)630 299 y Ft(-t)30
-b Fj(timeout)1110 408 y Fu(Cause)25 b Ft(read)f Fu(to)h(time)h(out)f
-(and)g(return)e(failure)j(if)e(it)i(do)s(es)f(not)g(read)g(a)g(com-)
-1110 518 y(plete)f(line)f(of)g(input)f(\(or)h(a)h(sp)s(eci\014ed)e(n)m
-(um)m(b)s(er)g(of)h(c)m(haracters\))i(within)d Fr(time-)1110
-628 y(out)37 b Fu(seconds.)53 b Fr(timeout)38 b Fu(ma)m(y)d(b)s(e)f(a)h
-(decimal)h(n)m(um)m(b)s(er)d(with)h(a)h(fractional)1110
-737 y(p)s(ortion)29 b(follo)m(wing)h(the)f(decimal)h(p)s(oin)m(t.)40
-b(This)29 b(option)g(is)g(only)g(e\013ectiv)m(e)j(if)1110
-847 y Ft(read)27 b Fu(is)i(reading)g(input)e(from)h(a)h(terminal,)h
-(pip)s(e,)e(or)h(other)g(sp)s(ecial)g(\014le;)g(it)1110
-956 y(has)i(no)f(e\013ect)j(when)d(reading)h(from)f(regular)h(\014les.)
-42 b(If)31 b Ft(read)e Fu(times)j(out,)f(it)1110 1066
-y(sa)m(v)m(es)k(an)m(y)g(partial)f(input)f(read)h(in)m(to)h(the)f(sp)s
-(eci\014ed)g(v)-5 b(ariable)34 b Fr(name)p Fu(,)i(and)1110
-1176 y(returns)j(a)i(status)f(greater)h(than)f(128.)72
-b(If)39 b Fr(timeout)44 b Fu(is)c(0,)j Ft(read)c Fu(returns)1110
-1285 y(immediately)-8 b(,)29 b(without)c(trying)h(to)h(read)e(an)m(y)i
-(data.)39 b(In)25 b(this)h(case,)i(the)e(exit)1110 1395
-y(status)38 b(is)f(0)h(if)f(input)g(is)g(a)m(v)-5 b(ailable)40
-b(on)d(the)h(sp)s(eci\014ed)e(\014le)i(descriptor,)h(or)1110
-1504 y(the)31 b(read)f(will)h(return)e(EOF,)h(non-zero)h(otherwise.)630
-1666 y Ft(-u)f Fj(fd)258 b Fu(Read)31 b(input)e(from)h(\014le)g
-(descriptor)h Fr(fd)i Fu(instead)d(of)h(the)g(standard)e(input.)630
-1828 y(Other)36 b(than)g(the)h(case)h(where)e Fr(delim)g
-Fu(is)h(the)f(empt)m(y)h(string,)i Ft(read)c Fu(ignores)i(an)m(y)g(NUL)
-630 1937 y(c)m(haracters)32 b(in)e(the)g(input.)630 2073
-y(If)d(no)h Fr(name)5 b Fu(s)28 b(are)g(supplied,)f Ft(read)f
-Fu(assigns)i(the)g(line)g(read,)h(without)e(the)h(ending)g(delim-)630
-2183 y(iter)j(but)f(otherwise)g(unmo)s(di\014ed,)f(to)i(the)g(v)-5
-b(ariable)31 b Ft(REPLY)p Fu(.)630 2318 y(The)40 b(exit)h(status)g(is)f
-(zero,)k(unless)c(end-of-\014le)g(is)h(encoun)m(tered,)i
-Ft(read)c Fu(times)i(out)g(\(in)630 2428 y(whic)m(h)28
-b(case)h(the)g(status)f(is)h(greater)g(than)f(128\),)j(a)d(v)-5
-b(ariable)29 b(assignmen)m(t)h(error)d(\(suc)m(h)i(as)630
-2538 y(assigning)f(to)g(a)g(readonly)g(v)-5 b(ariable\))29
-b(o)s(ccurs,)f(or)f(an)h(in)m(v)-5 b(alid)28 b(\014le)f(descriptor)h
-(is)f(supplied)630 2647 y(as)k(the)f(argumen)m(t)h(to)g
-Ft(-u)p Fu(.)150 2809 y Ft(readarray)870 2919 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 3028 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 3164 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 3273 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 3409 y(A)f(synon)m(ym)g(for)g
-Ft(mapfile)p Fu(.)150 3571 y Ft(source)870 3707 y(source)46
-b([-p)h Fj(path)p Ft(])f Fj(filename)g Ft([)p Fj(arguments)p
-Ft(])630 3842 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(51\).)150
-4004 y Ft(type)870 4140 y(type)47 b([-afptP])e([)p Fj(name)i
-Ft(...)o(])630 4275 y Fu(Indicate)31 b(ho)m(w)f(eac)m(h)i
-Fr(name)j Fu(w)m(ould)c(b)s(e)e(in)m(terpreted)i(if)f(used)g(as)h(a)f
-(command)g(name.)630 4411 y(If)41 b(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 4521 y(`)p Ft(keyword)p
-Fu(',)32 b(`)p Ft(function)p Fu(',)g(`)p Ft(builtin)p
-Fu(',)g(or)h(`)p Ft(file)p Fu(',)g(if)g Fr(name)38 b
-Fu(is)33 b(an)g(alias,)i(shell)e(reserv)m(ed)630 4630
-y(w)m(ord,)h(shell)f(function,)g(shell)h(builtin,)f(or)g(executable)i
-(\014le,)f(resp)s(ectiv)m(ely)-8 b(.)50 b(If)33 b(the)g
-Fr(name)630 4740 y Fu(is)d(not)h(found,)e Ft(type)h Fu(prin)m(ts)f
-(nothing)i(and)f(returns)f(a)h(failure)h(status.)630
-4876 y(If)25 b(the)h Ft(-p)f Fu(option)g(is)h(used,)g
-Ft(type)e Fu(either)i(returns)e(the)i(name)f(of)h(the)g(executable)h
-(\014le)e(that)630 4985 y(w)m(ould)j(b)s(e)f(found)g(b)m(y)h(searc)m
-(hing)h Ft($PATH)e Fu(for)h Ft(name)p Fu(,)g(or)g(nothing)g(if)g
-Ft(-t)g Fu(w)m(ould)g(not)g(return)630 5095 y(`)p Ft(file)p
-Fu('.)630 5230 y(The)i 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 5340 y(`)p Ft(file)p
-Fu('.)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(If)29
-b(a)h Fr(name)k Fu(is)29 b(presen)m(t)h(in)f(the)g(table)h(of)g(hashed)
-e(commands,)i(options)f Ft(-p)g Fu(and)g Ft(-P)f Fu(prin)m(t)630
-408 y(the)j(hashed)e(v)-5 b(alue,)31 b(whic)m(h)f(is)h(not)f
-(necessarily)i(the)e(\014le)h(that)g(app)s(ears)e(\014rst)h(in)g
-Ft($PATH)p Fu(.)630 542 y(If)e(the)h Ft(-a)f Fu(option)h(is)f(used,)h
-Ft(type)e Fu(returns)g(all)j(of)e(the)h(places)g(that)g(con)m(tain)h(a)
-f(command)630 652 y(named)c Fr(name)p Fu(.)39 b(This)25
-b(includes)g(aliases,)j(reserv)m(ed)e(w)m(ords,)g(functions,)h(and)d
-(builtins,)j(but)630 761 y(the)34 b(path)f(searc)m(h)i(options)f(\()p
-Ft(-p)f Fu(and)h Ft(-P)p Fu(\))f(can)h(b)s(e)f(supplied)g(to)h
-(restrict)h(the)f(output)f(to)630 871 y(executable)k(\014les.)55
-b(If)34 b Ft(-a)h Fu(is)g(supplied)f(with)h Ft(-p)p Fu(,)h
-Ft(type)e Fu(do)s(es)g(not)i(lo)s(ok)g(in)e(the)i(table)g(of)630
-980 y(hashed)30 b(commands,)g(and)g(only)g(p)s(erforms)f(a)i
-Ft(PATH)e Fu(searc)m(h)i(for)f Fr(name)p Fu(.)630 1114
-y(If)g(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 1224 y(the)h Ft(command)d Fu(builtin.)630 1357
-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 1467 y(found.)150 1625 y Ft(typeset)870 1758
-y(typeset)46 b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 1892 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 2002
-y(a)g(synon)m(ym)f(for)g(the)g Ft(declare)f Fu(builtin)h(command.)150
-2159 y Ft(ulimit)870 2293 y(ulimit)46 b([-HS])g(-a)870
-2402 y(ulimit)g([-HS])g([-bcdefiklmnpqrstuvxPRT])c([)p
-Fj(limit)p Ft(])630 2536 y(ulimit)37 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)41 b(to)f(the)e(shell)h
-(and)f(to)h(pro-)630 2646 y(cesses)34 b(it)f(starts,)h(on)f(systems)g
-(that)g(allo)m(w)h(suc)m(h)f(con)m(trol.)49 b(If)33 b(an)g(option)g(is)
-g(giv)m(en,)i(it)e(is)630 2755 y(in)m(terpreted)e(as)f(follo)m(ws:)630
-2913 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 3071 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 3228 y Ft(-a)384 b Fu(Rep)s(ort)30
-b(all)h(curren)m(t)f(limits;)i(no)e(limits)h(are)g(set.)630
-3386 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 3544 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
-(core)g(\014les)f(created.)630 3701 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
-3859 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 4017 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 4175 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 4332 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
-4490 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 4648
-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 4757
-y(limit\).)630 4915 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
-5025 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
-630 5182 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
-5340 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.)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(-r)384
-b Fu(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f(priorit)m(y)-8
-b(.)630 453 y Ft(-s)384 b Fu(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630
-607 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 761 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 915 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
-1025 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
-1179 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 1333 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
-1487 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
-1597 y(microseconds.)630 1751 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 1905
-y(If)e Fr(limit)k Fu(is)c(supplied,)g(and)g(the)h Ft(-a)f
-Fu(option)h(is)g(not)g(used,)f Fr(limit)j Fu(is)e(the)g(new)f(v)-5
-b(alue)30 b(of)g(the)630 2015 y(sp)s(eci\014ed)j(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 2125 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 2234 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 2344 y(b)s(e)35 b(increased)h(up)f(to)i(the)f(v)-5
-b(alue)36 b(of)g(the)g(hard)f(limit.)58 b(Otherwise,)37
-b Ft(ulimit)d Fu(prin)m(ts)i(the)630 2453 y(curren)m(t)29
-b(v)-5 b(alue)29 b(of)g(the)g(soft)h(limit)f(for)g(the)g(sp)s
-(eci\014ed)f(resource,)i(unless)e(the)h Ft(-H)g Fu(option)g(is)630
-2563 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 2672
-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
-2782 y Ft(-H)32 b Fu(nor)h Ft(-S)f Fu(is)h(supplied,)f
-Ft(ulimit)f Fu(sets)j(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits.)49
-b(If)33 b(no)f(option)630 2892 y(is)e(supplied,)g(then)g
-Ft(-f)g Fu(is)g(assumed.)630 3024 y(V)-8 b(alues)24 b(are)f(in)f
-(1024-b)m(yte)k(incremen)m(ts,)f(except)f(for)e Ft(-t)p
-Fu(,)i(whic)m(h)f(is)f(in)h(seconds;)i Ft(-R)p Fu(,)f(whic)m(h)630
-3133 y(is)33 b(in)f(microseconds;)i Ft(-p)p Fu(,)f(whic)m(h)f(is)g(in)g
-(units)g(of)h(512-b)m(yte)i(blo)s(c)m(ks;)f Ft(-P)p Fu(,)f
-Ft(-T)p Fu(,)f Ft(-b)p Fu(,)h Ft(-k)p Fu(,)g Ft(-n)630
-3243 y Fu(and)c Ft(-u)p Fu(,)h(whic)m(h)f(are)h(unscaled)f(v)-5
-b(alues;)31 b(and,)e(when)g(in)h Fm(posix)e Fu(Mo)s(de)i(\(see)h
-(Section)f(6.11)630 3352 y([Bash)h(POSIX)e(Mo)s(de],)i(page)g(115\),)i
-Ft(-c)c Fu(and)h Ft(-f)p Fu(,)g(whic)m(h)g(are)h(in)f(512-b)m(yte)j
-(incremen)m(ts.)630 3484 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 3594 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
-(limit.)150 3748 y Ft(unalias)870 3880 y(unalias)46 b([-a])g([)p
-Fj(name)h Ft(...)g(])630 4012 y Fu(Remo)m(v)m(e)30 b(eac)m(h)f
-Fr(name)34 b Fu(from)27 b(the)i(list)g(of)f(aliases.)41
-b(If)28 b Ft(-a)g Fu(is)g(supplied,)f(remo)m(v)m(e)j(all)f(aliases.)630
-4121 y(The)i(return)g(v)-5 b(alue)33 b(is)e(true)h(unless)f(a)i
-(supplied)d Fr(name)37 b Fu(is)32 b(not)g(a)h(de\014ned)d(alias.)47
-b(Aliases)630 4231 y(are)31 b(describ)s(ed)e(in)h(Section)h(6.6)h
-([Aliases],)g(page)f(108.)150 4466 y Fs(4.3)68 b(Mo)t(difying)45
-b(Shell)g(Beha)l(vior)150 4688 y Fk(4.3.1)63 b(The)41
-b(Set)g(Builtin)150 4835 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
-4944 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 5054 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-5208 y Ft(set)870 5340 y(set)47 b([-abefhkmnptuvxBCEHPT])42
-b([-o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])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)870 299 y Ft(set)47
-b([+abefhkmnptuvxBCEHPT])42 b([+o)47 b Fj(option-name)p
-Ft(])d([--])j([-])g([)p Fj(argument)e Ft(...)o(])870
-408 y(set)i(-o)870 518 y(set)g(+o)630 648 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 757 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 867 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 976 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 1086 y(listed.)630
-1215 y(When)32 b(options)h(are)g(supplied,)f(they)h(set)g(or)g(unset)f
-(shell)h(attributes.)48 b(An)m(y)33 b(argumen)m(ts)630
-1325 y(remaining)d(after)h(option)g(pro)s(cessing)f(replace)i(the)e(p)s
-(ositional)h(parameters.)630 1455 y(Options,)f(if)h(sp)s(eci\014ed,)e
-(ha)m(v)m(e)j(the)f(follo)m(wing)g(meanings:)630 1604
-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
-1714 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 1823 y(sequen)m(t)i
-(commands.)630 1973 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
-2082 y(immediately)-8 b(,)32 b(rather)e(than)g(b)s(efore)g(prin)m(ting)
-g(the)h(next)f(primary)g(prompt)1110 2192 y(or,)j(under)e(some)h
-(circumstances,)i(when)d(a)i(foreground)e(command)h(exits.)1110
-2301 y(This)e(is)g(e\013ectiv)m(e)j(only)d(when)g(job)g(con)m(trol)i
-(is)e(enabled.)630 2451 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
-2560 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 2670 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 2780 y([Lists],)60 b(page)55 b(11\),)60
-b(or)54 b(a)g(comp)s(ound)e(command)h(\(see)i(Section)f(3.2.5)1110
-2889 y([Comp)s(ound)60 b(Commands],)70 b(page)63 b(11\))g(returns)e(a)i
-(non-zero)f(status.)1110 2999 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
-3108 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
-3218 y(part)27 b(of)h(the)g(test)h(in)e(an)g Ft(if)g
-Fu(statemen)m(t,)k(part)c(of)h(an)m(y)g(command)f(executed)1110
-3328 y(in)41 b(a)g Ft(&&)f Fu(or)h Ft(||)g Fu(list)g(except)h(the)g
-(command)e(follo)m(wing)j(the)e(\014nal)g Ft(&&)f Fu(or)1110
-3437 y Ft(||)p Fu(,)d(an)m(y)g(command)f(in)g(a)h(pip)s(eline)f(but)g
-(the)g(last)h(\(sub)5 b(ject)37 b(to)g(the)g(state)1110
-3547 y(of)h(the)f Ft(pipefail)f Fu(shell)i(option\),)i(or)d(if)h(the)g
-(command's)f(return)g(status)1110 3656 y(is)i(b)s(eing)g(in)m(v)m
-(erted)h(with)f Ft(!)p Fu(.)66 b(If)39 b(a)h(comp)s(ound)d(command)i
-(other)h(than)f(a)1110 3766 y(subshell)28 b(returns)g(a)i(non-zero)g
-(status)f(b)s(ecause)g(a)h(command)f(failed)h(while)1110
-3875 y Ft(-e)38 b Fu(w)m(as)h(b)s(eing)f(ignored,)j(the)e(shell)f(do)s
-(es)h(not)f(exit.)67 b(A)38 b(trap)h(on)f Ft(ERR)p Fu(,)i(if)1110
-3985 y(set,)31 b(is)g(executed)g(b)s(efore)f(the)g(shell)h(exits.)1110
-4115 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 4224 y(vironmen)m(t)j(separately)i
-(\(see)f(Section)g(3.7.3)h([Command)d(Execution)i(En-)1110
-4334 y(vironmen)m(t],)i(page)f(45\),)i(and)d(ma)m(y)h(cause)f
-(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 4443 y(cuting)d(all)g
-(the)g(commands)f(in)g(the)g(subshell.)1110 4573 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 4682 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
-4792 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 4902 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 5011 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)
-1110 5121 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 5230 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 5340 y(the)31 b(function)f(call)h
-(completes.)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)630 299 y Ft(-f)384
-b Fu(Disable)31 b(\014lename)g(expansion)f(\(globbing\).)630
-460 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
-570 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
-(default.)630 731 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
-840 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 950 y(command)30 b(name.)630
-1111 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(123\).)41
-b(All)1110 1221 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
-1330 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 1491 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 1601 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 1711 y(tiv)m(e)h(shells.)630
-1872 y Ft(-o)e Fj(option-name)1110 1981 y Fu(Set)44 b(the)h(option)f
-(corresp)s(onding)f(to)i Fr(option-name)p Fu(.)83 b(If)44
-b Ft(-o)f Fu(is)h(supplied)1110 2091 y(with)29 b(no)h
-Fr(option-name)p Fu(,)h Ft(set)e Fu(prin)m(ts)g(the)g(curren)m(t)h
-(shell)g(options)g(settings.)1110 2201 y(If)37 b Ft(+o)g
-Fu(is)h(supplied)e(with)h(no)h Fr(option-name)p Fu(,)i
-Ft(set)d Fu(prin)m(ts)g(a)h(series)g(of)g Ft(set)1110
-2310 y Fu(commands)31 b(to)i(recreate)g(the)f(curren)m(t)g(option)g
-(settings)h(on)f(the)g(standard)1110 2420 y(output.)40
-b(V)-8 b(alid)32 b(option)f(names)f(are:)1110 2581 y
-Ft(allexport)1590 2690 y Fu(Same)g(as)h Ft(-a)p Fu(.)1110
-2852 y Ft(braceexpand)1590 2961 y Fu(Same)f(as)h Ft(-B)p
-Fu(.)1110 3122 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
-3232 y([Command)33 b(Line)g(Editing],)h(page)h(128\).)51
-b(This)32 b(also)i(a\013ects)1590 3342 y(the)d(editing)g(in)m(terface)h
-(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3503 y Ft(errexit)144
-b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110 3664 y Ft(errtrace)96
-b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110 3825 y Ft(functrace)1590
-3935 y Fu(Same)f(as)h Ft(-T)p Fu(.)1110 4096 y Ft(hashall)144
-b Fu(Same)30 b(as)h Ft(-h)p Fu(.)1110 4257 y Ft(histexpand)1590
-4367 y Fu(Same)f(as)h Ft(-H)p Fu(.)1110 4528 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 4637 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(165.)60 b(This)36 b(option)h(is)f(on)1590 4747
-y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-4908 y Ft(ignoreeof)1590 5018 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 5179
-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
-%%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)1110 299 y
-Ft(noclobber)1590 408 y Fu(Same)30 b(as)h Ft(-C)p Fu(.)1110
-580 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p Fu(.)1110
-751 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p Fu(.)1110
-922 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
-1093 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
-1265 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
-1436 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)1110
-1607 y Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
-1778 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 1888 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
-(exit)g(with)f(a)g(non-zero)1590 1998 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
-2107 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
-(default.)1110 2278 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
-2388 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 2498 y(dard)h(\(see)j
-(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)f(115\).)1590
-2607 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 2717 y(p)s(erset)30 b(of)h(that)f
-(standard.)1110 2888 y Ft(privileged)1590 2998 y Fu(Same)g(as)h
-Ft(-p)p Fu(.)1110 3169 y Ft(verbose)144 b Fu(Same)30
-b(as)h Ft(-v)p Fu(.)1110 3340 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 3450 y(the)31 b(editing)g(in)m
-(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3621
-y Ft(xtrace)192 b Fu(Same)30 b(as)h Ft(-x)p Fu(.)630
-3792 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 3902 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
-4011 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
-4121 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
-4230 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
-4340 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 4450 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 4559 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 4669 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 4778 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
-(and)g(group)g(ids.)630 4950 y Ft(-r)384 b Fu(Enable)51
-b(restricted)h(shell)g(mo)s(de)f(\(see)h(Section)g(6.10)h([The)e
-(Restricted)1110 5059 y(Shell],)42 b(page)e(114\).)69
-b(This)39 b(option)g(cannot)h(b)s(e)f(unset)g(once)h(it)g(has)f(b)s
-(een)1110 5169 y(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: 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(-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
-891 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 1044 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 1154 y Ft(select)41 b Fu(commands,)46
-b(and)c(arithmetic)i Ft(for)e Fu(commands)h(and)f(their)h(ar-)1110
-1263 y(gumen)m(ts)37 b(or)f(asso)s(ciated)i(w)m(ord)f(lists)g(to)g(the)
-g(standard)e(error)i(after)g(they)1110 1373 y(are)h(expanded)e(and)h(b)
-s(efore)g(they)g(are)h(executed.)62 b(The)37 b(shell)g(prin)m(ts)g(the)
-1110 1482 y(expanded)j(v)-5 b(alue)42 b(of)f(the)g Ft(PS4)f
-Fu(v)-5 b(ariable)42 b(b)s(efore)f(the)g(command)g(and)g(its)1110
-1592 y(expanded)30 b(argumen)m(ts.)630 1745 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 1855 y(Expansion],)30
-b(page)h(25\).)42 b(This)30 b(option)h(is)f(on)g(b)m(y)h(default.)630
-2008 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 2118 y(existing)30
-b(\014les.)40 b(Using)30 b(the)f(redirection)h(op)s(erator)f(`)p
-Ft(>|)p Fu(')h(instead)f(of)g(`)p Ft(>)p Fu(')h(will)1110
-2228 y(o)m(v)m(erride)h(this)g(and)f(force)g(the)h(creation)h(of)e(an)h
-(output)f(\014le.)630 2381 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 2491 y(substitutions,)35 b(and)e(commands)g(executed)i
-(in)f(a)g(subshell)f(en)m(vironmen)m(t.)1110 2600 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 2754 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 2863 y(teraction],)g(page)d(168\).)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 2973 y(shells.)630 3126 y Ft(-P)384 b Fu(If)36
-b(set,)j(Bash)d(do)s(es)g(not)h(resolv)m(e)h(sym)m(b)s(olic)f(links)f
-(when)f(executing)j(com-)1110 3236 y(mands)46 b(suc)m(h)h(as)g
-Ft(cd)g Fu(whic)m(h)f(c)m(hange)i(the)g(curren)m(t)f(directory)-8
-b(.)91 b(It)47 b(uses)1110 3345 y(the)35 b(ph)m(ysical)f(directory)h
-(structure)f(instead.)53 b(By)35 b(default,)g(Bash)g(follo)m(ws)1110
-3455 y(the)g(logical)i(c)m(hain)e(of)g(directories)h(when)d(p)s
-(erforming)h(commands)g(whic)m(h)1110 3565 y(c)m(hange)e(the)e(curren)m
-(t)g(directory)-8 b(.)1110 3696 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 3806 y Fu(then:)1350 3937 y Ft($)47
-b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4047 y(/usr/sys)1350
-4156 y($)g(cd)h(..;)f(pwd)1350 4266 y(/usr)1110 4398
-y Fu(If)30 b Ft(set)f(-P)h Fu(is)h(on,)f(then:)1350 4529
-y Ft($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4639 y(/usr/local/sys)
-1350 4748 y($)g(cd)h(..;)f(pwd)1350 4858 y(/usr/local)630
-5011 y(-T)384 b Fu(If)31 b(set,)j(an)m(y)e(traps)g(on)f
-Ft(DEBUG)g Fu(and)g Ft(RETURN)g Fu(are)h(inherited)g(b)m(y)f(shell)i
-(func-)1110 5121 y(tions,)40 b(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 5340
-y(inherited)d(in)g(suc)m(h)g(cases.)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(--)384
-b Fu(If)24 b(no)h(argumen)m(ts)g(follo)m(w)h(this)e(option,)j(unset)d
-(the)h(p)s(ositional)g(parameters.)1110 408 y(Otherwise,)f(the)f(p)s
-(ositional)h(parameters)f(are)g(set)g(to)h(the)e Fr(argumen)m(ts)p
-Fu(,)j(ev)m(en)1110 518 y(if)30 b(some)h(of)g(them)f(b)s(egin)g(with)g
-(a)h(`)p Ft(-)p Fu('.)630 681 y Ft(-)432 b Fu(Signal)37
-b(the)h(end)e(of)h(options,)i(and)e(assign)g(all)h(remaining)f
-Fr(argumen)m(ts)k Fu(to)1110 790 y(the)35 b(p)s(ositional)h
-(parameters.)56 b(The)35 b Ft(-x)f Fu(and)h Ft(-v)f Fu(options)i(are)f
-(turned)f(o\013.)1110 900 y(If)40 b(there)g(are)h(no)f(argumen)m(ts,)j
-(the)e(p)s(ositional)g(parameters)g(remain)f(un-)1110
-1009 y(c)m(hanged.)630 1172 y(Using)27 b(`)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 1281
-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 1391 y(found)29 b(in)h Ft($-)p Fu(.)630 1527 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 1637 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 1773 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 1975 y Fk(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150
-2122 y Fu(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h
-(additional)f(optional)g(shell)g(b)s(eha)m(vior.)150
-2286 y Ft(shopt)870 2422 y(shopt)46 b([-pqsu])g([-o])h([)p
-Fj(optname)e Ft(...])630 2558 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 2668 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 2778 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 2887 y(page)h(72\).)630 3023 y(With)37
-b(no)f(options,)j(or)d(with)g(the)h Ft(-p)f Fu(option,)i(displa)m(y)f
-(a)g(list)g(of)f(all)h(settable)h(options,)630 3133 y(with)30
-b(an)g(indication)h(of)g(whether)e(or)i(not)f(eac)m(h)h(is)g(set;)g(if)
-f(an)m(y)h Fr(optname)5 b Fu(s)30 b(are)h(supplied,)630
-3242 y(the)36 b(output)f(is)g(restricted)h(to)h(those)f(options.)56
-b(The)35 b Ft(-p)g Fu(option)h(displa)m(ys)f(output)g(in)h(a)630
-3352 y(form)30 b(that)h(ma)m(y)g(b)s(e)f(reused)f(as)i(input.)630
-3488 y(Other)f(options)h(ha)m(v)m(e)g(the)g(follo)m(wing)h(meanings:)
-630 3651 y Ft(-s)384 b Fu(Enable)30 b(\(set\))i(eac)m(h)f
-Fr(optname)p Fu(.)630 3813 y Ft(-u)384 b Fu(Disable)31
-b(\(unset\))g(eac)m(h)h Fr(optname)p Fu(.)630 3976 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 4085 y Fr(optname)40
-b Fu(is)35 b(set)g(or)f(unset.)53 b(If)35 b(m)m(ultiple)g
-Fr(optname)40 b Fu(argumen)m(ts)35 b(are)g(sup-)1110
-4195 y(plied)28 b(with)f Ft(-q)p Fu(,)h(the)g(return)e(status)i(is)g
-(zero)g(if)g(all)h Fr(optname)5 b Fu(s)28 b(are)g(enabled;)1110
-4304 y(non-zero)j(otherwise.)630 4467 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
-4577 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(72\).)630 4739 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
-4849 y(options)h(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m
-(ely)-8 b(.)630 4985 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 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 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.)p
-eop end
-%%Page: 78 84
-TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(78)630 299 y(The)30
-b(list)h(of)f Ft(shopt)f Fu(options)i(is:)630 463 y Ft
-(array_expand_once)1110 573 y Fu(If)39 b(set,)j(the)d(shell)g
-(suppresses)e(m)m(ultiple)j(ev)-5 b(aluation)41 b(of)e(asso)s(ciativ)m
-(e)j(and)1110 682 y(indexed)37 b(arra)m(y)h(subscripts)e(during)g
-(arithmetic)j(expression)e(ev)-5 b(aluation,)1110 792
-y(while)23 b(executing)h(builtins)f(that)g(can)h(p)s(erform)d(v)-5
-b(ariable)24 b(assignmen)m(ts,)i(and)1110 902 y(while)k(executing)i
-(builtins)e(that)h(p)s(erform)e(arra)m(y)i(dereferencing.)630
-1066 y Ft(assoc_expand_once)1110 1176 y Fu(Deprecated;)h(a)f(synon)m
-(ym)f(for)g Ft(array_expand_once)p Fu(.)630 1340 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 1450 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 1559 y(used)g(b)m(y)g(in)m
-(teractiv)m(e)j(shells.)630 1724 y Ft(bash_source_fullpath)1110
-1833 y Fu(If)d(set,)h(\014lenames)f(added)g(to)h(the)f
-Ft(BASH_SOURCE)e Fu(arra)m(y)j(v)-5 b(ariable)31 b(are)f(con-)1110
-1943 y(v)m(erted)23 b(to)h(full)e(pathnames)g(\(see)i(Section)f(5.2)h
-([Bash)f(V)-8 b(ariables],)26 b(page)d(86\).)630 2107
-y Ft(cdable_vars)1110 2217 y Fu(If)34 b(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 2326 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 2436 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-2600 y Ft(cdspell)144 b Fu(If)42 b(set,)k(the)c Ft(cd)f
-Fu(command)h(attempts)h(to)g(correct)h(minor)d(errors)h(in)g(the)1110
-2710 y(sp)s(elling)27 b(of)f(a)h(directory)g(comp)s(onen)m(t.)40
-b(Minor)27 b(errors)f(include)g(transp)s(osed)1110 2819
-y(c)m(haracters,)50 b(a)45 b(missing)f(c)m(haracter,)50
-b(and)44 b(one)h(extra)g(c)m(haracter.)85 b(If)44 b Ft(cd)1110
-2929 y Fu(corrects)37 b(the)g(directory)g(name,)h(it)f(prin)m(ts)e(the)
-i(corrected)g(\014lename,)i(and)1110 3039 y(the)j(command)g(pro)s
-(ceeds.)76 b(This)41 b(option)i(is)f(only)h(used)e(b)m(y)h(in)m
-(teractiv)m(e)1110 3148 y(shells.)630 3313 y Ft(checkhash)1110
-3422 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 3532
-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 3641
-y(exists,)f(Bash)g(p)s(erforms)e(a)h(normal)h(path)f(searc)m(h.)630
-3806 y Ft(checkjobs)1110 3915 y Fu(If)e(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 4025 y(exiting)39 b(an)g(in)m(teractiv)m(e)i(shell.)65
-b(If)38 b(an)m(y)g(jobs)g(are)h(running,)g(Bash)f(defers)1110
-4134 y(the)j(exit)h(un)m(til)f(a)g(second)f(exit)i(is)f(attempted)h
-(without)e(an)h(in)m(terv)m(ening)1110 4244 y(command)22
-b(\(see)i(Chapter)e(7)h([Job)g(Con)m(trol],)i(page)f(123\).)39
-b(The)23 b(shell)f(alw)m(a)m(ys)1110 4354 y(p)s(ostp)s(ones)29
-b(exiting)j(if)e(an)m(y)h(jobs)f(are)g(stopp)s(ed.)630
-4518 y Ft(checkwinsize)1110 4628 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 4737 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 4847 y Ft(COLUMNS)p Fu(,)36
-b(using)g(the)h(\014le)g(descriptor)f(asso)s(ciated)i(with)f(stderr)e
-(if)i(it)g(is)g(a)1110 4956 y(terminal.)k(This)30 b(option)h(is)f
-(enabled)g(b)m(y)h(default.)630 5121 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 5230 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 5340 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)p eop end
-%%Page: 79 85
-TeXDict begin 79 84 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(79)1110 299 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 408 y(F)-8 b(acilities],)34 b(page)d(165\).)630
-559 y Ft(compat31)630 669 y(compat32)630 778 y(compat40)630
-888 y(compat41)630 998 y(compat42)630 1107 y(compat43)630
-1217 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
-1326 y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
-(120\).)630 1477 y Ft(complete_fullquote)1110 1587 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 1696 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 1806 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 1915
-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 2025 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 2134 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
-2244 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 2354
-y(\014lenames)i(will)g(not)g(b)s(e)g(quoted,)g(either.)41
-b(This)27 b(is)h(activ)m(e)i(only)e(when)f(Bash)1110
-2463 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 2573
-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 2682 y(through)30
-b(4.2.)630 2833 y Ft(direxpand)1110 2943 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 3052 y(pansion)k(when)g(p)s(erforming)f(\014lename)i
-(completion.)67 b(This)38 b(c)m(hanges)i(the)1110 3162
-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 3271 y(to)d(preserv)m(e)g
-(what)f(the)g(user)g(t)m(yp)s(ed.)630 3422 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 3532 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
-3641 y(exist.)630 3792 y Ft(dotglob)144 b Fu(If)35 b(set,)k(Bash)d
-(includes)f(\014lenames)h(b)s(eginning)f(with)h(a)g(`)p
-Ft(.)p Fu(')g(in)g(the)g(results)1110 3902 y(of)43 b(\014lename)g
-(expansion.)78 b(The)42 b(\014lenames)h Ft(.)f Fu(and)g
-Ft(..)h Fu(m)m(ust)f(alw)m(a)m(ys)j(b)s(e)1110 4011 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 4162 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 4271 y(the)f(\014le)g(sp)s(eci\014ed)f(as)h(an)g
-(argumen)m(t)g(to)h(the)f Ft(exec)e Fu(builtin.)39 b(An)24
-b(in)m(teractiv)m(e)1110 4381 y(shell)31 b(do)s(es)f(not)g(exit)i(if)e
-Ft(exec)f Fu(fails.)630 4532 y Ft(expand_aliases)1110
-4641 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 4751 y(tion)i(6.6)h
-([Aliases],)h(page)e(108.)55 b(This)33 b(option)i(is)g(enabled)f(b)m(y)
-h(default)f(for)1110 4861 y(in)m(teractiv)m(e)f(shells.)630
-5011 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 5121 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 5230
-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 5340
-y(use)30 b(b)m(y)g(debuggers)g(is)h(enabled:)p eop end
-%%Page: 80 86
-TeXDict begin 80 85 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(80)1159 299 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 408 y(Builtins],)29
-b(page)g(60\))g(displa)m(ys)f(the)g(source)h(\014le)f(name)g(and)f
-(line)h(n)m(um-)1290 518 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 628
-y(men)m(t.)1159 769 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 879 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 1021 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 1130 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 1240 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 1350 y(sim)m(ulates)d(a)g(call)h(to)f
-Ft(return)p Fu(.)1159 1491 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 1601 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(86\).)1159 1743 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 1852 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 1962 y Ft(DEBUG)d
-Fu(and)h Ft(RETURN)e Fu(traps.)1159 2104 y(6.)61 b(Error)41
-b(tracing)i(is)f(enabled:)63 b(command)42 b(substitution,)i(shell)f
-(func-)1290 2213 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 2323 y Fu(trap.)630 2497 y Ft(extglob)144
-b Fu(If)45 b(set,)50 b(enable)45 b(the)h(extended)f(pattern)g(matc)m
-(hing)i(features)e(describ)s(ed)1110 2607 y(ab)s(o)m(v)m(e)32
-b(\(see)f(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f
-(38\).)630 2781 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 2890
-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 3000 y(is)d(enabled)h(b)m
-(y)f(default.)630 3174 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 3284 y(pansion)30 b(result)g(in)g(an)g(expansion)h(error.)630
-3458 y Ft(force_fignore)1110 3567 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 3677 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
-3786 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 3896 y([Bash)24
-b(V)-8 b(ariables],)27 b(page)e(86,)h(for)d(a)h(description)g(of)g
-Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 4006 y(is)30
-b(enabled)h(b)m(y)f(default.)630 4180 y Ft(globasciiranges)1110
-4289 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 4399 y(sions)i(\(see)h(Section)g
-(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j(page)d(38\))h(b)s(eha)m(v)m(e)
-f(as)1110 4508 y(if)c(in)g(the)g(traditional)i(C)e(lo)s(cale)i(when)d
-(p)s(erforming)g(comparisons.)52 b(That)1110 4618 y(is,)29
-b(pattern)f(matc)m(hing)h(do)s(es)e(not)h(tak)m(e)i(the)e(curren)m(t)g
-(lo)s(cale's)h(collating)h(se-)1110 4728 y(quence)e(in)m(to)i(accoun)m
-(t,)g(so)f(`)p Ft(b)p Fu(')f(will)h(not)f(collate)j(b)s(et)m(w)m(een)e
-(`)p Ft(A)p Fu(')g(and)e(`)p Ft(B)p Fu(',)j(and)1110
-4837 y(upp)s(er-case)g(and)g(lo)m(w)m(er-case)j(ASCI)s(I)28
-b(c)m(haracters)k(will)f(collate)i(together.)630 5011
-y Ft(globskipdots)1110 5121 y Fu(If)c(set,)h(\014lename)f(expansion)g
-(will)g(nev)m(er)g(matc)m(h)h(the)f(\014lenames)g Ft(.)g
-Fu(and)f Ft(..)p Fu(,)1110 5230 y(ev)m(en)40 b(if)g(the)g(pattern)g(b)s
-(egins)f(with)g(a)i(`)p Ft(.)p Fu('.)68 b(This)39 b(option)i(is)e
-(enabled)h(b)m(y)1110 5340 y(default.)p eop end
-%%Page: 81 87
-TeXDict begin 81 86 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(81)630 299 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 408
-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 518 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 628 y(matc)m(h.)630 803
-y Ft(gnu_errfmt)1110 913 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
-1022 y(message)c(format.)630 1198 y Ft(histappend)1110
-1307 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 1417 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
-1526 y(the)31 b(\014le.)630 1702 y Ft(histreedit)1110
-1811 y Fu(If)26 b(set,)i(and)e(Readline)h(is)f(b)s(eing)g(used,)h(the)f
-(user)g(is)h(giv)m(en)g(the)g(opp)s(ortunit)m(y)1110
-1921 y(to)k(re-edit)g(a)g(failed)g(history)f(substitution.)630
-2096 y Ft(histverify)1110 2206 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
-2315 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 2425 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 2534 y(further)29 b(mo)s(di\014cation.)630 2710
-y Ft(hostcomplete)1110 2819 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
-2929 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 3039 y(pleted)g(\(see)h
-(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(151\).)1110 3148 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 3324 y Ft(huponexit)1110 3433 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 3543 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(48\).)630 3718 y Ft(inherit_errexit)1110 3828
-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 3937
-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 4047 y(tion)f(is)f(enabled)h
-(when)e Fm(posix)h Fu(mo)s(de)g(is)g(enabled.)630 4222
-y Ft(interactive_comments)1110 4332 y Fu(In)f(an)h(in)m(teractiv)m(e)j
-(shell,)e(a)f(w)m(ord)g(b)s(eginning)f(with)h(`)p Ft(#)p
-Fu(')g(causes)h(that)f(w)m(ord)1110 4441 y(and)41 b(all)i(remaining)e
-(c)m(haracters)i(on)f(that)g(line)g(to)h(b)s(e)e(ignored,)j(as)e(in)g
-(a)1110 4551 y(non-in)m(teractiv)m(e)33 b(shell.)41 b(This)29
-b(option)i(is)g(enabled)f(b)m(y)g(default.)630 4726 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
-4836 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 4945 y(en)m(vironmen)m
-(t.)630 5121 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
-5230 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 5340 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)p eop end
-%%Page: 82 88
-TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(82)630 299 y Ft
-(localvar_inherit)1110 408 y Fu(If)32 b(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 518 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
-628 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 781 y Ft(localvar_unset)1110
-891 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
-1000 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 1110 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 1219 y(v)-5 b(ariables)31
-b(at)g(the)g(curren)m(t)f(function)g(scop)s(e.)630 1373
-y Ft(login_shell)1110 1482 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
-1592 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(99\).)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
-1745 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 1855 y(since)c(the)f(last)i(time)f(it)g(w)m(as)f(c)m(hec)m(k)m
-(ed,)j(Bash)e(displa)m(ys)f(the)h(message)g Ft("The)1110
-1965 y(mail)f(in)h Fj(mailfile)e Ft(has)i(been)f(read")p
-Fu(.)630 2118 y Ft(no_empty_cmd_completion)1110 2228
-y Fu(If)k(set,)j(and)d(Readline)i(is)f(b)s(eing)f(used,)i(Bash)f(do)s
-(es)f(not)h(searc)m(h)h(the)f Ft(PATH)1110 2337 y Fu(for)22
-b(p)s(ossible)g(completions)h(when)e(completion)i(is)f(attempted)i(on)e
-(an)g(empt)m(y)1110 2447 y(line.)630 2600 y Ft(nocaseglob)1110
-2710 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 2819 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 2973 y Ft(nocasematch)1110
-3082 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 3192 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 3302 y(mands)25 b(\(see)i(Section)f
-(3.2.5.2)j([Conditional)e(Constructs],)f(page)h(12,)h(when)1110
-3411 y(p)s(erforming)e(pattern)i(substitution)f(w)m(ord)g(expansions,)h
-(or)f(when)g(\014ltering)1110 3521 y(p)s(ossible)j(completions)h(as)g
-(part)f(of)h(programmable)f(completion.)630 3674 y Ft
-(noexpand_translation)1110 3784 y Fu(If)25 b(set,)i(Bash)e(encloses)i
-(the)e(translated)h(results)f(of)h($)p Ft(")6 b Fu(.)22
-b(.)g(.)11 b Ft(")25 b Fu(quoting)h(in)f(sin-)1110 3893
-y(gle)31 b(quotes)g(instead)f(of)h(double)e(quotes.)41
-b(If)30 b(the)g(string)g(is)h(not)f(translated,)1110
-4003 y(this)g(has)g(no)h(e\013ect.)630 4156 y Ft(nullglob)96
-b Fu(If)35 b(set,)j(\014lename)e(expansion)f(patterns)h(whic)m(h)f
-(matc)m(h)i(no)e(\014les)h(\(see)g(Sec-)1110 4266 y(tion)g(3.5.8)i
-([Filename)f(Expansion],)f(page)h(37\))g(expand)e(to)h(nothing)g(and)
-1110 4376 y(are)31 b(remo)m(v)m(ed,)g(rather)g(than)f(expanding)g(to)h
-(themselv)m(es.)630 4529 y Ft(patsub_replacement)1110
-4639 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
-4748 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 4858 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 4967 y(page)31 b(27\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 5121 y
-Ft(progcomp)96 b Fu(If)81 b(set,)94 b(enable)82 b(the)f(programmable)g
-(completion)i(facilities)g(\(see)1110 5230 y(Section)31
-b(8.6)f([Programmable)h(Completion],)g(page)f(156\).)43
-b(This)29 b(option)h(is)1110 5340 y(enabled)g(b)m(y)h(default.)p
-eop end
-%%Page: 83 89
-TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(83)630 299 y Ft(progcomp_alias)
-1110 408 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 518 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 628 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
-737 y(programmable)28 b(completion)h(using)e(the)h(command)f(w)m(ord)h
-(resulting)f(from)1110 847 y(the)k(expanded)e(alias.)630
-1029 y Ft(promptvars)1110 1138 y Fu(If)50 b(set,)56 b(prompt)49
-b(strings)h(undergo)g(parameter)h(expansion,)k(command)1110
-1248 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 1357 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 1467 y(Prompt],)30 b(page)h(112\).)43
-b(This)29 b(option)i(is)g(enabled)f(b)m(y)g(default.)630
-1649 y Ft(restricted_shell)1110 1758 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 1868 y(Section)32 b(6.10)h([The)d(Restricted)j(Shell],)e(page)h
-(114\).)45 b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110
-1977 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 2087
-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 2197
-y(stricted.)630 2378 y Ft(shift_verbose)1110 2488 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 2598 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 2779 y
-Ft(sourcepath)1110 2889 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
-2999 y(directory)32 b(con)m(taining)i(the)e(\014le)g(supplied)e(as)j
-(an)e(argumen)m(t)i(when)d(the)j Ft(-p)1110 3108 y Fu(option)e(is)f
-(not)h(supplied.)39 b(This)30 b(option)h(is)f(enabled)g(b)m(y)h
-(default.)630 3290 y Ft(varredir_close)1110 3400 y Fu(If)h(set,)h(the)f
-(shell)h(automatically)i(closes)e(\014le)f(descriptors)g(assigned)g
-(using)1110 3509 y(the)40 b Ft({varname})c Fu(redirection)k(syn)m(tax)g
-(\(see)h(Section)f(3.6)g([Redirections],)1110 3619 y(page)h(40\))f
-(instead)h(of)e(lea)m(ving)j(them)e(op)s(en)f(when)g(the)h(command)f
-(com-)1110 3728 y(pletes.)630 3910 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 4020
-y(fault.)40 b(If)27 b(the)h Ft(posix)e Fu(shell)h(option)h(\(see)h
-(Section)f(4.3.1)h([The)e(Set)h(Builtin],)1110 4129 y(page)j(72\))h(is)
-e(also)h(enabled,)g Ft(echo)e Fu(do)s(es)h(not)h(in)m(terpret)g(an)m(y)
-f(options.)150 4404 y Fs(4.4)68 b(Sp)t(ecial)45 b(Builtins)150
-4563 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 4673 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
-4782 y(commands)e(in)g(three)h(resp)s(ects:)199 4939
-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 5085 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 5230
-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
-5340 y(after)i(the)f(command)h(completes.)p eop end
-%%Page: 84 90
-TeXDict begin 84 89 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(84)275 299 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
-408 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 518 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(115.)275
-653 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h(builtins:)390
-787 y Ft(break)46 b(:)i(.)f(source)f(continue)g(eval)h(exec)f(exit)h
-(export)f(readonly)f(return)i(set)390 897 y(shift)f(times)h(trap)f
-(unset)p eop end
-%%Page: 85 91
-TeXDict begin 85 90 bop 3659 -116 a Fu(85)150 299 y Fp(5)80
-b(Shell)53 b(V)-13 b(ariables)150 632 y Fu(This)21 b(c)m(hapter)i
-(describ)s(es)e(the)i(shell)f(v)-5 b(ariables)23 b(that)f(Bash)h(uses.)
-37 b(Bash)23 b(automatically)h(assigns)f(default)150
-741 y(v)-5 b(alues)31 b(to)g(a)g(n)m(um)m(b)s(er)e(of)h(v)-5
-b(ariables.)150 1031 y Fs(5.1)68 b(Bourne)45 b(Shell)g(V)-11
-b(ariables)150 1191 y Fu(Bash)30 b(uses)g(certain)h(shell)g(v)-5
-b(ariables)31 b(in)f(the)g(same)h(w)m(a)m(y)g(as)g(the)f(Bourne)g
-(shell.)41 b(In)30 b(some)g(cases,)i(Bash)150 1300 y(assigns)f(a)f
-(default)h(v)-5 b(alue)31 b(to)g(the)f(v)-5 b(ariable.)150
-1509 y Ft(CDPATH)192 b Fu(A)39 b(colon-separated)i(list)e(of)g
-(directories)h(used)f(as)g(a)g(searc)m(h)h(path)e(for)h(the)g
-Ft(cd)f Fu(builtin)630 1619 y(command.)150 1811 y Ft(HOME)288
-b Fu(The)23 b(curren)m(t)h(user's)f(home)g(directory;)k(the)d(default)g
-(for)f(the)h Ft(cd)f Fu(builtin)g(command.)38 b(The)630
-1921 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
-b(is)g(also)g(used)e(b)m(y)h(tilde)h(expansion)f(\(see)i(Section)f
-(3.5.2)h([Tilde)630 2030 y(Expansion],)30 b(page)h(26\).)150
-2223 y Ft(IFS)336 b Fu(A)25 b(list)i(of)e(c)m(haracters)i(that)f
-(separate)g(\014elds;)h(used)e(when)f(the)i(shell)f(splits)h(w)m(ords)e
-(as)i(part)630 2332 y(of)h(expansion)g(and)f(b)m(y)g(the)h
-Ft(read)f Fu(builtin)g(to)i(split)f(lines)g(in)m(to)h(w)m(ords.)39
-b(See)27 b(Section)g(3.5.7)630 2442 y([W)-8 b(ord)31
-b(Splitting],)g(page)g(37,)h(for)e(a)h(description)f(of)h(w)m(ord)f
-(splitting.)150 2634 y Ft(MAIL)288 b Fu(If)34 b(the)h(v)-5
-b(alue)36 b(is)e(set)i(to)f(a)g(\014lename)g(or)g(directory)h(name)e
-(and)h(the)g Ft(MAILPATH)d Fu(v)-5 b(ariable)630 2744
-y(is)36 b(not)g(set,)i(Bash)e(informs)f(the)h(user)f(of)h(the)g(arriv)
--5 b(al)37 b(of)f(mail)g(in)g(the)g(sp)s(eci\014ed)f(\014le)h(or)630
-2853 y(Maildir-format)c(directory)-8 b(.)150 3046 y Ft(MAILPATH)96
-b Fu(A)33 b(colon-separated)i(list)f(of)f(\014lenames)h(whic)m(h)f(the)
-g(shell)g(p)s(erio)s(dically)h(c)m(hec)m(ks)g(for)f(new)630
-3155 y(mail.)60 b(Eac)m(h)37 b(list)g(en)m(try)g(can)g(sp)s(ecify)f
-(the)h(message)h(that)f(is)g(prin)m(ted)f(when)f(new)h(mail)630
-3265 y(arriv)m(es)31 b(in)g(the)g(mail)g(\014le)g(b)m(y)g(separating)h
-(the)f(\014lename)g(from)f(the)h(message)h(with)e(a)i(`)p
-Ft(?)p Fu('.)630 3374 y(When)g(used)f(in)h(the)g(text)i(of)e(the)g
-(message,)i Ft($_)e Fu(expands)f(to)i(the)f(name)g(of)h(the)f(curren)m
-(t)630 3484 y(mail)f(\014le.)150 3676 y Ft(OPTARG)192
-b Fu(The)30 b(v)-5 b(alue)31 b(of)f(the)h(last)g(option)g(argumen)m(t)g
-(pro)s(cessed)f(b)m(y)g(the)g Ft(getopts)f Fu(builtin.)150
-3869 y Ft(OPTIND)192 b Fu(The)30 b(index)g(of)g(the)h(next)f(argumen)m
-(t)h(to)g(b)s(e)f(pro)s(cessed)g(b)m(y)g(the)h Ft(getopts)d
-Fu(builtin.)150 4061 y Ft(PATH)288 b Fu(A)42 b(colon-separated)j(list)d
-(of)h(directories)g(in)f(whic)m(h)g(the)h(shell)f(lo)s(oks)h(for)f
-(commands.)630 4171 y(A)62 b(zero-length)h(\(n)m(ull\))f(directory)h
-(name)e(in)h(the)g(v)-5 b(alue)62 b(of)g Ft(PATH)e Fu(indicates)j(the)
-630 4280 y(curren)m(t)35 b(directory)-8 b(.)58 b(A)36
-b(n)m(ull)g(directory)g(name)f(ma)m(y)i(app)s(ear)e(as)h(t)m(w)m(o)h
-(adjacen)m(t)g(colons,)630 4390 y(or)51 b(as)h(an)f(initial)i(or)f
-(trailing)g(colon.)105 b(The)51 b(default)g(path)h(is)f(system-dep)s
-(enden)m(t,)630 4499 y(and)j(is)h(set)g(b)m(y)f(the)h(administrator)g
-(who)f(installs)i Ft(bash)p Fu(.)112 b(A)55 b(common)g(v)-5
-b(alue)55 b(is)630 4609 y Ft(")p Fu(/usr/lo)s(cal/bin:/usr/lo)s
-(cal/sbin:/usr/bin:/usr/sbin:/bin:/sbin)p Ft(")p Fu(.)150
-4801 y Ft(PS1)336 b Fu(The)35 b(primary)f(prompt)h(string.)55
-b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Ft(\\s-\\v\\$)28
-b Fu('.)56 b(See)36 b(Section)g(6.9)630 4911 y([Con)m(trolling)i(the)e
-(Prompt],)i(page)f(112,)i(for)d(the)h(complete)h(list)e(of)h(escap)s(e)
-g(sequences)630 5020 y(that)31 b(are)g(expanded)e(b)s(efore)h
-Ft(PS1)g Fu(is)g(displa)m(y)m(ed.)150 5213 y Ft(PS2)336
-b Fu(The)28 b(secondary)g(prompt)g(string.)40 b(The)28
-b(default)g(v)-5 b(alue)29 b(is)g(`)p Ft(>)h Fu('.)40
-b Ft(PS2)28 b Fu(is)g(expanded)g(in)g(the)630 5322 y(same)j(w)m(a)m(y)g
-(as)g Ft(PS1)e Fu(b)s(efore)h(b)s(eing)g(displa)m(y)m(ed.)p
-eop end
-%%Page: 86 92
-TeXDict begin 86 91 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(86)150 299 y Fs(5.2)68
-b(Bash)45 b(V)-11 b(ariables)150 458 y Fu(These)45 b(v)-5
-b(ariables)46 b(are)g(set)g(or)f(used)f(b)m(y)h(Bash,)50
-b(but)44 b(other)i(shells)f(do)h(not)f(normally)h(treat)g(them)150
-568 y(sp)s(ecially)-8 b(.)275 696 y(A)24 b(few)g(v)-5
-b(ariables)24 b(used)g(b)m(y)f(Bash)i(are)f(describ)s(ed)f(in)h
-(di\013eren)m(t)g(c)m(hapters:)38 b(v)-5 b(ariables)25
-b(for)f(con)m(trolling)150 806 y(the)31 b(job)f(con)m(trol)h
-(facilities)i(\(see)e(Section)g(7.3)h([Job)e(Con)m(trol)h(V)-8
-b(ariables],)32 b(page)g(127\).)150 952 y Ft(_)432 b
-Fu(\($)p 716 952 28 4 v 41 w(,)30 b(an)f(underscore.\))40
-b(This)28 b(has)h(a)h(n)m(um)m(b)s(er)e(of)h(meanings)h(dep)s(ending)e
-(on)h(con)m(text.)42 b(A)m(t)630 1062 y(shell)d(startup,)h($)p
-1251 1062 V 78 w(set)f(to)g(the)g(pathname)f(used)g(to)h(in)m(v)m(ok)m
-(e)h(the)f(shell)f(or)g(shell)h(script)630 1172 y(b)s(eing)c(executed)i
-(as)f(passed)g(in)f(the)h(en)m(vironmen)m(t)h(or)f(argumen)m(t)g(list.)
-58 b(Subsequen)m(tly)-8 b(,)630 1281 y(it)35 b(expands)f(to)h(the)g
-(last)h(argumen)m(t)f(to)g(the)g(previous)g(simple)f(command)h
-(executed)g(in)630 1391 y(the)41 b(foreground,)h(after)f(expansion.)71
-b(It)41 b(is)f(also)i(set)f(to)g(the)g(full)f(pathname)g(used)g(to)630
-1500 y(in)m(v)m(ok)m(e)46 b(eac)m(h)g(command)e(executed)h(and)f
-(placed)h(in)f(the)g(en)m(vironmen)m(t)h(exp)s(orted)f(to)630
-1610 y(that)31 b(command.)40 b(When)31 b(c)m(hec)m(king)h(mail,)f($)p
-2186 1610 V 71 w(expands)e(to)i(the)g(name)f(of)h(the)g(mail)g(\014le.)
-150 1757 y Ft(BASH)288 b Fu(The)30 b(full)g(pathname)g(used)g(to)h
-(execute)h(the)e(curren)m(t)g(instance)h(of)g(Bash.)150
-1904 y Ft(BASHOPTS)96 b Fu(A)31 b(colon-separated)h(list)f(of)g
-(enabled)f(shell)h(options.)41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h
-(list)g(is)g(a)g(v)-5 b(alid)630 2013 y(argumen)m(t)37
-b(for)g(the)g Ft(-s)f Fu(option)i(to)f(the)g Ft(shopt)f
-Fu(builtin)g(command)h(\(see)g(Section)h(4.3.2)630 2123
-y([The)e(Shopt)g(Builtin],)i(page)f(77\).)60 b(The)36
-b(options)h(app)s(earing)f(in)g Ft(BASHOPTS)e Fu(are)i(those)630
-2232 y(rep)s(orted)e(as)h(`)p Ft(on)p Fu(')f(b)m(y)h(`)p
-Ft(shopt)p Fu('.)53 b(If)34 b(this)g(v)-5 b(ariable)36
-b(is)f(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)630
-2342 y(starts)i(up,)g(the)g(shell)f(enables)h(eac)m(h)h(option)f(in)f
-(the)h(list)g(b)s(efore)f(reading)h(an)m(y)f(startup)630
-2451 y(\014les.)41 b(This)29 b(v)-5 b(ariable)31 b(is)g(readonly)-8
-b(.)150 2598 y Ft(BASHPID)144 b Fu(Expands)36 b(to)i(the)f(pro)s(cess)g
-Fm(id)h Fu(of)f(the)h(curren)m(t)f(Bash)g(pro)s(cess.)61
-b(This)37 b(di\013ers)g(from)g Ft($$)630 2708 y Fu(under)31
-b(certain)j(circumstances,)h(suc)m(h)e(as)g(subshells)f(that)i(do)f
-(not)g(require)g(Bash)g(to)h(b)s(e)630 2817 y(re-initialized.)57
-b(Assignmen)m(ts)35 b(to)h Ft(BASHPID)d Fu(ha)m(v)m(e)j(no)f(e\013ect.)
-56 b(If)34 b Ft(BASHPID)f Fu(is)i(unset,)h(it)630 2927
-y(loses)31 b(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h
-(is)g(subsequen)m(tly)f(reset.)150 3074 y Ft(BASH_ALIASES)630
-3183 y Fu(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5
-b(ariable)41 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m
-(ternal)h(list)630 3293 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g
-(the)g Ft(alias)e Fu(builtin.)59 b(\(see)37 b(Section)h(4.1)f([Bourne)g
-(Shell)630 3403 y(Builtins],)31 b(page)g(51\).)42 b(Elemen)m(ts)31
-b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)g(the)g(alias)h(list;)h
-(ho)m(w-)630 3512 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g
-(curren)m(tly)g(do)s(es)f(not)g(cause)h(aliases)h(to)f(b)s(e)f(remo)m
-(v)m(ed)630 3622 y(from)25 b(the)h(alias)h(list.)40 b(If)25
-b Ft(BASH_ALIASES)d Fu(is)k(unset,)g(it)g(loses)h(its)f(sp)s(ecial)g
-(prop)s(erties,)g(ev)m(en)630 3731 y(if)k(it)h(is)g(subsequen)m(tly)f
-(reset.)150 3878 y Ft(BASH_ARGC)630 3988 y Fu(An)39 b(arra)m(y)g(v)-5
-b(ariable)40 b(whose)f(v)-5 b(alues)39 b(are)h(the)f(n)m(um)m(b)s(er)f
-(of)h(parameters)g(in)g(eac)m(h)h(frame)630 4097 y(of)h(the)g(curren)m
-(t)g(Bash)g(execution)h(call)g(stac)m(k.)73 b(The)41
-b(n)m(um)m(b)s(er)e(of)i(parameters)g(to)h(the)630 4207
-y(curren)m(t)c(subroutine)f(\(shell)i(function)e(or)i(script)f
-(executed)h(with)e Ft(.)h Fu(or)g Ft(source)p Fu(\))f(is)h(at)630
-4316 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27
-b(a)g(subroutine)f(is)h(executed,)i(the)e(n)m(um)m(b)s(er)f(of)h
-(parameters)630 4426 y(passed)44 b(is)h(pushed)e(on)m(to)j
-Ft(BASH_ARGC)p Fu(.)81 b(The)44 b(shell)h(sets)g Ft(BASH_ARGC)e
-Fu(only)i(when)e(in)630 4536 y(extended)34 b(debugging)f(mo)s(de)g
-(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g(77,)g(for)
-630 4645 y(a)e(description)g(of)f(the)h Ft(extdebug)d
-Fu(option)j(to)h(the)e Ft(shopt)g Fu(builtin\).)47 b(Setting)33
-b Ft(extdebug)630 4755 y Fu(after)g(the)f(shell)g(has)g(started)g(to)h
-(execute)g(a)g(subroutine,)e(or)h(referencing)g(this)g(v)-5
-b(ariable)630 4864 y(when)36 b Ft(extdebug)e Fu(is)i(not)h(set,)i(ma)m
-(y)e(result)g(in)f(inconsisten)m(t)i(v)-5 b(alues.)59
-b(Assignmen)m(ts)37 b(to)630 4974 y Ft(BASH_ARGC)28 b
-Fu(ha)m(v)m(e)j(no)g(e\013ect,)h(and)e(it)h(ma)m(y)g(not)f(b)s(e)g
-(unset.)150 5121 y Ft(BASH_ARGV)630 5230 y Fu(An)23 b(arra)m(y)g(v)-5
-b(ariable)24 b(con)m(taining)g(all)g(of)f(the)h(parameters)f(in)g(the)g
-(curren)m(t)g(Bash)g(execution)630 5340 y(call)35 b(stac)m(k.)53
-b(The)34 b(\014nal)g(parameter)g(of)g(the)g(last)h(subroutine)e(call)i
-(is)f(at)h(the)f(top)h(of)f(the)p eop end
-%%Page: 87 93
-TeXDict begin 87 92 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(87)630 299 y(stac)m(k;)28
-b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i(call)f(is)f(at)h
-(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630 408
-y(is)e(executed,)j(the)e(shell)g(pushes)e(the)h(supplied)f(parameters)i
-(on)m(to)g Ft(BASH_ARGV)p Fu(.)36 b(The)22 b(shell)630
-518 y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g
-(debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-628 y(Shopt)g(Builtin],)h(page)g(77,)g(for)g(a)f(description)h(of)f
-(the)h Ft(extdebug)d Fu(option)j(to)g(the)f Ft(shopt)630
-737 y Fu(builtin\).)64 b(Setting)38 b Ft(extdebug)e Fu(after)j(the)f
-(shell)g(has)g(started)g(to)h(execute)g(a)g(script,)h(or)630
-847 y(referencing)35 b(this)f(v)-5 b(ariable)35 b(when)e
-Ft(extdebug)f Fu(is)j(not)f(set,)j(ma)m(y)e(result)f(in)g(inconsisten)m
-(t)630 956 y(v)-5 b(alues.)41 b(Assignmen)m(ts)31 b(to)g
-Ft(BASH_ARGV)d Fu(ha)m(v)m(e)j(no)g(e\013ect,)h(and)e(it)g(ma)m(y)h
-(not)g(b)s(e)f(unset.)150 1121 y Ft(BASH_ARGV0)630 1230
-y Fu(When)h(referenced,)g(this)g(v)-5 b(ariable)32 b(expands)e(to)h
-(the)h(name)f(of)g(the)g(shell)g(or)g(shell)g(script)630
-1340 y(\(iden)m(tical)42 b(to)e Ft($0)p Fu(;)j(See)d(Section)g(3.4.2)i
-([Sp)s(ecial)e(P)m(arameters],)j(page)d(23,)j(for)c(the)h(de-)630
-1450 y(scription)30 b(of)f(sp)s(ecial)i(parameter)f(0\).)41
-b(Assigning)30 b(a)g(v)-5 b(alue)30 b(to)g Ft(BASH_ARGV0)d
-Fu(assigns)j(the)630 1559 y(same)g(v)-5 b(alue)30 b(to)g
-Ft($0)p Fu(.)40 b(If)28 b Ft(BASH_ARGV0)f Fu(is)i(unset,)h(it)g(loses)g
-(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)630
-1669 y(it)h(is)f(subsequen)m(tly)g(reset.)150 1833 y
-Ft(BASH_CMDS)630 1943 y Fu(An)k(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5
-b(ariable)35 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m
-(ternal)h(hash)630 2052 y(table)c(of)g(commands)f(as)g(main)m(tained)h
-(b)m(y)g(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne)
-630 2162 y(Shell)e(Builtins],)h(page)g(51\).)42 b(Adding)30
-b(elemen)m(ts)i(to)f(this)f(arra)m(y)h(mak)m(es)g(them)g(app)s(ear)e
-(in)630 2271 y(the)38 b(hash)f(table;)42 b(ho)m(w)m(ev)m(er,)f
-(unsetting)d(arra)m(y)g(elemen)m(ts)h(curren)m(tly)f(do)s(es)g(not)f
-(remo)m(v)m(e)630 2381 y(command)28 b(names)g(from)g(the)g(hash)g
-(table.)41 b(If)28 b Ft(BASH_CMDS)d Fu(is)j(unset,)h(it)g(loses)g(its)f
-(sp)s(ecial)630 2491 y(prop)s(erties,)i(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 2655 y Ft(BASH_COMMAND)630
-2765 y Fu(Expands)36 b(to)i(the)g(command)f(curren)m(tly)g(b)s(eing)g
-(executed)h(or)g(ab)s(out)f(to)h(b)s(e)f(executed,)630
-2874 y(unless)c(the)h(shell)f(is)h(executing)g(a)g(command)g(as)f(the)h
-(result)g(of)f(a)h(trap,)g(in)g(whic)m(h)f(case)630 2984
-y(it)c(is)f(the)g(command)g(executing)h(at)g(the)f(time)h(of)f(the)h
-(trap.)40 b(If)27 b Ft(BASH_COMMAND)e Fu(is)j(unset,)630
-3093 y(it)j(loses)g(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f
-(it)h(is)g(subsequen)m(tly)e(reset.)150 3258 y Ft(BASH_COMPAT)630
-3367 y Fu(The)j(v)-5 b(alue)33 b(is)g(used)f(to)h(set)g(the)g(shell's)g
-(compatibilit)m(y)i(lev)m(el.)49 b(See)33 b(Section)h(6.12)g([Shell)630
-3477 y(Compatibilit)m(y)j(Mo)s(de],)h(page)e(120,)i(for)e(a)g
-(description)g(of)f(the)h(v)-5 b(arious)36 b(compatibilit)m(y)630
-3587 y(lev)m(els)g(and)f(their)g(e\013ects.)55 b(The)34
-b(v)-5 b(alue)36 b(ma)m(y)f(b)s(e)f(a)i(decimal)f(n)m(um)m(b)s(er)f
-(\(e.g.,)k(4.2\))e(or)f(an)630 3696 y(in)m(teger)44 b(\(e.g.,)j(42\))d
-(corresp)s(onding)d(to)i(the)g(desired)e(compatibilit)m(y)k(lev)m(el.)
-78 b(If)42 b Ft(BASH_)630 3806 y(COMPAT)28 b Fu(is)j(unset)e(or)h(set)h
-(to)g(the)f(empt)m(y)h(string,)f(the)h(compatibilit)m(y)h(lev)m(el)g
-(is)e(set)h(to)g(the)630 3915 y(default)e(for)f(the)g(curren)m(t)g(v)m
-(ersion.)41 b(If)28 b Ft(BASH_COMPAT)d Fu(is)j(set)h(to)g(a)g(v)-5
-b(alue)29 b(that)g(is)f(not)h(one)630 4025 y(of)i(the)h(v)-5
-b(alid)31 b(compatibilit)m(y)j(lev)m(els,)f(the)f(shell)f(prin)m(ts)g
-(an)g(error)g(message)h(and)f(sets)h(the)630 4134 y(compatibilit)m(y)h
-(lev)m(el)f(to)f(the)g(default)f(for)h(the)f(curren)m(t)g(v)m(ersion.)
-42 b(A)30 b(subset)g(of)h(the)g(v)-5 b(alid)630 4244
-y(v)g(alues)31 b(corresp)s(ond)d(to)j(the)g(compatibilit)m(y)h(lev)m
-(els)g(describ)s(ed)d(b)s(elo)m(w)h(\(see)h(Section)g(6.12)630
-4354 y([Shell)25 b(Compatibilit)m(y)h(Mo)s(de],)h(page)e(120\).)41
-b(F)-8 b(or)25 b(example,)i(4.2)f(and)e(42)h(are)h(v)-5
-b(alid)25 b(v)-5 b(alues)630 4463 y(that)33 b(corresp)s(ond)e(to)i(the)
-f Ft(compat42)e(shopt)h Fu(option)i(and)f(set)g(the)h(compatibilit)m(y)
-h(lev)m(el)630 4573 y(to)d(42.)42 b(The)30 b(curren)m(t)g(v)m(ersion)h
-(is)f(also)h(a)g(v)-5 b(alid)31 b(v)-5 b(alue.)150 4737
-y Ft(BASH_ENV)96 b Fu(If)34 b(this)g(v)-5 b(ariable)35
-b(is)g(set)g(when)e(Bash)i(is)f(in)m(v)m(ok)m(ed)i(to)f(execute)h(a)f
-(shell)f(script,)i(its)e(v)-5 b(alue)630 4847 y(is)39
-b(expanded)f(and)g(used)h(as)g(the)g(name)g(of)g(a)g(startup)g(\014le)g
-(to)g(read)g(b)s(efore)g(executing)630 4956 y(the)e(script.)61
-b(Bash)37 b(do)s(es)g(not)g(use)g Ft(PATH)f Fu(to)h(searc)m(h)h(for)f
-(the)g(resultan)m(t)h(\014lename.)61 b(See)630 5066 y(Section)31
-b(6.2)h([Bash)e(Startup)g(Files],)i(page)f(101.)150 5230
-y Ft(BASH_EXECUTION_STRING)630 5340 y Fu(The)f(command)g(argumen)m(t)h
-(to)g(the)g Ft(-c)e Fu(in)m(v)m(o)s(cation)k(option.)p
-eop end
-%%Page: 88 94
-TeXDict begin 88 93 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(88)150 299 y Ft(BASH_LINENO)630
-408 y Fu(An)38 b(arra)m(y)g(v)-5 b(ariable)39 b(whose)f(mem)m(b)s(ers)f
-(are)i(the)f(line)h(n)m(um)m(b)s(ers)d(in)i(source)g(\014les)g(where)
-630 518 y(eac)m(h)h(corresp)s(onding)e(mem)m(b)s(er)g(of)h
-Ft(FUNCNAME)d Fu(w)m(as)k(in)m(v)m(ok)m(ed.)64 b Ft(${BASH_LINENO[$i]})
-630 628 y Fu(is)74 b(the)g(line)h(n)m(um)m(b)s(er)e(in)g(the)i(source)f
-(\014le)g(\()p Ft(${BASH_SOURCE[$i+1]})p Fu(\))69 b(where)630
-737 y Ft(${FUNCNAME[$i]})32 b Fu(w)m(as)37 b(called)g(\(or)g
-Ft(${BASH_LINENO[$i-1]})31 b Fu(if)36 b(referenced)g(within)630
-847 y(another)55 b(shell)h(function\).)114 b(Use)56 b
-Ft(LINENO)d Fu(to)j(obtain)f(the)h(curren)m(t)f(line)g(n)m(um)m(b)s
-(er.)630 956 y(Assignmen)m(ts)31 b(to)g Ft(BASH_LINENO)c
-Fu(ha)m(v)m(e)32 b(no)e(e\013ect,)i(and)e(it)h(ma)m(y)g(not)f(b)s(e)g
-(unset.)150 1115 y Ft(BASH_LOADABLES_PATH)630 1224 y
-Fu(A)38 b(colon-separated)i(list)e(of)g(directories)h(in)f(whic)m(h)g
-(the)g Ft(enable)e Fu(command)i(lo)s(oks)g(for)630 1334
-y(dynamically)31 b(loadable)h(builtins.)150 1492 y Ft(BASH_MONOSECONDS)
-630 1602 y Fu(Eac)m(h)j(time)g(this)f(v)-5 b(ariable)35
-b(is)g(referenced,)g(it)g(expands)f(to)h(the)f(v)-5 b(alue)35
-b(returned)e(b)m(y)i(the)630 1711 y(system's)i(monotonic)i(clo)s(c)m
-(k,)h(if)d(one)h(is)f(a)m(v)-5 b(ailable.)64 b(If)36
-b(there)i(is)f(no)g(monotonic)h(clo)s(c)m(k,)630 1821
-y(this)32 b(is)g(equiv)-5 b(alen)m(t)34 b(to)f Ft(EPOCHSECONDS)p
-Fu(.)43 b(If)32 b Ft(BASH_MONOSECONDS)c Fu(is)k(unset,)h(it)g(loses)g
-(its)630 1931 y(sp)s(ecial)e(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 2089 y Ft(BASH_REMATCH)630
-2198 y Fu(An)43 b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)
-f(are)h(assigned)g(b)m(y)f(the)h(`)p Ft(=~)p Fu(')g(binary)f(op)s
-(erator)630 2308 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e
-(\(see)h(Section)g(3.2.5.2)i([Conditional)e(Constructs],)630
-2418 y(page)e(12\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f
-(the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)630
-2527 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
-b(elemen)m(t)j(with)d(index)h Fr(n)f Fu(is)h(the)g(p)s(ortion)g(of)g
-(the)g(string)630 2637 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m
-(thesized)h(sub)s(expression.)150 2795 y Ft(BASH_SOURCE)630
-2905 y Fu(An)40 b(arra)m(y)h(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)
-g(are)h(the)g(source)f(\014lenames)h(where)f(the)g(corre-)630
-3014 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h
-Ft(FUNCNAME)d Fu(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38
-b(The)630 3124 y(shell)26 b(function)g Ft(${FUNCNAME[$i]})c
-Fu(is)k(de\014ned)f(in)g(the)h(\014le)h Ft(${BASH_SOURCE[$i]})21
-b Fu(and)630 3233 y(called)36 b(from)e Ft(${BASH_SOURCE[$i+1]})c
-Fu(Assignmen)m(ts)35 b(to)g Ft(BASH_SOURCE)d Fu(ha)m(v)m(e)k(no)f(ef-)
-630 3343 y(fect,)c(and)f(it)h(ma)m(y)g(not)g(b)s(e)e(unset.)150
-3501 y Ft(BASH_SUBSHELL)630 3611 y Fu(Incremen)m(ted)24
-b(b)m(y)f(one)h(within)f(eac)m(h)i(subshell)d(or)i(subshell)e(en)m
-(vironmen)m(t)i(when)f(the)h(shell)630 3720 y(b)s(egins)j(executing)i
-(in)e(that)h(en)m(vironmen)m(t.)41 b(The)27 b(initial)i(v)-5
-b(alue)28 b(is)f(0.)40 b(If)28 b Ft(BASH_SUBSHELL)630
-3830 y Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)h(prop)s(erties,)
-f(ev)m(en)h(if)g(it)g(is)f(subsequen)m(tly)g(reset.)150
-3988 y Ft(BASH_TRAPSIG)630 4098 y Fu(Set)g(to)h(the)f(signal)h(n)m(um)m
-(b)s(er)e(corresp)s(onding)g(to)i(the)f(trap)g(action)h(b)s(eing)f
-(executed)h(dur-)630 4208 y(ing)38 b(its)h(execution.)66
-b(See)38 b(the)g(description)h(of)f Ft(trap)f Fu(\(see)i(Section)g(4.1)
-h([Bourne)e(Shell)630 4317 y(Builtins],)31 b(page)g(51\))h(for)e
-(information)h(ab)s(out)f(signal)h(n)m(um)m(b)s(ers)e(and)h(trap)g
-(execution.)150 4475 y Ft(BASH_VERSINFO)630 4585 y Fu(A)i(readonly)g
-(arra)m(y)g(v)-5 b(ariable)32 b(\(see)h(Section)g(6.7)f([Arra)m(ys],)h
-(page)g(109\))g(whose)f(mem)m(b)s(ers)630 4695 y(hold)g(v)m(ersion)h
-(information)f(for)g(this)g(instance)h(of)g(Bash.)46
-b(The)32 b(v)-5 b(alues)32 b(assigned)h(to)g(the)630
-4804 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
-4963 y Ft(BASH_VERSINFO[0])1110 5072 y Fu(The)f(ma)5
-b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(release)5
-b Fu(\).)630 5230 y Ft(BASH_VERSINFO[1])1110 5340 y Fu(The)30
-b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(v)m(ersion)p
-Fu(\).)p eop end
-%%Page: 89 95
-TeXDict begin 89 94 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(89)630 299 y Ft(BASH_VERSINFO[2])
-1110 408 y Fu(The)30 b(patc)m(h)h(lev)m(el.)630 573 y
-Ft(BASH_VERSINFO[3])1110 682 y Fu(The)f(build)f(v)m(ersion.)630
-847 y Ft(BASH_VERSINFO[4])1110 956 y Fu(The)h(release)i(status)e
-(\(e.g.,)j Ft(beta)p Fu(\).)630 1121 y Ft(BASH_VERSINFO[5])1110
-1230 y Fu(The)d(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p Fu(.)150
-1395 y Ft(BASH_VERSION)630 1504 y Fu(Expands)49 b(to)j(a)f(string)g
-(describing)f(the)h(v)m(ersion)g(of)g(this)g(instance)g(of)g(Bash)g
-(\(e.g.,)630 1614 y(5.2.37\(3\)-release\).)150 1778 y
-Ft(BASH_XTRACEFD)630 1888 y Fu(If)30 b(set)h(to)h(an)e(in)m(teger)i
-(corresp)s(onding)e(to)h(a)g(v)-5 b(alid)31 b(\014le)g(descriptor,)g
-(Bash)g(will)g(write)g(the)630 1998 y(trace)37 b(output)f(generated)h
-(when)f(`)p Ft(set)29 b(-x)p Fu(')36 b(is)g(enabled)h(to)g(that)f
-(\014le)h(descriptor.)58 b(This)630 2107 y(allo)m(ws)29
-b(tracing)h(output)d(to)i(b)s(e)f(separated)g(from)g(diagnostic)h(and)f
-(error)f(messages.)41 b(The)630 2217 y(\014le)31 b(descriptor)f(is)h
-(closed)g(when)f Ft(BASH_XTRACEFD)d Fu(is)k(unset)f(or)g(assigned)h(a)g
-(new)f(v)-5 b(alue.)630 2326 y(Unsetting)45 b Ft(BASH_XTRACEFD)40
-b Fu(or)k(assigning)g(it)g(the)g(empt)m(y)h(string)e(causes)i(the)f
-(trace)630 2436 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g
-(standard)e(error.)50 b(Note)35 b(that)g(setting)f Ft(BASH_XTRACEFD)c
-Fu(to)630 2545 y(2)39 b(\(the)h(standard)e(error)g(\014le)h
-(descriptor\))h(and)e(then)h(unsetting)g(it)g(will)g(result)g(in)g(the)
-630 2655 y(standard)30 b(error)g(b)s(eing)f(closed.)150
-2819 y Ft(CHILD_MAX)630 2929 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h
-(exited)h(c)m(hild)g(status)f(v)-5 b(alues)36 b(for)f(the)g(shell)g(to)
-h(remem)m(b)s(er.)55 b(Bash)630 3039 y(will)37 b(not)g(allo)m(w)i(this)
-e(v)-5 b(alue)37 b(to)h(b)s(e)e(decreased)i(b)s(elo)m(w)f(a)g
-Fm(posix)p Fu(-mandated)f(minim)m(um,)630 3148 y(and)30
-b(there)g(is)g(a)h(maxim)m(um)f(v)-5 b(alue)30 b(\(curren)m(tly)h
-(8192\))h(that)f(this)f(ma)m(y)g(not)h(exceed.)41 b(The)630
-3258 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.)
-150 3422 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h
-Ft(select)e Fu(command)h(to)i(determine)f(the)f(terminal)i(width)d
-(when)h(prin)m(ting)630 3532 y(selection)39 b(lists.)63
-b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d
-Fu(option)j(is)f(enabled)h(\(see)630 3641 y(Section)44
-b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(77\),)k(or)43
-b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 3751
-y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 3915 y
-Ft(COMP_CWORD)630 4025 y Fu(An)38 b(index)g(in)m(to)h
-Ft(${COMP_WORDS})c Fu(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e
-(curren)m(t)g(cursor)g(p)s(o-)630 4134 y(sition.)72 b(This)40
-b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h
-(functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630
-4244 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
-([Programmable)g(Completion],)630 4354 y(page)31 b(156\).)150
-4518 y Ft(COMP_KEY)96 b Fu(The)38 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
-(of)f(a)h(k)m(ey)f(sequence\))h(used)e(to)i(in)m(v)m(ok)m(e)h(the)e
-(curren)m(t)g(comple-)630 4628 y(tion)h(function.)70
-b(This)39 b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)42
-b(only)e(in)g(shell)g(functions)g(and)f(external)630
-4737 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
-(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-4847 y([Programmable)e(Completion],)h(page)f(156\).)150
-5011 y Ft(COMP_LINE)630 5121 y Fu(The)38 b(curren)m(t)h(command)f
-(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5
-b(ailable)41 b(only)d(in)h(shell)f(functions)630 5230
-y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h
-(programmable)f(completion)i(facilities)g(\(see)630 5340
-y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(156\).)p
-eop end
-%%Page: 90 96
-TeXDict begin 90 95 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(90)150 299 y Ft(COMP_POINT)630
-408 y Fu(The)25 b(index)g(of)h(the)g(curren)m(t)f(cursor)g(p)s(osition)
-h(relativ)m(e)i(to)e(the)g(b)s(eginning)f(of)g(the)h(curren)m(t)630
-518 y(command.)40 b(If)27 b(the)h(curren)m(t)g(cursor)g(p)s(osition)g
-(is)g(at)g(the)g(end)g(of)g(the)g(curren)m(t)g(command,)630
-628 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5 b(ariable)31
-b(is)f(equal)g(to)h Ft(${#COMP_LINE})p Fu(.)37 b(This)29
-b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630 737
-y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g(in)m
-(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 847 y(completion)c
-(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g(Completion],)h
-(page)f(156\).)150 998 y Ft(COMP_TYPE)630 1107 y Fu(Set)c(to)h(an)f(in)
-m(teger)h(v)-5 b(alue)28 b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f
-(of)g(attempted)h(completion)g(that)630 1217 y(caused)j(a)g(completion)
-h(function)e(to)h(b)s(e)f(called:)43 b Ft(TAB)p Fu(,)30
-b(for)g(normal)h(completion,)h(`)p Ft(?)p Fu(',)f(for)630
-1326 y(listing)k(completions)h(after)f(successiv)m(e)g(tabs,)h(`)p
-Ft(!)p Fu(',)g(for)e(listing)h(alternativ)m(es)i(on)d(partial)630
-1436 y(w)m(ord)22 b(completion,)k(`)p Ft(@)p Fu(',)f(to)e(list)g
-(completions)h(if)f(the)g(w)m(ord)f(is)h(not)g(unmo)s(di\014ed,)f(or)h
-(`)p Ft(\045)p Fu(',)h(for)630 1545 y(men)m(u)i(completion.)41
-b(This)25 b(v)-5 b(ariable)27 b(is)g(a)m(v)-5 b(ailable)28
-b(only)f(in)f(shell)g(functions)g(and)g(external)630
-1655 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
-(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-1765 y([Programmable)e(Completion],)h(page)f(156\).)150
-1915 y Ft(COMP_WORDBREAKS)630 2025 y Fu(The)e(set)i(of)e(c)m(haracters)
-j(that)e(the)g(Readline)g(library)g(treats)g(as)g(w)m(ord)g(separators)
-g(when)630 2134 y(p)s(erforming)i(w)m(ord)h(completion.)51
-b(If)33 b Ft(COMP_WORDBREAKS)c Fu(is)34 b(unset,)g(it)f(loses)i(its)e
-(sp)s(ecial)630 2244 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 2395 y Ft(COMP_WORDS)630
-2504 y Fu(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the)
-g(individual)f(w)m(ords)h(in)f(the)h(curren)m(t)g(command)630
-2614 y(line.)94 b(The)47 b(line)i(is)f(split)g(in)m(to)h(w)m(ords)e(as)
-h(Readline)h(w)m(ould)f(split)g(it,)53 b(using)47 b Ft(COMP_)630
-2724 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60
-b(This)36 b(v)-5 b(ariable)37 b(is)f(a)m(v)-5 b(ailable)39
-b(only)e(in)f(shell)h(func-)630 2833 y(tions)32 b(in)m(v)m(ok)m(ed)i(b)
-m(y)d(the)i(programmable)f(completion)h(facilities)h(\(see)f(Section)g
-(8.6)g([Pro-)630 2943 y(grammable)e(Completion],)g(page)g(156\).)150
-3093 y Ft(COMPREPLY)630 3203 y Fu(An)37 b(arra)m(y)h(v)-5
-b(ariable)38 b(from)f(whic)m(h)g(Bash)g(reads)g(the)h(p)s(ossible)e
-(completions)j(generated)630 3313 y(b)m(y)33 b(a)g(shell)h(function)f
-(in)m(v)m(ok)m(ed)h(b)m(y)f(the)g(programmable)h(completion)g(facilit)m
-(y)h(\(see)f(Sec-)630 3422 y(tion)g(8.6)g([Programmable)g(Completion],)
-h(page)f(156\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains)
-630 3532 y(one)c(p)s(ossible)f(completion.)150 3682 y
-Ft(COPROC)192 b Fu(An)27 b(arra)m(y)g(v)-5 b(ariable)28
-b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f
-(from)h(and)f(input)630 3792 y(to)31 b(an)f(unnamed)f(copro)s(cess)i
-(\(see)g(Section)h(3.2.6)g([Copro)s(cesses],)f(page)g(18\).)150
-3943 y Ft(DIRSTACK)96 b Fu(An)26 b(arra)m(y)h(v)-5 b(ariable)28
-b(con)m(taining)g(the)f(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f
-(directory)i(stac)m(k.)41 b(Direc-)630 4052 y(tories)33
-b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e(the)h(order)f(they)h(are)g
-(displa)m(y)m(ed)g(b)m(y)f(the)h Ft(dirs)e Fu(builtin.)630
-4162 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
-b(ariable)31 b(ma)m(y)g(b)s(e)e(used)h(to)h(mo)s(dify)e(directories)630
-4271 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
-Ft(pushd)e Fu(and)h Ft(popd)f Fu(builtins)h(m)m(ust)h(b)s(e)e(used)h
-(to)i(add)630 4381 y(and)37 b(remo)m(v)m(e)h(directories.)63
-b(Assignmen)m(t)37 b(to)h(this)f(v)-5 b(ariable)38 b(will)g(not)f(c)m
-(hange)i(the)e(cur-)630 4491 y(ren)m(t)c(directory)-8
-b(.)47 b(If)32 b Ft(DIRSTACK)e Fu(is)i(unset,)g(it)h(loses)g(its)g(sp)s
-(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)630
-4600 y(subsequen)m(tly)d(reset.)150 4751 y Ft(EMACS)240
-b Fu(If)40 b(Bash)g(\014nds)e(this)i(v)-5 b(ariable)40
-b(in)g(the)g(en)m(vironmen)m(t)h(when)e(the)h(shell)g(starts,)j(and)d
-(its)630 4861 y(v)-5 b(alue)27 b(is)f(`)p Ft(t)p Fu(',)h(Bash)f
-(assumes)g(that)g(the)h(shell)f(is)g(running)e(in)i(an)g(Emacs)g(shell)
-h(bu\013er)e(and)630 4970 y(disables)30 b(line)h(editing.)150
-5121 y Ft(ENV)336 b Fu(Expanded)33 b(and)h(executed)i(similarly)f(to)g
-Ft(BASH_ENV)d Fu(\(see)k(Section)f(6.2)h([Bash)f(Startup)630
-5230 y(Files],)g(page)e(101\))i(when)d(an)g(in)m(teractiv)m(e)k(shell)d
-(is)g(in)m(v)m(ok)m(ed)h(in)f Fm(posix)f Fu(Mo)s(de)h(\(see)g(Sec-)630
-5340 y(tion)e(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\).)p
-eop end
-%%Page: 91 97
-TeXDict begin 91 96 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(91)150 299 y Ft(EPOCHREALTIME)630
-408 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it)f
-(expands)e(to)i(the)f(n)m(um)m(b)s(er)f(of)h(seconds)630
-518 y(since)g(the)f(Unix)g(Ep)s(o)s(c)m(h)f(as)i(a)f(\015oating-p)s
-(oin)m(t)i(v)-5 b(alue)37 b(with)f(micro-second)h(gran)m(ularit)m(y)630
-628 y(\(see)k(the)g(do)s(cumen)m(tation)h(for)e(the)h(C)f(library)g
-(function)g Ft(time)g Fu(for)g(the)h(de\014nition)f(of)630
-737 y(Ep)s(o)s(c)m(h\).)82 b(Assignmen)m(ts)44 b(to)h
-Ft(EPOCHREALTIME)c Fu(are)j(ignored.)83 b(If)43 b Ft(EPOCHREALTIME)e
-Fu(is)630 847 y(unset,)30 b(it)h(loses)g(its)g(sp)s(ecial)g(prop)s
-(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)150
-995 y Ft(EPOCHSECONDS)630 1105 y Fu(Eac)m(h)38 b(time)f(this)g
-(parameter)h(is)f(referenced,)i(it)f(expands)e(to)i(the)f(n)m(um)m(b)s
-(er)f(of)h(seconds)630 1214 y(since)d(the)g(Unix)g(Ep)s(o)s(c)m(h)f
-(\(see)i(the)f(do)s(cumen)m(tation)h(for)e(the)i(C)e(library)h
-(function)f Ft(time)630 1324 y Fu(for)41 b(the)g(de\014nition)g(of)h
-(Ep)s(o)s(c)m(h\).)73 b(Assignmen)m(ts)41 b(to)h Ft(EPOCHSECONDS)c
-Fu(are)k(ignored.)73 b(If)630 1433 y Ft(EPOCHSECONDS)27
-b Fu(is)j(unset,)g(it)g(loses)h(its)g(sp)s(ecial)f(prop)s(erties,)g(ev)
-m(en)h(if)f(it)g(is)g(subsequen)m(tly)630 1543 y(reset.)150
-1691 y Ft(EUID)288 b Fu(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d
-(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5
-b(ariable)31 b(is)f(readonly)-8 b(.)150 1840 y Ft(EXECIGNORE)630
-1949 y Fu(A)29 b(colon-separated)h(list)f(of)g(shell)g(patterns)f
-(\(see)i(Section)f(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)630
-2059 y(page)j(38\))h(de\014ning)e(the)h(set)g(of)g(\014lenames)f(to)i
-(b)s(e)e(ignored)g(b)m(y)h(command)f(searc)m(h)h(using)630
-2168 y Ft(PATH)p Fu(.)j(Files)22 b(whose)f(full)g(pathnames)g(matc)m(h)
-h(one)f(of)g(these)h(patterns)e(are)i(not)f(considered)630
-2278 y(executable)j(\014les)e(for)g(the)h(purp)s(oses)d(of)j
-(completion)h(and)d(command)i(execution)g(via)g Ft(PATH)630
-2388 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h(a\013ect)i(the)d(b)
-s(eha)m(vior)h(of)g(the)g Ft([)p Fu(,)h Ft(test)p Fu(,)f(and)f
-Ft([[)g Fu(commands.)630 2497 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g
-(command)g(hash)f(table)i(are)g(not)f(sub)5 b(ject)41
-b(to)g Ft(EXECIGNORE)p Fu(.)630 2607 y(Use)30 b(this)f(v)-5
-b(ariable)30 b(to)g(ignore)g(shared)f(library)g(\014les)g(that)h(ha)m
-(v)m(e)h(the)f(executable)h(bit)e(set,)630 2716 y(but)36
-b(are)h(not)g(executable)i(\014les.)60 b(The)36 b(pattern)h(matc)m
-(hing)h(honors)e(the)h(setting)h(of)f(the)630 2826 y
-Ft(extglob)28 b Fu(shell)j(option.)150 2974 y Ft(FCEDIT)192
-b Fu(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f
-Ft(fc)g Fu(builtin)g(command.)150 3122 y Ft(FIGNORE)144
-b Fu(A)35 b(colon-separated)i(list)f(of)g(su\016xes)e(to)i(ignore)g
-(when)e(p)s(erforming)g(\014lename)i(comple-)630 3232
-y(tion.)k(A)27 b(\014lename)g(whose)f(su\016x)g(matc)m(hes)i(one)f(of)g
-(the)g(en)m(tries)g(in)g Ft(FIGNORE)d Fu(is)j(excluded)630
-3342 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41
-b(A)30 b(sample)h(v)-5 b(alue)31 b(is)f(`)p Ft(.o:~)p
-Fu(')150 3490 y Ft(FUNCNAME)96 b Fu(An)35 b(arra)m(y)i(v)-5
-b(ariable)36 b(con)m(taining)h(the)f(names)g(of)g(all)g(shell)g
-(functions)g(curren)m(tly)f(in)h(the)630 3599 y(execution)g(call)h
-(stac)m(k.)57 b(The)34 b(elemen)m(t)j(with)e(index)g(0)h(is)f(the)g
-(name)h(of)f(an)m(y)h(curren)m(tly-)630 3709 y(executing)f(shell)f
-(function.)51 b(The)34 b(b)s(ottom-most)h(elemen)m(t)g(\(the)g(one)f
-(with)g(the)g(highest)630 3819 y(index\))e(is)h Ft("main")p
-Fu(.)44 b(This)32 b(v)-5 b(ariable)33 b(exists)g(only)g(when)e(a)i
-(shell)f(function)g(is)g(executing.)630 3928 y(Assignmen)m(ts)23
-b(to)f Ft(FUNCNAME)e Fu(ha)m(v)m(e)k(no)e(e\013ect.)39
-b(If)22 b Ft(FUNCNAME)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)
-630 4038 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)630 4167 y(This)h(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)
-g(with)g Ft(BASH_LINENO)d Fu(and)j Ft(BASH_SOURCE)p Fu(.)40
-b(Eac)m(h)32 b(elemen)m(t)630 4276 y(of)g Ft(FUNCNAME)d
-Fu(has)j(corresp)s(onding)e(elemen)m(ts)j(in)f Ft(BASH_LINENO)c
-Fu(and)k Ft(BASH_SOURCE)c Fu(to)630 4386 y(describ)s(e)39
-b(the)h(call)h(stac)m(k.)70 b(F)-8 b(or)41 b(instance,)i
-Ft(${FUNCNAME[$i]})35 b Fu(w)m(as)41 b(called)f(from)g(the)630
-4495 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21 b Fu(at)27
-b(line)h(n)m(um)m(b)s(er)d Ft(${BASH_LINENO[$i]})p Fu(.)34
-b(The)27 b Ft(caller)630 4605 y Fu(builtin)j(displa)m(ys)g(the)h
-(curren)m(t)f(call)i(stac)m(k)g(using)d(this)i(information.)150
-4753 y Ft(FUNCNEST)96 b Fu(A)23 b(n)m(umeric)f(v)-5 b(alue)23
-b(greater)g(than)f(0)h(de\014nes)f(a)h(maxim)m(um)f(function)g(nesting)
-h(lev)m(el.)40 b(F)-8 b(unc-)630 4863 y(tion)31 b(in)m(v)m(o)s(cations)
-h(that)f(exceed)h(this)e(nesting)h(lev)m(el)h(will)f(cause)g(the)g
-(curren)m(t)f(command)630 4973 y(to)h(ab)s(ort.)150 5121
-y Ft(GLOBIGNORE)630 5230 y Fu(A)k(colon-separated)i(list)f(of)f
-(patterns)g(de\014ning)f(the)i(set)f(of)g(\014le)h(names)f(to)g(b)s(e)g
-(ignored)630 5340 y(b)m(y)28 b(\014lename)h(expansion.)40
-b(If)28 b(a)h(\014le)g(name)g(matc)m(hed)g(b)m(y)g(a)g(\014lename)f
-(expansion)h(pattern)p eop end
-%%Page: 92 98
-TeXDict begin 92 97 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(92)630 299 y(also)33
-b(matc)m(hes)g(one)f(of)g(the)g(patterns)g(in)f Ft(GLOBIGNORE)p
-Fu(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h(of)630
-408 y(matc)m(hes.)41 b(The)27 b(pattern)g(matc)m(hing)h(honors)f(the)g
-(setting)i(of)e(the)h Ft(extglob)d Fu(shell)i(option.)150
-581 y Ft(GLOBSORT)96 b Fu(Con)m(trols)38 b(ho)m(w)g(the)f(results)h(of)
-g(\014lename)f(expansion)h(are)g(sorted.)62 b(The)37
-b(v)-5 b(alue)38 b(of)g(this)630 690 y(v)-5 b(ariable)45
-b(sp)s(eci\014es)e(the)h(sort)g(criteria)h(and)e(sort)h(order)f(for)g
-(the)h(results)g(of)g(\014lename)630 800 y(expansion.)c(If)29
-b(this)g(v)-5 b(ariable)30 b(is)f(unset)f(or)h(set)h(to)g(the)f(n)m
-(ull)g(string,)h(\014lename)f(expansion)630 909 y(uses)23
-b(the)h(historical)h(b)s(eha)m(vior)e(of)h(sorting)g(b)m(y)g(name,)h
-(in)e(ascending)h(lexicographic)h(order)630 1019 y(as)31
-b(determined)f(b)m(y)g(the)g Ft(LC_COLLATE)e Fu(shell)j(v)-5
-b(ariable.)630 1160 y(If)31 b(set,)h(a)g(v)-5 b(alid)32
-b(v)-5 b(alue)31 b(b)s(egins)g(with)g(an)g(optional)i(`)p
-Ft(+)p Fu(',)f(whic)m(h)f(is)g(ignored,)h(or)f(`)p Ft(-)p
-Fu(',)h(whic)m(h)630 1270 y(rev)m(erses)22 b(the)g(sort)f(order)g(from)
-g(ascending)h(to)g(descending,)h(follo)m(w)m(ed)g(b)m(y)f(a)g(sort)f
-(sp)s(eci\014er.)630 1379 y(The)k(v)-5 b(alid)25 b(sort)h(sp)s
-(eci\014ers)e(are)i(`)p Ft(name)p Fu(',)g(`)p Ft(numeric)p
-Fu(',)f(`)p Ft(size)p Fu(',)g(`)p Ft(mtime)p Fu(',)h(`)p
-Ft(atime)p Fu(',)g(`)p Ft(ctime)p Fu(',)630 1489 y(and)45
-b(`)p Ft(blocks)p Fu(',)j(whic)m(h)e(sort)f(the)h(\014les)g(on)f(name,)
-50 b(names)45 b(in)g(n)m(umeric)h(rather)f(than)630 1598
-y(lexicographic)28 b(order,)f(\014le)f(size,)i(mo)s(di\014cation)f
-(time,)h(access)f(time,)h(ino)s(de)e(c)m(hange)h(time,)630
-1708 y(and)37 b(n)m(um)m(b)s(er)e(of)j(blo)s(c)m(ks,)h(resp)s(ectiv)m
-(ely)-8 b(.)63 b(If)37 b(an)m(y)g(of)h(the)f(non-name)g(k)m(eys)h
-(compare)g(as)630 1817 y(equal)29 b(\(e.g.,)i(if)d(t)m(w)m(o)i(\014les)
-e(are)h(the)f(same)h(size\),)i(sorting)d(uses)g(the)h(name)f(as)h(a)g
-(secondary)630 1927 y(sort)i(k)m(ey)-8 b(.)630 2068 y(F)g(or)33
-b(example,)g(a)f(v)-5 b(alue)33 b(of)f Ft(-mtime)e Fu(sorts)i(the)g
-(results)g(in)f(descending)h(order)f(b)m(y)h(mo)s(di-)630
-2178 y(\014cation)f(time)g(\(new)m(est)h(\014rst\).)630
-2318 y(The)c(`)p Ft(numeric)p Fu(')g(sp)s(eci\014er)g(treats)i(names)e
-(consisting)i(solely)g(of)f(digits)g(as)g(n)m(um)m(b)s(ers)f(and)630
-2428 y(sorts)c(them)g(using)g(their)g(n)m(umeric)g(v)-5
-b(alue)25 b(\(so)f Ft(")p Fu(2)p Ft(")g Fu(will)h(sort)f(b)s(efore)g
-Ft(")p Fu(10)p Ft(")p Fu(,)i(for)e(example\).)630 2538
-y(When)34 b(using)h(`)p Ft(numeric)p Fu(',)f(names)g(con)m(taining)j
-(non-digits)e(sort)f(after)i(all)f(the)g(all-digit)630
-2647 y(names)30 b(and)g(are)h(sorted)f(b)m(y)h(name)f(using)g(the)g
-(traditional)i(b)s(eha)m(vior.)630 2788 y(A)24 b(sort)h(sp)s(eci\014er)
-f(of)g(`)p Ft(nosort)p Fu(')f(disables)h(sorting)h(completely;)j(Bash)d
-(returns)e(the)h(results)630 2898 y(in)30 b(the)h(order)f(they)g(are)h
-(read)f(from)g(the)h(\014le)f(system,)h(ignoring)g(an)m(y)f(leading)h
-(`)p Ft(-)p Fu('.)630 3039 y(If)26 b(the)h(sort)f(sp)s(eci\014er)g(is)h
-(missing,)g(it)g(defaults)g(to)g Fr(name)p Fu(,)g(so)g(a)g(v)-5
-b(alue)27 b(of)f(`)p Ft(+)p Fu(')h(is)f(equiv)-5 b(alen)m(t)630
-3148 y(to)31 b(the)g(n)m(ull)f(string,)h(and)e(a)i(v)-5
-b(alue)31 b(of)f(`)p Ft(-)p Fu(')h(sorts)f(b)m(y)h(name)f(in)g
-(descending)g(order.)630 3289 y(An)m(y)g(in)m(v)-5 b(alid)31
-b(v)-5 b(alue)31 b(restores)g(the)g(historical)g(sorting)g(b)s(eha)m
-(vior.)150 3461 y Ft(GROUPS)192 b Fu(An)36 b(arra)m(y)g(v)-5
-b(ariable)37 b(con)m(taining)g(the)f(list)h(of)f(groups)g(of)g(whic)m
-(h)f(the)i(curren)m(t)e(user)h(is)g(a)630 3571 y(mem)m(b)s(er.)41
-b(Assignmen)m(ts)30 b(to)i Ft(GROUPS)d Fu(ha)m(v)m(e)i(no)g(e\013ect.)
-42 b(If)30 b Ft(GROUPS)f Fu(is)i(unset,)f(it)h(loses)h(its)630
-3680 y(sp)s(ecial)f(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 3853 y Ft(histchars)630
-3962 y Fu(Up)c(to)g(three)g(c)m(haracters)i(whic)m(h)d(con)m(trol)j
-(history)d(expansion,)i(quic)m(k)g(substitution,)g(and)630
-4072 y(tok)m(enization)39 b(\(see)e(Section)g(9.3)g([History)g(In)m
-(teraction],)i(page)e(168\).)59 b(The)36 b(\014rst)f(c)m(har-)630
-4181 y(acter)h(is)e(the)h Fr(history)g(expansion)f Fu(c)m(haracter,)k
-(the)c(c)m(haracter)j(whic)m(h)d(b)s(egins)g(a)h(history)630
-4291 y(expansion,)f(normally)g(`)p Ft(!)p Fu('.)49 b(The)33
-b(second)g(c)m(haracter)i(is)f(the)f(c)m(haracter)i(whic)m(h)e
-(signi\014es)630 4401 y Ft(")p Fu(quic)m(k)38 b(substitution)p
-Ft(")f Fu(when)f(seen)i(as)f(the)h(\014rst)f(c)m(haracter)i(on)e(a)h
-(line,)i(normally)e(`)p Ft(^)p Fu('.)630 4510 y(The)22
-b(optional)i(third)e(c)m(haracter)j(is)e(the)g(c)m(haracter)h(whic)m(h)
-f(indicates)h(that)f(the)h(remainder)630 4620 y(of)h(the)h(line)g(is)f
-(a)h(commen)m(t)g(when)e(found)g(as)i(the)g(\014rst)e(c)m(haracter)j
-(of)f(a)f(w)m(ord,)h(usually)g(`)p Ft(#)p Fu('.)630 4729
-y(The)k(history)f(commen)m(t)j(c)m(haracter)f(disables)f(history)g
-(substitution)g(for)g(the)g(remaining)630 4839 y(w)m(ords)37
-b(on)g(the)g(line.)62 b(It)37 b(do)s(es)g(not)h(necessarily)g(cause)g
-(the)f(shell)h(parser)e(to)i(treat)h(the)630 4949 y(rest)31
-b(of)f(the)h(line)f(as)h(a)g(commen)m(t.)150 5121 y Ft(HISTCMD)144
-b Fu(The)44 b(history)h(n)m(um)m(b)s(er,)j(or)d(index)g(in)f(the)h
-(history)g(list,)50 b(of)45 b(the)g(curren)m(t)g(command.)630
-5230 y(Assignmen)m(ts)37 b(to)h Ft(HISTCMD)d Fu(are)j(ignored.)61
-b(If)37 b Ft(HISTCMD)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)
-630 5340 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)p eop end
-%%Page: 93 99
-TeXDict begin 93 98 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(93)150 299 y Ft(HISTCONTROL)630
-408 y Fu(A)40 b(colon-separated)i(list)f(of)f(v)-5 b(alues)40
-b(con)m(trolling)i(ho)m(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630
-518 y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5
-b(alues)29 b(includes)f(`)p Ft(ignorespace)p Fu(',)f(lines)i(whic)m(h)g
-(b)s(egin)f(with)630 628 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g
-(sa)m(v)m(ed)g(in)g(the)g(history)f(list.)66 b(A)39 b(v)-5
-b(alue)39 b(of)g(`)p Ft(ignoredups)p Fu(')630 737 y(causes)34
-b(lines)h(whic)m(h)f(matc)m(h)h(the)f(previous)f(history)h(en)m(try)h
-(not)f(to)h(b)s(e)e(sa)m(v)m(ed.)53 b(A)34 b(v)-5 b(alue)630
-847 y(of)32 b(`)p Ft(ignoreboth)p Fu(')d(is)j(shorthand)e(for)i(`)p
-Ft(ignorespace)p Fu(')d(and)i(`)p Ft(ignoredups)p Fu('.)42
-b(A)32 b(v)-5 b(alue)32 b(of)630 956 y(`)p Ft(erasedups)p
-Fu(')f(causes)i(all)h(previous)f(lines)g(matc)m(hing)h(the)f(curren)m
-(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 1066 y(from)42
-b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g(sa)m(v)m(ed.)78
-b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s(o)m(v)m(e)630
-1176 y(list)35 b(is)g(ignored.)53 b(If)34 b Ft(HISTCONTROL)e
-Fu(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h(v)-5
-b(alid)35 b(v)-5 b(alue,)36 b(all)630 1285 y(lines)30
-b(read)g(b)m(y)g(the)g(shell)g(parser)g(are)g(sa)m(v)m(ed)h(on)f(the)g
-(history)g(list,)h(sub)5 b(ject)30 b(to)g(the)g(v)-5
-b(alue)630 1395 y(of)42 b Ft(HISTIGNORE)p Fu(.)73 b(The)42
-b(second)g(and)g(subsequen)m(t)f(lines)h(of)h(a)f(m)m(ulti-line)h(comp)
-s(ound)630 1504 y(command)26 b(are)g(not)g(tested,)i(and)e(are)g(added)
-g(to)g(the)h(history)f(regardless)g(of)g(the)g(v)-5 b(alue)27
-b(of)630 1614 y Ft(HISTCONTROL)22 b Fu(if)j(the)g(\014rst)f(line)i(of)f
-(the)g(command)g(w)m(as)g(sa)m(v)m(ed.)40 b(If)25 b(the)g(\014rst)f
-(line)h(w)m(as)h(not)630 1724 y(sa)m(v)m(ed,)32 b(the)e(second)h(and)e
-(subsequen)m(t)h(lines)h(of)f(the)h(command)f(are)h(not)f(sa)m(v)m(ed,)
-i(either.)150 1882 y Ft(HISTFILE)96 b Fu(The)35 b(name)h(of)g(the)g
-(\014le)g(to)h(whic)m(h)e(the)h(command)g(history)g(is)f(sa)m(v)m(ed.)
-59 b(Bash)36 b(assigns)g(a)630 1991 y(default)31 b(v)-5
-b(alue)31 b(of)f Ft(~/.bash_history)p Fu(.)37 b(If)31
-b Ft(HISTFILE)d Fu(is)i(unset)h(or)f(n)m(ull,)h(the)g(shell)f(do)s(es)
-630 2101 y(not)h(sa)m(v)m(e)h(the)e(command)g(history)h(when)e(it)i
-(exits.)150 2259 y Ft(HISTFILESIZE)630 2369 y Fu(The)26
-b(maxim)m(um)f(n)m(um)m(b)s(er)g(of)h(lines)h(con)m(tained)g(in)f(the)g
-(history)g(\014le.)39 b(When)26 b(this)g(v)-5 b(ariable)630
-2478 y(is)25 b(assigned)h(a)g(v)-5 b(alue,)27 b(the)f(history)f(\014le)
-h(is)f(truncated,)i(if)e(necessary)-8 b(,)28 b(to)e(con)m(tain)g(no)g
-(more)630 2588 y(than)37 b(that)h(n)m(um)m(b)s(er)d(of)j(lines)f(b)m(y)
-g(remo)m(ving)h(the)f(oldest)h(en)m(tries.)62 b(The)37
-b(history)g(\014le)g(is)630 2698 y(also)30 b(truncated)f(to)h(this)f
-(size)g(after)h(writing)f(it)h(when)d(a)j(shell)f(exits)h(or)f(b)m(y)g
-(the)g Ft(history)630 2807 y Fu(builtin.)40 b(If)28 b(the)h(v)-5
-b(alue)29 b(is)g(0,)h(the)f(history)g(\014le)g(is)g(truncated)f(to)i
-(zero)g(size.)41 b(Non-n)m(umeric)630 2917 y(v)-5 b(alues)32
-b(and)e(n)m(umeric)h(v)-5 b(alues)32 b(less)f(than)g(zero)h(inhibit)f
-(truncation.)44 b(The)31 b(shell)g(sets)h(the)630 3026
-y(default)f(v)-5 b(alue)30 b(to)i(the)e(v)-5 b(alue)31
-b(of)f Ft(HISTSIZE)f Fu(after)h(reading)h(an)m(y)g(startup)f(\014les.)
-150 3185 y Ft(HISTIGNORE)630 3294 y Fu(A)j(colon-separated)h(list)f(of)
-g(patterns)f(used)g(to)h(decide)g(whic)m(h)f(command)g(lines)h(should)
-630 3404 y(b)s(e)d(sa)m(v)m(ed)i(on)f(the)g(history)g(list.)43
-b(If)30 b(a)h(command)g(line)g(matc)m(hes)h(one)f(of)g(the)g(patterns)g
-(in)630 3513 y(the)38 b(v)-5 b(alue)38 b(of)f Ft(HISTIGNORE)p
-Fu(,)g(it)h(is)g(not)f(sa)m(v)m(ed)i(on)e(the)h(history)f(list.)63
-b(Eac)m(h)38 b(pattern)g(is)630 3623 y(anc)m(hored)30
-b(at)h(the)f(b)s(eginning)g(of)g(the)g(line)h(and)e(m)m(ust)h(matc)m(h)
-h(the)f(complete)i(line)e(\(Bash)630 3733 y(will)23 b(not)f(implicitly)
-i(app)s(end)c(a)j(`)p Ft(*)p Fu('\).)38 b(Eac)m(h)23
-b(pattern)g(is)f(tested)h(against)h(the)e(line)h(after)g(the)630
-3842 y(c)m(hec)m(ks)36 b(sp)s(eci\014ed)f(b)m(y)g Ft(HISTCONTROL)d
-Fu(are)j(applied.)54 b(In)35 b(addition)g(to)h(the)f(normal)g(shell)630
-3952 y(pattern)c(matc)m(hing)i(c)m(haracters,)g(`)p Ft(&)p
-Fu(')e(matc)m(hes)i(the)e(previous)g(history)g(line.)43
-b(`)p Ft(&)p Fu(')32 b(ma)m(y)g(b)s(e)630 4061 y(escap)s(ed)24
-b(using)g(a)h(bac)m(kslash;)j(the)c(bac)m(kslash)h(is)g(remo)m(v)m(ed)g
-(b)s(efore)f(attempting)i(a)f(matc)m(h.)630 4171 y(The)35
-b(second)h(and)f(subsequen)m(t)g(lines)h(of)g(a)h(m)m(ulti-line)g(comp)
-s(ound)d(command)h(are)i(not)630 4281 y(tested,)25 b(and)d(are)h(added)
-f(to)i(the)e(history)h(regardless)g(of)g(the)g(v)-5 b(alue)23
-b(of)g Ft(HISTIGNORE)p Fu(,)e(if)i(the)630 4390 y(\014rst)31
-b(line)i(w)m(as)f(sa)m(v)m(ed.)48 b(If)31 b(the)i(\014rst)e(line)i(w)m
-(as)f(not)h(sa)m(v)m(ed,)h(the)e(second)g(and)g(subsequen)m(t)630
-4500 y(lines)h(of)g(the)g(command)f(are)i(not)f(sa)m(v)m(ed,)h(either.)
-49 b(The)32 b(pattern)h(matc)m(hing)h(honors)e(the)630
-4609 y(setting)f(of)g(the)g Ft(extglob)d Fu(shell)j(option.)630
-4743 y Ft(HISTIGNORE)g Fu(subsumes)h(some)i(of)g(the)g(function)g(of)g
-Ft(HISTCONTROL)p Fu(.)48 b(A)34 b(pattern)g(of)g(`)p
-Ft(&)p Fu(')630 4853 y(is)28 b(iden)m(tical)h(to)f Ft(ignoredups)p
-Fu(,)d(and)i(a)h(pattern)g(of)f(`)p Ft([)k(]*)p Fu(')c(is)g(iden)m
-(tical)j(to)e Ft(ignorespace)p Fu(.)630 4963 y(Com)m(bining)c(these)h
-(t)m(w)m(o)g(patterns,)h(separating)f(them)f(with)g(a)h(colon,)i(pro)m
-(vides)d(the)h(func-)630 5072 y(tionalit)m(y)33 b(of)d
-Ft(ignoreboth)p Fu(.)150 5230 y Ft(HISTSIZE)96 b Fu(The)37
-b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j(commands)f(to)g(remem)m(b)s(er)g
-(on)g(the)g(history)g(list.)62 b(If)37 b(the)630 5340
-y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h(not)h(sa)m(v)m(ed)g(in)e
-(the)h(history)g(list.)40 b(Numeric)26 b(v)-5 b(alues)26
-b(less)g(than)p eop end
-%%Page: 94 100
-TeXDict begin 94 99 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(94)630 299 y(zero)28
-b(result)e(in)h(ev)m(ery)g(command)g(b)s(eing)f(sa)m(v)m(ed)i(on)f(the)
-g(history)f(list)i(\(there)f(is)g(no)g(limit\).)630 408
-y(The)j(shell)g(sets)h(the)g(default)f(v)-5 b(alue)31
-b(to)g(500)h(after)f(reading)f(an)m(y)h(startup)f(\014les.)150
-584 y Ft(HISTTIMEFORMAT)630 693 y Fu(If)44 b(this)g(v)-5
-b(ariable)45 b(is)f(set)g(and)g(not)g(n)m(ull,)k(its)d(v)-5
-b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g(for)630
-803 y Ft(strftime)p Fu(\(3\))37 b(to)i(prin)m(t)g(the)f(time)h(stamp)f
-(asso)s(ciated)i(with)e(eac)m(h)i(history)e(en)m(try)h(dis-)630
-913 y(pla)m(y)m(ed)k(b)m(y)f(the)h Ft(history)d Fu(builtin.)76
-b(If)42 b(this)g(v)-5 b(ariable)43 b(is)g(set,)j(the)c(shell)h(writes)f
-(time)630 1022 y(stamps)32 b(to)g(the)h(history)e(\014le)i(so)f(they)g
-(ma)m(y)g(b)s(e)g(preserv)m(ed)f(across)i(shell)f(sessions.)46
-b(This)630 1132 y(uses)32 b(the)h(history)g(commen)m(t)h(c)m(haracter)g
-(to)g(distinguish)e(timestamps)h(from)f(other)h(his-)630
-1241 y(tory)e(lines.)150 1417 y Ft(HOSTFILE)96 b Fu(Con)m(tains)33
-b(the)g(name)f(of)h(a)g(\014le)f(in)g(the)h(same)g(format)g(as)f
-Ft(/etc/hosts)e Fu(that)j(should)f(b)s(e)630 1526 y(read)21
-b(when)g(the)g(shell)h(needs)f(to)h(complete)h(a)e(hostname.)38
-b(The)21 b(list)h(of)g(p)s(ossible)f(hostname)630 1636
-y(completions)27 b(ma)m(y)f(b)s(e)f(c)m(hanged)h(while)f(the)h(shell)g
-(is)f(running;)h(the)g(next)f(time)i(hostname)630 1745
-y(completion)33 b(is)g(attempted)g(after)g(the)f(v)-5
-b(alue)33 b(is)f(c)m(hanged,)i(Bash)e(adds)f(the)i(con)m(ten)m(ts)h(of)
-630 1855 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53
-b(If)34 b Ft(HOSTFILE)e Fu(is)j(set,)h(but)e(has)g(no)h(v)-5
-b(alue,)36 b(or)e(do)s(es)630 1965 y(not)d(name)f(a)h(readable)g
-(\014le,)g(Bash)f(attempts)i(to)f(read)f Ft(/etc/hosts)e
-Fu(to)j(obtain)g(the)f(list)630 2074 y(of)h(p)s(ossible)f(hostname)h
-(completions.)43 b(When)31 b Ft(HOSTFILE)d Fu(is)j(unset,)f(the)h
-(hostname)g(list)630 2184 y(is)f(cleared.)150 2359 y
-Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)150
-2534 y Ft(HOSTTYPE)96 b Fu(A)30 b(string)h(describing)f(the)g(mac)m
-(hine)h(Bash)g(is)f(running)f(on.)150 2710 y Ft(IGNOREEOF)630
-2819 y Fu(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
-h(of)f(an)g Ft(EOF)f Fu(c)m(haracter)i(as)g(the)f(sole)h(input.)630
-2929 y(If)33 b(set,)i(the)e(v)-5 b(alue)34 b(is)f(the)h(n)m(um)m(b)s
-(er)e(of)h(consecutiv)m(e)j Ft(EOF)c Fu(c)m(haracters)j(that)f(can)f(b)
-s(e)g(read)630 3039 y(as)h(the)g(\014rst)f(c)m(haracter)j(on)d(an)h
-(input)f(line)h(b)s(efore)g(Bash)g(exits.)51 b(If)34
-b(the)g(v)-5 b(ariable)35 b(is)e(set)630 3148 y(but)e(do)s(es)g(not)h
-(ha)m(v)m(e)h(a)f(n)m(umeric)f(v)-5 b(alue,)33 b(or)e(the)h(v)-5
-b(alue)32 b(is)f(n)m(ull,)i(then)e(the)h(default)f(is)h(10.)630
-3258 y(If)e(the)g(v)-5 b(ariable)31 b(is)g(unset,)f(then)g
-Ft(EOF)f Fu(signi\014es)h(the)h(end)e(of)i(input)e(to)i(the)g(shell.)40
-b(This)30 b(is)630 3367 y(only)g(in)h(e\013ect)g(for)g(in)m(teractiv)m
-(e)i(shells.)150 3543 y Ft(INPUTRC)144 b Fu(The)68 b(name)h(of)f(the)h
-(Readline)g(initialization)j(\014le,)78 b(o)m(v)m(erriding)69
-b(the)g(default)g(of)630 3652 y Ft(~/.inputrc)p Fu(.)150
-3828 y Ft(INSIDE_EMACS)630 3937 y Fu(If)29 b(Bash)h(\014nds)e(this)h(v)
--5 b(ariable)31 b(in)e(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)g
-(starts,)g(it)g(assumes)630 4047 y(that)i(the)g(shell)g(is)f(running)f
-(in)i(an)f(Emacs)h(shell)g(bu\013er)e(and)h(ma)m(y)i(disable)e(line)h
-(editing)630 4156 y(dep)s(ending)d(on)h(the)h(v)-5 b(alue)31
-b(of)f Ft(TERM)p Fu(.)150 4332 y Ft(LANG)288 b Fu(Used)28
-b(to)h(determine)f(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h
-(category)h(not)e(sp)s(eci\014cally)g(selected)630 4441
-y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Ft(LC_)p
-Fu(.)150 4617 y Ft(LC_ALL)192 b Fu(This)28 b(v)-5 b(ariable)29
-b(o)m(v)m(errides)h(the)f(v)-5 b(alue)29 b(of)g Ft(LANG)f
-Fu(and)g(an)m(y)h(other)g Ft(LC_)f Fu(v)-5 b(ariable)29
-b(sp)s(ecifying)630 4726 y(a)i(lo)s(cale)h(category)-8
-b(.)150 4902 y Ft(LC_COLLATE)630 5011 y Fu(This)37 b(v)-5
-b(ariable)38 b(determines)g(the)g(collation)i(order)d(used)g(when)f
-(sorting)i(the)g(results)g(of)630 5121 y(\014lename)e(expansion,)i(and)
-e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h
-(equiv-)630 5230 y(alence)e(classes,)h(and)e(collating)i(sequences)e
-(within)f(\014lename)h(expansion)g(and)f(pattern)630
-5340 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
-e(page)h(37\).)p eop end
-%%Page: 95 101
-TeXDict begin 95 100 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(95)150 299 y Ft(LC_CTYPE)96
-b Fu(This)36 b(v)-5 b(ariable)37 b(determines)f(the)h(in)m
-(terpretation)h(of)f(c)m(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)
-630 408 y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g
-(and)f(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 518 y(tion)31
-b(3.5.8)h([Filename)g(Expansion],)e(page)h(37\).)150
-668 y Ft(LC_MESSAGES)630 778 y Fu(This)25 b(v)-5 b(ariable)27
-b(determines)f(the)g(lo)s(cale)i(used)d(to)i(translate)g(double-quoted)
-f(strings)g(pre-)630 887 y(ceded)31 b(b)m(y)f(a)h(`)p
-Ft($)p Fu(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
-b(ranslation],)32 b(page)f(7\).)150 1038 y Ft(LC_NUMERIC)630
-1147 y Fu(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
-(category)g(used)e(for)g(n)m(um)m(b)s(er)f(formatting.)150
-1297 y Ft(LC_TIME)144 b Fu(This)25 b(v)-5 b(ariable)26
-b(determines)g(the)g(lo)s(cale)h(category)h(used)d(for)g(data)h(and)f
-(time)i(formatting.)150 1448 y Ft(LINENO)192 b Fu(The)30
-b(line)h(n)m(um)m(b)s(er)e(in)h(the)g(script)h(or)f(shell)h(function)f
-(curren)m(tly)g(executing.)42 b(Line)30 b(n)m(um-)630
-1557 y(b)s(ers)c(start)h(with)g(1.)40 b(When)27 b(not)g(in)g(a)g
-(script)g(or)g(function,)h(the)f(v)-5 b(alue)28 b(is)f(not)g(guaran)m
-(teed)630 1667 y(to)k(b)s(e)e(meaningful.)40 b(If)30
-b Ft(LINENO)e Fu(is)i(unset,)g(it)g(loses)h(its)f(sp)s(ecial)g(prop)s
-(erties,)g(ev)m(en)h(if)e(it)i(is)630 1776 y(subsequen)m(tly)f(reset.)
-150 1926 y Ft(LINES)240 b Fu(Used)43 b(b)m(y)g(the)g
-Ft(select)e Fu(command)i(to)g(determine)g(the)g(column)g(length)g(for)g
-(prin)m(ting)630 2036 y(selection)c(lists.)63 b(Automatically)41
-b(set)d(if)f(the)h Ft(checkwinsize)d Fu(option)j(is)f(enabled)h(\(see)
-630 2146 y(Section)44 b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d
-(77\),)k(or)43 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630
-2255 y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 2405
-y Ft(MACHTYPE)96 b Fu(A)26 b(string)g(that)h(fully)f(describ)s(es)f
-(the)h(system)g(t)m(yp)s(e)h(on)f(whic)m(h)f(Bash)i(is)f(executing,)i
-(in)e(the)630 2515 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h
-Fu(format.)150 2665 y Ft(MAILCHECK)630 2775 y Fu(Ho)m(w)d(often)g(\(in)
-g(seconds\))g(that)g(the)f(shell)h(should)f(c)m(hec)m(k)i(for)e(mail)h
-(in)f(the)h(\014les)g(sp)s(eci\014ed)630 2884 y(in)i(the)h
-Ft(MAILPATH)e Fu(or)i Ft(MAIL)e Fu(v)-5 b(ariables.)43
-b(The)30 b(default)h(is)f(60)i(seconds.)42 b(When)30
-b(it)h(is)g(time)630 2994 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e
-(shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f(primary)g
-(prompt.)57 b(If)630 3104 y(this)37 b(v)-5 b(ariable)38
-b(is)f(unset,)h(or)f(set)h(to)g(a)f(v)-5 b(alue)38 b(that)f(is)g(not)h
-(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 3213 y(equal)31
-b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150
-3363 y Ft(MAPFILE)144 b Fu(An)35 b(arra)m(y)h(v)-5 b(ariable)36
-b(created)g(to)h(hold)e(the)g(text)i(read)e(b)m(y)g(the)h
-Ft(mapfile)d Fu(builtin)i(when)630 3473 y(no)30 b(v)-5
-b(ariable)31 b(name)g(is)f(supplied.)150 3623 y Ft(OLDPWD)192
-b Fu(The)30 b(previous)g(w)m(orking)g(directory)h(as)g(set)g(b)m(y)f
-(the)h Ft(cd)e Fu(builtin.)150 3773 y Ft(OPTERR)192 b
-Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 b(1,)i(Bash)e(displa)m(ys)g
-(error)f(messages)i(generated)g(b)m(y)f(the)g Ft(getopts)630
-3883 y Fu(builtin)30 b(command.)40 b Ft(OPTERR)29 b Fu(is)i
-(initialized)h(to)f(1)g(eac)m(h)g(time)g(the)g(shell)f(is)h(in)m(v)m
-(ok)m(ed.)150 4033 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f
-(the)g(op)s(erating)h(system)g(Bash)f(is)h(running)d(on.)150
-4183 y Ft(PIPESTATUS)630 4293 y Fu(An)48 b(arra)m(y)g(v)-5
-b(ariable)49 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)k(page)c(109\))g
-(con)m(taining)h(a)e(list)h(of)630 4402 y(exit)32 b(status)f(v)-5
-b(alues)31 b(from)f(the)h(pro)s(cesses)g(in)g(the)g(most-recen)m
-(tly-executed)j(foreground)630 4512 y(pip)s(eline,)i(whic)m(h)f(ma)m(y)
-g(consist)h(of)f(only)h(a)f(simple)g(command)g(\(see)h(Section)g(3.2)g
-([Shell)630 4622 y(Commands],)30 b(page)h(9\).)150 4772
-y Ft(POSIXLY_CORRECT)630 4881 y Fu(If)h(this)g(v)-5 b(ariable)34
-b(is)e(in)g(the)h(en)m(vironmen)m(t)g(when)e(Bash)i(starts,)g(the)g
-(shell)g(en)m(ters)g Fm(posix)630 4991 y Fu(mo)s(de)46
-b(\(see)h(Section)g(6.11)g([Bash)g(POSIX)e(Mo)s(de],)50
-b(page)d(115\))h(b)s(efore)e(reading)g(the)630 5101 y(startup)38
-b(\014les,)j(as)e(if)g(the)g Ft(--posix)d Fu(in)m(v)m(o)s(cation)41
-b(option)e(had)f(b)s(een)g(supplied.)64 b(If)39 b(it)g(is)630
-5210 y(set)31 b(while)f(the)h(shell)f(is)h(running,)e(Bash)h(enables)h
-Fm(posix)f Fu(mo)s(de,)g(as)g(if)h(the)f(command)870
-5340 y Ft(set)47 b(-o)g(posix)p eop end
-%%Page: 96 102
-TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(96)630 299 y(had)33
-b(b)s(een)g(executed.)51 b(When)33 b(the)h(shell)f(en)m(ters)h
-Fm(posix)f Fu(mo)s(de,)h(it)g(sets)g(this)g(v)-5 b(ariable)34
-b(if)630 408 y(it)d(w)m(as)g(not)f(already)h(set.)150
-560 y Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g Fm(id)g
-Fu(of)h(the)f(shell's)h(paren)m(t)g(pro)s(cess.)40 b(This)30
-b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)150 712 y
-Ft(PROMPT_COMMAND)630 822 y Fu(If)23 b(this)h(v)-5 b(ariable)24
-b(is)g(set,)i(and)d(is)h(an)f(arra)m(y)-8 b(,)27 b(the)d(v)-5
-b(alue)24 b(of)g(eac)m(h)g(set)h(elemen)m(t)g(is)f(in)m(terpreted)630
-931 y(as)29 b(a)g(command)f(to)i(execute)g(b)s(efore)e(prin)m(ting)h
-(the)g(primary)f(prompt)f(\()p Ft($PS1)p Fu(\).)40 b(If)28
-b(this)h(is)630 1041 y(set)c(but)f(not)g(an)h(arra)m(y)g(v)-5
-b(ariable,)26 b(its)f(v)-5 b(alue)25 b(is)f(used)g(as)h(a)f(command)g
-(to)i(execute)f(instead.)150 1192 y Ft(PROMPT_DIRTRIM)630
-1302 y Fu(If)i(set)g(to)h(a)g(n)m(um)m(b)s(er)e(greater)i(than)f(zero,)
-i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g(the)h(n)m(um)m(b)s(er)e(of)h
-(trailing)630 1412 y(directory)c(comp)s(onen)m(ts)h(to)f(retain)h(when)
-e(expanding)g(the)h Ft(\\w)g Fu(and)f Ft(\\W)g Fu(prompt)h(string)f
-(es-)630 1521 y(cap)s(es)i(\(see)h(Section)g(6.9)g([Con)m(trolling)g
-(the)f(Prompt],)i(page)e(112\).)41 b(Characters)24 b(remo)m(v)m(ed)630
-1631 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)150
-1783 y Ft(PS0)336 b Fu(The)32 b(v)-5 b(alue)33 b(of)g(this)g(parameter)
-g(is)g(expanded)e(lik)m(e)j Ft(PS1)e Fu(and)g(displa)m(y)m(ed)i(b)m(y)e
-(in)m(teractiv)m(e)630 1892 y(shells)e(after)h(reading)g(a)g(command)f
-(and)f(b)s(efore)h(the)h(command)f(is)h(executed.)150
-2044 y Ft(PS3)336 b Fu(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5
-b(ariable)35 b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g
-Ft(select)f Fu(command.)52 b(If)630 2153 y(this)30 b(v)-5
-b(ariable)31 b(is)g(not)f(set,)i(the)e Ft(select)f Fu(command)h
-(prompts)f(with)h(`)p Ft(#?)g Fu(')150 2305 y Ft(PS4)336
-b Fu(The)38 b(v)-5 b(alue)39 b(of)g(this)g(parameter)g(is)g(expanded)f
-(lik)m(e)i Ft(PS1)e Fu(and)g(the)h(expanded)f(v)-5 b(alue)39
-b(is)630 2415 y(the)c(prompt)f(prin)m(ted)g(b)s(efore)g(the)h(command)f
-(line)h(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f Fu(option)h(is)630
-2524 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
-(72\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
-2634 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
-(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m(ultiple)630
-2744 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
-Ft(+)h Fu('.)150 2895 y Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m
-(orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Ft(cd)f
-Fu(builtin.)150 3047 y Ft(RANDOM)192 b Fu(Eac)m(h)26
-b(time)g(this)f(parameter)h(is)g(referenced,)g(it)g(expands)f(to)h(a)g
-(random)e(in)m(teger)j(b)s(et)m(w)m(een)630 3157 y(0)35
-b(and)e(32767.)55 b(Assigning)34 b(a)h(v)-5 b(alue)34
-b(to)h(this)f(v)-5 b(ariable)35 b(initializes)h(\(seeds\))f(the)g
-(random)630 3266 y(n)m(um)m(b)s(er)d(generator.)50 b(Seeding)33
-b(the)g(random)f(n)m(um)m(b)s(er)g(generator)i(with)f(the)g(same)g
-(con-)630 3376 y(stan)m(t)26 b(v)-5 b(alue)25 b(will)g(pro)s(duce)e
-(the)i(same)g(sequence)g(of)g(v)-5 b(alues.)39 b(If)25
-b Ft(RANDOM)e Fu(is)h(unset,)i(it)f(loses)630 3485 y(its)31
-b(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)f(subsequen)m
-(tly)g(reset.)150 3637 y Ft(READLINE_ARGUMENT)630 3747
-y Fu(An)m(y)37 b(n)m(umeric)f(argumen)m(t)h(giv)m(en)g(to)g(a)g
-(Readline)g(command)f(that)h(w)m(as)g(de\014ned)e(using)630
-3856 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(60,)f(when)e(it)i(w)m(as)g(in)m(v)m(ok)m(ed.)150
-4008 y Ft(READLINE_LINE)630 4118 y Fu(The)c(con)m(ten)m(ts)i(of)f(the)g
-(Readline)g(line)g(bu\013er,)f(for)h(use)f(with)g(`)p
-Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630 4227
-y([Bash)i(Builtins],)g(page)g(60\).)150 4379 y Ft(READLINE_MARK)630
-4489 y Fu(The)26 b(p)s(osition)h(of)g(the)g Fr(mark)32
-b Fu(\(sa)m(v)m(ed)c(insertion)f(p)s(oin)m(t\))g(in)g(the)g(Readline)g
-(line)g(bu\013er,)g(for)630 4598 y(use)36 b(with)f(`)p
-Ft(bind)30 b(-x)p Fu(')35 b(\(see)i(Section)g(4.2)g([Bash)f(Builtins],)
-i(page)f(60\).)58 b(The)35 b(c)m(haracters)630 4708 y(b)s(et)m(w)m(een)
-c(the)g(insertion)f(p)s(oin)m(t)g(and)g(the)h(mark)f(are)h(often)f
-(called)i(the)f Fr(region)p Fu(.)150 4859 y Ft(READLINE_POINT)630
-4969 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
-(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p
-Ft(bind)630 5079 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(60\).)150 5230 y Ft(REPLY)240 b
-Fu(The)29 b(default)h(v)-5 b(ariable)30 b(for)f(the)h
-Ft(read)e Fu(builtin;)i(set)g(to)g(the)f(line)h(read)f(when)g
-Ft(read)f Fu(is)i(not)630 5340 y(supplied)f(a)i(v)-5
-b(ariable)31 b(name)f(argumen)m(t.)p eop end
-%%Page: 97 103
-TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(97)150 299 y Ft(SECONDS)144
-b Fu(This)40 b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s
-(er)e(of)i(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630
-408 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43 b(resets)g(the)g
-(coun)m(t)g(to)g(the)g(v)-5 b(alue)43 b(assigned,)j(and)c(the)630
-518 y(expanded)35 b(v)-5 b(alue)36 b(b)s(ecomes)h(the)f(v)-5
-b(alue)36 b(assigned)g(plus)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)g
-(since)630 628 y(the)24 b(assignmen)m(t.)39 b(The)23
-b(n)m(um)m(b)s(er)g(of)h(seconds)f(at)i(shell)f(in)m(v)m(o)s(cation)i
-(and)d(the)h(curren)m(t)f(time)630 737 y(are)h(alw)m(a)m(ys)h
-(determined)e(b)m(y)g(querying)g(the)g(system)h(clo)s(c)m(k)g(at)g
-(one-second)g(resolution.)39 b(If)630 847 y Ft(SECONDS)28
-b Fu(is)h(unset,)h(it)g(loses)h(its)f(sp)s(ecial)g(prop)s(erties,)g(ev)
-m(en)g(if)g(it)g(is)g(subsequen)m(tly)f(reset.)150 995
-y Ft(SHELL)240 b Fu(This)24 b(en)m(vironmen)m(t)i(v)-5
-b(ariable)26 b(expands)e(to)i(the)g(full)f(pathname)g(to)h(the)f
-(shell.)39 b(If)25 b(it)g(is)h(not)630 1104 y(set)36
-b(when)f(the)h(shell)g(starts,)i(Bash)e(assigns)h(to)f(it)h(the)f(full)
-f(pathname)h(of)g(the)g(curren)m(t)630 1214 y(user's)30
-b(login)h(shell.)150 1361 y Ft(SHELLOPTS)630 1471 y Fu(A)g
-(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)41
-b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
-b(alid)630 1581 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
-Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)h(command)g(\(see)i(Section)
-f(4.3.1)h([The)630 1690 y(Set)g(Builtin],)h(page)f(72\).)42
-b(The)28 b(options)h(app)s(earing)f(in)g Ft(SHELLOPTS)e
-Fu(are)j(those)h(rep)s(orted)630 1800 y(as)g(`)p Ft(on)p
-Fu(')f(b)m(y)h(`)p Ft(set)g(-o)p Fu('.)40 b(If)29 b(this)h(v)-5
-b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h
-(starts)g(up,)630 1909 y(the)k(shell)g(enables)g(eac)m(h)i(option)e(in)
-f(the)i(list)f(b)s(efore)g(reading)g(an)m(y)g(startup)f(\014les.)52
-b(This)630 2019 y(v)-5 b(ariable)31 b(is)g(readonly)-8
-b(.)150 2167 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
-m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38
-b(This)20 b(is)h(in)m(tended)630 2276 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
-(of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150
-2424 y Ft(SRANDOM)144 b Fu(This)36 b(v)-5 b(ariable)37
-b(expands)f(to)h(a)g(32-bit)h(pseudo-random)d(n)m(um)m(b)s(er)g(eac)m
-(h)j(time)f(it)g(is)g(ref-)630 2534 y(erenced.)47 b(The)32
-b(random)g(n)m(um)m(b)s(er)f(generator)j(is)e(not)h(linear)g(on)f
-(systems)h(that)g(supp)s(ort)630 2643 y Ft(/dev/urandom)26
-b Fu(or)k Ft(arc4random)p Fu(,)d(so)j(eac)m(h)g(returned)f(n)m(um)m(b)s
-(er)f(has)h(no)g(relationship)h(to)630 2753 y(the)39
-b(n)m(um)m(b)s(ers)e(preceding)i(it.)66 b(The)38 b(random)g(n)m(um)m(b)
-s(er)f(generator)j(cannot)g(b)s(e)e(seeded,)630 2862
-y(so)c(assignmen)m(ts)g(to)g(this)f(v)-5 b(ariable)34
-b(ha)m(v)m(e)h(no)e(e\013ect.)51 b(If)33 b Ft(SRANDOM)e
-Fu(is)j(unset,)g(it)f(loses)i(its)630 2972 y(sp)s(ecial)c(prop)s
-(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)150
-3120 y Ft(TIMEFORMAT)630 3229 y Fu(The)g(v)-5 b(alue)32
-b(of)f(this)g(parameter)g(is)g(used)f(as)h(a)g(format)h(string)f(sp)s
-(ecifying)f(ho)m(w)h(the)g(tim-)630 3339 y(ing)37 b(information)f(for)h
-(pip)s(elines)f(pre\014xed)f(with)h(the)h Ft(time)e Fu(reserv)m(ed)i(w)
-m(ord)f(should)g(b)s(e)630 3448 y(displa)m(y)m(ed.)k(The)27
-b(`)p Ft(\045)p Fu(')h(c)m(haracter)h(in)m(tro)s(duces)e(an)h(escap)s
-(e)g(sequence)g(that)g(is)f(expanded)g(to)630 3558 y(a)37
-b(time)g(v)-5 b(alue)36 b(or)h(other)f(information.)59
-b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i(meanings)630
-3668 y(are)31 b(as)f(follo)m(ws;)i(the)f(brac)m(k)m(ets)h(denote)e
-(optional)i(p)s(ortions.)630 3815 y Ft(\045\045)384 b
-Fu(A)30 b(literal)i(`)p Ft(\045)p Fu('.)630 3963 y Ft(\045[)p
-Fj(p)p Ft(][l]R)96 b Fu(The)30 b(elapsed)h(time)g(in)f(seconds.)630
-4111 y Ft(\045[)p Fj(p)p Ft(][l]U)96 b Fu(The)30 b(n)m(um)m(b)s(er)f
-(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630
-4258 y Ft(\045[)p Fj(p)p Ft(][l]S)96 b Fu(The)30 b(n)m(um)m(b)s(er)f
-(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630
-4406 y Ft(\045P)384 b Fu(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e
-(as)h(\(\045U)f Ft(+)g Fu(\045S\))g(/)h(\045R.)630 4554
-y(The)23 b(optional)j Fr(p)g Fu(is)e(a)g(digit)h(sp)s(ecifying)e(the)h
-(precision,)i(the)e(n)m(um)m(b)s(er)f(of)h(fractional)h(digits)630
-4663 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35
-b(v)-5 b(alue)36 b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h
-(fraction)g(to)g(b)s(e)630 4773 y(output.)50 b Ft(time)32
-b Fu(will)i(prin)m(t)f(at)i(most)f(six)f(digits)h(after)g(the)g
-(decimal)h(p)s(oin)m(t;)g(v)-5 b(alues)34 b(of)g Fr(p)630
-4883 y Fu(greater)g(than)f(6)h(are)f(c)m(hanged)h(to)g(6.)49
-b(If)32 b Fr(p)k Fu(is)d(not)g(sp)s(eci\014ed,)h Ft(time)d
-Fu(prin)m(ts)i(three)g(digits)630 4992 y(after)e(the)f(decimal)i(p)s
-(oin)m(t.)630 5121 y(The)54 b(optional)h Ft(l)f Fu(sp)s(eci\014es)g(a)h
-(longer)f(format,)61 b(including)54 b(min)m(utes,)61
-b(of)54 b(the)g(form)630 5230 y Fr(MM)10 b Fu(m)p Fr(SS)p
-Fu(.)p Fr(FF)d Fu(s.)103 b(The)50 b(v)-5 b(alue)52 b(of)f
-Fr(p)j Fu(determines)d(whether)f(or)h(not)h(the)f(fraction)h(is)630
-5340 y(included.)p eop end
-%%Page: 98 104
-TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(98)630 299 y(If)30
-b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f
-(it)h(had)f(the)h(v)-5 b(alue)870 433 y Ft
-($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
-568 y Fu(If)34 b(the)h(v)-5 b(alue)35 b(is)g(n)m(ull,)h(Bash)f(do)s(es)
-f(not)h(displa)m(y)g(an)m(y)g(timing)g(information.)54
-b(A)35 b(trailing)630 677 y(newline)30 b(is)h(added)e(when)h(the)g
-(format)h(string)f(is)h(displa)m(y)m(ed.)150 837 y Ft(TMOUT)240
-b Fu(If)27 b(set)i(to)f(a)g(v)-5 b(alue)28 b(greater)h(than)f(zero,)h
-(the)f Ft(read)f Fu(builtin)g(uses)g(the)h(v)-5 b(alue)29
-b(as)f(its)g(default)630 946 y(timeout)33 b(\(see)f(Section)h(4.2)f
-([Bash)g(Builtins],)h(page)f(60\).)46 b(The)31 b Ft(select)f
-Fu(command)h(\(see)630 1056 y(Section)g(3.2.5.2)i([Conditional)f
-(Constructs],)e(page)h(12\))h(terminates)f(if)g(input)f(do)s(es)g(not)
-630 1166 y(arriv)m(e)h(after)g Ft(TMOUT)e Fu(seconds)h(when)g(input)f
-(is)h(coming)i(from)d(a)i(terminal.)630 1300 y(In)40
-b(an)h(in)m(teractiv)m(e)i(shell,)h(the)d(v)-5 b(alue)41
-b(is)g(in)m(terpreted)g(as)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)f(to)
-630 1410 y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input)e(after)i(issuing)f
-(the)h(primary)e(prompt.)39 b(Bash)26 b(terminates)h(after)630
-1519 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m(b)s(er)e(of)h(seconds)h
-(if)f(a)h(complete)h(line)e(of)h(input)e(do)s(es)h(not)h(arriv)m(e.)150
-1679 y Ft(TMPDIR)192 b Fu(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5
-b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g
-(Bash)h(creates)630 1788 y(temp)s(orary)30 b(\014les)g(for)g(the)h
-(shell's)g(use.)150 1948 y Ft(UID)336 b Fu(The)30 b(n)m(umeric)g(real)h
-(user)f(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30
-b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end
-%%Page: 99 105
-TeXDict begin 99 104 bop 3659 -116 a Fu(99)150 299 y
-Fp(6)80 b(Bash)54 b(F)-13 b(eatures)150 502 y Fu(This)30
-b(c)m(hapter)h(describ)s(es)e(features)i(unique)e(to)i(Bash.)150
-731 y Fs(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 890 y
-Ft(bash)h([long-opt])e([-ir])h([-abefhkmnptuvxdBCDHP])c([-o)47
-b Fj(option)p Ft(])581 1000 y([-O)g Fj(shopt_option)p
-Ft(])d([)p Fj(argument)h Ft(...)o(])390 1110 y(bash)i([long-opt])e
-([-abefhkmnptuvxdBCDHP])c([-o)47 b Fj(option)p Ft(])581
-1219 y([-O)g Fj(shopt_option)p Ft(])d(-c)j Fj(string)f
-Ft([)p Fj(argument)g Ft(...)o(])390 1329 y(bash)h([long-opt])e(-s)i
-([-abefhkmnptuvxdBCDHP])42 b([-o)k Fj(option)p Ft(])581
-1438 y([-O)h Fj(shopt_option)p Ft(])d([)p Fj(argument)h
-Ft(...)o(])275 1567 y Fu(All)31 b(of)g(the)f(single-c)m(haracter)k
-(options)d(used)f(with)g(the)h Ft(set)f Fu(builtin)g(\(see)h(Section)h
-(4.3.1)g([The)f(Set)150 1676 y(Builtin],)45 b(page)c(72\))i(can)e(b)s
-(e)f(used)h(as)g(options)g(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.)
-74 b(In)41 b(addition,)j(there)150 1786 y(are)38 b(sev)m(eral)h(m)m
-(ulti-c)m(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61
-b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150
-1896 y(command)30 b(line)h(b)s(efore)f(the)g(single-c)m(haracter)j
-(options)e(to)g(b)s(e)f(recognized.)150 2043 y Ft(--debugger)630
-2152 y Fu(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e
-(executed)i(b)s(efore)f(the)g(shell)g(starts.)49 b(T)-8
-b(urns)630 2262 y(on)35 b(extended)g(debugging)f(mo)s(de)h(\(see)g
-(Section)h(4.3.2)h([The)d(Shopt)g(Builtin],)j(page)f(77,)630
-2371 y(for)30 b(a)h(description)f(of)h(the)f Ft(extdebug)f
-Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150 2519
-y Ft(--dump-po-strings)630 2628 y Fu(Prin)m(t)f(a)h(list)g(of)g(all)g
-(double-quoted)g(strings)f(preceded)g(b)m(y)g(`)p Ft($)p
-Fu(')h(on)f(the)h(standard)e(output)630 2738 y(in)j(the)h
-Fm(gnu)f Ft(gettext)e Fu(PO)i(\(p)s(ortable)h(ob)5 b(ject\))31
-b(\014le)g(format.)41 b(Equiv)-5 b(alen)m(t)31 b(to)g
-Ft(-D)f Fu(except)630 2847 y(for)g(the)h(output)f(format.)150
-2995 y Ft(--dump-strings)630 3104 y Fu(Equiv)-5 b(alen)m(t)31
-b(to)g Ft(-D)p Fu(.)150 3251 y Ft(--help)192 b Fu(Displa)m(y)32
-b(a)e(usage)h(message)h(on)e(standard)g(output)g(and)f(exit)j
-(successfully)-8 b(.)150 3399 y Ft(--init-file)27 b Fj(filename)150
-3508 y Ft(--rcfile)h Fj(filename)630 3618 y Fu(Execute)23
-b(commands)e(from)g Fr(\014lename)28 b Fu(\(instead)22
-b(of)g Ft(~/.bashrc)p Fu(\))e(in)h(an)h(in)m(teractiv)m(e)i(shell.)150
-3765 y Ft(--login)144 b Fu(Equiv)-5 b(alen)m(t)31 b(to)g
-Ft(-l)p Fu(.)150 3912 y Ft(--noediting)630 4022 y Fu(Do)h(not)e(use)h
-(the)g Fm(gnu)f Fu(Readline)i(library)e(\(see)h(Chapter)g(8)g([Command)
-f(Line)g(Editing],)630 4131 y(page)h(128\))h(to)f(read)g(command)f
-(lines)g(when)g(the)g(shell)h(is)f(in)m(teractiv)m(e.)150
-4278 y Ft(--noprofile)630 4388 y Fu(Don't)22 b(load)g(the)g
-(system-wide)f(startup)g(\014le)h Ft(/etc/profile)c Fu(or)j(an)m(y)h
-(of)f(the)h(p)s(ersonal)f(ini-)630 4498 y(tialization)34
-b(\014les)e Ft(~/.bash_profile)p Fu(,)c Ft(~/.bash_login)p
-Fu(,)g(or)k Ft(~/.profile)c Fu(when)j(Bash)630 4607 y(is)f(in)m(v)m(ok)
-m(ed)i(as)f(a)g(login)g(shell.)150 4754 y Ft(--norc)192
-b Fu(Don't)35 b(read)f(the)g Ft(~/.bashrc)e Fu(initialization)k(\014le)
-f(in)e(an)h(in)m(teractiv)m(e)j(shell.)52 b(This)33 b(is)h(on)630
-4864 y(b)m(y)c(default)h(if)f(the)h(shell)f(is)h(in)m(v)m(ok)m(ed)h(as)
-e Ft(sh)p Fu(.)150 5011 y Ft(--posix)144 b Fu(Change)24
-b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i(default)f(op)s
-(eration)h(di\013ers)f(from)f(the)i Fm(posix)630 5121
-y Fu(standard)35 b(to)h(matc)m(h)g(the)g(standard.)55
-b(This)35 b(is)h(in)m(tended)f(to)h(mak)m(e)h(Bash)f(b)s(eha)m(v)m(e)g
-(as)g(a)630 5230 y(strict)22 b(sup)s(erset)e(of)h(that)g(standard.)37
-b(See)21 b(Section)h(6.11)g([Bash)f(POSIX)f(Mo)s(de],)k(page)d(115,)630
-5340 y(for)30 b(a)h(description)f(of)h(the)f(Bash)h Fm(posix)f
-Fu(mo)s(de.)p eop end
-%%Page: 100 106
-TeXDict begin 100 105 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(100)150 299 y Ft(--restricted)630
-408 y Fu(Equiv)-5 b(alen)m(t)35 b(to)g Ft(-r)p Fu(.)51
-b(Mak)m(e)35 b(the)g(shell)f(a)g(restricted)h(shell)f(\(see)h(Section)g
-(6.10)h([The)d(Re-)630 518 y(stricted)e(Shell],)g(page)g(114\).)150
-667 y Ft(--verbose)630 777 y Fu(Equiv)-5 b(alen)m(t)31
-b(to)g Ft(-v)p Fu(.)41 b(Prin)m(t)30 b(shell)g(input)g(lines)g(as)h
-(they're)g(read.)150 927 y Ft(--version)630 1036 y Fu(Sho)m(w)d(v)m
-(ersion)g(information)g(for)g(this)g(instance)h(of)f(Bash)g(on)g(the)g
-(standard)f(output)h(and)630 1146 y(exit)j(successfully)-8
-b(.)275 1295 y(There)28 b(are)i(sev)m(eral)g(single-c)m(haracter)i
-(options)d(that)h(ma)m(y)g(b)s(e)e(supplied)g(at)i(in)m(v)m(o)s(cation)
-h(whic)m(h)e(are)150 1405 y(not)i(a)m(v)-5 b(ailable)32
-b(with)e(the)h Ft(set)e Fu(builtin.)150 1554 y Ft(-c)384
-b Fu(Read)66 b(and)f(execute)i(commands)e(from)g(the)h(\014rst)e
-(non-option)i(argumen)m(t)g Fr(com-)630 1664 y(mand)p
-859 1664 28 4 v 39 w(string)p Fu(,)34 b(then)e(exit.)49
-b(If)32 b(there)h(are)g(argumen)m(ts)g(after)g(the)g
-Fr(command)p 3303 1664 V 40 w(string)p Fu(,)h(the)630
-1773 y(\014rst)e(argumen)m(t)h(is)g(assigned)g(to)h Ft($0)e
-Fu(and)h(an)m(y)g(remaining)g(argumen)m(ts)g(are)g(assigned)g(to)630
-1883 y(the)38 b(p)s(ositional)h(parameters.)65 b(The)37
-b(assignmen)m(t)i(to)g Ft($0)f Fu(sets)g(the)h(name)f(of)g(the)g
-(shell,)630 1993 y(whic)m(h)30 b(is)h(used)e(in)h(w)m(arning)g(and)g
-(error)g(messages.)150 2142 y Ft(-i)384 b Fu(F)-8 b(orce)22
-b(the)g(shell)f(to)g(run)f(in)m(teractiv)m(ely)-8 b(.)41
-b(In)m(teractiv)m(e)23 b(shells)e(are)h(describ)s(ed)d(in)i(Section)h
-(6.3)630 2252 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(103.)150
-2401 y Ft(-l)384 b Fu(Mak)m(e)46 b(this)e(shell)h(act)g(as)g(if)f(it)h
-(had)f(b)s(een)g(directly)h(in)m(v)m(ok)m(ed)h(b)m(y)e(login.)84
-b(When)44 b(the)630 2511 y(shell)e(is)g(in)m(teractiv)m(e,)48
-b(this)42 b(is)h(equiv)-5 b(alen)m(t)43 b(to)g(starting)g(a)f(login)h
-(shell)f(with)g(`)p Ft(exec)30 b(-l)630 2620 y(bash)p
-Fu('.)39 b(When)27 b(the)g(shell)h(is)f(not)h(in)m(teractiv)m(e,)j(it)d
-(will)f(read)h(and)e(execute)j(the)f(login)g(shell)630
-2730 y(startup)37 b(\014les.)63 b(`)p Ft(exec)29 b(bash)h(-l)p
-Fu(')37 b(or)h(`)p Ft(exec)29 b(bash)g(--login)p Fu(')36
-b(will)j(replace)f(the)g(curren)m(t)630 2839 y(shell)e(with)g(a)g(Bash)
-g(login)h(shell.)58 b(See)36 b(Section)h(6.2)g([Bash)g(Startup)e
-(Files],)k(page)d(101,)630 2949 y(for)30 b(a)h(description)f(of)h(the)f
-(sp)s(ecial)h(b)s(eha)m(vior)g(of)f(a)h(login)g(shell.)150
-3098 y Ft(-r)384 b Fu(Mak)m(e)54 b(the)e(shell)g(a)h(restricted)g
-(shell)f(\(see)h(Section)g(6.10)h([The)d(Restricted)j(Shell],)630
-3208 y(page)31 b(114\).)150 3357 y Ft(-s)384 b Fu(If)41
-b(this)h(option)g(is)g(presen)m(t,)i(or)e(if)g(no)f(argumen)m(ts)h
-(remain)g(after)g(option)g(pro)s(cessing,)630 3467 y(then)36
-b(Bash)h(reads)g(commands)f(from)g(the)h(standard)f(input.)59
-b(This)36 b(option)h(allo)m(ws)h(the)630 3577 y(p)s(ositional)45
-b(parameters)g(to)g(b)s(e)f(set)h(when)e(in)m(v)m(oking)j(an)f(in)m
-(teractiv)m(e)i(shell)d(or)h(when)630 3686 y(reading)30
-b(input)g(through)g(a)g(pip)s(e.)150 3836 y Ft(-D)384
-b Fu(Prin)m(t)26 b(a)h(list)g(of)g(all)g(double-quoted)g(strings)f
-(preceded)g(b)m(y)h(`)p Ft($)p Fu(')f(on)h(the)f(standard)g(output.)630
-3945 y(These)h(are)g(the)g(strings)g(that)h(are)f(sub)5
-b(ject)27 b(to)h(language)g(translation)g(when)e(the)h(curren)m(t)630
-4055 y(lo)s(cale)k(is)e(not)g Ft(C)g Fu(or)g Ft(POSIX)e
-Fu(\(see)j(Section)g(3.1.2.5)i([Lo)s(cale)e(T)-8 b(ranslation],)31
-b(page)f(7\).)41 b(This)630 4164 y(implies)31 b(the)f
-Ft(-n)g Fu(option;)h(no)f(commands)g(will)h(b)s(e)f(executed.)150
-4314 y Ft([-+]O)f([)p Fj(shopt_option)p Ft(])630 4423
-y Fr(shopt)p 854 4423 V 40 w(option)44 b Fu(is)g(one)h(of)f(the)g
-(shell)h(options)f(accepted)h(b)m(y)f(the)h Ft(shopt)d
-Fu(builtin)i(\(see)630 4533 y(Section)32 b(4.3.2)h([The)e(Shopt)f
-(Builtin],)i(page)g(77\).)44 b(If)31 b Fr(shopt)p 2724
-4533 V 40 w(option)g Fu(is)g(presen)m(t,)h Ft(-O)f Fu(sets)630
-4643 y(the)38 b(v)-5 b(alue)39 b(of)g(that)f(option;)43
-b Ft(+O)38 b Fu(unsets)g(it.)65 b(If)37 b Fr(shopt)p
-2566 4643 V 40 w(option)i Fu(is)f(not)h(supplied,)g(Bash)630
-4752 y(prin)m(ts)k(the)g(names)h(and)e(v)-5 b(alues)44
-b(of)g(the)f(shell)h(options)g(accepted)g(b)m(y)g Ft(shopt)d
-Fu(on)j(the)630 4862 y(standard)36 b(output.)60 b(If)37
-b(the)g(in)m(v)m(o)s(cation)i(option)e(is)g Ft(+O)p Fu(,)i(the)e
-(output)f(is)h(displa)m(y)m(ed)h(in)f(a)630 4971 y(format)31
-b(that)g(ma)m(y)g(b)s(e)e(reused)h(as)h(input.)150 5121
-y Ft(--)384 b Fu(A)38 b Ft(--)g Fu(signals)g(the)h(end)e(of)i(options)f
-(and)g(disables)g(further)f(option)h(pro)s(cessing.)64
-b(An)m(y)630 5230 y(argumen)m(ts)38 b(after)g(the)f Ft(--)g
-Fu(are)h(treated)g(as)g(a)g(shell)f(script)h(\014lename)f(\(see)i
-(Section)f(3.8)630 5340 y([Shell)30 b(Scripts],)h(page)g(49\))g(and)f
-(argumen)m(ts)h(passed)f(to)h(that)g(script.)p eop end
-%%Page: 101 107
-TeXDict begin 101 106 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(101)150 299 y Ft(-)432
-b Fu(Equiv)-5 b(alen)m(t)31 b(to)g Ft(--)p Fu(.)275 469
-y(A)c Fl(lo)-5 b(gin)35 b Fu(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)
-m(haracter)j(of)e(argumen)m(t)h(zero)f(is)h(`)p Ft(-)p
-Fu(',)g(or)f(one)g(in)m(v)m(ok)m(ed)i(with)e(the)150
-578 y Ft(--login)h Fu(option.)275 720 y(An)g Fl(inter)-5
-b(active)37 b Fu(shell)30 b(is)f(one)g(started)h(without)f(non-option)h
-(argumen)m(ts,)g(unless)e Ft(-s)h Fu(is)g(sp)s(eci\014ed,)150
-829 y(without)34 b(sp)s(ecifying)g(the)g Ft(-c)g Fu(option,)i(and)d
-(whose)h(input)f(and)h(output)f(\(using)h(the)h(standard)e(error\))150
-939 y(are)d(b)s(oth)e(connected)i(to)g(terminals)g(\(as)f(determined)g
-(b)m(y)g Ft(isatty\(3\))p Fu(\),)f(or)h(one)h(started)f(with)g(the)h
-Ft(-i)150 1049 y Fu(option.)41 b(See)31 b(Section)g(6.3)g([In)m
-(teractiv)m(e)i(Shells],)e(page)g(103,)h(for)e(more)h(information.)275
-1190 y(If)i(argumen)m(ts)h(remain)g(after)h(option)f(pro)s(cessing,)h
-(and)e(neither)h(the)g Ft(-c)g Fu(nor)f(the)h Ft(-s)g
-Fu(option)g(has)150 1300 y(b)s(een)44 b(supplied,)j(the)d(\014rst)g
-(argumen)m(t)h(is)g(assumed)e(to)j(b)s(e)d(the)i(name)g(of)f(a)h
-(\014le)g(con)m(taining)h(shell)150 1409 y(commands)30
-b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)h(49\).)41
-b(When)30 b(Bash)g(is)g(in)m(v)m(ok)m(ed)i(in)d(this)h(fashion,)150
-1519 y Ft($0)37 b Fu(is)g(set)h(to)h(the)e(name)h(of)f(the)h(\014le,)i
-(and)c(the)i(p)s(ositional)g(parameters)g(are)g(set)g(to)g(the)g
-(remaining)150 1628 y(argumen)m(ts.)h(Bash)26 b(reads)f(and)g(executes)
-h(commands)f(from)g(this)g(\014le,)i(then)e(exits.)40
-b(Bash's)25 b(exit)i(status)150 1738 y(is)f(the)h(exit)h(status)e(of)h
-(the)g(last)g(command)f(executed)h(in)g(the)f(script.)40
-b(If)26 b(no)g(commands)g(are)h(executed,)150 1848 y(the)k(exit)g
-(status)g(is)f(0.)150 2099 y Fs(6.2)68 b(Bash)45 b(Startup)g(Files)150
-2258 y Fu(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
-(its)g(startup)f(\014les.)38 b(If)24 b(an)m(y)h(of)f(the)h(\014les)f
-(exist)h(but)e(cannot)150 2368 y(b)s(e)29 b(read,)i(Bash)f(rep)s(orts)f
-(an)h(error.)40 b(Tildes)30 b(are)g(expanded)f(in)h(\014lenames)g(as)g
-(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)150 2477 y(Tilde)f(Expansion)g
-(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h(page)g(26\).)275
-2619 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s(ed)e(in)h(Section)h
-(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(103.)150
-2825 y Fk(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f(login)j
-(shell,)g(or)g(with)e Fh(--login)150 2972 y Fu(When)c(Bash)f(is)h(in)m
-(v)m(ok)m(ed)h(as)f(an)g(in)m(teractiv)m(e)j(login)d(shell,)i(or)e(as)g
-(a)g(non-in)m(teractiv)m(e)i(shell)e(with)g(the)150 3082
-y Ft(--login)30 b Fu(option,)k(it)f(\014rst)e(reads)h(and)g(executes)i
-(commands)e(from)f(the)i(\014le)f Ft(/etc/profile)p Fu(,)e(if)i(that)
-150 3191 y(\014le)44 b(exists.)80 b(After)44 b(reading)g(that)g
-(\014le,)j(it)d(lo)s(oks)g(for)f Ft(~/.bash_profile)p
-Fu(,)g Ft(~/.bash_login)p Fu(,)h(and)150 3301 y Ft(~/.profile)p
-Fu(,)25 b(in)i(that)g(order,)h(and)e(reads)h(and)f(executes)j(commands)
-d(from)h(the)g(\014rst)f(one)i(that)f(exists)150 3410
-y(and)j(is)h(readable.)42 b(The)30 b Ft(--noprofile)d
-Fu(option)k(ma)m(y)g(b)s(e)f(used)g(when)g(the)h(shell)f(is)h(started)g
-(to)g(inhibit)150 3520 y(this)f(b)s(eha)m(vior.)275 3661
-y(When)h(an)g(in)m(teractiv)m(e)k(login)d(shell)g(exits,)h(or)f(a)g
-(non-in)m(teractiv)m(e)i(login)f(shell)e(executes)i(the)f
-Ft(exit)150 3771 y Fu(builtin)g(command,)i(Bash)e(reads)h(and)f
-(executes)i(commands)e(from)g(the)h(\014le)g Ft(~/.bash_logout)p
-Fu(,)d(if)i(it)150 3881 y(exists.)150 4087 y Fk(In)m(v)m(ok)m(ed)40
-b(as)h(an)f(in)m(teractiv)m(e)f(non-login)k(shell)150
-4234 y Fu(When)f(Bash)h(runs)d(as)j(an)f(in)m(teractiv)m(e)k(shell)c
-(that)h(is)f(not)h(a)g(login)g(shell,)j(it)d(reads)f(and)g(executes)150
-4343 y(commands)31 b(from)g Ft(~/.bashrc)p Fu(,)f(if)h(that)h(\014le)g
-(exists.)44 b(This)31 b(ma)m(y)h(b)s(e)f(inhibited)g(b)m(y)g(using)g
-(the)h Ft(--norc)150 4453 y Fu(option.)41 b(The)30 b
-Ft(--rcfile)e Fj(file)h Fu(option)i(causes)g(Bash)g(to)g(use)f
-Fr(\014le)35 b Fu(instead)c(of)f Ft(~/.bashrc)p Fu(.)275
-4594 y(So,)g(t)m(ypically)-8 b(,)33 b(y)m(our)d Ft(~/.bash_profile)c
-Fu(con)m(tains)32 b(the)f(line)390 4736 y Ft(if)47 b([)h(-f)f
-(~/.bashrc)e(];)i(then)g(.)g(~/.bashrc;)e(fi)150 4877
-y Fu(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h(login-sp)s(eci\014c)g
-(initializations.)150 5083 y Fk(In)m(v)m(ok)m(ed)40 b(non-in)m
-(teractiv)m(ely)150 5230 y Fu(When)33 b(Bash)g(is)g(started)h(non-in)m
-(teractiv)m(ely)-8 b(,)37 b(to)d(run)e(a)h(shell)h(script,)g(for)f
-(example,)i(it)e(lo)s(oks)h(for)f(the)150 5340 y(v)-5
-b(ariable)35 b Ft(BASH_ENV)d Fu(in)i(the)h(en)m(vironmen)m(t,)h
-(expands)e(its)g(v)-5 b(alue)35 b(if)g(it)g(app)s(ears)e(there,)j(and)e
-(uses)g(the)p eop end
-%%Page: 102 108
-TeXDict begin 102 107 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(102)150 299 y(expanded)30
-b(v)-5 b(alue)30 b(as)h(the)g(name)f(of)h(a)f(\014le)h(to)g(read)f(and)
-g(execute.)42 b(Bash)31 b(b)s(eha)m(v)m(es)g(as)g(if)f(the)g(follo)m
-(wing)150 408 y(command)g(w)m(ere)h(executed:)390 551
-y Ft(if)47 b([)h(-n)f("$BASH_ENV")e(];)i(then)f(.)i("$BASH_ENV";)c(fi)
-150 693 y Fu(but)30 b(do)s(es)g(not)g(the)h(v)-5 b(alue)31
-b(of)f(the)h Ft(PATH)e Fu(v)-5 b(ariable)31 b(to)g(searc)m(h)g(for)f
-(the)h(\014lename.)275 835 y(As)42 b(noted)g(ab)s(o)m(v)m(e,)47
-b(if)42 b(a)h(non-in)m(teractiv)m(e)i(shell)d(is)g(in)m(v)m(ok)m(ed)i
-(with)e(the)h Ft(--login)d Fu(option,)46 b(Bash)150 945
-y(attempts)31 b(to)g(read)g(and)e(execute)j(commands)e(from)g(the)h
-(login)g(shell)g(startup)e(\014les.)150 1152 y Fk(In)m(v)m(ok)m(ed)40
-b(with)g(name)h Fh(sh)150 1299 y Fu(If)c(Bash)g(is)g(in)m(v)m(ok)m(ed)i
-(with)e(the)g(name)g Ft(sh)p Fu(,)i(it)f(tries)f(to)h(mimic)g(the)f
-(startup)g(b)s(eha)m(vior)g(of)h(historical)150 1408
-y(v)m(ersions)31 b(of)f Ft(sh)g Fu(as)h(closely)h(as)e(p)s(ossible,)g
-(while)h(conforming)f(to)h(the)g Fm(posix)e Fu(standard)h(as)h(w)m
-(ell.)275 1550 y(When)50 b(in)m(v)m(ok)m(ed)j(as)f(an)f(in)m(teractiv)m
-(e)j(login)e(shell,)57 b(or)51 b(as)g(a)h(non-in)m(teractiv)m(e)h
-(shell)f(with)f(the)150 1660 y Ft(--login)31 b Fu(option,)k(it)e
-(\014rst)g(attempts)h(to)g(read)f(and)g(execute)h(commands)f(from)g
-Ft(/etc/profile)d Fu(and)150 1770 y Ft(~/.profile)p Fu(,)e(in)i(that)h
-(order.)40 b(The)30 b Ft(--noprofile)d Fu(option)k(will)g(inhibit)f
-(this)g(b)s(eha)m(vior.)275 1912 y(When)d(in)m(v)m(ok)m(ed)j(as)e(an)g
-(in)m(teractiv)m(e)j(shell)d(with)g(the)g(name)g Ft(sh)p
-Fu(,)g(Bash)g(lo)s(oks)h(for)f(the)g(v)-5 b(ariable)29
-b Ft(ENV)p Fu(,)150 2021 y(expands)g(its)i(v)-5 b(alue)30
-b(if)h(it)f(is)g(de\014ned,)g(and)f(uses)h(the)g(expanded)g(v)-5
-b(alue)30 b(as)h(the)f(name)g(of)g(a)h(\014le)f(to)h(read)150
-2131 y(and)g(execute.)46 b(Since)32 b(a)g(shell)g(in)m(v)m(ok)m(ed)h
-(as)f Ft(sh)f Fu(do)s(es)g(not)h(attempt)h(to)g(read)e(and)g(execute)i
-(commands)150 2240 y(from)d(an)m(y)h(other)f(startup)g(\014les,)h(the)f
-Ft(--rcfile)e Fu(option)j(has)f(no)h(e\013ect.)275 2383
-y(A)k(non-in)m(teractiv)m(e)k(shell)d(in)m(v)m(ok)m(ed)h(with)e(the)h
-(name)g Ft(sh)f Fu(do)s(es)h(not)g(attempt)g(to)h(read)f(an)m(y)g
-(other)150 2492 y(startup)30 b(\014les.)275 2634 y(When)g(in)m(v)m(ok)m
-(ed)h(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g Fm(posix)e
-Fu(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)150
-2841 y Fk(In)m(v)m(ok)m(ed)40 b(in)h Fg(posix)g Fk(mo)s(de)150
-2988 y Fu(When)28 b(Bash)h(is)g(started)g(in)g Fm(posix)f
-Fu(mo)s(de,)g(as)h(with)g(the)g Ft(--posix)d Fu(command)j(line)g
-(option,)h(it)f(follo)m(ws)150 3098 y(the)24 b Fm(posix)f
-Fu(standard)h(for)f(startup)h(\014les.)38 b(In)24 b(this)g(mo)s(de,)h
-(in)m(teractiv)m(e)i(shells)d(expand)f(the)h Ft(ENV)f
-Fu(v)-5 b(ariable)150 3208 y(and)27 b(read)h(and)f(execute)i(commands)f
-(from)f(the)h(\014le)g(whose)g(name)g(is)g(the)g(expanded)f(v)-5
-b(alue.)40 b(No)29 b(other)150 3317 y(startup)h(\014les)g(are)h(read.)
-150 3524 y Fk(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h(daemon)150
-3671 y Fu(Bash)g(attempts)h(to)f(determine)g(when)f(it)i(is)f(b)s(eing)
-f(run)g(with)g(its)h(standard)g(input)e(connected)j(to)150
-3781 y(a)i(net)m(w)m(ork)h(connection,)51 b(as)45 b(when)f(executed)i
-(b)m(y)f(the)g(historical)i(and)d(rarely-seen)i(remote)g(shell)150
-3890 y(daemon,)30 b(usually)g Ft(rshd)p Fu(,)f(or)h(the)g(secure)g
-(shell)g(daemon)g Ft(sshd)p Fu(.)39 b(If)30 b(Bash)g(determines)g(it)g
-(is)g(b)s(eing)f(run)150 4000 y(non-in)m(teractiv)m(ely)34
-b(in)e(this)f(fashion,)h(it)g(reads)g(and)f(executes)i(commands)e(from)
-g Ft(~/.bashrc)p Fu(,)f(if)h(that)150 4109 y(\014le)39
-b(exists)h(and)f(is)g(readable.)68 b(It)39 b(will)g(not)h(do)f(this)g
-(if)g(in)m(v)m(ok)m(ed)i(as)e Ft(sh)p Fu(.)67 b(The)38
-b Ft(--norc)g Fu(option)i(will)150 4219 y(inhibit)33
-b(this)h(b)s(eha)m(vior,)h(and)e(the)h Ft(--rcfile)d
-Fu(option)j(will)h(mak)m(e)f(Bash)g(use)g(a)g(di\013eren)m(t)g(\014le)g
-(instead)150 4329 y(of)g Ft(~/.bashrc)p Fu(,)g(but)f(neither)h
-Ft(rshd)g Fu(nor)f Ft(sshd)h Fu(generally)h(in)m(v)m(ok)m(e)h(the)f
-(shell)f(with)g(those)h(options)g(or)150 4438 y(allo)m(w)d(them)e(to)h
-(b)s(e)f(sp)s(eci\014ed.)150 4645 y Fk(In)m(v)m(ok)m(ed)40
-b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g Fg(uid/gid)p
-Fk(s)150 4792 y Fu(If)34 b(Bash)h(is)g(started)g(with)f(the)h
-(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)g
-(real)g(user)f(\(group\))h(id,)150 4902 y(and)26 b(the)i
-Ft(-p)e Fu(option)h(is)g(not)h(supplied,)e(no)h(startup)g(\014les)g
-(are)g(read,)h(shell)f(functions)g(are)g(not)g(inherited)150
-5011 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Ft(SHELLOPTS)p
-Fu(,)h Ft(BASHOPTS)p Fu(,)g Ft(CDPATH)p Fu(,)g(and)e
-Ft(GLOBIGNORE)e Fu(v)-5 b(ariables,)45 b(if)150 5121
-y(they)28 b(app)s(ear)f(in)h(the)g(en)m(vironmen)m(t,)i(are)e(ignored,)
-h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h
-(user)150 5230 y(id.)62 b(If)38 b(the)f Ft(-p)h Fu(option)g(is)f
-(supplied)g(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)
-h(is)g(the)g(same,)i(but)d(the)150 5340 y(e\013ectiv)m(e)c(user)d(id)g
-(is)g(not)h(reset.)p eop end
-%%Page: 103 109
-TeXDict begin 103 108 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(103)150 299 y Fs(6.3)68
-b(In)l(teractiv)l(e)47 b(Shells)150 515 y Fk(6.3.1)63
-b(What)40 b(is)h(an)g(In)m(teractiv)m(e)e(Shell?)150
-662 y Fu(An)f(in)m(teractiv)m(e)j(shell)e(is)f(one)h(started)g(without)
-f(non-option)g(argumen)m(ts)h(\(unless)f Ft(-s)g Fu(is)g(sp)s
-(eci\014ed\))150 771 y(and)29 b(without)h(sp)s(ecifying)g(the)g
-Ft(-c)f Fu(option,)i(whose)e(input)g(and)g(error)h(output)f(are)h(b)s
-(oth)f(connected)i(to)150 881 y(terminals)g(\(as)g(determined)f(b)m(y)g
-Ft(isatty\(3\))p Fu(\),)e(or)j(one)f(started)h(with)f(the)h
-Ft(-i)f Fu(option.)275 1007 y(An)g(in)m(teractiv)m(e)j(shell)d
-(generally)i(reads)e(from)g(and)g(writes)g(to)h(a)g(user's)f(terminal.)
-275 1133 y(The)i Ft(-s)g Fu(in)m(v)m(o)s(cation)j(option)f(ma)m(y)f(b)s
-(e)g(used)f(to)i(set)f(the)g(p)s(ositional)h(parameters)f(when)f(an)h
-(in)m(ter-)150 1243 y(activ)m(e)g(shell)d(starts.)150
-1426 y Fk(6.3.2)63 b(Is)41 b(this)g(Shell)g(In)m(teractiv)m(e?)150
-1573 y Fu(T)-8 b(o)30 b(determine)g(within)f(a)h(startup)g(script)f
-(whether)g(or)h(not)g(Bash)g(is)g(running)e(in)m(teractiv)m(ely)-8
-b(,)33 b(test)e(the)150 1682 y(v)-5 b(alue)30 b(of)g(the)f(`)p
-Ft(-)p Fu(')h(sp)s(ecial)g(parameter.)41 b(It)29 b(con)m(tains)i
-Ft(i)e Fu(when)g(the)g(shell)h(is)f(in)m(teractiv)m(e.)44
-b(F)-8 b(or)30 b(example:)390 1809 y Ft(case)47 b("$-")f(in)390
-1918 y(*i*\))h(echo)f(This)h(shell)f(is)h(interactive)e(;;)390
-2028 y(*\))i(echo)g(This)f(shell)h(is)g(not)g(interactive)e(;;)390
-2137 y(esac)275 2264 y Fu(Alternativ)m(ely)-8 b(,)28
-b(startup)23 b(scripts)h(ma)m(y)g(examine)g(the)g(v)-5
-b(ariable)25 b Ft(PS1)p Fu(;)g(it)g(is)e(unset)h(in)f(non-in)m
-(teractiv)m(e)150 2373 y(shells,)31 b(and)e(set)i(in)f(in)m(teractiv)m
-(e)k(shells.)40 b(Th)m(us:)390 2499 y Ft(if)47 b([)h(-z)f("$PS1")f(];)h
-(then)772 2609 y(echo)f(This)h(shell)f(is)i(not)f(interactive)390
-2719 y(else)772 2828 y(echo)f(This)h(shell)f(is)i(interactive)390
-2938 y(fi)150 3120 y Fk(6.3.3)63 b(In)m(teractiv)m(e)38
-b(Shell)k(Beha)m(vior)150 3267 y Fu(When)30 b(the)h(shell)f(is)h
-(running)d(in)m(teractiv)m(ely)-8 b(,)34 b(it)d(c)m(hanges)h(its)f(b)s
-(eha)m(vior)f(in)g(sev)m(eral)i(w)m(a)m(ys.)199 3394
-y(1.)61 b(Bash)31 b(reads)g(and)g(executes)h(startup)e(\014les)i(as)f
-(describ)s(ed)f(in)h(Section)g(6.2)i([Bash)e(Startup)f(Files],)330
-3503 y(page)h(101.)199 3630 y(2.)61 b(Job)32 b(Con)m(trol)h(\(see)g
-(Chapter)e(7)i([Job)f(Con)m(trol],)i(page)f(123\))h(is)e(enabled)g(b)m
-(y)g(default.)46 b(When)32 b(job)330 3739 y(con)m(trol)j(is)f(in)f
-(e\013ect,)k(Bash)d(ignores)g(the)g(k)m(eyb)s(oard-generated)h(job)e
-(con)m(trol)i(signals)g Ft(SIGTTIN)p Fu(,)330 3849 y
-Ft(SIGTTOU)p Fu(,)29 b(and)g Ft(SIGTSTP)p Fu(.)199 3975
-y(3.)61 b(Bash)31 b(executes)i(the)e(v)-5 b(alues)32
-b(of)g(the)f(set)h(elemen)m(ts)g(of)g(the)f Ft(PROMPT_COMMAND)d
-Fu(arra)m(y)k(v)-5 b(ariable)32 b(as)330 4085 y(commands)27
-b(b)s(efore)f(prin)m(ting)h(the)g(primary)g(prompt,)g
-Ft($PS1)f Fu(\(see)i(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)330
-4194 y(page)31 b(86\).)199 4320 y(4.)61 b(Bash)25 b(expands)e(and)h
-(displa)m(ys)h Ft(PS1)e Fu(b)s(efore)h(reading)h(the)f(\014rst)g(line)h
-(of)f(a)h(command,)h(and)e(expands)330 4430 y(and)33
-b(displa)m(ys)h Ft(PS2)f Fu(b)s(efore)h(reading)g(the)g(second)g(and)f
-(subsequen)m(t)g(lines)i(of)f(a)g(m)m(ulti-line)h(com-)330
-4540 y(mand.)42 b(Bash)31 b(expands)f(and)h(displa)m(ys)g
-Ft(PS0)f Fu(after)h(it)h(reads)f(a)g(command)g(but)f(b)s(efore)h
-(executing)330 4649 y(it.)54 b(See)35 b(Section)h(6.9)f([Con)m
-(trolling)i(the)d(Prompt],)i(page)g(112,)h(for)d(a)h(complete)i(list)e
-(of)g(prompt)330 4759 y(string)30 b(escap)s(e)h(sequences.)199
-4885 y(5.)61 b(Bash)34 b(uses)g(Readline)h(\(see)g(Chapter)f(8)h
-([Command)e(Line)h(Editing],)i(page)f(128\))h(to)f(read)f(com-)330
-4995 y(mands)29 b(from)h(the)h(user's)f(terminal.)199
-5121 y(6.)61 b(Bash)36 b(insp)s(ects)g(the)h(v)-5 b(alue)37
-b(of)f(the)g Ft(ignoreeof)e Fu(option)j(to)g Ft(set)29
-b(-o)36 b Fu(instead)h(of)f(exiting)i(imme-)330 5230
-y(diately)f(when)e(it)i(receiv)m(es)h(an)e Ft(EOF)f Fu(on)h(its)g
-(standard)f(input)g(when)h(reading)g(a)g(command)g(\(see)330
-5340 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(72\).)p
-eop end
-%%Page: 104 110
-TeXDict begin 104 109 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(104)199 299 y(7.)61
-b(Bash)23 b(enables)h(Command)e(history)h(\(see)h(Section)g(9.1)g
-([Bash)g(History)g(F)-8 b(acilities],)28 b(page)c(165\))h(and)330
-408 y(history)k(expansion)g(\(see)i(Section)f(9.3)g([History)g(In)m
-(teraction],)i(page)e(168\))h(b)m(y)e(default.)40 b(When)30
-b(a)330 518 y(shell)g(with)f(history)g(enabled)h(exits,)g(Bash)g(sa)m
-(v)m(es)h(the)f(command)f(history)g(to)i(the)e(\014le)h(named)f(b)m(y)
-330 628 y Ft($HISTFILE)p Fu(.)199 760 y(8.)61 b(Alias)31
-b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e(108\))h(is)e
-(p)s(erformed)f(b)m(y)h(default.)199 893 y(9.)61 b(In)24
-b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g(ignores)f
-Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(48\).)154
-1026 y(10.)61 b(In)29 b(the)g(absence)h(of)g(an)m(y)g(traps,)f
-Ft(SIGINT)f Fu(is)h(caugh)m(t)i(and)e(handled)f(\(see)j(Section)f
-(3.7.6)h([Signals],)330 1135 y(page)g(48\).)42 b Ft(SIGINT)29
-b Fu(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154
-1268 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
-Ft(SIGHUP)d Fu(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f
-Ft(huponexit)e Fu(shell)330 1378 y(option)31 b(has)f(b)s(een)g(enabled)
-g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(48\).)154
-1511 y(12.)61 b(The)36 b Ft(-n)g Fu(option)i(has)e(no)h(e\013ect,)j
-(whether)c(at)i(in)m(v)m(o)s(cation)h(or)d(when)g(using)g(`)p
-Ft(set)30 b(-n)p Fu(')37 b(\(see)g(Sec-)330 1620 y(tion)31
-b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(72\).)154 1753
-y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e(mail)g(p)s(erio)s
-(dically)-8 b(,)34 b(dep)s(ending)c(on)i(the)g(v)-5 b(alues)32
-b(of)g(the)h Ft(MAIL)p Fu(,)e Ft(MAILPATH)p Fu(,)330
-1862 y(and)f Ft(MAILCHECK)e Fu(shell)i(v)-5 b(ariables)31
-b(\(see)h(Section)f(5.2)g([Bash)g(V)-8 b(ariables],)32
-b(page)f(86\).)154 1995 y(14.)61 b(The)27 b(shell)h(will)g(not)g(exit)g
-(on)g(expansion)f(errors)g(due)g(to)h(references)g(to)h(un)m(b)s(ound)
-24 b(shell)k(v)-5 b(ariables)330 2105 y(after)31 b(`)p
-Ft(set)f(-u)p Fu(')g(has)g(b)s(een)f(enabled)i(\(see)g(Section)g(4.3.1)
-h([The)f(Set)f(Builtin],)h(page)h(72\).)154 2238 y(15.)61
-b(The)48 b(shell)h(will)f(not)h(exit)g(on)g(expansion)f(errors)g
-(caused)g(b)m(y)h Fr(v)-5 b(ar)54 b Fu(b)s(eing)48 b(unset)g(or)h(n)m
-(ull)f(in)330 2347 y Ft(${)p Fj(var)p Ft(:?)p Fj(word)p
-Ft(})27 b Fu(expansions)j(\(see)h(Section)h(3.5.3)g([Shell)e(P)m
-(arameter)i(Expansion],)e(page)h(27\).)154 2480 y(16.)61
-b(Redirection)31 b(errors)f(encoun)m(tered)h(b)m(y)f(shell)h(builtins)f
-(will)g(not)h(cause)g(the)f(shell)h(to)g(exit.)154 2613
-y(17.)61 b(When)26 b(running)f(in)i Fm(posix)e Fu(mo)s(de,)j(a)f(sp)s
-(ecial)g(builtin)f(returning)g(an)g(error)h(status)g(will)g(not)f
-(cause)330 2722 y(the)31 b(shell)f(to)h(exit)h(\(see)f(Section)g(6.11)h
-([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\).)154 2855 y(18.)61
-b(A)34 b(failed)g Ft(exec)f Fu(will)h(not)g(cause)g(the)g(shell)g(to)g
-(exit)h(\(see)f(Section)h(4.1)g([Bourne)f(Shell)f(Builtins],)330
-2965 y(page)e(51\).)154 3097 y(19.)61 b(P)m(arser)31
-b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.)
-154 3230 y(20.)61 b(If)28 b(the)g Ft(cdspell)f Fu(shell)h(option)h(is)g
-(enabled,)g(the)f(shell)h(will)f(attempt)i(simple)e(sp)s(elling)h
-(correction)330 3340 y(for)f(directory)h(argumen)m(ts)g(to)g(the)g
-Ft(cd)e Fu(builtin)h(\(see)i(the)e(description)h(of)f(the)h
-Ft(cdspell)d Fu(option)j(to)330 3449 y(the)j Ft(shopt)e
-Fu(builtin)h(in)h(Section)g(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g
-(77\).)46 b(The)31 b Ft(cdspell)e Fu(option)330 3559
-y(is)h(only)h(e\013ectiv)m(e)i(in)d(in)m(teractiv)m(e)j(shells.)154
-3692 y(21.)61 b(The)42 b(shell)h(will)g(c)m(hec)m(k)h(the)f(v)-5
-b(alue)43 b(of)f(the)h Ft(TMOUT)e Fu(v)-5 b(ariable)44
-b(and)e(exit)h(if)g(a)g(command)f(is)h(not)330 3801 y(read)30
-b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s(er)g(of)i(seconds)f
-(after)g(prin)m(ting)g Ft($PS1)f Fu(\(see)i(Section)g(5.2)h([Bash)330
-3911 y(V)-8 b(ariables],)32 b(page)f(86\).)150 4148 y
-Fs(6.4)68 b(Bash)45 b(Conditional)h(Expressions)150 4307
-y Fu(Conditional)25 b(expressions)f(are)g(used)g(b)m(y)g(the)g
-Ft([[)g Fu(comp)s(ound)e(command)i(\(see)h(Section)g(3.2.5.2)i([Condi-)
-150 4417 y(tional)h(Constructs],)g(page)f(12\))h(and)e(the)h
-Ft(test)f Fu(and)g Ft([)h Fu(builtin)f(commands)h(\(see)g(Section)h
-(4.1)g([Bourne)150 4527 y(Shell)37 b(Builtins],)j(page)e(51\).)63
-b(The)36 b Ft(test)g Fu(and)h Ft([)g Fu(commands)g(determine)g(their)h
-(b)s(eha)m(vior)f(based)g(on)150 4636 y(the)29 b(n)m(um)m(b)s(er)f(of)h
-(argumen)m(ts;)h(see)f(the)h(descriptions)e(of)i(those)f(commands)g
-(for)f(an)m(y)i(other)f(command-)150 4746 y(sp)s(eci\014c)h(actions.)
-275 4878 y(Expressions)35 b(ma)m(y)i(b)s(e)f(unary)g(or)h(binary)-8
-b(,)38 b(and)e(are)h(formed)f(from)g(the)h(primaries)f(listed)h(b)s
-(elo)m(w.)150 4988 y(Unary)e(expressions)f(are)h(often)g(used)g(to)g
-(examine)h(the)f(status)g(of)g(a)g(\014le)g(or)g(shell)g(v)-5
-b(ariable.)55 b(Binary)150 5098 y(op)s(erators)31 b(are)f(used)g(for)g
-(string,)h(n)m(umeric,)f(and)g(\014le)g(attribute)h(comparisons.)275
-5230 y(Bash)k(handles)f(sev)m(eral)i(\014lenames)f(sp)s(ecially)h(when)
-e(they)h(are)g(used)f(in)g(expressions.)54 b(If)35 b(the)g(op-)150
-5340 y(erating)h(system)g(on)f(whic)m(h)g(Bash)g(is)g(running)f(pro)m
-(vides)h(these)g(sp)s(ecial)h(\014les,)h(Bash)e(will)h(use)f(them;)p
-eop end
-%%Page: 105 111
-TeXDict begin 105 110 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(105)150 299 y(otherwise)38
-b(it)g(will)g(em)m(ulate)g(them)g(in)m(ternally)g(with)f(this)h(b)s
-(eha)m(vior:)55 b(If)36 b(the)i Fr(\014le)43 b Fu(argumen)m(t)37
-b(to)i(one)150 408 y(of)d(the)g(primaries)f(is)h(of)g(the)g(form)g
-Ft(/dev/fd/)p Fj(N)p Fu(,)f(then)g(Bash)h(c)m(hec)m(ks)h(\014le)f
-(descriptor)g Fr(N)p Fu(.)57 b(If)36 b(the)g Fr(\014le)150
-518 y Fu(argumen)m(t)k(to)h(one)f(of)g(the)g(primaries)g(is)g(one)g(of)
-g Ft(/dev/stdin)p Fu(,)f Ft(/dev/stdout)p Fu(,)h(or)g
-Ft(/dev/stderr)p Fu(,)150 628 y(Bash)31 b(c)m(hec)m(ks)g(\014le)g
-(descriptor)f(0,)h(1,)g(or)f(2,)h(resp)s(ectiv)m(ely)-8
-b(.)275 761 y(When)37 b(used)g(with)g Ft([[)p Fu(,)i(the)f(`)p
-Ft(<)p Fu(')g(and)f(`)p Ft(>)p Fu(')h(op)s(erators)g(sort)g
-(lexicographically)i(using)d(the)h(curren)m(t)150 871
-y(lo)s(cale.)k(The)30 b Ft(test)f Fu(command)i(uses)f(ASCI)s(I)e
-(ordering.)275 1005 y(Unless)44 b(otherwise)h(sp)s(eci\014ed,)j
-(primaries)c(that)h(op)s(erate)g(on)g(\014les)f(follo)m(w)i(sym)m(b)s
-(olic)f(links)g(and)150 1114 y(op)s(erate)31 b(on)f(the)h(target)h(of)e
-(the)h(link,)f(rather)h(than)f(the)g(link)h(itself.)150
-1272 y Ft(-a)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists.)150 1430 y Ft(-b)30 b Fj(file)162
-b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31
-b(and)f(is)g(a)h(blo)s(c)m(k)g(sp)s(ecial)g(\014le.)150
-1588 y Ft(-c)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(a)h(c)m(haracter)h(sp)s(ecial)
-f(\014le.)150 1745 y Ft(-d)f Fj(file)162 b Fu(T)-8 b(rue)30
-b(if)g Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(a)h(directory)-8
-b(.)150 1903 y Ft(-e)30 b Fj(file)162 b Fu(T)-8 b(rue)30
-b(if)g Fr(\014le)36 b Fu(exists.)150 2061 y Ft(-f)30
-b Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36
-b Fu(exists)31 b(and)f(is)g(a)h(regular)f(\014le.)150
-2219 y Ft(-g)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(its)g(set-group-id)h(bit)g(is)f
-(set.)150 2377 y Ft(-h)g Fj(file)162 b Fu(T)-8 b(rue)30
-b(if)g Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g
-(link.)150 2534 y Ft(-k)f Fj(file)162 b Fu(T)-8 b(rue)30
-b(if)g Fr(\014le)36 b Fu(exists)31 b(and)f(its)g Ft(")p
-Fu(stic)m(ky)p Ft(")h Fu(bit)g(is)f(set.)150 2692 y Ft(-p)g
-Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b
-Fu(exists)31 b(and)f(is)g(a)h(named)f(pip)s(e)f(\(FIF)m(O\).)150
-2850 y Ft(-r)h Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(readable.)150
-3008 y Ft(-s)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(has)g(a)g(size)i(greater)f(than)f
-(zero.)150 3166 y Ft(-t)g Fj(fd)258 b Fu(T)-8 b(rue)30
-b(if)g(\014le)h(descriptor)f Fr(fd)j Fu(is)e(op)s(en)e(and)h(refers)g
-(to)h(a)g(terminal.)150 3324 y Ft(-u)f Fj(file)162 b
-Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31 b(and)f(its)g
-(set-user-id)h(bit)f(is)h(set.)150 3481 y Ft(-w)f Fj(file)162
-b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31
-b(and)f(is)g(writable.)150 3639 y Ft(-x)g Fj(file)162
-b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31
-b(and)f(is)g(executable.)150 3797 y Ft(-G)g Fj(file)162
-b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31
-b(and)f(is)g(o)m(wned)g(b)m(y)h(the)f(e\013ectiv)m(e)j(group)d(id.)150
-3955 y Ft(-L)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150
-4113 y Ft(-N)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists)31 b(and)f(has)g(b)s(een)f(mo)s(di\014ed)h
-(since)g(it)h(w)m(as)g(last)g(accessed.)150 4270 y Ft(-O)f
-Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g Fr(\014le)36 b
-Fu(exists)31 b(and)f(is)g(o)m(wned)g(b)m(y)h(the)f(e\013ectiv)m(e)j
-(user)d(id.)150 4428 y Ft(-S)g Fj(file)162 b Fu(T)-8
-b(rue)30 b(if)g Fr(\014le)36 b Fu(exists)31 b(and)f(is)g(a)h(so)s(c)m
-(k)m(et.)150 4586 y Fj(file1)e Ft(-ef)g Fj(file2)630
-4696 y Fu(T)-8 b(rue)30 b(if)g Fr(\014le1)38 b Fu(and)30
-b Fr(\014le2)38 b Fu(refer)30 b(to)i(the)e(same)h(device)g(and)f(ino)s
-(de)g(n)m(um)m(b)s(ers.)150 4853 y Fj(file1)f Ft(-nt)g
-Fj(file2)630 4963 y Fu(T)-8 b(rue)23 b(if)h Fr(\014le1)32
-b Fu(is)24 b(new)m(er)g(\(according)h(to)g(mo)s(di\014cation)f(date\))h
-(than)f Fr(\014le2)p Fu(,)i(or)e(if)g Fr(\014le1)31 b
-Fu(exists)630 5073 y(and)f Fr(\014le2)38 b Fu(do)s(es)30
-b(not.)150 5230 y Fj(file1)f Ft(-ot)g Fj(file2)630 5340
-y Fu(T)-8 b(rue)30 b(if)g Fr(\014le1)38 b Fu(is)31 b(older)f(than)g
-Fr(\014le2)p Fu(,)i(or)e(if)g Fr(\014le2)38 b Fu(exists)31
-b(and)f Fr(\014le1)38 b Fu(do)s(es)30 b(not.)p eop end
-%%Page: 106 112
-TeXDict begin 106 111 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(106)150 299 y Ft(-o)30
-b Fj(optname)630 408 y Fu(T)-8 b(rue)41 b(if)g(the)g(shell)h(option)f
-Fr(optname)47 b Fu(is)41 b(enabled.)73 b(The)41 b(list)h(of)f(options)h
-(app)s(ears)e(in)630 518 y(the)33 b(description)h(of)f(the)g
-Ft(-o)g Fu(option)g(to)h(the)g Ft(set)e Fu(builtin)h(\(see)h(Section)g
-(4.3.1)h([The)e(Set)630 628 y(Builtin],)e(page)g(72\).)150
-785 y Ft(-v)f Fj(varname)630 895 y Fu(T)-8 b(rue)24 b(if)h(the)g(shell)
-g(v)-5 b(ariable)26 b Fr(v)-5 b(arname)30 b Fu(is)25
-b(set)g(\(has)g(b)s(een)f(assigned)h(a)h(v)-5 b(alue\).)39
-b(If)25 b Fr(v)-5 b(arname)630 1004 y Fu(is)37 b(an)g(indexed)g(arra)m
-(y)h(v)-5 b(ariable)38 b(name)f(subscripted)f(b)m(y)h(`)p
-Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)h(this)e(returns)f(true)630
-1114 y(if)g(the)f(arra)m(y)h(has)g(an)m(y)f(set)i(elemen)m(ts.)57
-b(If)35 b Fr(v)-5 b(arname)41 b Fu(is)35 b(an)h(asso)s(ciativ)m(e)i
-(arra)m(y)e(v)-5 b(ariable)630 1223 y(name)32 b(subscripted)e(b)m(y)h
-(`)p Ft(@)p Fu(')h(or)g(`)p Ft(*)p Fu(',)g(this)f(returns)g(true)g(if)h
-(an)f(elemen)m(t)i(with)e(that)i(k)m(ey)f(is)630 1333
-y(set.)150 1490 y Ft(-R)e Fj(varname)630 1600 y Fu(T)-8
-b(rue)30 b(if)g(the)h(shell)f(v)-5 b(ariable)32 b Fr(v)-5
-b(arname)35 b Fu(is)30 b(set)h(and)f(is)h(a)f(name)h(reference.)150
-1758 y Ft(-z)f Fj(string)66 b Fu(T)-8 b(rue)30 b(if)g(the)h(length)g
-(of)f Fr(string)38 b Fu(is)31 b(zero.)150 1915 y Ft(-n)f
-Fj(string)150 2025 y(string)192 b Fu(T)-8 b(rue)30 b(if)g(the)h(length)
-g(of)f Fr(string)38 b Fu(is)31 b(non-zero.)150 2182 y
-Fj(string1)d Ft(==)i Fj(string2)150 2292 y(string1)e
-Ft(=)i Fj(string2)630 2401 y Fu(T)-8 b(rue)43 b(if)h(the)g(strings)g
-(are)g(equal.)82 b(When)44 b(used)f(with)g(the)h Ft([[)g
-Fu(command,)j(this)d(p)s(er-)630 2511 y(forms)d(pattern)g(matc)m(hing)i
-(as)f(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.2.5.2)i
-([Conditional)630 2620 y(Constructs],)30 b(page)h(12\).)630
-2754 y(`)p Ft(=)p Fu(')g(should)e(b)s(e)h(used)f(with)h(the)h
-Ft(test)e Fu(command)h(for)g Fm(posix)g Fu(conformance.)150
-2911 y Fj(string1)e Ft(!=)i Fj(string2)630 3021 y Fu(T)-8
-b(rue)30 b(if)g(the)h(strings)f(are)h(not)f(equal.)150
-3178 y Fj(string1)e Ft(<)i Fj(string2)630 3288 y Fu(T)-8
-b(rue)30 b(if)g Fr(string1)38 b Fu(sorts)31 b(b)s(efore)f
-Fr(string2)38 b Fu(lexicographically)-8 b(.)150 3445
-y Fj(string1)28 b Ft(>)i Fj(string2)630 3555 y Fu(T)-8
-b(rue)30 b(if)g Fr(string1)38 b Fu(sorts)31 b(after)g
-Fr(string2)38 b Fu(lexicographically)-8 b(.)150 3712
-y Fj(arg1)29 b Ft(OP)h Fj(arg2)630 3822 y Ft(OP)j Fu(is)h(one)g(of)h(`)
-p Ft(-eq)p Fu(',)f(`)p Ft(-ne)p Fu(',)h(`)p Ft(-lt)p
-Fu(',)g(`)p Ft(-le)p Fu(',)f(`)p Ft(-gt)p Fu(',)h(or)f(`)p
-Ft(-ge)p Fu('.)51 b(These)34 b(arithmetic)h(binary)630
-3932 y(op)s(erators)h(return)e(true)i(if)f Fr(arg1)44
-b Fu(is)36 b(equal)g(to,)i(not)e(equal)g(to,)i(less)e(than,)h(less)f
-(than)f(or)630 4041 y(equal)29 b(to,)g(greater)h(than,)e(or)g(greater)i
-(than)d(or)i(equal)f(to)h Fr(arg2)p Fu(,)h(resp)s(ectiv)m(ely)-8
-b(.)42 b Fr(Arg1)36 b Fu(and)630 4151 y Fr(arg2)41 b
-Fu(ma)m(y)34 b(b)s(e)f(p)s(ositiv)m(e)h(or)f(negativ)m(e)j(in)m
-(tegers.)50 b(When)33 b(used)g(with)g(the)g Ft([[)g Fu(command,)630
-4260 y Fr(arg1)45 b Fu(and)37 b Fr(arg2)46 b Fu(are)37
-b(ev)-5 b(aluated)39 b(as)e(arithmetic)i(expressions)e(\(see)h(Section)
-g(6.5)h([Shell)630 4370 y(Arithmetic],)32 b(page)f(106\).)150
-4609 y Fs(6.5)68 b(Shell)45 b(Arithmetic)150 4768 y Fu(The)35
-b(shell)g(allo)m(ws)i(arithmetic)f(expressions)f(to)h(b)s(e)f(ev)-5
-b(aluated,)38 b(as)d(one)h(of)f(the)h(shell)f(expansions)g(or)150
-4878 y(b)m(y)j(using)g(the)h Ft(\(\()e Fu(comp)s(ound)g(command,)k(the)
-d Ft(let)g Fu(and)f Ft(declare)g Fu(builtins,)j(the)e(arithmetic)i
-Ft(for)150 4987 y Fu(command,)30 b(the)h Ft([[)f Fu(conditional)h
-(command,)g(or)f(the)h Ft(-i)e Fu(option)i(to)g(the)g
-Ft(declare)d Fu(builtin.)275 5121 y(Ev)-5 b(aluation)21
-b(is)f(done)h(in)f(the)h(largest)g(\014xed-width)f(in)m(tegers)h(a)m(v)
--5 b(ailable,)25 b(with)c(no)f(c)m(hec)m(k)i(for)e(o)m(v)m(er\015o)m
-(w,)150 5230 y(though)j(division)h(b)m(y)f(0)h(is)g(trapp)s(ed)e(and)h
-(\015agged)h(as)g(an)f(error.)38 b(The)23 b(op)s(erators)h(and)f(their)
-g(precedence,)150 5340 y(asso)s(ciativit)m(y)-8 b(,)29
-b(and)23 b(v)-5 b(alues)24 b(are)h(the)f(same)g(as)h(in)e(the)h(C)g
-(language.)40 b(The)24 b(follo)m(wing)h(list)g(of)f(op)s(erators)g(is)p
-eop end
-%%Page: 107 113
-TeXDict begin 107 112 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(107)150 299 y(group)s(ed)21
-b(in)m(to)i(lev)m(els)h(of)e(equal-precedence)i(op)s(erators.)38
-b(The)21 b(lev)m(els)j(are)f(listed)f(in)g(order)g(of)g(decreasing)150
-408 y(precedence.)150 567 y Fj(id)p Ft(++)29 b Fj(id)p
-Ft(--)67 b Fu(v)-5 b(ariable)31 b(p)s(ost-incremen)m(t)g(and)f(p)s
-(ost-decremen)m(t)150 726 y Ft(++)p Fj(id)f Ft(--)p Fj(id)67
-b Fu(v)-5 b(ariable)31 b(pre-incremen)m(t)g(and)f(pre-decremen)m(t)150
-885 y Ft(-)g(+)354 b Fu(unary)29 b(min)m(us)h(and)g(plus)150
-1044 y Ft(!)g(~)354 b Fu(logical)33 b(and)d(bit)m(wise)h(negation)150
-1203 y Ft(**)384 b Fu(exp)s(onen)m(tiation)150 1362 y
-Ft(*)30 b(/)g(\045)276 b Fu(m)m(ultiplication,)33 b(division,)d
-(remainder)150 1521 y Ft(+)g(-)354 b Fu(addition,)31
-b(subtraction)150 1680 y Ft(<<)f(>>)258 b Fu(left)31
-b(and)f(righ)m(t)h(bit)m(wise)g(shifts)150 1839 y Ft(<=)f(>=)g(<)g(>)
-102 b Fu(comparison)150 1998 y Ft(==)30 b(!=)258 b Fu(equalit)m(y)32
-b(and)e(inequalit)m(y)150 2156 y Ft(&)432 b Fu(bit)m(wise)31
-b(AND)150 2315 y Ft(^)432 b Fu(bit)m(wise)31 b(exclusiv)m(e)h(OR)150
-2474 y Ft(|)432 b Fu(bit)m(wise)31 b(OR)150 2633 y Ft(&&)384
-b Fu(logical)33 b(AND)150 2792 y Ft(||)384 b Fu(logical)33
-b(OR)150 2951 y Ft(expr)c(?)h(if-true-expr)d(:)j(if-false-expr)630
-3061 y Fu(conditional)i(op)s(erator)150 3219 y Ft(=)e(*=)g(/=)g(\045=)f
-(+=)h(-=)g(<<=)f(>>=)h(&=)g(^=)f(|=)630 3329 y Fu(assignmen)m(t)150
-3488 y Ft(expr1)g(,)h(expr2)630 3598 y Fu(comma)275 3756
-y(Shell)38 b(v)-5 b(ariables)39 b(are)g(allo)m(w)m(ed)i(as)e(op)s
-(erands;)i(parameter)e(expansion)g(is)f(p)s(erformed)g(b)s(efore)g(the)
-150 3866 y(expression)g(is)g(ev)-5 b(aluated.)66 b(Within)38
-b(an)h(expression,)h(shell)e(v)-5 b(ariables)39 b(ma)m(y)g(also)g(b)s
-(e)f(referenced)g(b)m(y)150 3976 y(name)33 b(without)g(using)f(the)h
-(parameter)g(expansion)g(syn)m(tax.)48 b(This)32 b(means)h(y)m(ou)g
-(can)g(use)g Fr(x)p Fu(,)g(where)g Fr(x)150 4085 y Fu(is)28
-b(a)h(shell)g(v)-5 b(ariable)29 b(name,)g(in)f(an)h(arithmetic)g
-(expression,)g(and)f(the)h(shell)f(will)h(ev)-5 b(aluate)30
-b(its)f(v)-5 b(alue)29 b(as)150 4195 y(an)h(expression)h(and)e(use)i
-(the)f(result.)41 b(A)31 b(shell)f(v)-5 b(ariable)32
-b(that)f(is)f(n)m(ull)g(or)h(unset)f(ev)-5 b(aluates)32
-b(to)f(0)g(when)150 4304 y(referenced)f(b)m(y)h(name)f(in)g(an)g
-(expression.)275 4439 y(The)d(v)-5 b(alue)28 b(of)g(a)g(v)-5
-b(ariable)29 b(is)e(ev)-5 b(aluated)29 b(as)f(an)g(arithmetic)h
-(expression)f(when)e(it)j(is)e(referenced,)i(or)150 4548
-y(when)e(a)h(v)-5 b(ariable)29 b(whic)m(h)e(has)h(b)s(een)f(giv)m(en)i
-(the)f Ft(integer)e Fu(attribute)i(using)g(`)p Ft(declare)g(-i)p
-Fu(')g(is)g(assigned)150 4658 y(a)33 b(v)-5 b(alue.)49
-b(A)33 b(n)m(ull)g(v)-5 b(alue)34 b(ev)-5 b(aluates)34
-b(to)g(0.)49 b(A)33 b(shell)g(v)-5 b(ariable)34 b(need)e(not)i(ha)m(v)m
-(e)g(its)f Ft(integer)e Fu(attribute)150 4767 y(turned)e(on)h(to)i(b)s
-(e)d(used)h(in)g(an)g(expression.)275 4902 y(In)m(teger)41
-b(constan)m(ts)g(follo)m(w)h(the)e(C)g(language)i(de\014nition,)g
-(without)f(su\016xes)e(or)h(c)m(haracter)i(con-)150 5011
-y(stan)m(ts.)f(Constan)m(ts)31 b(with)f(a)g(leading)h(0)f(are)h(in)m
-(terpreted)f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)39 b(A)30
-b(leading)h(`)p Ft(0x)p Fu(')f(or)g(`)p Ft(0X)p Fu(')150
-5121 y(denotes)g(hexadecimal.)42 b(Otherwise,)30 b(n)m(um)m(b)s(ers)f
-(tak)m(e)i(the)f(form)g([)p Fr(base)5 b Ft(#)p Fu(])p
-Fr(n)p Fu(,)30 b(where)f(the)i(optional)g Fr(base)150
-5230 y Fu(is)e(a)h(decimal)g(n)m(um)m(b)s(er)e(b)s(et)m(w)m(een)h(2)h
-(and)e(64)i(represen)m(ting)g(the)f(arithmetic)i(base,)e(and)g
-Fr(n)g Fu(is)g(a)g(n)m(um)m(b)s(er)150 5340 y(in)g(that)i(base.)40
-b(If)30 b Fr(base)5 b Ft(#)30 b Fu(is)f(omitted,)i(then)f(base)g(10)g
-(is)g(used.)40 b(When)30 b(sp)s(ecifying)f Fr(n)p Fu(,)h(if)f(a)i
-(non-digit)f(is)p eop end
-%%Page: 108 114
-TeXDict begin 108 113 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(108)150 299 y(required,)34
-b(the)g(digits)h(greater)g(than)e(9)i(are)f(represen)m(ted)g(b)m(y)f
-(the)h(lo)m(w)m(ercase)j(letters,)f(the)e(upp)s(ercase)150
-408 y(letters,)26 b(`)p Ft(@)p Fu(',)g(and)d(`)p Ft(_)p
-Fu(',)i(in)e(that)i(order.)38 b(If)23 b Fr(base)29 b
-Fu(is)23 b(less)h(than)g(or)f(equal)h(to)h(36,)h(lo)m(w)m(ercase)g(and)
-d(upp)s(ercase)150 518 y(letters)32 b(ma)m(y)f(b)s(e)e(used)h(in)m
-(terc)m(hangeably)i(to)f(represen)m(t)g(n)m(um)m(b)s(ers)e(b)s(et)m(w)m
-(een)i(10)g(and)f(35.)275 656 y(Op)s(erators)g(are)i(ev)-5
-b(aluated)33 b(in)e(precedence)h(order.)44 b(Sub-expressions)29
-b(in)j(paren)m(theses)f(are)h(ev)-5 b(alu-)150 765 y(ated)31
-b(\014rst)f(and)f(ma)m(y)i(o)m(v)m(erride)h(the)e(precedence)h(rules)f
-(ab)s(o)m(v)m(e.)150 1011 y Fs(6.6)68 b(Aliases)150 1170
-y Fr(Aliases)31 b Fu(allo)m(w)d(a)f(string)f(to)i(b)s(e)d(substituted)h
-(for)g(a)h(w)m(ord)f(that)h(is)g(in)f(a)h(p)s(osition)f(in)g(the)h
-(input)e(where)h(it)150 1280 y(can)33 b(b)s(e)e(the)i(\014rst)f(w)m
-(ord)g(of)g(a)h(simple)f(command.)47 b(Aliases)34 b(ha)m(v)m(e)f(names)
-f(and)g(corresp)s(onding)g(v)-5 b(alues)150 1389 y(that)25
-b(are)g(set)g(and)f(unset)g(using)g(the)h Ft(alias)e
-Fu(and)h Ft(unalias)f Fu(builtin)h(commands)g(\(see)i(Chapter)e(4)h
-([Shell)150 1499 y(Builtin)31 b(Commands],)f(page)h(51\).)275
-1637 y(If)g(the)g(shell)h(reads)f(an)g(unquoted)g(w)m(ord)g(in)g(the)h
-(righ)m(t)g(p)s(osition,)g(it)g(c)m(hec)m(ks)h(the)f(w)m(ord)f(to)h
-(see)g(if)f(it)150 1746 y(matc)m(hes)h(an)f(alias)h(name.)43
-b(If)30 b(it)i(matc)m(hes,)g(the)f(shell)g(replaces)h(the)f(w)m(ord)g
-(with)f(the)i(alias)g(v)-5 b(alue,)32 b(and)150 1856
-y(reads)h(that)h(v)-5 b(alue)33 b(as)h(if)f(it)h(had)e(b)s(een)h(read)g
-(instead)g(of)h(the)f(w)m(ord.)49 b(The)33 b(shell)g(do)s(esn't)g(lo)s
-(ok)h(at)g(an)m(y)150 1965 y(c)m(haracters)e(follo)m(wing)g(the)e(w)m
-(ord)g(b)s(efore)g(attempting)i(alias)f(substitution.)275
-2103 y(The)d(c)m(haracters)i(`)p Ft(/)p Fu(',)f(`)p Ft($)p
-Fu(',)g(`)p Ft(`)p Fu(',)g(`)p Ft(=)p Fu(')g(and)f(an)m(y)h(of)g(the)f
-(shell)h(metac)m(haracters)i(or)e(quoting)f(c)m(haracters)150
-2213 y(listed)g(ab)s(o)m(v)m(e)h(ma)m(y)f(not)g(app)s(ear)f(in)g(an)g
-(alias)i(name.)40 b(The)27 b(replacemen)m(t)i(text)g(ma)m(y)f(con)m
-(tain)h(an)m(y)f(v)-5 b(alid)150 2322 y(shell)28 b(input,)g(including)g
-(shell)g(metac)m(haracters.)42 b(The)28 b(\014rst)f(w)m(ord)h(of)g(the)
-g(replacemen)m(t)i(text)f(is)f(tested)150 2432 y(for)e(aliases,)j(but)d
-(a)h(w)m(ord)f(that)h(is)g(iden)m(tical)h(to)f(an)g(alias)g(b)s(eing)f
-(expanded)g(is)h(not)f(expanded)g(a)h(second)150 2541
-y(time.)41 b(This)28 b(means)h(that)g(one)g(ma)m(y)h(alias)g
-Ft(ls)e Fu(to)i Ft("ls)f(-F")p Fu(,)g(for)f(instance,)j(and)d(Bash)h
-(do)s(es)f(not)h(try)g(to)150 2651 y(recursiv)m(ely)i(expand)f(the)g
-(replacemen)m(t)i(text.)275 2789 y(If)23 b(the)i(last)g(c)m(haracter)h
-(of)e(the)h(alias)g(v)-5 b(alue)25 b(is)f(a)h Ft(blank)p
-Fu(,)f(then)g(the)h(shell)f(c)m(hec)m(ks)i(the)f(next)f(command)150
-2898 y(w)m(ord)30 b(follo)m(wing)i(the)e(alias)i(for)e(alias)i
-(expansion.)275 3036 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
-(the)g Ft(alias)f Fu(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
-Ft(unalias)150 3146 y Fu(command.)275 3283 y(There)44
-b(is)h(no)g(mec)m(hanism)g(for)f(using)h(argumen)m(ts)g(in)f(the)h
-(replacemen)m(t)i(text,)i(as)d(in)e Ft(csh)p Fu(.)83
-b(If)150 3393 y(argumen)m(ts)44 b(are)g(needed,)j(use)d(a)g(shell)g
-(function)g(\(see)g(Section)h(3.3)g([Shell)f(F)-8 b(unctions],)48
-b(page)d(19\))150 3502 y(instead.)275 3640 y(Aliases)33
-b(are)h(not)e(expanded)g(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)
-m(e,)j(unless)c(the)h Ft(expand_aliases)150 3750 y Fu(shell)e(option)f
-(is)h(set)g(using)f Ft(shopt)f Fu(\(see)i(Section)g(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(77\).)275 3887 y(The)38 b(rules)h
-(concerning)h(the)f(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e
-(somewhat)h(confusing.)67 b(Bash)150 3997 y(alw)m(a)m(ys)37
-b(reads)f(at)h(least)g(one)f(complete)i(line)e(of)g(input,)h(and)e(all)
-i(lines)f(that)g(mak)m(e)h(up)e(a)h(comp)s(ound)150 4106
-y(command,)29 b(b)s(efore)g(executing)i(an)m(y)e(of)h(the)f(commands)g
-(on)g(that)h(line)f(or)h(the)f(comp)s(ound)f(command.)150
-4216 y(Aliases)g(are)g(expanded)e(when)g(a)i(command)f(is)g(read,)h
-(not)f(when)f(it)i(is)f(executed.)41 b(Therefore,)28
-b(an)f(alias)150 4326 y(de\014nition)22 b(app)s(earing)g(on)g(the)h
-(same)g(line)f(as)h(another)g(command)f(do)s(es)g(not)h(tak)m(e)h
-(e\013ect)f(un)m(til)g(the)g(shell)150 4435 y(reads)28
-b(the)h(next)g(line)g(of)g(input,)f(and)g(an)g(alias)i(de\014nition)e
-(in)h(a)g(comp)s(ound)e(command)h(do)s(es)g(not)h(tak)m(e)150
-4545 y(e\013ect)36 b(un)m(til)f(the)g(shell)g(parses)f(and)g(executes)i
-(the)e(en)m(tire)i(comp)s(ound)d(command.)53 b(The)34
-b(commands)150 4654 y(follo)m(wing)44 b(the)f(alias)i(de\014nition)d
-(on)h(that)g(line,)k(or)c(in)g(the)g(rest)g(of)g(a)g(comp)s(ound)e
-(command,)47 b(are)150 4764 y(not)33 b(a\013ected)h(b)m(y)f(the)g(new)f
-(alias.)49 b(This)32 b(b)s(eha)m(vior)h(is)g(also)g(an)g(issue)g(when)e
-(functions)i(are)g(executed.)150 4874 y(Aliases)c(are)g(expanded)e
-(when)g(a)i(function)e(de\014nition)h(is)g(read,)h(not)f(when)g(the)g
-(function)g(is)g(executed,)150 4983 y(b)s(ecause)36 b(a)h(function)f
-(de\014nition)f(is)i(itself)g(a)f(command.)58 b(As)36
-b(a)h(consequence,)h(aliases)g(de\014ned)d(in)h(a)150
-5093 y(function)28 b(are)h(not)g(a)m(v)-5 b(ailable)31
-b(un)m(til)e(after)g(that)g(function)f(is)g(executed.)41
-b(T)-8 b(o)29 b(b)s(e)f(safe,)i(alw)m(a)m(ys)g(put)e(alias)150
-5202 y(de\014nitions)i(on)g(a)h(separate)g(line,)g(and)f(do)g(not)h
-(use)f Ft(alias)f Fu(in)h(comp)s(ound)f(commands.)275
-5340 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
-(functions)f(are)g(preferred)g(o)m(v)m(er)h(aliases.)p
-eop end
-%%Page: 109 115
-TeXDict begin 109 114 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(109)150 299 y Fs(6.7)68
-b(Arra)l(ys)150 458 y Fu(Bash)33 b(pro)m(vides)g(one-dimensional)g
-(indexed)f(and)h(asso)s(ciativ)m(e)i(arra)m(y)e(v)-5
-b(ariables.)49 b(An)m(y)33 b(v)-5 b(ariable)33 b(ma)m(y)150
-568 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e
-Ft(declare)e Fu(builtin)h(will)i(explicitly)g(declare)g(an)f(arra)m(y)
--8 b(.)46 b(There)32 b(is)150 677 y(no)h(maxim)m(um)g(limit)h(on)f(the)
-g(size)h(of)g(an)f(arra)m(y)-8 b(,)35 b(nor)d(an)m(y)i(requiremen)m(t)f
-(that)h(mem)m(b)s(ers)e(b)s(e)g(indexed)150 787 y(or)26
-b(assigned)h(con)m(tiguously)-8 b(.)41 b(Indexed)25 b(arra)m(ys)i(are)f
-(referenced)g(using)g(in)m(tegers)i(\(including)e(arithmetic)150
-897 y(expressions)34 b(\(see)h(Section)h(6.5)f([Shell)g(Arithmetic],)i
-(page)e(106\)\))h(and)e(are)h(zero-based;)i(asso)s(ciativ)m(e)150
-1006 y(arra)m(ys)g(use)f(arbitrary)g(strings.)59 b(Unless)36
-b(otherwise)h(noted,)h(indexed)e(arra)m(y)h(indices)f(m)m(ust)g(b)s(e)g
-(non-)150 1116 y(negativ)m(e)d(in)m(tegers.)275 1253
-y(An)26 b(indexed)h(arra)m(y)h(is)f(created)h(automatically)j(if)c(an)m
-(y)g(v)-5 b(ariable)28 b(is)g(assigned)f(to)h(using)f(the)g(syn)m(tax)
-390 1390 y Fj(name)p Ft([)p Fj(subscript)p Ft(]=)p Fj(value)150
-1528 y Fu(The)e Fr(subscript)g Fu(is)h(treated)g(as)f(an)g(arithmetic)h
-(expression)f(that)h(m)m(ust)f(ev)-5 b(aluate)27 b(to)e(a)h(n)m(um)m(b)
-s(er)e(greater)150 1637 y(than)30 b(or)g(equal)h(to)g(zero.)42
-b(T)-8 b(o)31 b(explicitly)h(declare)f(an)f(arra)m(y)-8
-b(,)32 b(use)390 1774 y Ft(declare)46 b(-a)h Fj(name)150
-1912 y Fu(The)30 b(syn)m(tax)390 2049 y Ft(declare)46
-b(-a)h Fj(name)p Ft([)p Fj(subscript)p Ft(])150 2186
-y Fu(is)30 b(also)i(accepted;)g(the)e Fr(subscript)h
-Fu(is)g(ignored.)150 2324 y(Asso)s(ciativ)m(e)i(arra)m(ys)d(are)h
-(created)h(using)390 2461 y Ft(declare)46 b(-A)h Fj(name)275
-2598 y Fu(A)m(ttributes)f(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(for)h(an)g
-(arra)m(y)g(v)-5 b(ariable)47 b(using)e(the)h Ft(declare)e
-Fu(and)h Ft(readonly)150 2708 y Fu(builtins.)40 b(Eac)m(h)31
-b(attribute)g(applies)g(to)g(all)g(mem)m(b)s(ers)f(of)g(an)h(arra)m(y)
--8 b(.)275 2845 y(Arra)m(ys)30 b(are)h(assigned)f(using)g(comp)s(ound)f
-(assignmen)m(ts)i(of)g(the)f(form)390 2982 y Fj(name)p
-Ft(=\()p Fj(value1)44 b(value2)j Ft(...)f(\))150 3119
-y Fu(where)33 b(eac)m(h)i Fr(v)-5 b(alue)40 b Fu(ma)m(y)34
-b(b)s(e)g(of)g(the)g(form)f Ft([)p Fj(subscript)p Ft(]=)p
-Fr(string)p Fu(.)48 b(Indexed)33 b(arra)m(y)h(assignmen)m(ts)h(do)150
-3229 y(not)c(require)f(an)m(ything)g(but)g Fr(string)p
-Fu(.)275 3366 y(Eac)m(h)36 b Fr(v)-5 b(alue)41 b Fu(in)35
-b(the)h(list)h(undergo)s(es)d(the)i(shell)g(expansions)f(describ)s(ed)g
-(ab)s(o)m(v)m(e)i(\(see)f(Section)h(3.5)150 3476 y([Shell)e
-(Expansions],)g(page)g(24\),)i(but)d Fr(v)-5 b(alue)5
-b Fu(s)35 b(that)g(are)g(v)-5 b(alid)35 b(v)-5 b(ariable)35
-b(assignmen)m(ts)h(including)e(the)150 3585 y(brac)m(k)m(ets)22
-b(and)e(subscript)f(do)h(not)h(undergo)f(brace)h(expansion)f(and)g(w)m
-(ord)g(splitting,)k(as)c(with)h(individual)150 3695 y(v)-5
-b(ariable)31 b(assignmen)m(ts.)275 3832 y(When)38 b(assigning)h(to)h
-(indexed)e(arra)m(ys,)j(if)e(the)g(optional)g(subscript)f(is)h
-(supplied,)g(that)h(index)e(is)150 3942 y(assigned)28
-b(to;)h(otherwise)f(the)g(index)f(of)g(the)h(elemen)m(t)h(assigned)e
-(is)h(the)f(last)i(index)e(assigned)g(to)h(b)m(y)g(the)150
-4051 y(statemen)m(t)k(plus)e(one.)41 b(Indexing)29 b(starts)i(at)g
-(zero.)275 4189 y(When)k(assigning)i(to)g(an)f(asso)s(ciativ)m(e)i
-(arra)m(y)-8 b(,)39 b(the)d(w)m(ords)f(in)h(a)h(comp)s(ound)d
-(assignmen)m(t)j(ma)m(y)g(b)s(e)150 4298 y(either)31
-b(assignmen)m(t)h(statemen)m(ts,)h(for)e(whic)m(h)g(the)g(subscript)f
-(is)h(required,)g(or)g(a)g(list)h(of)f(w)m(ords)f(that)i(is)150
-4408 y(in)m(terpreted)g(as)g(a)g(sequence)f(of)h(alternating)h(k)m(eys)
-f(and)f(v)-5 b(alues:)44 b Fr(name)5 b Fu(=\()p Fr(k)m(ey1)40
-b(v)-5 b(alue1)40 b(k)m(ey2)g(v)-5 b(alue2)156 4518 y
-Fu(.)22 b(.)g(.)47 b(\).)57 b(These)35 b(are)i(treated)f(iden)m
-(tically)i(to)e Fr(name)5 b Fu(=\()36 b([)p Fr(k)m(ey1)7
-b Fu(]=)p Fr(v)-5 b(alue1)46 b Fu([)p Fr(k)m(ey2)7 b
-Fu(]=)p Fr(v)-5 b(alue2)51 b Fu(.)22 b(.)h(.)46 b(\).)57
-b(The)150 4627 y(\014rst)25 b(w)m(ord)f(in)h(the)h(list)g(determines)f
-(ho)m(w)g(the)h(remaining)f(w)m(ords)g(are)h(in)m(terpreted;)h(all)f
-(assignmen)m(ts)g(in)150 4737 y(a)31 b(list)f(m)m(ust)h(b)s(e)e(of)h
-(the)h(same)f(t)m(yp)s(e.)41 b(When)30 b(using)g(k)m(ey/v)-5
-b(alue)32 b(pairs,)e(the)g(k)m(eys)h(ma)m(y)g(not)f(b)s(e)g(missing)150
-4846 y(or)g(empt)m(y;)h(a)g(\014nal)f(missing)g(v)-5
-b(alue)31 b(is)g(treated)g(lik)m(e)h(the)e(empt)m(y)h(string.)275
-4984 y(This)f(syn)m(tax)j(is)e(also)i(accepted)g(b)m(y)f(the)f
-Ft(declare)f Fu(builtin.)44 b(Individual)31 b(arra)m(y)h(elemen)m(ts)h
-(ma)m(y)g(b)s(e)150 5093 y(assigned)e(to)g(using)f(the)g
-Fj(name)p Ft([)p Fj(subscript)p Ft(]=)p Fj(value)25 b
-Fu(syn)m(tax)31 b(in)m(tro)s(duced)e(ab)s(o)m(v)m(e.)275
-5230 y(When)h(assigning)h(to)h(an)e(indexed)g(arra)m(y)-8
-b(,)32 b(if)f Fr(name)36 b Fu(is)31 b(subscripted)e(b)m(y)i(a)g
-(negativ)m(e)i(n)m(um)m(b)s(er,)c(that)150 5340 y(n)m(um)m(b)s(er)43
-b(is)h(in)m(terpreted)h(as)f(relativ)m(e)j(to)e(one)f(greater)i(than)e
-(the)g(maxim)m(um)g(index)g(of)h Fr(name)p Fu(,)j(so)p
-eop end
-%%Page: 110 116
-TeXDict begin 110 115 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(110)150 299 y(negativ)m(e)30
-b(indices)d(coun)m(t)h(bac)m(k)g(from)f(the)g(end)g(of)g(the)h(arra)m
-(y)-8 b(,)29 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)f(last)150
-408 y(elemen)m(t.)275 540 y(The)j(`)p Ft(+=)p Fu(')g(op)s(erator)h
-(will)g(app)s(end)e(to)i(an)g(arra)m(y)g(v)-5 b(ariable)32
-b(when)d(assigning)i(using)g(the)f(comp)s(ound)150 650
-y(assignmen)m(t)h(syn)m(tax;)g(see)g(Section)g(3.4)h([Shell)e(P)m
-(arameters],)i(page)g(22,)f(ab)s(o)m(v)m(e.)275 781 y(An)f(arra)m(y)i
-(elemen)m(t)h(is)e(referenced)h(using)e Ft(${)p Fj(name)p
-Ft([)p Fj(subscript)p Ft(]})p Fu(.)39 b(The)31 b(braces)g(are)h
-(required)e(to)150 891 y(a)m(v)m(oid)25 b(con\015icts)f(with)g(the)f
-(shell's)h(\014lename)g(expansion)g(op)s(erators.)38
-b(If)23 b(the)h Fr(subscript)g Fu(is)g(`)p Ft(@)p Fu(')g(or)f(`)p
-Ft(*)p Fu(',)j(the)150 1000 y(w)m(ord)31 b(expands)f(to)i(all)g(mem)m
-(b)s(ers)f(of)g(the)h(arra)m(y)f Fr(name)p Fu(,)h(unless)f(otherwise)g
-(noted)h(in)e(the)i(description)150 1110 y(of)f(a)g(builtin)f(or)g(w)m
-(ord)g(expansion.)41 b(These)30 b(subscripts)g(di\013er)g(only)g(when)g
-(the)h(w)m(ord)f(app)s(ears)f(within)150 1219 y(double)37
-b(quotes.)61 b(If)37 b(the)g(w)m(ord)g(is)g(double-quoted,)i
-Ft(${)p Fj(name)p Ft([*]})34 b Fu(expands)i(to)i(a)g(single)g(w)m(ord)e
-(with)150 1329 y(the)g(v)-5 b(alue)37 b(of)g(eac)m(h)g(arra)m(y)g(mem)m
-(b)s(er)f(separated)g(b)m(y)h(the)f(\014rst)g(c)m(haracter)h(of)g(the)f
-Ft(IFS)g Fu(v)-5 b(ariable,)39 b(and)150 1439 y Ft(${)p
-Fj(name)p Ft([@]})31 b Fu(expands)j(eac)m(h)h(elemen)m(t)g(of)g
-Fr(name)k Fu(to)c(a)f(separate)h(w)m(ord.)52 b(When)34
-b(there)g(are)g(no)g(arra)m(y)150 1548 y(mem)m(b)s(ers,)28
-b Ft(${)p Fj(name)p Ft([@]})e Fu(expands)h(to)i(nothing.)40
-b(If)28 b(the)g(double-quoted)h(expansion)f(o)s(ccurs)g(within)g(a)150
-1658 y(w)m(ord,)d(the)e(expansion)h(of)f(the)h(\014rst)e(parameter)i
-(is)g(joined)f(with)g(the)h(b)s(eginning)f(part)g(of)g(the)h(expansion)
-150 1767 y(of)35 b(the)g(original)h(w)m(ord,)g(and)f(the)g(expansion)f
-(of)i(the)f(last)g(parameter)h(is)f(joined)g(with)f(the)h(last)h(part)
-150 1877 y(of)i(the)h(expansion)f(of)g(the)h(original)g(w)m(ord.)64
-b(This)38 b(is)g(analogous)i(to)f(the)f(expansion)g(of)h(the)f(sp)s
-(ecial)150 1987 y(parameters)31 b(`)p Ft(@)p Fu(')f(and)g(`)p
-Ft(*)p Fu('.)275 2118 y Ft(${#)p Fj(name)p Ft([)p Fj(subscript)p
-Ft(]})h Fu(expands)36 b(to)h(the)g(length)g(of)g Ft(${)p
-Fj(name)p Ft([)p Fj(subscript)p Ft(]})p Fu(.)54 b(If)36
-b Fr(subscript)i Fu(is)150 2228 y(`)p Ft(@)p Fu(')31
-b(or)f(`)p Ft(*)p Fu(',)h(the)f(expansion)g(is)h(the)f(n)m(um)m(b)s(er)
-g(of)g(elemen)m(ts)i(in)e(the)g(arra)m(y)-8 b(.)275 2359
-y(If)29 b(the)h Fr(subscript)g Fu(used)f(to)i(reference)f(an)f(elemen)m
-(t)j(of)d(an)h(indexed)f(arra)m(y)h(ev)-5 b(aluates)32
-b(to)e(a)g(n)m(um)m(b)s(er)150 2469 y(less)35 b(than)f(zero,)i(it)f(is)
-f(in)m(terpreted)h(as)f(relativ)m(e)j(to)e(one)f(greater)i(than)e(the)g
-(maxim)m(um)g(index)g(of)h(the)150 2578 y(arra)m(y)-8
-b(,)30 b(so)f(negativ)m(e)i(indices)e(coun)m(t)g(bac)m(k)h(from)e(the)h
-(end)f(of)h(the)g(arra)m(y)-8 b(,)30 b(and)e(an)g(index)h(of)g(-1)g
-(refers)f(to)150 2688 y(the)j(last)g(elemen)m(t.)275
-2819 y(Referencing)41 b(an)f(arra)m(y)h(v)-5 b(ariable)42
-b(without)e(a)h(subscript)e(is)i(equiv)-5 b(alen)m(t)42
-b(to)f(referencing)g(with)g(a)150 2929 y(subscript)34
-b(of)h(0.)55 b(An)m(y)36 b(reference)f(to)h(a)g(v)-5
-b(ariable)35 b(using)g(a)h(v)-5 b(alid)35 b(subscript)f(is)h(v)-5
-b(alid,)37 b(and)d(Bash)i(will)150 3039 y(create)c(an)e(arra)m(y)h(if)f
-(necessary)-8 b(.)275 3170 y(An)35 b(arra)m(y)i(v)-5
-b(ariable)37 b(is)g(considered)f(set)h(if)f(a)h(subscript)e(has)h(b)s
-(een)g(assigned)g(a)h(v)-5 b(alue.)59 b(The)36 b(n)m(ull)150
-3280 y(string)30 b(is)h(a)g(v)-5 b(alid)30 b(v)-5 b(alue.)275
-3411 y(It)29 b(is)h(p)s(ossible)f(to)h(obtain)g(the)f(k)m(eys)i
-(\(indices\))f(of)f(an)h(arra)m(y)g(as)f(w)m(ell)i(as)f(the)f(v)-5
-b(alues.)41 b($)p Fi({)p Fu(!)p Fr(name)5 b Fu([@])p
-Fi(})150 3521 y Fu(and)39 b($)p Fi({)p Fu(!)p Fr(name)5
-b Fu([*])p Fi(})43 b Fu(expand)c(to)i(the)f(indices)h(assigned)f(in)g
-(arra)m(y)g(v)-5 b(ariable)41 b Fr(name)p Fu(.)70 b(The)39
-b(treatmen)m(t)150 3630 y(when)i(in)g(double)g(quotes)h(is)f(similar)h
-(to)h(the)e(expansion)h(of)f(the)h(sp)s(ecial)g(parameters)g(`)p
-Ft(@)p Fu(')g(and)f(`)p Ft(*)p Fu(')150 3740 y(within)30
-b(double)g(quotes.)275 3871 y(The)i Ft(unset)f Fu(builtin)h(is)h(used)f
-(to)h(destro)m(y)h(arra)m(ys.)48 b Ft(unset)29 b Fj(name)p
-Ft([)p Fj(subscript)p Ft(])f Fu(unsets)33 b(the)f(arra)m(y)150
-3981 y(elemen)m(t)40 b(at)e(index)g Fr(subscript)p Fu(.)62
-b(Negativ)m(e)41 b(subscripts)c(to)i(indexed)e(arra)m(ys)i(are)f(in)m
-(terpreted)h(as)f(de-)150 4091 y(scrib)s(ed)30 b(ab)s(o)m(v)m(e.)42
-b(Unsetting)31 b(the)g(last)g(elemen)m(t)h(of)f(an)g(arra)m(y)g(v)-5
-b(ariable)31 b(do)s(es)f(not)h(unset)f(the)h(v)-5 b(ariable.)150
-4200 y Ft(unset)29 b Fj(name)p Fu(,)39 b(where)e Fr(name)43
-b Fu(is)37 b(an)h(arra)m(y)-8 b(,)41 b(remo)m(v)m(es)e(the)f(en)m(tire)
-g(arra)m(y)-8 b(.)64 b Ft(unset)29 b Fj(name)p Ft([)p
-Fj(subscript)p Ft(])150 4310 y Fu(b)s(eha)m(v)m(es)g(di\013eren)m(tly)g
-(dep)s(ending)d(on)i(the)h(arra)m(y)f(t)m(yp)s(e)h(when)e
-Fr(subscript)i Fu(is)f(`)p Ft(*)p Fu(')g(or)g(`)p Ft(@)p
-Fu('.)41 b(When)28 b Fr(name)33 b Fu(is)150 4419 y(an)27
-b(asso)s(ciativ)m(e)i(arra)m(y)-8 b(,)29 b(it)e(remo)m(v)m(es)h(the)g
-(elemen)m(t)g(with)e(k)m(ey)i(`)p Ft(*)p Fu(')f(or)g(`)p
-Ft(@)p Fu('.)39 b(If)27 b Fr(name)32 b Fu(is)27 b(an)f(indexed)h(arra)m
-(y)-8 b(,)150 4529 y Ft(unset)29 b Fu(remo)m(v)m(es)j(all)f(of)f(the)h
-(elemen)m(ts,)h(but)e(do)s(es)g(not)g(remo)m(v)m(e)i(the)f(arra)m(y)g
-(itself.)275 4661 y(When)k(using)g(a)i(v)-5 b(ariable)36
-b(name)g(with)g(a)g(subscript)e(as)i(an)g(argumen)m(t)g(to)h(a)f
-(command,)h(suc)m(h)f(as)150 4770 y(with)i Ft(unset)p
-Fu(,)g(without)h(using)e(the)h(w)m(ord)g(expansion)g(syn)m(tax)g
-(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(e.g.,)h(unset)d(a[4]\),)150
-4880 y(the)28 b(argumen)m(t)f(is)h(sub)5 b(ject)27 b(to)h(the)g
-(shell's)f(\014lename)h(expansion.)40 b(Quote)27 b(the)h(argumen)m(t)g
-(if)f(pathname)150 4989 y(expansion)j(is)h(not)f(desired)g(\(e.g.,)i
-(unset)e('a[4]'\).)275 5121 y(The)20 b Ft(declare)p Fu(,)h
-Ft(local)p Fu(,)h(and)e Ft(readonly)f Fu(builtins)h(eac)m(h)i(accept)g
-(a)g Ft(-a)e Fu(option)h(to)h(sp)s(ecify)f(an)f(indexed)150
-5230 y(arra)m(y)28 b(and)f(a)h Ft(-A)e Fu(option)i(to)g(sp)s(ecify)f
-(an)h(asso)s(ciativ)m(e)i(arra)m(y)-8 b(.)40 b(If)27
-b(b)s(oth)g(options)h(are)g(supplied,)f Ft(-A)f Fu(tak)m(es)150
-5340 y(precedence.)55 b(The)35 b Ft(read)f Fu(builtin)h(accepts)h(a)g
-Ft(-a)e Fu(option)i(to)g(assign)f(a)g(list)h(of)f(w)m(ords)g(read)g
-(from)g(the)p eop end
-%%Page: 111 117
-TeXDict begin 111 116 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(111)150 299 y(standard)36
-b(input)g(to)i(an)f(arra)m(y)-8 b(,)40 b(and)c(can)h(read)g(v)-5
-b(alues)38 b(from)e(the)h(standard)g(input)f(in)m(to)i(individual)150
-408 y(arra)m(y)22 b(elemen)m(ts.)39 b(The)21 b Ft(set)f
-Fu(and)h Ft(declare)f Fu(builtins)h(displa)m(y)g(arra)m(y)h(v)-5
-b(alues)22 b(in)f(a)h(w)m(a)m(y)g(that)g(allo)m(ws)h(them)150
-518 y(to)29 b(b)s(e)f(reused)g(as)h(input.)39 b(Other)28
-b(builtins)g(accept)i(arra)m(y)f(name)g(argumen)m(ts)g(as)g(w)m(ell)g
-(\(e.g.,)i Ft(mapfile)p Fu(\);)150 628 y(see)c(the)g(descriptions)f(of)
-g(individual)g(builtins)g(for)g(details.)40 b(The)26
-b(shell)h(pro)m(vides)f(a)h(n)m(um)m(b)s(er)e(of)h(builtin)150
-737 y(arra)m(y)31 b(v)-5 b(ariables.)150 992 y Fs(6.8)68
-b(The)45 b(Directory)g(Stac)l(k)150 1151 y Fu(The)21
-b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m(tly-visited)j
-(directories.)39 b(The)20 b Ft(pushd)g Fu(builtin)h(adds)g(directories)
-150 1261 y(to)42 b(the)f(stac)m(k)i(as)e(it)h(c)m(hanges)g(the)f
-(curren)m(t)g(directory)-8 b(,)45 b(and)40 b(the)i Ft(popd)e
-Fu(builtin)g(remo)m(v)m(es)j(sp)s(eci\014ed)150 1371
-y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j(the)e
-(curren)m(t)g(directory)h(to)g(the)g(directory)f(remo)m(v)m(ed.)41
-b(The)150 1480 y Ft(dirs)34 b Fu(builtin)g(displa)m(ys)h(the)g(con)m
-(ten)m(ts)i(of)e(the)g(directory)h(stac)m(k.)56 b(The)34
-b(curren)m(t)h(directory)g(is)g(alw)m(a)m(ys)150 1590
-y(the)c Ft(")p Fu(top)p Ft(")f Fu(of)g(the)h(directory)g(stac)m(k.)275
-1734 y(The)k(con)m(ten)m(ts)i(of)f(the)h(directory)f(stac)m(k)h(are)f
-(also)h(visible)g(as)f(the)g(v)-5 b(alue)36 b(of)g(the)g
-Ft(DIRSTACK)e Fu(shell)150 1843 y(v)-5 b(ariable.)150
-2052 y Fk(6.8.1)63 b(Directory)40 b(Stac)m(k)g(Builtins)150
-2228 y Ft(dirs)870 2367 y(dirs)47 b([-clpv])e([+)p Fj(N)i
-Ft(|)h(-)p Fj(N)p Ft(])630 2506 y Fu(Without)29 b(options,)h(displa)m
-(y)f(the)g(list)g(of)g(curren)m(tly)g(remem)m(b)s(ered)f(directories.)
-41 b(Directo-)630 2616 y(ries)25 b(are)h(added)e(to)i(the)f(list)h
-(with)f(the)g Ft(pushd)f Fu(command;)j(the)e Ft(popd)f
-Fu(command)h(remo)m(v)m(es)630 2726 y(directories)34
-b(from)f(the)h(list.)50 b(The)33 b(curren)m(t)g(directory)h(is)f(alw)m
-(a)m(ys)i(the)f(\014rst)e(directory)i(in)630 2835 y(the)d(stac)m(k.)630
-2974 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 3143 y Ft(-c)384 b Fu(Clears)31 b(the)f(directory)h
-(stac)m(k)h(b)m(y)e(deleting)h(all)h(of)e(the)h(elemen)m(ts.)630
-3312 y Ft(-l)384 b Fu(Pro)s(duces)31 b(a)h(listing)h(using)e(full)h
-(pathnames;)h(the)f(default)g(listing)h(format)1110 3421
-y(uses)d(a)h(tilde)g(to)g(denote)g(the)f(home)h(directory)-8
-b(.)630 3590 y Ft(-p)384 b Fu(Causes)30 b Ft(dirs)f Fu(to)i(prin)m(t)f
-(the)h(directory)g(stac)m(k)h(with)e(one)g(en)m(try)h(p)s(er)e(line.)
-630 3759 y Ft(-v)384 b Fu(Causes)36 b Ft(dirs)f Fu(to)i(prin)m(t)f(the)
-g(directory)h(stac)m(k)h(with)e(one)h(en)m(try)f(p)s(er)f(line,)1110
-3868 y(pre\014xing)30 b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i
-(the)f(stac)m(k.)630 4037 y Ft(+)p Fj(N)384 b Fu(Displa)m(ys)23
-b(the)f Fr(N)10 b Fu(th)21 b(directory)h(\(coun)m(ting)h(from)e(the)h
-(left)g(of)g(the)g(list)g(prin)m(ted)1110 4147 y(b)m(y)30
-b Ft(dirs)f Fu(when)h(in)m(v)m(ok)m(ed)i(without)e(options\),)h
-(starting)g(with)g(zero.)630 4315 y Ft(-)p Fj(N)384 b
-Fu(Displa)m(ys)47 b(the)g Fr(N)10 b Fu(th)46 b(directory)h(\(coun)m
-(ting)g(from)f(the)g(righ)m(t)h(of)g(the)f(list)1110
-4425 y(prin)m(ted)25 b(b)m(y)g Ft(dirs)g Fu(when)f(in)m(v)m(ok)m(ed)j
-(without)f(options\),)h(starting)g(with)e(zero.)150 4594
-y Ft(popd)870 4733 y(popd)47 b([-n])f([+)p Fj(N)h Ft(|)h(-)p
-Fj(N)p Ft(])630 4872 y Fu(Remo)m(v)m(e)31 b(elemen)m(ts)f(from)f(the)g
-(directory)h(stac)m(k.)42 b(The)28 b(elemen)m(ts)j(are)e(n)m(um)m(b)s
-(ered)f(from)h(0)630 4982 y(starting)f(at)h(the)f(\014rst)e(directory)j
-(listed)f(b)m(y)f Ft(dirs)p Fu(;)h(that)g(is,)h Ft(popd)d
-Fu(is)i(equiv)-5 b(alen)m(t)29 b(to)f Ft(popd)630 5091
-y(+0)p Fu(.)630 5230 y(When)k(no)g(argumen)m(ts)h(are)g(giv)m(en,)h
-Ft(popd)d Fu(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)g(stac)
-m(k)630 5340 y(and)e(c)m(hanges)h(to)g(the)g(new)f(top)g(directory)-8
-b(.)p eop end
-%%Page: 112 118
-TeXDict begin 112 117 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(112)630 299 y(Argumen)m(ts,)31
-b(if)f(supplied,)f(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630
-457 y Ft(-n)384 b Fu(Suppress)23 b(the)j(normal)g(c)m(hange)h(of)f
-(directory)g(when)e(remo)m(ving)j(directories)1110 566
-y(from)j(the)g(stac)m(k,)j(only)d(manipulate)h(the)f(stac)m(k.)630
-724 y Ft(+)p Fj(N)384 b Fu(Remo)m(v)m(e)25 b(the)f Fr(N)10
-b Fu(th)24 b(directory)g(\(coun)m(ting)g(from)g(the)f(left)i(of)e(the)h
-(list)g(prin)m(ted)1110 833 y(b)m(y)30 b Ft(dirs)p Fu(\),)g(starting)h
-(with)f(zero,)i(from)e(the)g(stac)m(k.)630 991 y Ft(-)p
-Fj(N)384 b Fu(Remo)m(v)m(e)50 b(the)f Fr(N)10 b Fu(th)48
-b(directory)h(\(coun)m(ting)h(from)e(the)g(righ)m(t)h(of)g(the)f(list)
-1110 1101 y(prin)m(ted)30 b(b)m(y)g Ft(dirs)p Fu(\),)g(starting)h(with)
-f(zero,)i(from)e(the)g(stac)m(k.)630 1258 y(If)d(the)h(top)g(elemen)m
-(t)h(of)f(the)g(directory)g(stac)m(k)h(is)e(mo)s(di\014ed,)h(and)f(the)
-h Ft(-n)f Fu(option)h(w)m(as)g(not)630 1368 y(supplied,)j
-Ft(popd)g Fu(uses)g(the)h Ft(cd)f Fu(builtin)g(to)i(c)m(hange)g(to)f
-(the)g(directory)g(at)h(the)f(top)g(of)g(the)630 1478
-y(stac)m(k.)42 b(If)30 b(the)h Ft(cd)e Fu(fails,)j Ft(popd)d
-Fu(returns)g(a)i(non-zero)g(v)-5 b(alue.)630 1611 y(Otherwise,)29
-b Ft(popd)e Fu(returns)h(an)h(unsuccessful)e(status)i(if)g(an)f(in)m(v)
--5 b(alid)29 b(option)h(is)e(sp)s(eci\014ed,)630 1721
-y(the)e(directory)h(stac)m(k)g(is)f(empt)m(y)-8 b(,)28
-b(or)e Fr(N)36 b Fu(sp)s(eci\014es)26 b(a)h(non-existen)m(t)g
-(directory)f(stac)m(k)i(en)m(try)-8 b(.)630 1854 y(If)32
-b(the)h Ft(popd)f Fu(command)h(is)g(successful,)g(Bash)g(runs)f
-Ft(dirs)f Fu(to)j(sho)m(w)f(the)g(\014nal)f(con)m(ten)m(ts)630
-1964 y(of)f(the)f(directory)h(stac)m(k,)h(and)e(the)g(return)g(status)g
-(is)h(0.)150 2122 y Ft(pushd)870 2255 y(pushd)46 b([-n])h([+)p
-Fj(N)g Ft(|)g Fj(-N)h Ft(|)f Fj(dir)p Ft(])630 2389 y
-Fu(Add)32 b(a)i(directory)f(to)h(the)f(top)h(of)f(the)g(directory)h
-(stac)m(k,)h(or)e(rotate)i(the)e(stac)m(k,)j(making)630
-2499 y(the)h(new)g(top)g(of)g(the)g(stac)m(k)i(the)e(curren)m(t)f(w)m
-(orking)i(directory)-8 b(.)61 b(With)38 b(no)e(argumen)m(ts,)630
-2608 y Ft(pushd)29 b Fu(exc)m(hanges)j(the)e(top)h(t)m(w)m(o)h(elemen)m
-(ts)f(of)g(the)f(directory)h(stac)m(k.)630 2742 y(Argumen)m(ts,)g(if)f
-(supplied,)f(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630
-2900 y Ft(-n)384 b Fu(Suppress)32 b(the)j(normal)g(c)m(hange)h(of)f
-(directory)g(when)f(rotating)i(or)e(adding)1110 3009
-y(directories)d(to)h(the)e(stac)m(k,)i(only)f(manipulate)f(the)h(stac)m
-(k.)630 3167 y Ft(+)p Fj(N)384 b Fu(Rotate)32 b(the)f(stac)m(k)g(so)g
-(that)f(the)h Fr(N)10 b Fu(th)30 b(directory)h(\(coun)m(ting)g(from)f
-(the)g(left)1110 3276 y(of)h(the)f(list)h(prin)m(ted)f(b)m(y)g
-Ft(dirs)p Fu(,)g(starting)h(with)f(zero\))h(is)g(at)g(the)g(top.)630
-3434 y Ft(-)p Fj(N)384 b Fu(Rotate)27 b(the)d(stac)m(k)j(so)e(that)g
-(the)g Fr(N)10 b Fu(th)24 b(directory)h(\(coun)m(ting)h(from)e(the)h
-(righ)m(t)1110 3544 y(of)31 b(the)f(list)h(prin)m(ted)f(b)m(y)g
-Ft(dirs)p Fu(,)g(starting)h(with)f(zero\))h(is)g(at)g(the)g(top.)630
-3701 y Fj(dir)336 b Fu(Mak)m(e)32 b Fr(dir)k Fu(b)s(e)30
-b(the)g(top)h(of)g(the)f(stac)m(k.)630 3859 y(After)39
-b(the)g(stac)m(k)h(has)e(b)s(een)g(mo)s(di\014ed,)i(if)f(the)g
-Ft(-n)f Fu(option)h(w)m(as)g(not)g(supplied,)g Ft(pushd)630
-3969 y Fu(uses)29 b(the)h Ft(cd)f Fu(builtin)g(to)h(c)m(hange)g(to)h
-(the)e(directory)h(at)g(the)g(top)g(of)f(the)h(stac)m(k.)42
-b(If)29 b(the)h Ft(cd)630 4078 y Fu(fails,)h Ft(pushd)e
-Fu(returns)g(a)i(non-zero)g(v)-5 b(alue.)630 4212 y(Otherwise,)24
-b(if)f(no)g(argumen)m(ts)g(are)g(supplied,)g Ft(pushd)e
-Fu(returns)h(zero)h(unless)f(the)h(directory)630 4321
-y(stac)m(k)g(is)f(empt)m(y)-8 b(.)39 b(When)21 b(rotating)j(the)e
-(directory)g(stac)m(k,)j Ft(pushd)20 b Fu(returns)h(zero)i(unless)e
-(the)630 4431 y(directory)31 b(stac)m(k)h(is)e(empt)m(y)h(or)f
-Fr(N)41 b Fu(sp)s(eci\014es)30 b(a)g(non-existen)m(t)i(directory)f
-(stac)m(k)h(elemen)m(t.)630 4565 y(If)d(the)g Ft(pushd)f
-Fu(command)h(is)g(successful,)h(Bash)f(runs)f Ft(dirs)g
-Fu(to)i(sho)m(w)f(the)g(\014nal)g(con)m(ten)m(ts)630
-4674 y(of)i(the)f(directory)h(stac)m(k.)150 4913 y Fs(6.9)68
-b(Con)l(trolling)47 b(the)e(Prompt)150 5073 y Fu(In)37
-b(addition,)k(the)d(follo)m(wing)i(table)f(describ)s(es)e(the)h(sp)s
-(ecial)h(c)m(haracters)g(whic)m(h)f(can)h(app)s(ear)e(in)h(the)150
-5182 y(prompt)29 b(v)-5 b(ariables)32 b Ft(PS0)p Fu(,)d
-Ft(PS1)p Fu(,)h Ft(PS2)p Fu(,)g(and)f Ft(PS4)p Fu(:)150
-5340 y Ft(\\a)384 b Fu(A)30 b(b)s(ell)h(c)m(haracter.)p
-eop end
-%%Page: 113 119
-TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(113)150 299 y Ft(\\d)384
-b Fu(The)30 b(date,)h(in)f Ft(")p Fu(W)-8 b(eekda)m(y)32
-b(Mon)m(th)f(Date)p Ft(")h Fu(format)f(\(e.g.,)h Ft(")p
-Fu(T)-8 b(ue)30 b(Ma)m(y)h(26)p Ft(")p Fu(\).)150 459
-y Ft(\\D{)p Fj(format)p Ft(})630 569 y Fu(The)c Fr(format)i
-Fu(is)f(passed)e(to)i Ft(strftime)p Fu(\(3\))f(and)f(the)i(result)f(is)
-g(inserted)g(in)m(to)h(the)g(prompt)630 678 y(string;)42
-b(an)d(empt)m(y)f Fr(format)j Fu(results)d(in)g(a)h(lo)s(cale-sp)s
-(eci\014c)h(time)f(represen)m(tation.)65 b(The)630 788
-y(braces)31 b(are)f(required.)150 948 y Ft(\\e)384 b
-Fu(An)30 b(escap)s(e)h(c)m(haracter.)150 1108 y Ft(\\h)384
-b Fu(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e(`)p
-Ft(.)p Fu('.)150 1268 y Ft(\\H)384 b Fu(The)30 b(hostname.)150
-1428 y Ft(\\j)384 b Fu(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m
-(tly)h(managed)g(b)m(y)f(the)g(shell.)150 1589 y Ft(\\l)384
-b Fu(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g(name)
-g(\(e.g.,)h Ft(")p Fu(tt)m(ys0)p Ft(")p Fu(\).)150 1749
-y Ft(\\n)384 b Fu(A)30 b(newline.)150 1909 y Ft(\\r)384
-b Fu(A)30 b(carriage)i(return.)150 2069 y Ft(\\s)384
-b Fu(The)41 b(name)h(of)h(the)f(shell:)64 b(the)42 b(basename)g(of)g
-Ft($0)g Fu(\(the)g(p)s(ortion)g(follo)m(wing)h(the)f(\014nal)630
-2179 y(slash\).)150 2339 y Ft(\\t)384 b Fu(The)30 b(time,)h(in)f
-(24-hour)h(HH:MM:SS)g(format.)150 2499 y Ft(\\T)384 b
-Fu(The)30 b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.)150
-2659 y Ft(\\@)384 b Fu(The)30 b(time,)h(in)f(12-hour)h(am/pm)f(format.)
-150 2819 y Ft(\\A)384 b Fu(The)30 b(time,)h(in)f(24-hour)h(HH:MM)g
-(format.)150 2979 y Ft(\\u)384 b Fu(The)30 b(username)g(of)g(the)h
-(curren)m(t)f(user.)150 3140 y Ft(\\v)384 b Fu(The)30
-b(Bash)g(v)m(ersion)h(\(e.g.,)h(2.00\).)150 3300 y Ft(\\V)384
-b Fu(The)30 b(Bash)g(release,)i(v)m(ersion)f Ft(+)f Fu(patc)m(hlev)m
-(el)j(\(e.g.,)f(2.00.0\).)150 3460 y Ft(\\w)384 b Fu(The)27
-b(v)-5 b(alue)28 b(of)g(the)g Ft(PWD)f Fu(shell)h(v)-5
-b(ariable)28 b(\()p Ft($PWD)p Fu(\),)g(with)g Ft($HOME)e
-Fu(abbreviated)i(with)f(a)h(tilde)630 3569 y(\(uses)i(the)h
-Ft($PROMPT_DIRTRIM)26 b Fu(v)-5 b(ariable\).)150 3730
-y Ft(\\W)384 b Fu(The)30 b(basename)h(of)f Ft($PWD)p
-Fu(,)g(with)g Ft($HOME)f Fu(abbreviated)h(with)g(a)h(tilde.)150
-3890 y Ft(\\!)384 b Fu(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
-(command.)150 4050 y Ft(\\#)384 b Fu(The)30 b(command)g(n)m(um)m(b)s
-(er)f(of)i(this)f(command.)150 4210 y Ft(\\$)384 b Fu(If)30
-b(the)g(e\013ectiv)m(e)j(uid)d(is)g(0,)h Ft(#)p Fu(,)g(otherwise)g
-Ft($)p Fu(.)150 4370 y Ft(\\)p Fj(nnn)288 b Fu(The)30
-b(c)m(haracter)i(whose)e(ASCI)s(I)f(co)s(de)h(is)h(the)f(o)s(ctal)i(v)
--5 b(alue)31 b Fr(nnn)p Fu(.)150 4530 y Ft(\\\\)384 b
-Fu(A)30 b(bac)m(kslash.)150 4691 y Ft(\\[)384 b Fu(Begin)38
-b(a)f(sequence)g(of)g(non-prin)m(ting)g(c)m(haracters.)61
-b(This)36 b(could)h(b)s(e)g(used)f(to)h(em)m(b)s(ed)g(a)630
-4800 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
-150 4960 y Ft(\\])384 b Fu(End)29 b(a)i(sequence)g(of)f(non-prin)m
-(ting)g(c)m(haracters.)275 5121 y(The)25 b(command)h(n)m(um)m(b)s(er)f
-(and)h(the)g(history)g(n)m(um)m(b)s(er)f(are)i(usually)f(di\013eren)m
-(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 5230
-y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f
-(list,)i(whic)m(h)f(ma)m(y)g(include)f(commands)g(restored)g(from)150
-5340 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e
-(History)h(F)-8 b(acilities],)45 b(page)40 b(165\),)j(while)d(the)f
-(command)p eop end
-%%Page: 114 120
-TeXDict begin 114 119 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(114)150 299 y(n)m(um)m(b)s(er)42
-b(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h(of)f(commands)g
-(executed)h(during)e(the)i(curren)m(t)f(shell)150 408
-y(session.)275 541 y(After)28 b(the)g(string)g(is)g(deco)s(ded,)g(it)g
-(is)g(expanded)f(via)i(parameter)f(expansion,)h(command)f(substitu-)150
-651 y(tion,)g(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v)-5
-b(al,)29 b(sub)5 b(ject)25 b(to)i(the)f(v)-5 b(alue)27
-b(of)f(the)g Ft(promptvars)e Fu(shell)150 760 y(option)i(\(see)h
-(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)j(page)e(77\).)41
-b(This)25 b(can)h(ha)m(v)m(e)h(un)m(w)m(an)m(ted)f(side)g(e\013ects)150
-870 y(if)i(escap)s(ed)f(p)s(ortions)g(of)h(the)g(string)f(app)s(ear)g
-(within)g(command)h(substitution)f(or)h(con)m(tain)g(c)m(haracters)150
-979 y(sp)s(ecial)j(to)g(w)m(ord)f(expansion.)150 1216
-y Fs(6.10)68 b(The)45 b(Restricted)h(Shell)150 1375 y
-Fu(If)34 b(Bash)g(is)g(started)g(with)g(the)g(name)h
-Ft(rbash)p Fu(,)e(or)h(the)h Ft(--restricted)30 b Fu(or)k
-Ft(-r)g Fu(option)g(is)g(supplied)f(at)150 1485 y(in)m(v)m(o)s(cation,)
-d(the)d(shell)g(b)s(ecomes)h Fr(restricted)p Fu(.)40
-b(A)27 b(restricted)h(shell)f(is)g(used)f(to)i(set)f(up)f(an)h(en)m
-(vironmen)m(t)150 1595 y(more)g(con)m(trolled)i(than)e(the)g(standard)g
-(shell.)40 b(A)27 b(restricted)h(shell)f(b)s(eha)m(v)m(es)h(iden)m
-(tically)h(to)f Ft(bash)e Fu(with)150 1704 y(the)31 b(exception)g(that)
-g(the)g(follo)m(wing)h(are)e(disallo)m(w)m(ed)i(or)e(not)h(p)s
-(erformed:)225 1837 y Fq(\017)60 b Fu(Changing)30 b(directories)h(with)
-g(the)f Ft(cd)g Fu(builtin.)225 1969 y Fq(\017)60 b Fu(Setting)33
-b(or)g(unsetting)f(the)h(v)-5 b(alues)33 b(of)f(the)h
-Ft(SHELL)p Fu(,)f Ft(PATH)p Fu(,)g Ft(HISTFILE)p Fu(,)f
-Ft(ENV)p Fu(,)h(or)g Ft(BASH_ENV)e Fu(v)-5 b(ari-)330
-2079 y(ables.)225 2211 y Fq(\017)60 b Fu(Sp)s(ecifying)30
-b(command)g(names)g(con)m(taining)i(slashes.)225 2344
-y Fq(\017)60 b Fu(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m(taining)i
-(a)f(slash)f(as)h(an)f(argumen)m(t)h(to)g(the)f Ft(.)h
-Fu(builtin)e(command.)225 2476 y Fq(\017)60 b Fu(Using)31
-b(the)f Ft(-p)g Fu(option)h(to)g(the)f Ft(.)g Fu(builtin)g(command)g
-(to)i(sp)s(ecify)e(a)g(searc)m(h)h(path.)225 2609 y Fq(\017)60
-b Fu(Sp)s(ecifying)33 b(a)i(\014lename)f(con)m(taining)h(a)g(slash)e
-(as)i(an)e(argumen)m(t)i(to)g(the)f Ft(history)e Fu(builtin)h(com-)330
-2718 y(mand.)225 2851 y Fq(\017)60 b Fu(Sp)s(ecifying)32
-b(a)g(\014lename)h(con)m(taining)h(a)e(slash)g(as)h(an)f(argumen)m(t)h
-(to)g(the)f Ft(-p)g Fu(option)h(to)g(the)f Ft(hash)330
-2960 y Fu(builtin)e(command.)225 3093 y Fq(\017)60 b
-Fu(Imp)s(orting)30 b(function)g(de\014nitions)g(from)f(the)i(shell)g
-(en)m(vironmen)m(t)g(at)g(startup.)225 3225 y Fq(\017)60
-b Fu(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Ft(SHELLOPTS)d
-Fu(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225
-3358 y Fq(\017)60 b Fu(Redirecting)31 b(output)f(using)g(the)h(`)p
-Ft(>)p Fu(',)g(`)p Ft(>|)p Fu(',)f(`)p Ft(<>)p Fu(',)h(`)p
-Ft(>&)p Fu(',)f(`)p Ft(&>)p Fu(',)h(and)e(`)p Ft(>>)p
-Fu(')i(redirection)g(op)s(erators.)225 3490 y Fq(\017)60
-b Fu(Using)31 b(the)f Ft(exec)f Fu(builtin)h(to)h(replace)h(the)e
-(shell)h(with)f(another)h(command.)225 3623 y Fq(\017)60
-b Fu(Adding)24 b(or)g(deleting)i(builtin)e(commands)g(with)h(the)f
-Ft(-f)g Fu(and)g Ft(-d)g Fu(options)h(to)h(the)e Ft(enable)f
-Fu(builtin.)225 3755 y Fq(\017)60 b Fu(Using)31 b(the)f
-Ft(enable)f Fu(builtin)h(command)g(to)h(enable)g(disabled)f(shell)g
-(builtins.)225 3888 y Fq(\017)60 b Fu(Sp)s(ecifying)30
-b(the)g Ft(-p)g Fu(option)h(to)g(the)g Ft(command)d Fu(builtin.)225
-4020 y Fq(\017)60 b Fu(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de)
-f(with)g(`)p Ft(set)g(+r)p Fu(')g(or)g(`)p Ft(shopt)f(-u)h
-(restricted_shell)p Fu('.)275 4175 y(These)g(restrictions)h(are)g
-(enforced)f(after)h(an)m(y)g(startup)f(\014les)g(are)h(read.)275
-4308 y(When)j(a)i(command)e(that)i(is)f(found)f(to)h(b)s(e)g(a)g(shell)
-g(script)g(is)g(executed)h(\(see)g(Section)g(3.8)g([Shell)150
-4417 y(Scripts],)25 b(page)e(49\),)j Ft(rbash)c Fu(turns)g(o\013)i(an)m
-(y)f(restrictions)h(in)f(the)g(shell)h(spa)m(wned)e(to)i(execute)g(the)
-g(script.)275 4550 y(The)32 b(restricted)h(shell)g(mo)s(de)g(is)g(only)
-g(one)g(comp)s(onen)m(t)g(of)g(a)g(useful)f(restricted)i(en)m(vironmen)
-m(t.)49 b(It)150 4660 y(should)22 b(b)s(e)f(accompanied)j(b)m(y)e
-(setting)i Ft(PATH)d Fu(to)j(a)f(v)-5 b(alue)23 b(that)g(allo)m(ws)h
-(execution)f(of)g(only)g(a)g(few)f(v)m(eri\014ed)150
-4769 y(commands)35 b(\(commands)g(that)h(allo)m(w)g(shell)f(escap)s(es)
-h(are)f(particularly)h(vulnerable\),)h(c)m(hanging)f(the)150
-4879 y(curren)m(t)28 b(directory)g(to)h(a)f(non-writable)g(directory)g
-(other)g(than)g Ft($HOME)e Fu(after)j(login,)g(not)f(allo)m(wing)i(the)
-150 4988 y(restricted)25 b(shell)g(to)h(execute)g(shell)f(scripts,)h
-(and)e(cleaning)i(the)f(en)m(vironmen)m(t)h(of)f(v)-5
-b(ariables)25 b(that)g(cause)150 5098 y(some)31 b(commands)f(to)h(mo)s
-(dify)e(their)i(b)s(eha)m(vior)f(\(e.g.,)j Ft(VISUAL)28
-b Fu(or)j Ft(PAGER)p Fu(\).)275 5230 y(Mo)s(dern)e(systems)g(pro)m
-(vide)h(more)g(secure)g(w)m(a)m(ys)g(to)h(implemen)m(t)f(a)g
-(restricted)h(en)m(vironmen)m(t,)f(suc)m(h)150 5340 y(as)h
-Ft(jails)p Fu(,)e Ft(zones)p Fu(,)g(or)h Ft(containers)p
-Fu(.)p eop end
-%%Page: 115 121
-TeXDict begin 115 120 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(115)150 299 y Fs(6.11)68
-b(Bash)45 b(and)g(POSIX)150 523 y Fk(6.11.1)63 b(What)40
-b(is)i(POSIX?)150 670 y Fm(posix)22 b Fu(is)g(the)g(name)h(for)f(a)g
-(family)h(of)g(standards)e(based)h(on)g(Unix.)38 b(A)22
-b(n)m(um)m(b)s(er)f(of)i(Unix)f(services,)j(to)s(ols,)150
-779 y(and)33 b(functions)g(are)h(part)f(of)h(the)f(standard,)h(ranging)
-g(from)f(the)g(basic)h(system)g(calls)g(and)f(C)g(library)150
-889 y(functions)d(to)h(common)g(applications)g(and)f(to)s(ols)h(to)g
-(system)g(administration)g(and)e(managemen)m(t.)275 1023
-y(The)22 b Fm(posix)g Fu(Shell)g(and)g(Utilities)j(standard)c(w)m(as)i
-(originally)h(dev)m(elop)s(ed)f(b)m(y)g(IEEE)f(W)-8 b(orking)24
-b(Group)150 1133 y(1003.2)46 b(\(POSIX.2\).)80 b(The)43
-b(\014rst)f(edition)i(of)g(the)f(1003.2)j(standard)c(w)m(as)i
-(published)e(in)h(1992.)81 b(It)150 1242 y(w)m(as)31
-b(merged)g(with)g(the)g(original)h(IEEE)e(1003.1)k(W)-8
-b(orking)32 b(Group)e(and)g(is)h(curren)m(tly)g(main)m(tained)h(b)m(y)
-150 1352 y(the)41 b(Austin)g(Group)g(\(a)h(join)m(t)g(w)m(orking)g
-(group)e(of)i(the)f(IEEE,)g(The)g(Op)s(en)f(Group)g(and)h(ISO/IEC)150
-1461 y(SC22/W)m(G15\).)i(T)-8 b(o)s(da)m(y)28 b(the)g(Shell)g(and)f
-(Utilities)j(are)e(a)g(v)m(olume)h(within)e(the)h(set)h(of)f(do)s
-(cumen)m(ts)f(that)150 1571 y(mak)m(e)34 b(up)e(IEEE)g(Std)g
-(1003.1-2024,)38 b(and)32 b(th)m(us)h(the)g(former)f(POSIX.2)h(\(from)f
-(1992\))j(is)e(no)m(w)g(part)g(of)150 1680 y(the)e(curren)m(t)f
-(uni\014ed)f Fm(posix)g Fu(standard.)275 1815 y(The)k(Shell)h(and)g
-(Utilities)i(v)m(olume)f(concen)m(trates)h(on)e(the)g(command)g(in)m
-(terpreter)h(in)m(terface)h(and)150 1924 y(utilit)m(y)i(programs)f
-(commonly)g(executed)g(from)g(the)g(command)f(line)h(or)g(b)m(y)g
-(other)g(programs.)59 b(The)150 2034 y(standard)37 b(is)g(freely)h(a)m
-(v)-5 b(ailable)40 b(on)d(the)h(w)m(eb)g(at)g Ft(https:)6
-b(/)g(/)g(pubs)g(.)g(opengrou)o(p)g(.)g(o)o(rg)g(/)f(onl)o(inep)o(ubs)g
-(/)150 2143 y(9799919799/utilities/con)o(tent)o(s.ht)o(ml)p
-Fu(.)275 2278 y(Bash)25 b(is)g(concerned)h(with)f(the)g(asp)s(ects)h
-(of)f(the)h(shell's)g(b)s(eha)m(vior)f(de\014ned)f(b)m(y)h(the)h
-Fm(posix)e Fu(Shell)i(and)150 2387 y(Utilities)35 b(v)m(olume.)49
-b(The)33 b(shell)g(command)f(language)j(has)d(of)i(course)f(b)s(een)f
-(standardized,)h(including)150 2497 y(the)42 b(basic)g(\015o)m(w)g(con)
-m(trol)i(and)d(program)g(execution)i(constructs,)j(I/O)41
-b(redirection)i(and)e(pip)s(elines,)150 2606 y(argumen)m(t)31
-b(handling,)f(v)-5 b(ariable)31 b(expansion,)f(and)g(quoting.)275
-2740 y(The)40 b Fl(sp)-5 b(e)g(cial)52 b Fu(builtins,)44
-b(whic)m(h)d(m)m(ust)g(b)s(e)g(implemen)m(ted)h(as)f(part)g(of)h(the)f
-(shell)g(to)h(pro)m(vide)g(the)150 2850 y(desired)25
-b(functionalit)m(y)-8 b(,)28 b(are)e(sp)s(eci\014ed)f(as)g(b)s(eing)g
-(part)h(of)f(the)h(shell;)h(examples)f(of)g(these)g(are)f
-Ft(eval)g Fu(and)150 2960 y Ft(export)p Fu(.)39 b(Other)28
-b(utilities)i(app)s(ear)f(in)f(the)h(sections)h(of)f(POSIX)f(not)h(dev)
-m(oted)h(to)g(the)f(shell)g(whic)m(h)g(are)150 3069 y(commonly)24
-b(\(and)f(in)g(some)h(cases)g(m)m(ust)f(b)s(e\))g(implemen)m(ted)h(as)f
-(builtin)g(commands,)i(suc)m(h)e(as)g Ft(read)g Fu(and)150
-3179 y Ft(test)p Fu(.)39 b(POSIX)28 b(also)h(sp)s(eci\014es)g(asp)s
-(ects)g(of)g(the)g(shell's)g(in)m(teractiv)m(e)i(b)s(eha)m(vior,)f
-(including)e(job)g(con)m(trol)150 3288 y(and)36 b(command)g(line)h
-(editing.)59 b(Only)36 b(vi-st)m(yle)i(line)f(editing)g(commands)f(ha)m
-(v)m(e)h(b)s(een)f(standardized;)150 3398 y(emacs)31
-b(editing)g(commands)f(w)m(ere)h(left)g(out)g(due)e(to)j(ob)5
-b(jections.)150 3597 y Fk(6.11.2)63 b(Bash)41 b(POSIX)g(Mo)s(de)150
-3743 y Fu(Although)29 b(Bash)g(is)g(an)g(implemen)m(tation)h(of)f(the)g
-Fm(posix)f Fu(shell)h(sp)s(eci\014cation,)i(there)e(are)g(areas)g
-(where)150 3853 y(the)g(Bash)g(default)g(b)s(eha)m(vior)g(di\013ers)f
-(from)g(the)h(sp)s(eci\014cation.)41 b(The)28 b(Bash)h
-Fr(p)s(osix)g(mo)s(de)k Fu(c)m(hanges)d(the)150 3963
-y(Bash)h(b)s(eha)m(vior)f(in)g(these)h(areas)g(so)g(that)g(it)f
-(conforms)h(more)f(closely)i(to)f(the)g(standard.)275
-4097 y(Starting)26 b(Bash)g(with)f(the)h Ft(--posix)e
-Fu(command-line)j(option)f(or)g(executing)h(`)p Ft(set)j(-o)f(posix)p
-Fu(')c(while)150 4206 y(Bash)h(is)g(running)e(will)j(cause)f(Bash)g(to)
-h(conform)f(more)g(closely)h(to)g(the)f Fm(posix)f Fu(standard)g(b)m(y)
-h(c)m(hanging)150 4316 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g
-(that)g(sp)s(eci\014ed)f(b)m(y)g Fm(posix)g Fu(in)g(areas)h(where)f
-(the)h(Bash)f(default)h(di\013ers.)275 4450 y(When)f(in)m(v)m(ok)m(ed)h
-(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g Fm(posix)e Fu(mo)s(de)h(after)h
-(reading)g(the)f(startup)g(\014les.)275 4584 y(The)f(follo)m(wing)j
-(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)p Fm(posix)h
-Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 4718 y(1.)61 b(Bash)31
-b(ensures)e(that)i(the)f Ft(POSIXLY_CORRECT)d Fu(v)-5
-b(ariable)31 b(is)f(set.)199 4853 y(2.)61 b(Bash)35 b(reads)f(and)h
-(executes)h(the)f Fm(posix)f Fu(startup)g(\014les)h(\()p
-Ft($ENV)p Fu(\))f(rather)h(than)f(the)h(normal)g(Bash)330
-4962 y(\014les)30 b(\(see)i(Section)f(6.2)g([Bash)g(Startup)f(Files],)i
-(page)f(101.)199 5096 y(3.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m
-(ys)i(enabled,)e(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)199
-5230 y(4.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
-m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
-330 5340 y(undergo)30 b(alias)h(expansion.)p eop end
-%%Page: 116 122
-TeXDict begin 116 121 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(116)199 299 y(5.)61
-b(Alias)45 b(expansion)e(is)h(p)s(erformed)f(when)f(initially)k
-(parsing)d(a)h(command)g(substitution.)80 b(The)330 408
-y(default)37 b(\(non-p)s(osix\))f(mo)s(de)h(generally)h(defers)e(it,)j
-(when)c(enabled,)k(un)m(til)e(the)f(command)h(sub-)330
-518 y(stitution)d(is)g(executed.)51 b(This)33 b(means)h(that)g(command)
-f(substitution)h(will)g(not)g(expand)e(aliases)330 628
-y(that)k(are)f(de\014ned)f(after)h(the)g(command)g(substitution)g(is)g
-(initially)h(parsed)e(\(e.g.,)k(as)e(part)e(of)i(a)330
-737 y(function)30 b(de\014nition\).)199 866 y(6.)61 b(The)35
-b Ft(time)g Fu(reserv)m(ed)g(w)m(ord)h(ma)m(y)g(b)s(e)f(used)g(b)m(y)g
-(itself)h(as)g(a)g(simple)g(command.)56 b(When)35 b(used)g(in)330
-976 y(this)41 b(w)m(a)m(y)-8 b(,)45 b(it)c(displa)m(ys)g(timing)g
-(statistics)i(for)d(the)h(shell)g(and)f(its)h(completed)h(c)m(hildren.)
-71 b(The)330 1085 y Ft(TIMEFORMAT)28 b Fu(v)-5 b(ariable)31
-b(con)m(trols)g(the)g(format)g(of)f(the)h(timing)g(information.)199
-1214 y(7.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
-Ft(time)d Fu(as)i(a)g(reserv)m(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m
-(en)h(b)s(egins)d(with)i(a)330 1324 y(`)p Ft(-)p Fu('.)199
-1453 y(8.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
-Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s
-(ears)f(within)f(double)h(quotes,)330 1562 y(single)42
-b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f(cannot)i(b)s(e)e
-(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 1672
-y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s(erator)f
-(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e(pattern)330
-1782 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)e(do)g(not)h
-(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)199
-1910 y(9.)61 b(Redirection)32 b(op)s(erators)f(do)f(not)h(p)s(erform)e
-(\014lename)i(expansion)g(on)g(the)f(w)m(ord)h(in)f(a)h(redirection)330
-2020 y(unless)f(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
-2149 y(10.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
-(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(a)g(redirection.)154
-2278 y(11.)61 b(F)-8 b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)
-g(same)h(as)g(one)f(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
-2407 y(12.)61 b(Tilde)30 b(expansion)g(is)f(only)h(p)s(erformed)f(on)h
-(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g(rather)330
-2516 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
-(line.)154 2645 y(13.)61 b(While)32 b(v)-5 b(ariable)32
-b(indirection)f(is)g(a)m(v)-5 b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s
-(e)g(applied)g(to)g(the)h(`)p Ft(#)p Fu(')f(and)f(`)p
-Ft(?)p Fu(')h(sp)s(ecial)330 2755 y(parameters.)154 2884
-y(14.)61 b(Expanding)21 b(the)h(`)p Ft(*)p Fu(')g(sp)s(ecial)h
-(parameter)f(in)g(a)g(pattern)h(con)m(text)g(where)f(the)g(expansion)g
-(is)g(double-)330 2993 y(quoted)31 b(do)s(es)f(not)g(treat)i(the)e
-Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)154
-3122 y(15.)61 b(A)39 b(double)f(quote)i(c)m(haracter)g(\(`)p
-Ft(")p Fu('\))g(is)f(treated)g(sp)s(ecially)h(when)e(it)h(app)s(ears)f
-(in)h(a)g(bac)m(kquoted)330 3232 y(command)24 b(substitution)f(in)h
-(the)g(b)s(o)s(dy)e(of)i(a)g(here-do)s(cumen)m(t)g(that)h(undergo)s(es)
-e(expansion.)38 b(That)330 3342 y(means,)29 b(for)f(example,)i(that)f
-(a)g(bac)m(kslash)g(preceding)f(a)h(double)f(quote)h(c)m(haracter)h
-(will)f(escap)s(e)f(it)330 3451 y(and)i(the)g(bac)m(kslash)h(will)g(b)s
-(e)f(remo)m(v)m(ed.)154 3580 y(16.)61 b(Command)25 b(substitutions)g
-(don't)g(set)h(the)g(`)p Ft(?)p Fu(')g(sp)s(ecial)g(parameter.)40
-b(The)25 b(exit)h(status)g(of)g(a)g(simple)330 3690 y(command)i
-(without)g(a)h(command)f(w)m(ord)f(is)i(still)g(the)f(exit)h(status)g
-(of)f(the)g(last)h(command)f(substi-)330 3799 y(tution)f(that)h(o)s
-(ccurred)e(while)h(ev)-5 b(aluating)28 b(the)g(v)-5 b(ariable)27
-b(assignmen)m(ts)h(and)e(redirections)i(in)e(that)330
-3909 y(command,)h(but)f(that)g(do)s(es)g(not)h(happ)s(en)d(un)m(til)j
-(after)g(all)g(of)f(the)h(assignmen)m(ts)g(and)e(redirections.)154
-4038 y(17.)61 b(Literal)28 b(tildes)g(that)f(app)s(ear)f(as)i(the)f
-(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)e(the)g
-Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 4147 y(expanded)i(as)g
-(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)i(3.5.2)h([Tilde)f
-(Expansion],)f(page)h(26.)154 4276 y(18.)61 b(Command)31
-b(lo)s(okup)h(\014nds)e Fm(posix)h Fu(sp)s(ecial)i(builtins)f(b)s
-(efore)f(shell)h(functions,)h(including)e(output)330
-4386 y(prin)m(ted)f(b)m(y)g(the)h Ft(type)e Fu(and)h
-Ft(command)e Fu(builtins.)154 4515 y(19.)61 b(Ev)m(en)27
-b(if)h(a)f(shell)h(function)f(whose)g(name)g(con)m(tains)i(a)f(slash)f
-(w)m(as)g(de\014ned)g(b)s(efore)f(en)m(tering)j Fm(posix)330
-4624 y Fu(mo)s(de,)h(the)h(shell)f(will)h(not)g(execute)g(a)g(function)
-f(whose)g(name)h(con)m(tains)g(one)g(or)f(more)h(slashes.)154
-4753 y(20.)61 b(When)28 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e
-(longer)h(exists,)h(Bash)f(will)g(re-searc)m(h)h Ft($PATH)d
-Fu(to)i(\014nd)330 4863 y(the)i(new)e(lo)s(cation.)43
-b(This)29 b(is)i(also)g(a)m(v)-5 b(ailable)33 b(with)d(`)p
-Ft(shopt)f(-s)h(checkhash)p Fu('.)154 4992 y(21.)61 b(Bash)36
-b(will)g(not)g(insert)g(a)g(command)f(without)h(the)g(execute)h(bit)f
-(set)g(in)m(to)h(the)f(command)g(hash)330 5101 y(table,)c(ev)m(en)f(if)
-f(it)h(returns)e(it)i(as)g(a)f(\(last-ditc)m(h\))j(result)d(from)g(a)h
-Ft($PATH)e Fu(searc)m(h.)154 5230 y(22.)61 b(The)42 b(message)h(prin)m
-(ted)e(b)m(y)h(the)g(job)g(con)m(trol)i(co)s(de)e(and)f(builtins)h
-(when)f(a)h(job)g(exits)h(with)f(a)330 5340 y(non-zero)31
-b(status)g(is)f(`Done\(status\)'.)p eop end
-%%Page: 117 123
-TeXDict begin 117 122 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(117)154 299 y(23.)61
-b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)m(trol)h(co)s
-(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e(is)330
-408 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31 b(where)f
-Fr(signame)36 b Fu(is,)31 b(for)f(example,)h Ft(SIGTSTP)p
-Fu(.)154 539 y(24.)61 b(If)35 b(the)h(shell)g(is)g(in)m(teractiv)m(e,)
-41 b(Bash)36 b(do)s(es)f(not)h(p)s(erform)f(job)g(noti\014cations)i(b)s
-(et)m(w)m(een)g(executing)330 648 y(commands)44 b(in)h(lists)g
-(separated)h(b)m(y)e(`)p Ft(;)p Fu(')h(or)g(newline.)84
-b(Non-in)m(teractiv)m(e)48 b(shells)d(prin)m(t)g(status)330
-758 y(messages)31 b(after)g(a)g(foreground)f(job)g(in)g(a)g(list)h
-(completes.)154 888 y(25.)61 b(If)32 b(the)g(shell)g(is)h(in)m
-(teractiv)m(e,)i(Bash)e(w)m(aits)g(un)m(til)f(the)h(next)f(prompt)f(b)s
-(efore)h(prin)m(ting)g(the)h(status)330 998 y(of)f(a)g(bac)m(kground)f
-(job)h(that)g(c)m(hanges)h(status)f(or)g(a)g(foreground)f(job)g(that)h
-(terminates)h(due)e(to)i(a)330 1107 y(signal.)41 b(Non-in)m(teractiv)m
-(e)34 b(shells)d(prin)m(t)f(status)g(messages)i(after)e(a)h(foreground)
-f(job)g(completes.)154 1237 y(26.)61 b(Bash)38 b(p)s(ermanen)m(tly)g
-(remo)m(v)m(es)i(jobs)d(from)h(the)h(jobs)e(table)i(after)g(notifying)g
-(the)f(user)g(of)g(their)330 1347 y(termination)c(via)g(the)f
-Ft(wait)f Fu(or)h Ft(jobs)f Fu(builtins.)49 b(It)33 b(remo)m(v)m(es)i
-(the)e(job)g(from)g(the)g(jobs)g(list)g(after)330 1456
-y(notifying)g(the)f(user)g(of)g(its)g(termination,)i(but)e(the)g
-(status)h(is)f(still)h(a)m(v)-5 b(ailable)34 b(via)f
-Ft(wait)p Fu(,)f(as)g(long)330 1566 y(as)f Ft(wait)e
-Fu(is)h(supplied)f(a)i Fm(pid)f Fu(argumen)m(t.)154 1696
-y(27.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m
-(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p
-Ft(v)p Fu(')f(command)g(is)g(run,)330 1806 y(instead)e(of)f(c)m(hec)m
-(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 1936
-y(28.)61 b(Prompt)43 b(expansion)g(enables)g(the)h Fm(posix)e
-Ft(PS1)g Fu(and)h Ft(PS2)f Fu(expansions)h(of)g(`)p Ft(!)p
-Fu(')h(to)g(the)f(history)330 2045 y(n)m(um)m(b)s(er)31
-b(and)h(`)p Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(',)g(and)f(Bash)h(p)s
-(erforms)e(parameter)i(expansion)f(on)h(the)f(v)-5 b(alues)33
-b(of)g Ft(PS1)330 2155 y Fu(and)d Ft(PS2)f Fu(regardless)i(of)f(the)h
-(setting)h(of)e(the)h Ft(promptvars)c Fu(option.)154
-2285 y(29.)61 b(The)29 b(default)g(history)g(\014le)g(is)g
-Ft(~/.sh_history)d Fu(\(this)j(is)g(the)g(default)h(v)-5
-b(alue)29 b(the)h(shell)f(assigns)g(to)330 2395 y Ft($HISTFILE)p
-Fu(\).)154 2525 y(30.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h
-(do)s(es)e(not)h(in)m(tro)s(duce)g(history)f(expansion)h(within)f(a)h
-(double-quoted)g(string,)330 2634 y(ev)m(en)g(if)f(the)h
-Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2765 y(31.)61
-b(When)48 b(prin)m(ting)g(shell)h(function)f(de\014nitions)g(\(e.g.,)55
-b(b)m(y)48 b Ft(type)p Fu(\),)k(Bash)d(do)s(es)f(not)h(prin)m(t)f(the)
-330 2874 y Ft(function)28 b Fu(k)m(eyw)m(ord)j(unless)f(necessary)-8
-b(.)154 3004 y(32.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f
-(a)g(syn)m(tax)g(error)g(in)f(an)h(arithmetic)h(expansion)f(results)f
-(in)h(an)330 3114 y(in)m(v)-5 b(alid)31 b(expression.)154
-3244 y(33.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f
-(parameter)h(expansion)g(error)f(o)s(ccurs.)154 3374
-y(34.)61 b(If)24 b(a)g Fm(posix)g Fu(sp)s(ecial)h(builtin)f(returns)f
-(an)h(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e(exits.)39
-b(The)24 b(fatal)330 3484 y(errors)30 b(are)h(those)f(listed)h(in)f
-(the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g(lik)m(e)i
-(passing)e(incorrect)330 3593 y(options,)43 b(redirection)d(errors,)i
-(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i
-(preceding)f(the)330 3703 y(command)30 b(name,)h(and)f(so)g(on.)154
-3833 y(35.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e
-(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g
-(error)e(o)s(ccurs)330 3943 y(when)38 b(no)h(command)g(name)g(follo)m
-(ws)i(the)e(assignmen)m(t)h(statemen)m(ts.)69 b(A)39
-b(v)-5 b(ariable)40 b(assignmen)m(t)330 4052 y(error)30
-b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g(assign)f(a)h(v)-5
-b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 4182
-y(36.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h
-(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g(error)e
-(o)s(ccurs)330 4292 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
-(preceding)e(a)h(sp)s(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f
-(other)h(simple)330 4402 y(command.)38 b(F)-8 b(or)23
-b(an)m(y)g(other)g(simple)g(command,)h(the)f(shell)g(ab)s(orts)f
-(execution)i(of)f(that)g(command,)330 4511 y(and)44 b(execution)i(con)m
-(tin)m(ues)g(at)g(the)f(top)g(lev)m(el)h(\()p Ft(")p
-Fu(the)f(shell)h(shall)f(not)g(p)s(erform)e(an)m(y)i(further)330
-4621 y(pro)s(cessing)30 b(of)h(the)f(command)g(in)g(whic)m(h)h(the)f
-(error)g(o)s(ccurred)p Ft(")p Fu(\).)154 4751 y(37.)61
-b(A)43 b(non-in)m(teractiv)m(e)i(shell)e(exits)h(with)f(an)f(error)h
-(status)g(if)g(the)g(iteration)h(v)-5 b(ariable)44 b(in)f(a)g
-Ft(for)330 4861 y Fu(statemen)m(t)30 b(or)f(the)g(selection)h(v)-5
-b(ariable)30 b(in)e(a)h Ft(select)e Fu(statemen)m(t)k(is)d(a)h
-(readonly)g(v)-5 b(ariable)30 b(or)e(has)330 4970 y(an)i(in)m(v)-5
-b(alid)31 b(name.)154 5100 y(38.)61 b(Non-in)m(teractiv)m(e)34
-b(shells)c(exit)h(if)g Fr(\014lename)k Fu(in)30 b Ft(.)g
-Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154 5230 y(39.)61
-b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f(a)h(syn)
-m(tax)g(error)f(in)g(a)h(script)f(read)g(with)h(the)f
-Ft(.)g Fu(or)h Ft(source)330 5340 y Fu(builtins,)30 b(or)g(in)g(a)h
-(string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)p
-eop end
-%%Page: 118 124
-TeXDict begin 118 123 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(118)154 299 y(40.)61
-b(Non-in)m(teractiv)m(e)33 b(shells)d(exit)g(if)g(the)f
-Ft(export)p Fu(,)g Ft(readonly)e Fu(or)j Ft(unset)e Fu(builtin)h
-(commands)g(get)i(an)330 408 y(argumen)m(t)j(that)f(is)g(not)h(a)f(v)-5
-b(alid)34 b(iden)m(ti\014er,)g(and)e(they)i(are)f(not)g(op)s(erating)h
-(on)f(shell)g(functions.)330 518 y(These)d(errors)g(force)h(an)f(exit)h
-(b)s(ecause)g(these)g(are)f(sp)s(ecial)h(builtins.)154
-653 y(41.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e
-Fm(posix)f Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f
-(en)m(vironmen)m(t)330 763 y(after)31 b(the)f(builtin)g(completes.)154
-898 y(42.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s(es)g(not)h(prev)
-m(en)m(t)f(builtins)g(that)h(tak)m(e)h(assignmen)m(t)f(statemen)m(ts)h
-(as)f(ar-)330 1008 y(gumen)m(ts)40 b(from)e(expanding)h(them)g(as)h
-(assignmen)m(t)g(statemen)m(ts;)46 b(when)38 b(not)i(in)f
-Fm(posix)f Fu(mo)s(de,)330 1118 y(declaration)29 b(commands)d(lose)i
-(their)g(assignmen)m(t)g(statemen)m(t)h(expansion)e(prop)s(erties)f
-(when)g(pre-)330 1227 y(ceded)31 b(b)m(y)f Ft(command)p
-Fu(.)154 1363 y(43.)61 b(Enabling)21 b Fm(posix)g Fu(mo)s(de)g(has)g
-(the)g(e\013ect)i(of)e(setting)i(the)e Ft(inherit_errexit)d
-Fu(option,)23 b(so)f(subshells)330 1472 y(spa)m(wned)27
-b(to)i(execute)g(command)e(substitutions)h(inherit)f(the)h(v)-5
-b(alue)28 b(of)g(the)g Ft(-e)f Fu(option)h(from)g(the)330
-1582 y(paren)m(t)37 b(shell.)62 b(When)37 b(the)g Ft(inherit_errexit)c
-Fu(option)38 b(is)f(not)h(enabled,)h(Bash)e(clears)h(the)g
-Ft(-e)330 1691 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154
-1827 y(44.)61 b(Enabling)32 b Fm(posix)f Fu(mo)s(de)h(has)g(the)h
-(e\013ect)g(of)g(setting)g(the)g Ft(shift_verbose)28
-b Fu(option,)34 b(so)e(n)m(umeric)330 1936 y(argumen)m(ts)f(to)g
-Ft(shift)f Fu(that)h(exceed)h(the)e(n)m(um)m(b)s(er)g(of)h(p)s
-(ositional)g(parameters)g(will)g(result)g(in)f(an)330
-2046 y(error)g(message.)154 2181 y(45.)61 b(Enabling)29
-b Fm(posix)g Fu(mo)s(de)g(has)g(the)h(e\013ect)h(of)e(setting)i(the)e
-Ft(interactive_comments)24 b Fu(option)30 b(\(see)330
-2291 y(Section)h(3.1.3)h([Commen)m(ts],)g(page)f(9\).)154
-2426 y(46.)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 2536 y(if)30
-b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g Ft(PATH)p
-Fu(.)154 2671 y(47.)61 b(When)43 b(the)g Ft(alias)f Fu(builtin)g
-(displa)m(ys)i(alias)g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m
-(y)h(them)f(with)g(a)330 2781 y(leading)31 b(`)p Ft(alias)e
-Fu(')i(unless)f(the)g Ft(-p)g Fu(option)h(is)f(supplied.)154
-2916 y(48.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h(required)f
-(format)h(to)g(describ)s(e)f(eac)m(h)i(job)e(placed)h(in)f(the)h(bac)m
-(kground,)330 3026 y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g
-(indication)h(of)f(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e(or)h
-(previous)g(job.)154 3161 y(49.)61 b(When)35 b(the)h
-Ft(cd)e Fu(builtin)h(is)h(in)m(v)m(ok)m(ed)g(in)f(logical)j(mo)s(de,)e
-(and)f(the)h(pathname)f(constructed)g(from)330 3271 y
-Ft($PWD)i Fu(and)h(the)h(directory)f(name)h(supplied)e(as)i(an)f
-(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g(an)f(existing)330
-3380 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f
-(falling)h(bac)m(k)h(to)f(ph)m(ysical)g(mo)s(de.)154
-3516 y(50.)61 b(When)37 b(the)h Ft(cd)f Fu(builtin)g(cannot)h(c)m
-(hange)h(a)f(directory)g(b)s(ecause)g(the)g(length)g(of)f(the)h
-(pathname)330 3625 y(constructed)27 b(from)g Ft($PWD)f
-Fu(and)h(the)g(directory)h(name)f(supplied)f(as)i(an)f(argumen)m(t)g
-(exceeds)h Ft(PATH_)330 3735 y(MAX)h Fu(when)h(canonicalized,)j
-Ft(cd)c Fu(will)i(attempt)h(to)f(use)f(the)g(supplied)f(directory)i
-(name.)154 3870 y(51.)61 b(When)41 b(the)g Ft(xpg_echo)e
-Fu(option)i(is)g(enabled,)j(Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m
-(terpret)f(an)m(y)h(ar-)330 3980 y(gumen)m(ts)i(to)g
-Ft(echo)e Fu(as)i(options.)81 b Ft(echo)42 b Fu(displa)m(ys)h(eac)m(h)i
-(argumen)m(t)f(after)g(con)m(v)m(erting)h(escap)s(e)330
-4089 y(sequences.)154 4225 y(52.)61 b(The)38 b Ft(export)f
-Fu(and)g Ft(readonly)f Fu(builtin)i(commands)g(displa)m(y)h(their)f
-(output)g(in)g(the)h(format)g(re-)330 4334 y(quired)30
-b(b)m(y)g Fm(posix)p Fu(.)154 4470 y(53.)61 b(When)35
-b(listing)g(the)g(history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s
-(es)g(not)h(include)g(an)f(indication)i(of)f(whether)f(or)330
-4579 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)
-154 4715 y(54.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
-Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 4850 y(55.)61 b Ft(fc)30
-b Fu(treats)h(extra)g(argumen)m(ts)g(as)f(an)h(error)f(instead)g(of)h
-(ignoring)g(them.)154 4985 y(56.)61 b(If)38 b(there)h(are)g(to)s(o)g
-(man)m(y)g(argumen)m(ts)g(supplied)e(to)i Ft(fc)30 b(-s)p
-Fu(,)40 b Ft(fc)e Fu(prin)m(ts)g(an)h(error)f(message)i(and)330
-5095 y(returns)29 b(failure.)154 5230 y(57.)61 b(The)23
-b(output)f(of)i(`)p Ft(kill)29 b(-l)p Fu(')23 b(prin)m(ts)f(all)i(the)g
-(signal)f(names)g(on)g(a)h(single)g(line,)h(separated)e(b)m(y)g
-(spaces,)330 5340 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)p
-eop end
-%%Page: 119 125
-TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(119)154 299 y(58.)61
-b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)h(signal)f
-(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-436 y(59.)61 b(The)33 b Ft(printf)f Fu(builtin)i(uses)f
-Ft(double)f Fu(\(via)j Ft(strtod)p Fu(\))d(to)j(con)m(v)m(ert)g
-(argumen)m(ts)f(corresp)s(onding)f(to)330 545 y(\015oating)40
-b(p)s(oin)m(t)f(con)m(v)m(ersion)h(sp)s(eci\014ers,)h(instead)e(of)g
-Ft(long)29 b(double)38 b Fu(if)h(it's)g(a)m(v)-5 b(ailable.)69
-b(The)39 b(`)p Ft(L)p Fu(')330 655 y(length)31 b(mo)s(di\014er)e
-(forces)i Ft(printf)e Fu(to)i(use)f Ft(long)f(double)g
-Fu(if)h(it's)h(a)m(v)-5 b(ailable.)154 792 y(60.)61 b(The)36
-b Ft(pwd)f Fu(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5
-b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f
-(directory)-8 b(,)330 902 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m(ed)
-h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h
-Ft(-P)e Fu(option.)154 1039 y(61.)61 b(The)27 b Ft(read)f
-Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m(terrupted)h(b)m(y)g(a)h(signal)f
-(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s(een)f(set.)40
-b(If)27 b(Bash)330 1148 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i
-(while)f(executing)h Ft(read)p Fu(,)h(the)e(trap)h(handler)e(executes)i
-(and)f Ft(read)330 1258 y Fu(returns)29 b(an)h(exit)i(status)e(greater)
-i(than)e(128.)154 1395 y(62.)61 b(When)40 b(the)g Ft(set)f
-Fu(builtin)h(is)g(in)m(v)m(ok)m(ed)h(without)f(options,)j(it)e(do)s(es)
-f(not)g(displa)m(y)g(shell)g(function)330 1504 y(names)30
-b(and)g(de\014nitions.)154 1641 y(63.)61 b(When)36 b(the)g
-Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok)m(ed)i(without)e(options,)i(it)f
-(displa)m(ys)f(v)-5 b(ariable)37 b(v)-5 b(alues)37 b(without)330
-1751 y(quotes,)26 b(unless)d(they)i(con)m(tain)g(shell)f(metac)m
-(haracters,)k(ev)m(en)d(if)f(the)g(result)g(con)m(tains)i(nonprin)m
-(ting)330 1861 y(c)m(haracters.)154 1998 y(64.)61 b(The)26
-b Ft(test)g Fu(builtin)g(compares)h(strings)g(using)f(the)h(curren)m(t)
-g(lo)s(cale)h(when)e(ev)-5 b(aluating)29 b(the)e(`)p
-Ft(<)p Fu(')g(and)330 2107 y(`)p Ft(>)p Fu(')k(binary)e(op)s(erators.)
-154 2244 y(65.)61 b(The)27 b Ft(test)f Fu(builtin's)g
-Ft(-t)h Fu(unary)f(primary)g(requires)h(an)g(argumen)m(t.)40
-b(Historical)29 b(v)m(ersions)f(of)f Ft(test)330 2354
-y Fu(made)c(the)h(argumen)m(t)g(optional)h(in)e(certain)h(cases,)i(and)
-d(Bash)h(attempts)g(to)g(accommo)s(date)h(those)330 2463
-y(for)30 b(bac)m(kw)m(ards)h(compatibilit)m(y)-8 b(.)154
-2600 y(66.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g(signal)i
-(names)e(without)g(the)h(leading)g Ft(SIG)p Fu(.)154
-2737 y(67.)61 b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g(c)m(hec)m
-(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e(signal)i(sp)
-s(eci\014cation)330 2847 y(and)30 b(rev)m(ert)i(the)e(signal)i
-(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g(is,)g
-(unless)f(that)h(argumen)m(t)330 2956 y(consists)e(solely)g(of)g
-(digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38
-b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
-3066 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 3203 y(68.)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 3203 28 4 v 40
-w(DFL)h(and)330 3313 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
-3450 y(69.)61 b(The)37 b Ft(type)g Fu(and)g Ft(command)f
-Fu(builtins)i(will)g(not)g(rep)s(ort)f(a)i(non-executable)g(\014le)f
-(as)g(ha)m(ving)h(b)s(een)330 3559 y(found,)26 b(though)h(the)g(shell)g
-(will)g(attempt)h(to)g(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g
-(the)g(only)g(so-named)g(\014le)330 3669 y(found)i(in)h
-Ft($PATH)p Fu(.)154 3806 y(70.)61 b(The)30 b Ft(ulimit)f
-Fu(builtin)g(uses)h(a)h(blo)s(c)m(k)g(size)g(of)g(512)g(b)m(ytes)g(for)
-f(the)h Ft(-c)f Fu(and)g Ft(-f)f Fu(options.)154 3943
-y(71.)61 b(The)35 b Ft(unset)e Fu(builtin)i(with)g(the)g
-Ft(-v)f Fu(option)i(sp)s(eci\014ed)e(returns)g(a)i(fatal)g(error)f(if)g
-(it)g(attempts)h(to)330 4052 y(unset)29 b(a)g Ft(readonly)e
-Fu(or)i Ft(non-unsettable)c Fu(v)-5 b(ariable,)30 b(whic)m(h)f(causes)h
-(a)f(non-in)m(teractiv)m(e)j(shell)d(to)330 4162 y(exit.)154
-4299 y(72.)61 b(When)39 b(ask)m(ed)g(to)g(unset)g(a)g(v)-5
-b(ariable)39 b(that)h(app)s(ears)e(in)g(an)h(assignmen)m(t)g(statemen)m
-(t)i(preceding)330 4408 y(the)30 b(command,)f(the)h Ft(unset)e
-Fu(builtin)h(attempts)i(to)f(unset)f(a)h(v)-5 b(ariable)31
-b(of)e(the)h(same)g(name)g(in)f(the)330 4518 y(curren)m(t)24
-b(or)g(previous)g(scop)s(e)g(as)g(w)m(ell.)40 b(This)23
-b(implemen)m(ts)i(the)f(required)f Ft(")p Fu(if)h(an)g(assigned)g(v)-5
-b(ariable)330 4628 y(is)34 b(further)e(mo)s(di\014ed)g(b)m(y)i(the)g
-(utilit)m(y)-8 b(,)36 b(the)e(mo)s(di\014cations)g(made)g(b)m(y)f(the)h
-(utilit)m(y)h(shall)f(p)s(ersist)p Ft(")330 4737 y Fu(b)s(eha)m(vior.)
-154 4874 y(73.)61 b(The)39 b(arriv)-5 b(al)41 b(of)f
-Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h(on)f Ft(SIGCHLD)e
-Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g Ft(wait)330 4984
-y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f(immediately)-8
-b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j(for)f(eac)m(h)330
-5093 y(c)m(hild)31 b(that)g(exits.)154 5230 y(74.)61
-b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e(pro)s(cess's)
-h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h(after)330
-5340 y(the)k Ft(wait)e Fu(builtin)h(returns)f(it.)p eop
-end
-%%Page: 120 126
-TeXDict begin 120 125 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(120)275 299 y(There)34
-b(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h(that)g(Bash)g(do)s(es)f
-(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)150
-408 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199
-540 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i
-Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
-(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 650 y(rather)g(than)g(defaulting)h
-(directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g
-Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 781 y(2.)61
-b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
-Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
-Ft(echo)f Fu(builtin)330 891 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-1044 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
-Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g(default,)h(b)m(y)f(sp)s
-(ecifying)g(the)g Ft(--enable-)150 1154 y(strict-posix-default)c
-Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g
-([Optional)g(F)-8 b(eatures],)150 1263 y(page)31 b(175\).)150
-1498 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
-1658 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
-Fr(shell)g(compatibilit)m(y)i(lev)m(el)p Fu(,)g(sp)s(eci\014ed)d(as)h
-(a)g(set)h(of)f(options)150 1767 y(to)f(the)f(shopt)g(builtin)g(\()p
-Ft(compat31)p Fu(,)e Ft(compat32)p Fu(,)h Ft(compat40)p
-Fu(,)f Ft(compat41)p Fu(,)g(and)i(so)g(on\).)41 b(There)30
-b(is)g(only)150 1877 y(one)f(curren)m(t)f(compatibilit)m(y)j(lev)m(el)f
-({)f(eac)m(h)h(option)f(is)g(m)m(utually)g(exclusiv)m(e.)41
-b(The)28 b(compatibilit)m(y)j(lev)m(el)150 1986 y(is)39
-b(in)m(tended)g(to)h(allo)m(w)g(users)e(to)i(select)h(b)s(eha)m(vior)e
-(from)f(previous)h(v)m(ersions)g(that)h(is)f(incompatible)150
-2096 y(with)d(new)m(er)g(v)m(ersions)g(while)g(they)g(migrate)h
-(scripts)f(to)h(use)f(curren)m(t)f(features)i(and)e(b)s(eha)m(vior.)58
-b(It's)150 2206 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
-(solution.)275 2337 y(This)k(section)j(do)s(es)e(not)h(men)m(tion)g(b)s
-(eha)m(vior)g(that)g(is)f(standard)g(for)g(a)h(particular)g(v)m(ersion)
-g(\(e.g.,)150 2447 y(setting)d Ft(compat32)c Fu(means)i(that)h(quoting)
-g(the)g(righ)m(t)g(hand)e(side)h(of)h(the)f(regexp)h(matc)m(hing)h(op)s
-(erator)150 2556 y(quotes)42 b(sp)s(ecial)f(regexp)h(c)m(haracters)g
-(in)f(the)g(w)m(ord,)j(whic)m(h)c(is)i(default)f(b)s(eha)m(vior)g(in)g
-(bash-3.2)h(and)150 2666 y(subsequen)m(t)30 b(v)m(ersions\).)275
-2797 y(If)f(a)h(user)f(enables,)h(sa)m(y)-8 b(,)31 b
-Ft(compat32)p Fu(,)d(it)i(ma)m(y)g(a\013ect)h(the)f(b)s(eha)m(vior)g
-(of)g(other)g(compatibilit)m(y)h(lev)m(els)150 2907 y(up)23
-b(to)h(and)f(including)h(the)g(curren)m(t)f(compatibilit)m(y)j(lev)m
-(el.)41 b(The)23 b(idea)h(is)g(that)g(eac)m(h)h(compatibilit)m(y)h(lev)
-m(el)150 3017 y(con)m(trols)35 b(b)s(eha)m(vior)f(that)g(c)m(hanged)g
-(in)f(that)h(v)m(ersion)g(of)g(Bash,)h(but)e(that)h(b)s(eha)m(vior)g
-(ma)m(y)g(ha)m(v)m(e)h(b)s(een)150 3126 y(presen)m(t)f(in)g(earlier)g
-(v)m(ersions.)52 b(F)-8 b(or)35 b(instance,)g(the)f(c)m(hange)h(to)g
-(use)f(lo)s(cale-based)h(comparisons)f(with)150 3236
-y(the)e Ft([[)f Fu(command)g(came)h(in)g(bash-4.1,)h(and)d(earlier)j(v)
-m(ersions)f(used)f(ASCI)s(I-based)f(comparisons,)i(so)150
-3345 y(enabling)27 b Ft(compat32)e Fu(will)i(enable)g(ASCI)s(I-based)e
-(comparisons)i(as)g(w)m(ell.)41 b(That)26 b(gran)m(ularit)m(y)i(ma)m(y)
-g(not)150 3455 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)
-g(a)g(result)g(users)f(should)g(emplo)m(y)i(compatibilit)m(y)h(lev)m
-(els)g(carefully)-8 b(.)150 3564 y(Read)31 b(the)f(do)s(cumen)m(tation)
-h(for)g(a)f(particular)h(feature)g(to)g(\014nd)e(out)h(the)h(curren)m
-(t)f(b)s(eha)m(vior.)275 3696 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h
-(new)f(shell)h(v)-5 b(ariable:)65 b Ft(BASH_COMPAT)p
-Fu(.)75 b(The)42 b(v)-5 b(alue)43 b(assigned)g(to)g(this)150
-3806 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s
-(er)f(lik)m(e)j(4.2,)g(or)e(an)h(in)m(teger)g(corresp)s(onding)f(to)h
-(the)f Ft(compat)p Fr(NN)150 3915 y Fu(option,)g(lik)m(e)h(42\))f
-(determines)g(the)f(compatibilit)m(y)j(lev)m(el.)275
-4047 y(Starting)h(with)g(bash-4.4,)i(Bash)f(b)s(egan)f(deprecating)h
-(older)f(compatibilit)m(y)j(lev)m(els.)54 b(Ev)m(en)m(tually)-8
-b(,)150 4156 y(the)31 b(options)f(will)h(b)s(e)f(remo)m(v)m(ed)h(in)f
-(fa)m(v)m(or)i(of)e Ft(BASH_COMPAT)p Fu(.)275 4288 y(Bash-5.0)39
-b(w)m(as)f(the)g(\014nal)g(v)m(ersion)g(for)g(whic)m(h)f(there)h(w)m
-(as)g(an)g(individual)f(shopt)h(option)g(for)g(the)150
-4397 y(previous)31 b(v)m(ersion.)43 b Ft(BASH_COMPAT)29
-b Fu(is)i(the)g(only)g(mec)m(hanism)h(to)g(con)m(trol)h(the)e
-(compatibilit)m(y)i(lev)m(el)g(in)150 4507 y(v)m(ersions)e(new)m(er)f
-(than)g(bash-5.0.)275 4639 y(The)24 b(follo)m(wing)i(table)g(describ)s
-(es)e(the)i(b)s(eha)m(vior)f(c)m(hanges)h(con)m(trolled)g(b)m(y)f(eac)m
-(h)h(compatibilit)m(y)h(lev)m(el)150 4748 y(setting.)43
-b(The)30 b Ft(compat)p Fr(NN)39 b Fu(tag)32 b(is)f(used)f(as)h
-(shorthand)e(for)h(setting)i(the)f(compatibilit)m(y)i(lev)m(el)f(to)g
-Fr(NN)150 4858 y Fu(using)37 b(one)h(of)g(the)g(follo)m(wing)h(mec)m
-(hanisms.)63 b(F)-8 b(or)39 b(v)m(ersions)f(prior)f(to)h(bash-5.0,)j
-(the)d(compatibilit)m(y)150 4967 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i
-(using)e(the)i(corresp)s(onding)e Ft(compat)p Fr(NN)41
-b Fu(shopt)33 b(option.)50 b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)150
-5077 y(v)m(ersions,)40 b(the)e Ft(BASH_COMPAT)d Fu(v)-5
-b(ariable)39 b(is)e(preferred,)i(and)e(it)i(is)f(required)f(for)g
-(bash-5.1)i(and)e(later)150 5187 y(v)m(ersions.)150 5340
-y Ft(compat31)p eop end
-%%Page: 121 127
-TeXDict begin 121 126 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(121)705 299 y Fq(\017)60
-b Fu(Quoting)32 b(the)f(rhs)g(of)g(the)h Ft([[)e Fu(command's)i(regexp)
-f(matc)m(hing)i(op)s(erator)f(\(=)p Ft(~)p Fu(\))f(has)810
-408 y(no)f(sp)s(ecial)h(e\013ect)150 558 y Ft(compat40)705
-687 y Fq(\017)60 b Fu(The)32 b(`)p Ft(<)p Fu(')g(and)g(`)p
-Ft(>)p Fu(')g(op)s(erators)h(to)g(the)f Ft([[)g Fu(command)g(do)g(not)g
-(consider)h(the)f(curren)m(t)810 797 y(lo)s(cale)41 b(when)d(comparing)
-i(strings;)k(they)c(use)f(ASCI)s(I)f(ordering.)67 b(Bash)40
-b(v)m(ersions)810 907 y(prior)f(to)i(bash-4.1)f(use)g(ASCI)s(I)e
-(collation)k(and)d(strcmp\(3\);)45 b(bash-4.1)c(and)e(later)810
-1016 y(use)30 b(the)h(curren)m(t)f(lo)s(cale's)i(collation)h(sequence)d
-(and)g(strcoll\(3\).)150 1166 y Ft(compat41)705 1295
-y Fq(\017)60 b Fu(In)28 b(p)s(osix)g(mo)s(de,)h Ft(time)e
-Fu(ma)m(y)i(b)s(e)f(follo)m(w)m(ed)i(b)m(y)f(options)g(and)e(still)j(b)
-s(e)e(recognized)i(as)810 1405 y(a)h(reserv)m(ed)f(w)m(ord)g(\(this)h
-(is)f Fm(posix)g Fu(in)m(terpretation)i(267\).)705 1534
-y Fq(\017)60 b Fu(In)36 b(p)s(osix)f(mo)s(de,)j(the)e(parser)g
-(requires)g(that)h(an)f(ev)m(en)h(n)m(um)m(b)s(er)e(of)h(single)h
-(quotes)810 1644 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i
-Fu(p)s(ortion)d(of)h(a)g(double-quoted)f($)p Fi({)6 b
-Fu(.)23 b(.)f(.)11 b Fi(})29 b Fu(parameter)g(expansion)810
-1753 y(and)34 b(treats)h(them)f(sp)s(ecially)-8 b(,)37
-b(so)e(that)g(c)m(haracters)g(within)f(the)h(single)g(quotes)g(are)810
-1863 y(considered)30 b(quoted)h(\(this)f(is)h Fm(posix)e
-Fu(in)m(terpretation)j(221\).)150 2012 y Ft(compat42)705
-2142 y Fq(\017)60 b Fu(The)45 b(replacemen)m(t)i(string)f(in)f
-(double-quoted)h(pattern)f(substitution)g(do)s(es)h(not)810
-2252 y(undergo)30 b(quote)h(remo)m(v)-5 b(al,)32 b(as)e(it)h(do)s(es)f
-(in)g(v)m(ersions)h(after)g(bash-4.2.)705 2381 y Fq(\017)60
-b Fu(In)38 b(p)s(osix)g(mo)s(de,)j(single)e(quotes)h(are)f(considered)f
-(sp)s(ecial)i(when)d(expanding)i(the)810 2491 y Fr(w)m(ord)d
-Fu(p)s(ortion)c(of)g(a)h(double-quoted)g($)p Fi({)6 b
-Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(parameter)g(expansion)f(and)g(can)h
-(b)s(e)810 2600 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f(or)g
-(other)h(sp)s(ecial)f(c)m(haracter)i(\(this)e(is)g(part)g(of)810
-2710 y Fm(posix)36 b Fu(in)m(terpretation)h(221\);)42
-b(in)36 b(later)h(v)m(ersions,)h(single)f(quotes)g(are)g(not)f(sp)s
-(ecial)810 2819 y(within)30 b(double-quoted)g(w)m(ord)g(expansions.)150
-2969 y Ft(compat43)705 3098 y Fq(\017)60 b Fu(W)-8 b(ord)32
-b(expansion)g(errors)g(are)g(considered)g(non-fatal)h(errors)e(that)i
-(cause)f(the)g(cur-)810 3208 y(ren)m(t)c(command)g(to)h(fail,)h(ev)m
-(en)f(in)e(p)s(osix)h(mo)s(de)g(\(the)g(default)h(b)s(eha)m(vior)f(is)g
-(to)h(mak)m(e)810 3318 y(them)h(fatal)i(errors)e(that)h(cause)g(the)f
-(shell)h(to)g(exit\).)705 3447 y Fq(\017)60 b Fu(When)36
-b(executing)h(a)f(shell)g(function,)h(the)f(lo)s(op)g(state)h
-(\(while/un)m(til/etc.\))61 b(is)36 b(not)810 3557 y(reset,)e(so)g
-Ft(break)d Fu(or)i Ft(continue)e Fu(in)h(that)i(function)f(will)g
-(break)g(or)g(con)m(tin)m(ue)h(lo)s(ops)810 3666 y(in)h(the)g(calling)h
-(con)m(text.)57 b(Bash-4.4)37 b(and)d(later)i(reset)g(the)f(lo)s(op)g
-(state)i(to)e(prev)m(en)m(t)810 3776 y(this.)150 3925
-y Ft(compat44)705 4055 y Fq(\017)60 b Fu(The)38 b(shell)g(sets)g(up)g
-(the)g(v)-5 b(alues)38 b(used)g(b)m(y)g Ft(BASH_ARGV)d
-Fu(and)j Ft(BASH_ARGC)d Fu(so)k(they)810 4164 y(can)26
-b(expand)f(to)h(the)g(shell's)g(p)s(ositional)g(parameters)g(ev)m(en)h
-(if)e(extended)h(debugging)810 4274 y(mo)s(de)k(is)g(not)h(enabled.)705
-4403 y Fq(\017)60 b Fu(A)38 b(subshell)f(inherits)g(lo)s(ops)h(from)f
-(its)h(paren)m(t)g(con)m(text,)k(so)c Ft(break)e Fu(or)i
-Ft(continue)810 4513 y Fu(will)d(cause)g(the)f(subshell)f(to)i(exit.)54
-b(Bash-5.0)36 b(and)d(later)j(reset)f(the)f(lo)s(op)h(state)g(to)810
-4623 y(prev)m(en)m(t)c(the)g(exit.)705 4752 y Fq(\017)60
-b Fu(V)-8 b(ariable)27 b(assignmen)m(ts)g(preceding)e(builtins)g(lik)m
-(e)i Ft(export)d Fu(and)i Ft(readonly)d Fu(that)j(set)810
-4862 y(attributes)37 b(con)m(tin)m(ue)h(to)g(a\013ect)g(v)-5
-b(ariables)37 b(with)g(the)f(same)h(name)g(in)g(the)f(calling)810
-4971 y(en)m(vironmen)m(t)31 b(ev)m(en)g(if)f(the)h(shell)g(is)f(not)h
-(in)f(p)s(osix)f(mo)s(de.)150 5121 y Ft(compat50)f(\(set)h(using)g
-(BASH_COMPAT\))705 5230 y Fq(\017)60 b Fu(Bash-5.1)29
-b(c)m(hanged)g(the)f(w)m(a)m(y)g Ft($RANDOM)e Fu(is)i(generated)h(to)f
-(in)m(tro)s(duce)g(sligh)m(tly)h(more)810 5340 y(randomness.)39
-b(If)30 b(the)f(shell)h(compatibilit)m(y)i(lev)m(el)f(is)f(set)g(to)h
-(50)f(or)g(lo)m(w)m(er,)h(it)f(rev)m(erts)p eop end
-%%Page: 122 128
-TeXDict begin 122 127 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(122)810 299 y(to)28
-b(the)g(metho)s(d)f(from)g(bash-5.0)h(and)f(previous)g(v)m(ersions,)i
-(so)e(seeding)h(the)g(random)810 408 y(n)m(um)m(b)s(er)36
-b(generator)j(b)m(y)e(assigning)h(a)g(v)-5 b(alue)38
-b(to)g Ft(RANDOM)e Fu(will)i(pro)s(duce)e(the)i(same)810
-518 y(sequence)31 b(as)f(in)g(bash-5.0.)705 653 y Fq(\017)60
-b Fu(If)22 b(the)g(command)g(hash)f(table)i(is)f(empt)m(y)-8
-b(,)25 b(Bash)d(v)m(ersions)g(prior)g(to)h(bash-5.1)f(prin)m(ted)810
-762 y(an)29 b(informational)i(message)g(to)f(that)g(e\013ect,)h(ev)m
-(en)g(when)d(pro)s(ducing)g(output)h(that)810 872 y(can)40
-b(b)s(e)g(reused)f(as)h(input.)69 b(Bash-5.1)42 b(suppresses)c(that)j
-(message)g(when)e(the)i Ft(-l)810 981 y Fu(option)31
-b(is)f(supplied.)150 1141 y Ft(compat51)e(\(set)h(using)g
-(BASH_COMPAT\))705 1250 y Fq(\017)60 b Fu(The)38 b Ft(unset)g
-Fu(builtin)g(will)h(unset)f(the)h(arra)m(y)g Ft(a)g Fu(giv)m(en)g(an)g
-(argumen)m(t)g(lik)m(e)h(`)p Ft(a[@])p Fu('.)810 1360
-y(Bash-5.2)32 b(will)f(unset)f(an)g(elemen)m(t)i(with)e(k)m(ey)i(`)p
-Ft(@)p Fu(')e(\(asso)s(ciativ)m(e)k(arra)m(ys\))d(or)f(remo)m(v)m(e)810
-1469 y(all)h(the)g(elemen)m(ts)h(without)e(unsetting)g(the)h(arra)m(y)g
-(\(indexed)f(arra)m(ys\).)705 1604 y Fq(\017)60 b Fu(Arithmetic)31
-b(commands)f(\()h(\(\()6 b(.)23 b(.)f(.)11 b(\)\))31
-b(\))g(and)f(the)g(expressions)g(in)g(an)h(arithmetic)g(for)810
-1714 y(statemen)m(t)h(can)f(b)s(e)f(expanded)f(more)i(than)f(once.)705
-1848 y Fq(\017)60 b Fu(Expressions)20 b(used)f(as)i(argumen)m(ts)g(to)g
-(arithmetic)h(op)s(erators)f(in)f(the)h Ft([[)f Fu(conditional)810
-1958 y(command)30 b(can)h(b)s(e)f(expanded)f(more)i(than)f(once.)705
-2092 y Fq(\017)60 b Fu(The)31 b(expressions)g(in)h(substring)e
-(parameter)i(brace)g(expansion)g(can)g(b)s(e)f(expanded)810
-2202 y(more)g(than)f(once.)705 2336 y Fq(\017)60 b Fu(The)35
-b(expressions)g(in)g(the)h($\(\()42 b(.)22 b(.)g(.)47
-b(\)\))36 b(w)m(ord)f(expansion)h(can)f(b)s(e)g(expanded)g(more)810
-2446 y(than)30 b(once.)705 2580 y Fq(\017)60 b Fu(Arithmetic)33
-b(expressions)f(used)g(as)h(indexed)e(arra)m(y)i(subscripts)e(can)i(b)s
-(e)f(expanded)810 2690 y(more)f(than)f(once.)705 2824
-y Fq(\017)60 b Ft(test)29 b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g
-(argumen)m(t)g(of)f(`)p Ft(A[@])p Fu(',)h(where)f Fr(A)h
-Fu(is)f(an)h(existing)g(asso-)810 2934 y(ciativ)m(e)h(arra)m(y)-8
-b(,)37 b(will)d(return)f(true)g(if)h(the)h(arra)m(y)f(has)g(an)m(y)g
-(set)g(elemen)m(ts.)53 b(Bash-5.2)810 3044 y(will)31
-b(lo)s(ok)g(for)f(and)g(rep)s(ort)f(on)i(a)f(k)m(ey)i(named)d(`)p
-Ft(@)p Fu('.)705 3178 y Fq(\017)60 b Fu(the)40 b($)p
-Fi({)p Fr(parameter)7 b Fu([:]=)p Fr(v)-5 b(alue)5 b
-Fi(})42 b Fu(w)m(ord)e(expansion)f(will)i(return)d Fr(v)-5
-b(alue)p Fu(,)43 b(b)s(efore)d(an)m(y)810 3288 y(v)-5
-b(ariable-sp)s(eci\014c)34 b(transformations)f(ha)m(v)m(e)h(b)s(een)e
-(p)s(erformed)f(\(e.g.,)36 b(con)m(v)m(erting)e(to)810
-3397 y(lo)m(w)m(ercase\).)43 b(Bash-5.2)32 b(will)f(return)e(the)i
-(\014nal)f(v)-5 b(alue)31 b(assigned)f(to)i(the)e(v)-5
-b(ariable.)705 3532 y Fq(\017)60 b Fu(P)m(arsing)40 b(command)f
-(substitutions)f(will)i(b)s(eha)m(v)m(e)g(as)f(if)g(extended)g
-(globbing)h(\(see)810 3641 y(Section)e(4.3.2)g([The)f(Shopt)f
-(Builtin],)j(page)f(77\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
-3751 y(command)24 b(substitution)g(con)m(taining)h(an)f(extglob)i
-(pattern)e(\(sa)m(y)-8 b(,)27 b(as)d(part)g(of)g(a)h(shell)810
-3861 y(function\))30 b(will)h(not)g(fail.)41 b(This)30
-b(assumes)g(the)h(in)m(ten)m(t)g(is)g(to)g(enable)g(extglob)g(b)s
-(efore)810 3970 y(the)i(command)f(is)g(executed)h(and)f(w)m(ord)g
-(expansions)g(are)h(p)s(erformed.)45 b(It)33 b(will)f(fail)810
-4080 y(at)42 b(w)m(ord)f(expansion)h(time)g(if)f(extglob)i(hasn't)e(b)s
-(een)g(enabled)h(b)m(y)f(the)h(time)g(the)810 4189 y(command)30
-b(is)h(executed.)150 4349 y Ft(compat52)d(\(set)h(using)g
-(BASH_COMPAT\))705 4458 y Fq(\017)60 b Fu(The)23 b Ft(test)g
-Fu(builtin)g(uses)h(its)g(historical)h(algorithm)g(to)f(parse)g(paren)m
-(thesized)g(sub)s(ex-)810 4568 y(pressions)30 b(when)f(giv)m(en)i
-(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705 4702 y Fq(\017)60
-b Fu(If)25 b(the)h Ft(-p)f Fu(or)h Ft(-P)f Fu(option)h(is)g(supplied)e
-(to)j(the)f Ft(bind)e Fu(builtin,)i Ft(bind)f Fu(treats)i(an)m(y)f
-(argu-)810 4812 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s
-(cessing)g(as)g(bindable)f(command)h(names,)h(and)810
-4922 y(displa)m(ys)k(an)m(y)f(k)m(ey)i(sequences)f(b)s(ound)d(to)j
-(those)g(commands,)g(instead)g(of)g(treating)810 5031
-y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)g(bind.)705
-5166 y Fq(\017)60 b Fu(In)m(teractiv)m(e)41 b(shells)d(will)h(notify)g
-(the)f(user)g(of)h(completed)g(jobs)f(while)g(sourcing)h(a)810
-5275 y(script.)i(New)m(er)31 b(v)m(ersions)f(defer)g(noti\014cation)i
-(un)m(til)f(script)f(execution)i(completes.)p eop end
-%%Page: 123 129
-TeXDict begin 123 128 bop 3614 -116 a Fu(123)150 299
-y Fp(7)80 b(Job)54 b(Con)l(trol)150 551 y Fu(This)25
-b(c)m(hapter)i(discusses)f(what)g(job)f(con)m(trol)j(is,)f(ho)m(w)f(it)
-h(w)m(orks,)g(and)f(ho)m(w)g(Bash)g(allo)m(ws)h(y)m(ou)g(to)g(access)
-150 660 y(its)k(facilities.)150 910 y Fs(7.1)68 b(Job)45
-b(Con)l(trol)h(Basics)150 1069 y Fu(Job)27 b(con)m(trol)i(refers)e(to)h
-(the)g(abilit)m(y)h(to)f(selectiv)m(ely)j(stop)c(\(susp)s(end\))f(the)i
-(execution)h(of)e(pro)s(cesses)h(and)150 1179 y(con)m(tin)m(ue)38
-b(\(resume\))g(their)f(execution)h(at)g(a)g(later)g(p)s(oin)m(t.)61
-b(A)37 b(user)g(t)m(ypically)i(emplo)m(ys)f(this)f(facilit)m(y)150
-1289 y(via)27 b(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d
-(join)m(tly)h(b)m(y)g(the)h(op)s(erating)f(system)g(k)m(ernel's)h
-(terminal)f(driv)m(er)150 1398 y(and)k(Bash.)275 1539
-y(The)23 b(shell)i(asso)s(ciates)h(a)f Fr(job)h Fu(with)e(eac)m(h)i
-(pip)s(eline.)38 b(It)25 b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h
-(executing)g(jobs,)150 1648 y(whic)m(h)37 b(the)h Ft(jobs)e
-Fu(command)i(will)f(displa)m(y)-8 b(.)63 b(Eac)m(h)38
-b(job)g(has)f(a)h Fr(job)f(n)m(um)m(b)s(er)p Fu(,)h(whic)m(h)f
-Ft(jobs)g Fu(displa)m(ys)150 1758 y(b)s(et)m(w)m(een)25
-b(brac)m(k)m(ets.)40 b(Job)25 b(n)m(um)m(b)s(ers)e(start)i(at)g(1.)39
-b(When)24 b(Bash)h(starts)g(a)g(job)f(async)m(hronously)-8
-b(,)26 b(it)f(prin)m(ts)150 1867 y(a)31 b(line)f(that)h(lo)s(oks)g(lik)
-m(e:)390 2008 y Ft([1])47 b(25647)150 2148 y Fu(indicating)34
-b(that)g(this)f(job)g(is)g(job)g(n)m(um)m(b)s(er)f(1)i(and)f(that)g
-(the)h(pro)s(cess)f Fm(id)g Fu(of)g(the)h(last)g(pro)s(cess)f(in)g(the)
-150 2258 y(pip)s(eline)42 b(asso)s(ciated)i(with)e(this)g(job)g(is)h
-(25647.)78 b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g(a)h(single)g(pip)s
-(eline)f(are)150 2367 y(mem)m(b)s(ers)30 b(of)g(the)h(same)f(job.)41
-b(Bash)30 b(uses)g(the)h Fr(job)h Fu(abstraction)f(as)g(the)g(basis)f
-(for)g(job)g(con)m(trol.)275 2508 y(T)-8 b(o)37 b(facilitate)j(the)d
-(implemen)m(tation)i(of)e(the)g(user)g(in)m(terface)h(to)g(job)f(con)m
-(trol,)j(eac)m(h)f(pro)s(cess)d(has)150 2617 y(a)h Fr(pro)s(cess)e
-(group)h Fm(id)p Fu(,)i(and)d(the)i(op)s(erating)f(system)h(main)m
-(tains)g(the)f(notion)h(of)f(a)g(curren)m(t)g(terminal)150
-2727 y(pro)s(cess)28 b(group)g Fm(id)p Fu(.)41 b(Pro)s(cesses)28
-b(that)i(ha)m(v)m(e)f(the)g(same)g(pro)s(cess)g(group)f(ID)g(are)h
-(said)g(to)g(b)s(e)f(part)h(of)g(the)150 2837 y(same)38
-b Fr(pro)s(cess)f(group)p Fu(.)62 b(Mem)m(b)s(ers)38
-b(of)f(the)h(foreground)f(pro)s(cess)g(group)g(\(pro)s(cesses)h(whose)f
-(pro)s(cess)150 2946 y(group)28 b Fm(id)h Fu(is)g(equal)h(to)f(the)g
-(curren)m(t)g(terminal)g(pro)s(cess)g(group)f Fm(id)p
-Fu(\))h(receiv)m(e)i(k)m(eyb)s(oard-generated)f(sig-)150
-3056 y(nals)j(suc)m(h)g(as)g Ft(SIGINT)p Fu(.)47 b(Pro)s(cesses)33
-b(in)g(the)h(foreground)e(pro)s(cess)g(group)h(are)g(said)g(to)h(b)s(e)
-f(foreground)150 3165 y(pro)s(cesses.)50 b(Bac)m(kground)34
-b(pro)s(cesses)f(are)h(those)f(whose)h(pro)s(cess)f(group)f
-Fm(id)i Fu(di\013ers)f(from)g(the)g(termi-)150 3275 y(nal's;)c(suc)m(h)
-e(pro)s(cesses)g(are)g(imm)m(une)g(to)h(k)m(eyb)s(oard-generated)h
-(signals.)40 b(Only)27 b(foreground)f(pro)s(cesses)150
-3384 y(are)h(allo)m(w)m(ed)h(to)f(read)f(from)f(or,)j(if)e(the)g(user)g
-(so)g(sp)s(eci\014es)g(with)g Ft(stty)j(tostop)p Fu(,)c(write)i(to)g
-(the)f(terminal.)150 3494 y(Bac)m(kground)33 b(pro)s(cesses)g(whic)m(h)
-g(attempt)g(to)h(read)f(from)f(\(write)h(to)h(when)e
-Ft(tostop)f Fu(is)i(in)f(e\013ect\))j(the)150 3604 y(terminal)29
-b(are)f(sen)m(t)h(a)g Ft(SIGTTIN)d Fu(\()p Ft(SIGTTOU)p
-Fu(\))h(signal)i(b)m(y)f(the)h(k)m(ernel's)g(terminal)f(driv)m(er,)h
-(whic)m(h,)g(unless)150 3713 y(caugh)m(t,)j(susp)s(ends)c(the)i(pro)s
-(cess.)275 3854 y(If)k(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f
-(Bash)g(is)h(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m
-(tains)150 3963 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
-b(the)g Fr(susp)s(end)h Fu(c)m(haracter)h(\(t)m(ypically)g(`)p
-Ft(^Z)p Fu(',)f(Con)m(trol-Z\))g(while)f(a)g(pro)s(cess)150
-4073 y(is)40 b(running)e(stops)i(that)g(pro)s(cess)f(and)g(returns)g
-(con)m(trol)i(to)g(Bash.)69 b(T)m(yping)39 b(the)h Fr(dela)m(y)m(ed)h
-(susp)s(end)150 4182 y Fu(c)m(haracter)d(\(t)m(ypically)g(`)p
-Ft(^Y)p Fu(',)f(Con)m(trol-Y\))h(causes)e(the)g(pro)s(cess)f(to)i(stop)
-f(when)f(it)h(attempts)h(to)g(read)150 4292 y(input)28
-b(from)g(the)i(terminal,)g(and)e(returns)g(con)m(trol)i(to)g(Bash.)40
-b(The)28 b(user)h(then)f(manipulates)h(the)h(state)150
-4402 y(of)36 b(this)f(job,)i(using)e(the)g Ft(bg)g Fu(command)h(to)g
-(con)m(tin)m(ue)h(it)f(in)f(the)h(bac)m(kground,)g(the)g
-Ft(fg)f Fu(command)g(to)150 4511 y(con)m(tin)m(ue)30
-b(it)f(in)f(the)g(foreground,)g(or)h(the)f Ft(kill)g
-Fu(command)g(to)h(kill)g(it.)41 b(The)28 b(susp)s(end)d(c)m(haracter)30
-b(tak)m(es)150 4621 y(e\013ect)g(immediately)-8 b(,)31
-b(and)d(has)g(the)h(additional)h(side)e(e\013ect)i(of)f(discarding)f
-(an)m(y)h(p)s(ending)e(output)i(and)150 4730 y(t)m(yp)s(eahead.)42
-b(If)30 b(y)m(ou)h(w)m(an)m(t)g(to)h(force)f(a)g(bac)m(kground)f(pro)s
-(cess)h(to)g(stop,)g(or)g(stop)f(a)h(pro)s(cess)f(that's)i(not)150
-4840 y(asso)s(ciated)g(with)e(y)m(our)g(terminal)h(session,)g(send)e
-(it)i(the)g Ft(SIGSTOP)d Fu(signal)j(using)f Ft(kill)p
-Fu(.)275 4980 y(There)i(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m(ys)g
-(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47 b(The)32
-b(`)p Ft(\045)p Fu(')h(c)m(haracter)h(in)m(tro)s(duces)150
-5090 y(a)d Fr(job)f(sp)s(eci\014cation)h Fu(\(jobsp)s(ec\).)275
-5230 y(Job)i(n)m(um)m(b)s(er)f Ft(n)h Fu(ma)m(y)h(b)s(e)e(referred)h
-(to)h(as)g(`)p Ft(\045n)p Fu('.)49 b(A)34 b(job)f(ma)m(y)h(also)g(b)s
-(e)f(referred)f(to)i(using)f(a)h(pre\014x)150 5340 y(of)i(the)g(name)g
-(used)f(to)h(start)h(it,)g(or)f(using)g(a)g(substring)e(that)j(app)s
-(ears)e(in)g(its)h(command)g(line.)57 b(F)-8 b(or)p eop
-end
-%%Page: 124 130
-TeXDict begin 124 129 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(124)150 299 y(example,)30
-b(`)p Ft(\045ce)p Fu(')f(refers)f(to)i(a)f(job)f(whose)h(command)f
-(name)h(b)s(egins)g(with)f(`)p Ft(ce)p Fu('.)40 b(Using)29
-b(`)p Ft(\045?ce)p Fu(',)g(on)g(the)150 408 y(other)34
-b(hand,)g(refers)g(to)h(an)m(y)f(job)g(con)m(taining)i(the)e(string)g
-(`)p Ft(ce)p Fu(')g(in)g(its)g(command)g(line.)52 b(If)34
-b(the)g(pre\014x)150 518 y(or)c(substring)g(matc)m(hes)h(more)g(than)f
-(one)g(job,)h(Bash)f(rep)s(orts)g(an)g(error.)275 668
-y(The)25 b(sym)m(b)s(ols)g(`)p Ft(\045\045)p Fu(')h(and)f(`)p
-Ft(\045+)p Fu(')h(refer)f(to)i(the)f(shell's)g(notion)g(of)g(the)g
-Fr(curren)m(t)g(job)p Fu(.)39 b(A)25 b(single)i(`)p Ft(\045)p
-Fu(')f(\(with)150 778 y(no)h(accompan)m(ying)h(job)e(sp)s
-(eci\014cation\))i(also)g(refers)f(to)g(the)g(curren)m(t)g(job.)39
-b(`)p Ft(\045-)p Fu(')27 b(refers)f(to)h(the)g Fr(previous)150
-888 y(job)p Fu(.)46 b(When)31 b(a)i(job)f(starts)g(in)g(the)g(bac)m
-(kground,)h(a)f(job)g(stops)g(while)g(in)g(the)h(foreground,)f(or)g(a)g
-(job)g(is)150 997 y(resumed)g(in)g(the)h(bac)m(kground,)g(it)g(b)s
-(ecomes)g(the)g(curren)m(t)f(job.)47 b(The)33 b(job)f(that)h(w)m(as)g
-(the)g(curren)m(t)f(job)150 1107 y(b)s(ecomes)f(the)g(previous)f(job.)
-41 b(When)30 b(the)h(curren)m(t)f(job)g(terminates,)i(the)f(previous)f
-(job)g(b)s(ecomes)h(the)150 1216 y(curren)m(t)36 b(job.)59
-b(If)36 b(there)h(is)g(only)f(a)h(single)g(job,)h(`)p
-Ft(\045+)p Fu(')f(and)f(`)p Ft(\045-)p Fu(')g(can)h(b)s(oth)f(b)s(e)g
-(used)g(to)h(refer)f(to)h(that)150 1326 y(job.)45 b(In)31
-b(output)h(p)s(ertaining)f(to)i(jobs)e(\(e.g.,)j(the)f(output)e(of)h
-(the)g Ft(jobs)f Fu(command\),)i(the)f(curren)m(t)f(job)150
-1436 y(is)f(alw)m(a)m(ys)i(mark)m(ed)f(with)f(a)h(`)p
-Ft(+)p Fu(',)f(and)g(the)h(previous)f(job)g(with)g(a)g(`)p
-Ft(-)p Fu('.)275 1586 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)
-h(to)g(bring)f(it)i(in)m(to)g(the)f(foreground:)41 b(`)p
-Ft(\0451)p Fu(')31 b(is)g(a)h(synon)m(ym)e(for)150 1695
-y(`)p Ft(fg)g(\0451)p Fu(',)i(bringing)f(job)g(1)g(from)g(the)h(bac)m
-(kground)f(in)m(to)i(the)e(foreground.)44 b(Similarly)-8
-b(,)32 b(`)p Ft(\0451)e(&)p Fu(')i(resumes)150 1805 y(job)e(1)h(in)f
-(the)g(bac)m(kground,)h(equiv)-5 b(alen)m(t)32 b(to)f(`)p
-Ft(bg)f(\0451)p Fu('.)275 1955 y(The)g(shell)i(learns)f(immediately)i
-(whenev)m(er)e(a)h(job)f(c)m(hanges)h(state.)45 b(Normally)-8
-b(,)33 b(Bash)e(w)m(aits)i(un)m(til)150 2065 y(it)c(is)f(ab)s(out)g(to)
-h(prin)m(t)f(a)g(prompt)g(b)s(efore)f(notifying)i(the)g(user)e(ab)s
-(out)h(c)m(hanges)h(in)f(a)h(job's)f(status)g(so)h(as)150
-2175 y(to)j(not)f(in)m(terrupt)f(an)m(y)h(other)g(output,)g(though)g
-(it)g(will)g(notify)h(of)f(c)m(hanges)h(in)e(a)h(job's)g(status)g
-(after)h(a)150 2284 y(foreground)c(command)h(in)g(a)h(list)f
-(completes,)i(b)s(efore)e(executing)i(the)e(next)g(command)g(in)g(the)g
-(list.)41 b(If)150 2394 y(the)33 b Ft(-b)g Fu(option)g(to)h(the)f
-Ft(set)f Fu(builtin)h(is)g(enabled,)h(Bash)f(rep)s(orts)f(status)i(c)m
-(hanges)g(immediately)g(\(see)150 2503 y(Section)28 b(4.3.1)h([The)e
-(Set)g(Builtin],)i(page)f(72\).)40 b(Bash)28 b(executes)g(an)m(y)f
-(trap)g(on)g Ft(SIGCHLD)e Fu(for)i(eac)m(h)i(c)m(hild)150
-2613 y(pro)s(cess)h(that)h(terminates.)275 2763 y(When)g(a)h(job)f
-(terminates)i(and)e(Bash)h(noti\014es)g(the)f(user)g(ab)s(out)h(it,)g
-(Bash)g(remo)m(v)m(es)h(the)f(job)f(from)150 2873 y(the)k(jobs)g
-(table.)55 b(It)36 b(will)f(not)g(app)s(ear)g(in)f Ft(jobs)g
-Fu(output,)i(but)f Ft(wait)f Fu(will)h(rep)s(ort)f(its)i(exit)g
-(status,)h(as)150 2983 y(long)26 b(as)g(it's)g(supplied)e(the)i(pro)s
-(cess)f(ID)h(asso)s(ciated)g(with)g(the)f(job)g(as)h(an)g(argumen)m(t.)
-39 b(When)25 b(the)h(table)150 3092 y(is)k(empt)m(y)-8
-b(,)32 b(job)e(n)m(um)m(b)s(ers)f(start)i(o)m(v)m(er)g(at)h(1.)275
-3242 y(If)j(a)i(user)e(attempts)i(to)g(exit)g(Bash)f(while)h(jobs)e
-(are)i(stopp)s(ed,)g(\(or)f(running,)g(if)g(the)g Ft(checkjobs)150
-3352 y Fu(option)24 b(is)f(enabled)h({)g(see)g(Section)g(4.3.2)h([The)e
-(Shopt)g(Builtin],)j(page)e(77\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m
-(arning)150 3462 y(message,)k(and)c(if)i(the)f Ft(checkjobs)e
-Fu(option)j(is)f(enabled,)i(lists)e(the)h(jobs)f(and)f(their)i
-(statuses.)39 b(The)25 b Ft(jobs)150 3571 y Fu(command)35
-b(ma)m(y)i(then)e(b)s(e)g(used)g(to)h(insp)s(ect)f(their)h(status.)57
-b(If)35 b(the)h(user)f(immediately)i(attempts)f(to)150
-3681 y(exit)k(again,)i(without)d(an)f(in)m(terv)m(ening)i(command,)h
-(Bash)e(do)s(es)f(not)h(prin)m(t)g(another)g(w)m(arning,)i(and)150
-3790 y(terminates)31 b(an)m(y)g(stopp)s(ed)e(jobs.)275
-3941 y(When)h(the)h(shell)g(is)f(w)m(aiting)i(for)f(a)g(job)f(or)h(pro)
-s(cess)f(using)g(the)h Ft(wait)f Fu(builtin,)g(and)g(job)h(con)m(trol)h
-(is)150 4050 y(enabled,)i Ft(wait)f Fu(will)g(return)g(when)f(the)i
-(job)f(c)m(hanges)h(state.)51 b(The)33 b Ft(-f)g Fu(option)h(causes)f
-Ft(wait)g Fu(to)h(w)m(ait)150 4160 y(un)m(til)d(the)f(job)g(or)h(pro)s
-(cess)f(terminates)h(b)s(efore)f(returning.)150 4425
-y Fs(7.2)68 b(Job)45 b(Con)l(trol)h(Builtins)150 4617
-y Ft(bg)870 4759 y(bg)h([)p Fj(jobspec)f Ft(...)o(])630
-4902 y Fu(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i
-Fr(jobsp)s(ec)29 b Fu(in)24 b(the)g(bac)m(kground,)h(as)g(if)f(it)h
-(had)e(b)s(een)g(started)630 5011 y(with)30 b(`)p Ft(&)p
-Fu('.)41 b(If)30 b Fr(jobsp)s(ec)35 b Fu(is)30 b(not)h(supplied,)e(the)
-i(shell)f(uses)g(its)h(notion)g(of)f(the)h(curren)m(t)f(job.)630
-5121 y Ft(bg)j Fu(returns)f(zero)j(unless)e(it)h(is)g(run)e(when)g(job)
-i(con)m(trol)h(is)f(not)f(enabled,)i(or,)g(when)d(run)630
-5230 y(with)c(job)f(con)m(trol)j(enabled,)f(an)m(y)f
-Fr(jobsp)s(ec)33 b Fu(w)m(as)28 b(not)g(found)f(or)h(sp)s(eci\014es)g
-(a)g(job)g(that)h(w)m(as)630 5340 y(started)i(without)f(job)g(con)m
-(trol.)p eop end
-%%Page: 125 131
-TeXDict begin 125 130 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(125)150 299 y Ft(fg)870
-439 y(fg)47 b([)p Fj(jobspec)p Ft(])630 579 y Fu(Resume)c(the)g(job)g
-Fr(jobsp)s(ec)48 b Fu(in)43 b(the)g(foreground)g(and)f(mak)m(e)j(it)e
-(the)h(curren)m(t)f(job.)78 b(If)630 689 y Fr(jobsp)s(ec)37
-b Fu(is)32 b(not)h(supplied,)f Ft(fg)f Fu(resumes)h(the)g(curren)m(t)g
-(job.)47 b(The)31 b(return)g(status)i(is)f(that)630 799
-y(of)26 b(the)g(command)g(placed)g(in)m(to)h(the)f(foreground,)g(or)g
-(non-zero)g(if)g(run)e(when)h(job)g(con)m(trol)630 908
-y(is)35 b(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
-(enabled,)h Fr(jobsp)s(ec)j Fu(do)s(es)35 b(not)h(sp)s(ecify)f(a)630
-1018 y(v)-5 b(alid)31 b(job)f(or)g Fr(jobsp)s(ec)35 b
-Fu(sp)s(eci\014es)30 b(a)h(job)f(that)h(w)m(as)g(started)g(without)f
-(job)g(con)m(trol.)150 1189 y Ft(jobs)870 1329 y(jobs)47
-b([-lnprs])e([)p Fj(jobspec)p Ft(])870 1439 y(jobs)i(-x)g
-Fj(command)f Ft([)p Fj(arguments)p Ft(])630 1579 y Fu(The)30
-b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
-b(The)30 b(options)g(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-1750 y Ft(-l)384 b Fu(List)31 b(pro)s(cess)f Fm(id)p
-Fu(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630
-1921 y Ft(-n)384 b Fu(Displa)m(y)26 b(information)f(only)h(ab)s(out)e
-(jobs)h(that)g(ha)m(v)m(e)i(c)m(hanged)e(status)h(since)1110
-2030 y(the)31 b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f
-(status.)630 2201 y Ft(-p)384 b Fu(List)31 b(only)f(the)h(pro)s(cess)f
-Fm(id)g Fu(of)h(the)f(job's)g(pro)s(cess)g(group)g(leader.)630
-2372 y Ft(-r)384 b Fu(Displa)m(y)32 b(only)e(running)f(jobs.)630
-2543 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630
-2714 y(If)k Fr(jobsp)s(ec)38 b Fu(is)c(supplied,)f Ft(jobs)f
-Fu(restricts)i(output)g(to)g(information)f(ab)s(out)h(that)g(job.)49
-b(If)630 2824 y Fr(jobsp)s(ec)40 b Fu(is)34 b(not)h(supplied,)g
-Ft(jobs)e Fu(lists)i(the)g(status)g(of)g(all)g(jobs.)53
-b(The)34 b(return)g(status)h(is)630 2933 y(zero)c(unless)f(an)g(in)m(v)
--5 b(alid)31 b(option)g(is)f(encoun)m(tered)h(or)f(an)h(in)m(v)-5
-b(alid)31 b Fr(jobsp)s(ec)k Fu(is)30 b(supplied.)630
-3074 y(If)35 b(the)g Ft(-x)f Fu(option)i(is)f(supplied,)g
-Ft(jobs)f Fu(replaces)i(an)m(y)f Fr(jobsp)s(ec)40 b Fu(found)34
-b(in)h Fr(command)j Fu(or)630 3183 y Fr(argumen)m(ts)j
-Fu(with)c(the)h(corresp)s(onding)e(pro)s(cess)h(group)f
-Fm(id)p Fu(,)k(and)c(executes)j Fr(command)p Fu(,)630
-3293 y(passing)30 b(it)h Fr(argumen)m(t)r Fu(s,)g(returning)f(its)g
-(exit)i(status.)150 3464 y Ft(kill)870 3604 y(kill)47
-b([-s)g Fj(sigspec)p Ft(])e([-n)i Fj(signum)p Ft(])f([-)p
-Fj(sigspec)p Ft(])f Fj(id)i Ft([...)o(])870 3714 y(kill)g(-l|-L)f([)p
-Fj(exit_status)p Ft(])630 3854 y Fu(Send)26 b(a)h(signal)h(sp)s
-(eci\014ed)e(b)m(y)g Fr(sigsp)s(ec)33 b Fu(or)27 b Fr(sign)m(um)f
-Fu(to)i(the)f(pro)s(cesses)g(named)f(b)m(y)h(eac)m(h)h
-Fr(id)p Fu(.)630 3964 y(Eac)m(h)k Fr(id)j Fu(ma)m(y)d(b)s(e)g(a)g(job)f
-(sp)s(eci\014cation)h Fr(jobsp)s(ec)37 b Fu(or)32 b(pro)s(cess)f
-Fm(id)h Fr(pid)p Fu(.)43 b Fr(sigsp)s(ec)38 b Fu(is)31
-b(either)630 4073 y(a)f(case-insensitiv)m(e)j(signal)d(name)g(suc)m(h)g
-(as)g Ft(SIGINT)f Fu(\(with)h(or)f(without)h(the)h Ft(SIG)e
-Fu(pre\014x\))630 4183 y(or)k(a)g(signal)h(n)m(um)m(b)s(er;)f
-Fr(sign)m(um)g Fu(is)f(a)i(signal)f(n)m(um)m(b)s(er.)47
-b(If)33 b Fr(sigsp)s(ec)38 b Fu(and)33 b Fr(sign)m(um)f
-Fu(are)i(not)630 4292 y(presen)m(t,)d Ft(kill)e Fu(sends)g
-Ft(SIGTERM)p Fu(.)630 4433 y(The)e Ft(-l)h Fu(option)g(lists)h(the)f
-(signal)h(names.)39 b(If)28 b(an)m(y)g(argumen)m(ts)h(are)f(supplied)f
-(when)g Ft(-l)g Fu(is)630 4542 y(supplied,)35 b Ft(kill)e
-Fu(lists)i(the)g(names)g(of)g(the)f(signals)i(corresp)s(onding)d(to)j
-(the)e(argumen)m(ts,)630 4652 y(and)22 b(the)h(return)e(status)i(is)g
-(zero.)39 b Fr(exit)p 1942 4652 28 4 v 41 w(status)27
-b Fu(is)22 b(a)h(n)m(um)m(b)s(er)e(sp)s(ecifying)i(a)g(signal)g(n)m(um)
-m(b)s(er)630 4761 y(or)e(the)g(exit)h(status)g(of)f(a)g(pro)s(cess)g
-(terminated)g(b)m(y)g(a)h(signal;)j(if)c(it)h(is)f(supplied,)h
-Ft(kill)d Fu(prin)m(ts)630 4871 y(the)26 b(name)f(of)h(the)g(signal)g
-(that)g(caused)g(the)f(pro)s(cess)g(to)i(terminate.)40
-b Ft(kill)24 b Fu(assumes)h(that)630 4981 y(pro)s(cess)35
-b(exit)h(statuses)f(are)h(greater)g(than)f(128;)k(an)m(ything)d(less)f
-(than)g(that)h(is)f(a)g(signal)630 5090 y(n)m(um)m(b)s(er.)k(The)30
-b Ft(-L)g Fu(option)h(is)f(equiv)-5 b(alen)m(t)32 b(to)f
-Ft(-l)p Fu(.)630 5230 y(The)26 b(return)f(status)i(is)f(zero)h(if)g(at)
-g(least)g(one)g(signal)g(w)m(as)g(successfully)f(sen)m(t,)i(or)e
-(non-zero)630 5340 y(if)k(an)h(error)f(o)s(ccurs)g(or)g(an)g(in)m(v)-5
-b(alid)31 b(option)g(is)f(encoun)m(tered.)p eop end
-%%Page: 126 132
-TeXDict begin 126 131 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(126)150 299 y Ft(wait)870
-427 y(wait)47 b([-fn])f([-p)h Fj(varname)p Ft(])e([)p
-Fj(id)i Ft(...])630 555 y Fu(W)-8 b(ait)28 b(un)m(til)e(the)g(c)m(hild)
-h(pro)s(cess)e(sp)s(eci\014ed)g(b)m(y)h(eac)m(h)h Fr(id)j
-Fu(exits)c(and)g(return)f(the)h(exit)h(status)630 664
-y(of)33 b(the)f(last)i Fr(id)p Fu(.)47 b(Eac)m(h)33 b
-Fr(id)j Fu(ma)m(y)d(b)s(e)f(a)h(pro)s(cess)f Fm(id)g
-Fr(pid)k Fu(or)c(a)h(job)f(sp)s(eci\014cation)i Fr(jobsp)s(ec)6
-b Fu(;)630 774 y(if)30 b(a)h(jobsp)s(ec)f(is)g(supplied,)g
-Ft(wait)f Fu(w)m(aits)i(for)f(all)i(pro)s(cesses)e(in)g(the)g(job.)630
-902 y(If)36 b(no)g(options)h(or)g Fr(id)t Fu(s)e(are)i(supplied,)g
-Ft(wait)e Fu(w)m(aits)j(for)e(all)h(running)e(bac)m(kground)h(jobs)630
-1011 y(and)f(the)h(last-executed)i(pro)s(cess)e(substitution,)h(if)f
-(its)g(pro)s(cess)g(id)f(is)h(the)h(same)f(as)g Fr($!)p
-Fu(,)630 1121 y(and)30 b(the)g(return)g(status)g(is)h(zero.)630
-1249 y(If)41 b(the)g Ft(-n)f Fu(option)i(is)f(supplied,)i
-Ft(wait)d Fu(w)m(aits)i(for)e(an)m(y)i(one)f(of)g(the)h
-Fr(id)t Fu(s)e(or,)k(if)d(no)g Fr(id)t Fu(s)630 1358
-y(are)34 b(supplied,)f(an)m(y)g(job)g(or)h(pro)s(cess)f(substitution,)h
-(to)g(complete)g(and)f(returns)f(its)i(exit)630 1468
-y(status.)41 b(If)28 b(none)h(of)g(the)g(supplied)f Fr(id)t
-Fu(s)g(is)h(a)h(c)m(hild)f(of)g(the)h(shell,)f(or)g(if)g(no)g(argumen)m
-(ts)h(are)630 1577 y(supplied)f(and)h(the)g(shell)h(has)f(no)g(un)m(w)m
-(aited-for)h(c)m(hildren,)g(the)f(exit)i(status)e(is)h(127.)630
-1705 y(If)38 b(the)g Ft(-p)g Fu(option)h(is)f(supplied,)h
-Ft(wait)e Fu(assigns)i(the)f(pro)s(cess)g(or)g(job)g(iden)m(ti\014er)g
-(of)h(the)630 1815 y(job)h(for)h(whic)m(h)f(the)h(exit)g(status)g(is)f
-(returned)g(to)h(the)g(v)-5 b(ariable)41 b Fr(v)-5 b(arname)46
-b Fu(named)40 b(b)m(y)630 1924 y(the)e(option)h(argumen)m(t.)65
-b(The)38 b(v)-5 b(ariable,)41 b(whic)m(h)d(cannot)h(b)s(e)e(readonly)-8
-b(,)41 b(will)e(b)s(e)e(unset)630 2034 y(initially)-8
-b(,)46 b(b)s(efore)41 b(an)m(y)h(assignmen)m(t.)74 b(This)40
-b(is)i(useful)e(only)h(when)g(used)f(with)h(the)h Ft(-n)630
-2144 y Fu(option.)630 2271 y(Supplying)33 b(the)i Ft(-f)f
-Fu(option,)j(when)d(job)g(con)m(trol)i(is)f(enabled,)h(forces)f
-Ft(wait)f Fu(to)h(w)m(ait)h(for)630 2381 y(eac)m(h)h
-Fr(id)j Fu(to)d(terminate)g(b)s(efore)f(returning)g(its)g(status,)j
-(instead)d(of)h(returning)e(when)g(it)630 2491 y(c)m(hanges)c(status.)
-630 2619 y(If)d(none)h(of)g(the)g Fr(id)t Fu(s)f(sp)s(ecify)h(one)g(of)
-g(the)g(shell's)g(an)g(activ)m(e)i(c)m(hild)f(pro)s(cesses,)f(the)g
-(return)630 2728 y(status)44 b(is)g(127.)82 b(If)43 b
-Ft(wait)g Fu(is)g(in)m(terrupted)g(b)m(y)h(a)g(signal,)k(an)m(y)c
-Fr(v)-5 b(arname)49 b Fu(will)44 b(remain)630 2838 y(unset,)34
-b(and)f(the)g(return)f(status)i(will)g(b)s(e)e(greater)j(than)e(128,)j
-(as)d(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)630 2947
-y(Section)29 b(3.7.6)g([Signals],)g(page)g(48\).)41 b(Otherwise,)28
-b(the)g(return)f(status)h(is)g(the)g(exit)h(status)630
-3057 y(of)i(the)f(last)h Fr(id)p Fu(.)150 3203 y Ft(disown)870
-3331 y(disown)46 b([-ar])g([-h])h([)p Fj(id)g Ft(...)o(])630
-3459 y Fu(Without)29 b(options,)g(remo)m(v)m(e)g(eac)m(h)g
-Fr(id)j Fu(from)27 b(the)h(table)h(of)f(activ)m(e)j(jobs.)39
-b(Eac)m(h)29 b Fr(id)i Fu(ma)m(y)e(b)s(e)630 3568 y(a)34
-b(job)g(sp)s(eci\014cation)h Fr(jobsp)s(ec)k Fu(or)34
-b(a)g(pro)s(cess)g Fm(id)g Fr(pid)t Fu(;)h(if)f Fr(id)j
-Fu(is)d(a)g Fr(pid)p Fu(,)h Ft(disown)d Fu(uses)i(the)630
-3678 y(job)c(con)m(taining)i Fr(pid)h Fu(as)e Fr(jobsp)s(ec)p
-Fu(.)630 3806 y(If)e(the)g Ft(-h)f Fu(option)i(is)f(supplied,)f
-Ft(disown)f Fu(do)s(es)i(not)g(remo)m(v)m(e)i(the)e(jobs)f(corresp)s
-(onding)g(to)630 3915 y(eac)m(h)k Ft(id)f Fu(from)g(the)g(jobs)g
-(table,)h(but)f(rather)g(marks)g(them)g(so)h(the)f(shell)g(do)s(es)g
-(not)h(send)630 4025 y Ft(SIGHUP)d Fu(to)i(the)f(job)g(if)h(the)f
-(shell)h(receiv)m(es)h(a)f Ft(SIGHUP)p Fu(.)630 4153
-y(If)37 b(no)g Fr(id)j Fu(is)d(supplied,)h(the)f Ft(-a)f
-Fu(option)i(means)f(to)h(remo)m(v)m(e)g(or)f(mark)g(all)h(jobs;)i(the)e
-Ft(-r)630 4262 y Fu(option)43 b(without)f(an)g Fr(id)j
-Fu(argumen)m(t)d(remo)m(v)m(es)i(or)e(marks)f(running)g(jobs.)75
-b(If)42 b(no)g Fr(id)j Fu(is)630 4372 y(supplied,)31
-b(and)h(neither)g(the)g Ft(-a)f Fu(nor)g(the)h Ft(-r)g
-Fu(option)g(is)g(supplied,)f Ft(disown)g Fu(remo)m(v)m(es)i(or)630
-4482 y(marks)d(the)h(curren)m(t)f(job.)630 4609 y(The)g(return)f(v)-5
-b(alue)31 b(is)f(0)h(unless)f(an)g Fr(id)k Fu(do)s(es)c(not)g(sp)s
-(ecify)g(a)h(v)-5 b(alid)31 b(job.)150 4756 y Ft(suspend)870
-4883 y(suspend)46 b([-f])630 5011 y Fu(Susp)s(end)31
-b(the)i(execution)h(of)g(this)f(shell)g(un)m(til)h(it)g(receiv)m(es)h
-(a)e Ft(SIGCONT)f Fu(signal.)50 b(A)33 b(login)630 5121
-y(shell,)25 b(or)f(a)g(shell)f(without)h(job)f(con)m(trol)i(enabled,)g
-(cannot)f(b)s(e)f(susp)s(ended;)h(the)g Ft(-f)e Fu(option)630
-5230 y(will)36 b(o)m(v)m(erride)i(this)e(and)f(force)i(the)f(susp)s
-(ension.)56 b(The)36 b(return)f(status)i(is)f(0)g(unless)g(the)630
-5340 y(shell)31 b(is)f(a)h(login)g(shell)g(or)f(job)g(con)m(trol)i(is)e
-(not)h(enabled)f(and)g Ft(-f)g Fu(is)g(not)h(supplied.)p
-eop end
-%%Page: 127 133
-TeXDict begin 127 132 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(127)275 299 y(When)30 b(job)f(con)m(trol)j
-(is)e(not)h(activ)m(e,)i(the)d Ft(kill)f Fu(and)h Ft(wait)f
-Fu(builtins)g(do)h(not)h(accept)h Fr(jobsp)s(ec)j Fu(argu-)150
-408 y(men)m(ts.)41 b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)
-h Fm(id)p Fu(s.)150 649 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11
-b(ariables)150 834 y Ft(auto_resume)630 943 y Fu(This)39
-b(v)-5 b(ariable)41 b(con)m(trols)g(ho)m(w)g(the)f(shell)g(in)m
-(teracts)i(with)d(the)i(user)e(and)h(job)f(con)m(trol.)630
-1053 y(If)34 b(this)g(v)-5 b(ariable)35 b(exists)g(then)f(simple)g
-(commands)g(consisting)h(of)g(only)f(a)h(single)g(w)m(ord,)630
-1162 y(without)k(redirections,)j(are)d(treated)h(as)f(candidates)h(for)
-f(resumption)f(of)h(an)g(existing)630 1272 y(job.)64
-b(There)37 b(is)i(no)f(am)m(biguit)m(y)h(allo)m(w)m(ed;)44
-b(if)39 b(there)f(is)g(more)g(than)g(one)h(job)f(b)s(eginning)630
-1381 y(with)c(or)h(con)m(taining)h(the)f(w)m(ord,)h(then)e(this)h
-(selects)h(the)f(most)g(recen)m(tly)h(accessed)g(job.)630
-1491 y(The)24 b(name)g(of)g(a)h(stopp)s(ed)e(job,)i(in)f(this)g(con)m
-(text,)j(is)e(the)f(command)g(line)g(used)g(to)g(start)h(it,)630
-1601 y(as)j(displa)m(y)m(ed)g(b)m(y)g Ft(jobs)p Fu(.)38
-b(If)28 b(this)f(v)-5 b(ariable)29 b(is)f(set)g(to)g(the)g(v)-5
-b(alue)28 b(`)p Ft(exact)p Fu(',)g(the)g(w)m(ord)f(m)m(ust)630
-1710 y(matc)m(h)h(the)g(name)g(of)f(a)h(stopp)s(ed)f(job)g(exactly;)j
-(if)e(set)g(to)g(`)p Ft(substring)p Fu(',)e(the)i(w)m(ord)f(needs)630
-1820 y(to)41 b(matc)m(h)g(a)g(substring)e(of)h(the)h(name)f(of)g(a)h
-(stopp)s(ed)e(job.)70 b(The)40 b(`)p Ft(substring)p Fu(')e(v)-5
-b(alue)630 1929 y(pro)m(vides)30 b(functionalit)m(y)h(analogous)g(to)g
-(the)f(`)p Ft(\045?string)p Fu(')e(job)i Fm(id)g Fu(\(see)g(Section)h
-(7.1)g([Job)630 2039 y(Con)m(trol)h(Basics],)i(page)e(123\).)45
-b(If)31 b(set)h(to)g(an)m(y)g(other)g(v)-5 b(alue)32
-b(\(e.g.,)i(`)p Ft(prefix)p Fu('\),)d(the)g(w)m(ord)630
-2149 y(m)m(ust)d(b)s(e)g(a)h(pre\014x)e(of)i(a)g(stopp)s(ed)e(job's)i
-(name;)g(this)f(pro)m(vides)h(functionalit)m(y)h(analogous)630
-2258 y(to)h(the)g(`)p Ft(\045string)p Fu(')e(job)h Fm(id)p
-Fu(.)p eop end
-%%Page: 128 134
-TeXDict begin 128 133 bop 3614 -116 a Fu(128)150 299
-y Fp(8)80 b(Command)54 b(Line)f(Editing)150 525 y Fu(This)28
-b(c)m(hapter)i(describ)s(es)e(the)h(basic)g(features)h(of)f(the)g
-Fm(gnu)f Fu(command)h(line)g(editing)h(in)m(terface.)42
-b(Com-)150 634 y(mand)c(line)i(editing)f(is)g(pro)m(vided)g(b)m(y)g
-(the)g(Readline)h(library)-8 b(,)41 b(whic)m(h)e(is)g(used)f(b)m(y)h
-(sev)m(eral)h(di\013eren)m(t)150 744 y(programs,)34 b(including)e
-(Bash.)49 b(Command)32 b(line)i(editing)f(is)g(enabled)g(b)m(y)g
-(default)g(when)f(using)h(an)g(in-)150 853 y(teractiv)m(e)h(shell,)d
-(unless)g(the)g Ft(--noediting)d Fu(option)k(is)f(supplied)e(at)j
-(shell)f(in)m(v)m(o)s(cation.)45 b(Line)31 b(editing)150
-963 y(is)g(also)h(used)f(when)f(using)h(the)g Ft(-e)g
-Fu(option)h(to)g(the)f Ft(read)f Fu(builtin)h(command)g(\(see)h
-(Section)g(4.2)h([Bash)150 1073 y(Builtins],)j(page)f(60\).)52
-b(By)35 b(default,)g(the)f(line)h(editing)f(commands)g(are)h(similar)f
-(to)h(those)f(of)g(Emacs;)150 1182 y(a)i(vi-st)m(yle)i(line)e(editing)g
-(in)m(terface)i(is)d(also)i(a)m(v)-5 b(ailable.)60 b(Line)35
-b(editing)i(can)f(b)s(e)f(enabled)h(at)g(an)m(y)g(time)150
-1292 y(using)g(the)g Ft(-o)30 b(emacs)35 b Fu(or)h Ft(-o)30
-b(vi)35 b Fu(options)i(to)g(the)f Ft(set)f Fu(builtin)h(command)g
-(\(see)h(Section)g(4.3.1)h([The)150 1401 y(Set)31 b(Builtin],)g(page)g
-(72\),)h(or)e(disabled)g(using)g(the)h Ft(+o)e(emacs)g
-Fu(or)i Ft(+o)e(vi)h Fu(options)h(to)g Ft(set)p Fu(.)150
-1639 y Fs(8.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
-1798 y Fu(The)j(follo)m(wing)j(paragraphs)d(use)h(Emacs)g(st)m(yle)h
-(to)g(describ)s(e)f(the)g(notation)h(used)e(to)i(represen)m(t)150
-1908 y(k)m(eystrok)m(es.)275 2041 y(The)35 b(text)i Fj(C-k)f
-Fu(is)g(read)g(as)h(`Con)m(trol-K')g(and)f(describ)s(es)f(the)h(c)m
-(haracter)i(pro)s(duced)d(when)g(the)h Ft(k)150 2150
-y Fu(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)g(k)m(ey)g(is)
-g(depressed.)275 2283 y(The)g(text)i Fj(M-k)e Fu(is)h(read)f(as)i
-(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)h(pro)s(duced)e
-(when)f(the)i(Meta)150 2393 y(k)m(ey)h(\(if)f(y)m(ou)g(ha)m(v)m(e)h
-(one\))g(is)f(depressed,)f(and)g(the)i Ft(k)e Fu(k)m(ey)i(is)f(pressed)
-f(\(a)h Fr(meta)h(c)m(haracter)7 b Fu(\),)34 b(then)e(b)s(oth)150
-2502 y(are)k(released.)56 b(The)35 b(Meta)i(k)m(ey)f(is)f(lab)s(eled)h
-Ft(ALT)e Fu(or)h Ft(Option)f Fu(on)h(man)m(y)h(k)m(eyb)s(oards.)55
-b(On)34 b(k)m(eyb)s(oards)150 2612 y(with)c(t)m(w)m(o)h(k)m(eys)f(lab)s
-(eled)g Ft(ALT)f Fu(\(usually)h(to)g(either)h(side)e(of)h(the)g(space)h
-(bar\),)f(the)g Ft(ALT)f Fu(on)g(the)h(left)h(side)150
-2721 y(is)d(generally)h(set)g(to)f(w)m(ork)g(as)g(a)h(Meta)g(k)m(ey)-8
-b(.)41 b(One)28 b(of)g(the)g Ft(ALT)f Fu(k)m(eys)h(ma)m(y)h(also)g(b)s
-(e)e(con\014gured)g(as)i(some)150 2831 y(other)i(mo)s(di\014er,)e(suc)m
-(h)h(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m(yping)h(accen)m(ted)h(c)m
-(haracters.)275 2964 y(On)42 b(some)j(k)m(eyb)s(oards,)i(the)d(Meta)h
-(k)m(ey)f(mo)s(di\014er)f(pro)s(duces)g(c)m(haracters)i(with)e(the)h
-(eigh)m(th)h(bit)150 3073 y(\(0200\))38 b(set.)56 b(Y)-8
-b(ou)36 b(can)g(use)f(the)h Ft(enable-meta-key)31 b Fu(v)-5
-b(ariable)36 b(to)g(con)m(trol)h(whether)e(or)h(not)f(it)h(do)s(es)150
-3183 y(this,)28 b(if)g(the)g(k)m(eyb)s(oard)f(allo)m(ws)i(it.)41
-b(On)26 b(man)m(y)i(others,)h(the)f(terminal)g(or)f(terminal)i(em)m
-(ulator)f(con)m(v)m(erts)150 3293 y(the)h(meta\014ed)g(k)m(ey)g(to)h(a)
-f(k)m(ey)g(sequence)g(b)s(eginning)f(with)h Ft(ESC)f
-Fu(as)g(describ)s(ed)g(in)g(the)h(next)g(paragraph.)275
-3425 y(If)k(y)m(ou)i(do)f(not)g(ha)m(v)m(e)h(a)g(Meta)h(or)e
-Ft(ALT)f Fu(k)m(ey)-8 b(,)36 b(or)e(another)h(k)m(ey)g(w)m(orking)f(as)
-h(a)f(Meta)i(k)m(ey)-8 b(,)36 b(y)m(ou)f(can)150 3535
-y(generally)28 b(ac)m(hiev)m(e)h(the)f(latter)g(e\013ect)g(b)m(y)f(t)m
-(yping)h Ft(ESC)e Fl(\014rst)p Fu(,)i(and)f(then)f(t)m(yping)i
-Ft(k)p Fu(.)39 b(The)26 b Ft(ESC)g Fu(c)m(haracter)150
-3645 y(is)k(kno)m(wn)g(as)h(the)f Fr(meta)i(pre\014x)6
-b Fu(\).)275 3778 y(Either)30 b(pro)s(cess)g(is)g(kno)m(wn)g(as)h
-Fr(metafying)39 b Fu(the)30 b Ft(k)g Fu(k)m(ey)-8 b(.)275
-3910 y(If)24 b(y)m(our)i(Meta)g(k)m(ey)h(pro)s(duces)d(a)h(k)m(ey)h
-(sequence)g(with)f(the)h Ft(ESC)e Fu(meta)i(pre\014x,)g(y)m(ou)f(can)h
-(mak)m(e)g Fj(M-key)150 4020 y Fu(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
-(ecify)f(\(see)i Ft(Key)29 b(Bindings)37 b Fu(in)i(Section)i(8.3.1)g
-([Readline)f(Init)g(File)g(Syn)m(tax],)150 4130 y(page)31
-b(131\))h(do)e(the)h(same)g(thing)f(b)m(y)g(setting)i(the)e
-Ft(force-meta-prefix)c Fu(v)-5 b(ariable.)275 4262 y(The)39
-b(text)j Fj(M-C-k)d Fu(is)h(read)g(as)h(`Meta-Con)m(trol-k')j(and)39
-b(describ)s(es)h(the)g(c)m(haracter)i(pro)s(duced)d(b)m(y)150
-4372 y(metafying)31 b Fj(C-k)p Fu(.)275 4505 y(In)k(addition,)j(sev)m
-(eral)f(k)m(eys)g(ha)m(v)m(e)g(their)f(o)m(wn)g(names.)58
-b(Sp)s(eci\014cally)-8 b(,)38 b Ft(DEL)p Fu(,)f Ft(ESC)p
-Fu(,)g Ft(LFD)p Fu(,)g Ft(SPC)p Fu(,)g Ft(RET)p Fu(,)150
-4614 y(and)d Ft(TAB)f Fu(all)j(stand)e(for)g(themselv)m(es)i(when)d
-(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)h(\014le)f(\(see)i
-(Section)f(8.3)150 4724 y([Readline)28 b(Init)e(File],)k(page)d(131\).)
-41 b(If)27 b(y)m(our)f(k)m(eyb)s(oard)h(lac)m(ks)h(a)f
-Ft(LFD)f Fu(k)m(ey)-8 b(,)29 b(t)m(yping)e Ft(C-j)f Fu(will)h(output)g
-(the)150 4834 y(appropriate)j(c)m(haracter.)43 b(The)30
-b Ft(RET)f Fu(k)m(ey)i(ma)m(y)g(b)s(e)f(lab)s(eled)h
-Ft(Return)d Fu(or)j Ft(Enter)d Fu(on)j(some)g(k)m(eyb)s(oards.)150
-5071 y Fs(8.2)68 b(Readline)47 b(In)l(teraction)150 5230
-y Fu(Often)32 b(during)g(an)g(in)m(teractiv)m(e)j(session)e(y)m(ou)g(t)
-m(yp)s(e)g(in)f(a)h(long)g(line)g(of)f(text,)j(only)d(to)i(notice)g
-(that)f(the)150 5340 y(\014rst)f(w)m(ord)g(on)g(the)g(line)h(is)g
-(missp)s(elled.)46 b(The)32 b(Readline)h(library)f(giv)m(es)h(y)m(ou)g
-(a)g(set)g(of)f(commands)g(for)p eop end
-%%Page: 129 135
-TeXDict begin 129 134 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(129)150 299 y(manipulating)30
-b(the)g(text)h(as)f(y)m(ou)g(t)m(yp)s(e)g(it)g(in,)g(allo)m(wing)h(y)m
-(ou)f(to)h(just)e(\014x)g(y)m(our)h(t)m(yp)s(o,)g(and)g(not)g(forcing)
-150 408 y(y)m(ou)e(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29
-b(of)f(the)h(line.)40 b(Using)28 b(these)h(editing)g(commands,)f(y)m
-(ou)h(mo)m(v)m(e)g(the)g(cursor)150 518 y(to)35 b(the)f(place)i(that)e
-(needs)g(correction,)j(and)d(delete)h(or)f(insert)h(the)f(text)h(of)g
-(the)f(corrections.)54 b(Then,)150 628 y(when)24 b(y)m(ou)h(are)g
-(satis\014ed)g(with)g(the)g(line,)i(y)m(ou)e(simply)f(press)g
-Ft(RET)p Fu(.)39 b(Y)-8 b(ou)25 b(do)g(not)g(ha)m(v)m(e)h(to)g(b)s(e)e
-(at)h(the)h(end)150 737 y(of)33 b(the)h(line)g(to)g(press)e
-Ft(RET)p Fu(;)i(the)g(en)m(tire)g(line)f(is)h(accepted)g(regardless)g
-(of)f(the)h(lo)s(cation)h(of)e(the)h(cursor)150 847 y(within)c(the)g
-(line.)150 1048 y Fk(8.2.1)63 b(Readline)40 b(Bare)h(Essen)m(tials)150
-1195 y Fu(In)31 b(order)h(to)h(en)m(ter)g(c)m(haracters)g(in)m(to)g
-(the)g(line,)g(simply)e(t)m(yp)s(e)i(them.)46 b(The)31
-b(t)m(yp)s(ed)h(c)m(haracter)i(app)s(ears)150 1304 y(where)e(the)h
-(cursor)e(w)m(as,)j(and)e(then)g(the)h(cursor)e(mo)m(v)m(es)j(one)f
-(space)g(to)g(the)g(righ)m(t.)47 b(If)32 b(y)m(ou)h(mist)m(yp)s(e)g(a)
-150 1414 y(c)m(haracter,)f(y)m(ou)f(can)g(use)f(y)m(our)g(erase)h(c)m
-(haracter)h(to)f(bac)m(k)g(up)f(and)f(delete)j(the)f(mist)m(yp)s(ed)e
-(c)m(haracter.)275 1550 y(Sometimes)i(y)m(ou)g(ma)m(y)h(mist)m(yp)s(e)e
-(a)i(c)m(haracter,)g(and)e(not)i(notice)g(the)f(error)f(un)m(til)h(y)m
-(ou)g(ha)m(v)m(e)h(t)m(yp)s(ed)150 1659 y(sev)m(eral)e(other)f(c)m
-(haracters.)42 b(In)28 b(that)i(case,)g(y)m(ou)f(can)g(t)m(yp)s(e)h
-Fj(C-b)d Fu(to)j(mo)m(v)m(e)g(the)f(cursor)g(to)g(the)g(left,)i(and)150
-1769 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
-b(y)m(ou)f(can)h(mo)m(v)m(e)h(the)e(cursor)g(to)h(the)g(righ)m(t)g
-(with)f Fj(C-f)p Fu(.)275 1905 y(When)i(y)m(ou)h(add)f(text)h(in)f(the)
-h(middle)f(of)h(a)g(line,)h(y)m(ou)e(will)h(notice)h(that)f(c)m
-(haracters)h(to)g(the)e(righ)m(t)150 2014 y(of)d(the)g(cursor)f(are)h
-(`pushed)e(o)m(v)m(er')j(to)g(mak)m(e)f(ro)s(om)g(for)f(the)h(text)h
-(that)f(y)m(ou)g(ha)m(v)m(e)h(inserted.)40 b(Lik)m(ewise,)150
-2124 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c(the)j(cursor,)h(c)m
-(haracters)g(to)f(the)g(righ)m(t)g(of)g(the)g(cursor)e(are)i(`pulled)
-150 2234 y(bac)m(k')k(to)f(\014ll)g(in)f(the)h(blank)f(space)i(created)
-g(b)m(y)e(the)h(remo)m(v)-5 b(al)42 b(of)f(the)g(text.)73
-b(These)40 b(are)h(the)g(bare)150 2343 y(essen)m(tials)32
-b(for)e(editing)h(the)g(text)g(of)g(an)f(input)f(line:)150
-2505 y Fj(C-b)336 b Fu(Mo)m(v)m(e)32 b(bac)m(k)g(one)e(c)m(haracter.)
-150 2666 y Fj(C-f)336 b Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m
-(haracter.)150 2827 y Ft(DEL)e Fu(or)i Ft(Backspace)630
-2936 y Fu(Delete)i(the)d(c)m(haracter)i(to)f(the)g(left)g(of)f(the)h
-(cursor.)150 3097 y Fj(C-d)336 b Fu(Delete)33 b(the)d(c)m(haracter)i
-(underneath)d(the)i(cursor.)150 3258 y(Prin)m(ting)g(c)m(haracters)630
-3368 y(Insert)f(the)g(c)m(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g
-(cursor.)150 3529 y Fj(C-_)e Fu(or)i Fj(C-x)e(C-u)630
-3638 y Fu(Undo)k(the)h(last)g(editing)g(command.)50 b(Y)-8
-b(ou)34 b(can)f(undo)g(all)h(the)f(w)m(a)m(y)i(bac)m(k)f(to)g(an)g
-(empt)m(y)630 3748 y(line.)150 3910 y(Dep)s(ending)e(on)h(y)m(our)f
-(con\014guration,)i(the)f Ft(Backspace)e Fu(k)m(ey)i(migh)m(t)h(b)s(e)e
-(set)h(to)g(delete)h(the)f(c)m(haracter)150 4019 y(to)e(the)f(left)h
-(of)f(the)g(cursor)f(and)h(the)g Ft(DEL)f Fu(k)m(ey)i(set)g(to)f
-(delete)i(the)e(c)m(haracter)h(underneath)e(the)h(cursor,)150
-4129 y(lik)m(e)i Fj(C-d)p Fu(,)d(rather)i(than)f(the)g(c)m(haracter)i
-(to)f(the)g(left)g(of)g(the)f(cursor.)150 4329 y Fk(8.2.2)63
-b(Readline)40 b(Mo)m(v)m(emen)m(t)h(Commands)150 4476
-y Fu(The)34 b(ab)s(o)m(v)m(e)i(table)f(describ)s(es)f(the)g(most)h
-(basic)g(k)m(eystrok)m(es)h(that)f(y)m(ou)g(need)f(in)g(order)g(to)h
-(do)f(editing)150 4586 y(of)c(the)g(input)f(line.)40
-b(F)-8 b(or)31 b(y)m(our)e(con)m(v)m(enience,)k(man)m(y)c(other)h
-(commands)g(are)g(a)m(v)-5 b(ailable)32 b(in)d(addition)h(to)150
-4696 y Fj(C-b)p Fu(,)e Fj(C-f)p Fu(,)g Fj(C-d)p Fu(,)g(and)g
-Ft(DEL)p Fu(.)39 b(Here)29 b(are)g(some)g(commands)e(for)i(mo)m(ving)g
-(more)f(rapidly)g(within)g(the)g(line.)150 4857 y Fj(C-a)336
-b Fu(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(line.)150
-5018 y Fj(C-e)336 b Fu(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h
-(line.)150 5179 y Fj(M-f)336 b Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(w)m
-(ord,)f(where)g(a)h(w)m(ord)f(is)g(comp)s(osed)g(of)h(letters)h(and)d
-(digits.)150 5340 y Fj(M-b)336 b Fu(Mo)m(v)m(e)32 b(bac)m(kw)m(ard)f(a)
-g(w)m(ord.)p eop end
-%%Page: 130 136
-TeXDict begin 130 135 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(130)150 299 y Fj(C-l)336
-b Fu(Clear)31 b(the)f(screen,)h(reprin)m(ting)f(the)h(curren)m(t)f
-(line)h(at)g(the)f(top.)275 460 y(Notice)c(ho)m(w)f Fj(C-f)e
-Fu(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m(haracter,)j(while)d
-Fj(M-f)e Fu(mo)m(v)m(es)j(forw)m(ard)e(a)h(w)m(ord.)39
-b(It)24 b(is)h(a)g(lo)s(ose)150 569 y(con)m(v)m(en)m(tion)32
-b(that)f(con)m(trol)g(k)m(eystrok)m(es)h(op)s(erate)e(on)g(c)m
-(haracters)h(while)f(meta)h(k)m(eystrok)m(es)h(op)s(erate)e(on)150
-679 y(w)m(ords.)150 879 y Fk(8.2.3)63 b(Readline)40 b(Killing)i
-(Commands)150 1026 y Fr(Killing)35 b Fu(text)28 b(means)e(to)h(delete)h
-(the)f(text)g(from)g(the)f(line,)i(but)e(to)h(sa)m(v)m(e)h(it)g(a)m(w)m
-(a)m(y)g(for)e(later)i(use,)f(usually)150 1136 y(b)m(y)g
-Fr(y)m(anking)35 b Fu(\(re-inserting\))28 b(it)g(bac)m(k)f(in)m(to)h
-(the)f(line.)40 b(\(`Cut')27 b(and)g(`paste')h(are)f(more)g(recen)m(t)h
-(jargon)f(for)150 1245 y(`kill')32 b(and)d(`y)m(ank'.\))275
-1381 y(If)g(the)i(description)f(for)g(a)h(command)f(sa)m(ys)g(that)h
-(it)g(`kills')g(text,)h(then)e(y)m(ou)g(can)h(b)s(e)e(sure)h(that)h(y)m
-(ou)150 1490 y(can)g(get)g(the)g(text)g(bac)m(k)g(in)f(a)h(di\013eren)m
-(t)g(\(or)g(the)f(same\))h(place)h(later.)275 1626 y(When)23
-b(y)m(ou)g(use)g(a)h(kill)g(command,)g(the)g(text)g(is)f(sa)m(v)m(ed)i
-(in)e(a)g Fr(kill-ring)p Fu(.)39 b(An)m(y)24 b(n)m(um)m(b)s(er)e(of)h
-(consecutiv)m(e)150 1735 y(kills)31 b(sa)m(v)m(e)i(all)f(of)f(the)g
-(killed)h(text)g(together,)g(so)g(that)f(when)f(y)m(ou)h(y)m(ank)h(it)f
-(bac)m(k,)h(y)m(ou)g(get)g(it)f(all.)43 b(The)150 1845
-y(kill)33 b(ring)f(is)g(not)h(line)g(sp)s(eci\014c;)g(the)g(text)g
-(that)g(y)m(ou)g(killed)f(on)h(a)f(previously)g(t)m(yp)s(ed)h(line)f
-(is)h(a)m(v)-5 b(ailable)150 1954 y(to)31 b(b)s(e)f(y)m(ank)m(ed)h(bac)
-m(k)g(later,)h(when)d(y)m(ou)i(are)g(t)m(yping)f(another)h(line.)275
-2090 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)
-150 2251 y Fj(C-k)336 b Fu(Kill)31 b(the)f(text)i(from)e(the)g(curren)m
-(t)g(cursor)g(p)s(osition)h(to)g(the)f(end)g(of)g(the)h(line.)150
-2411 y Fj(M-d)336 b Fu(Kill)27 b(from)f(the)g(cursor)g(to)h(the)f(end)g
-(of)h(the)f(curren)m(t)g(w)m(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m
-(ords,)g(to)g(the)630 2521 y(end)j(of)g(the)h(next)f(w)m(ord.)41
-b(W)-8 b(ord)30 b(b)s(oundaries)f(are)i(the)g(same)f(as)h(those)g(used)
-f(b)m(y)g Fj(M-f)p Fu(.)150 2681 y Fj(M-DEL)240 b Fu(Kill)34
-b(from)f(the)g(cursor)g(to)h(the)g(start)g(of)g(the)f(curren)m(t)g(w)m
-(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m(ords,)g(to)630
-2790 y(the)28 b(start)g(of)g(the)g(previous)f(w)m(ord.)39
-b(W)-8 b(ord)28 b(b)s(oundaries)e(are)i(the)g(same)g(as)g(those)g(used)
-f(b)m(y)630 2900 y Fj(M-b)p Fu(.)150 3060 y Fj(C-w)336
-b Fu(Kill)35 b(from)g(the)g(cursor)f(to)i(the)f(previous)g(whitespace.)
-55 b(This)34 b(is)h(di\013eren)m(t)h(than)e Fj(M-DEL)630
-3170 y Fu(b)s(ecause)c(the)h(w)m(ord)f(b)s(oundaries)f(di\013er.)275
-3331 y(Here)42 b(is)f(ho)m(w)h(to)g Fr(y)m(ank)47 b Fu(the)42
-b(text)g(bac)m(k)h(in)m(to)f(the)g(line.)74 b(Y)-8 b(anking)43
-b(means)e(to)h(cop)m(y)h(the)e(most-)150 3440 y(recen)m(tly-killed)33
-b(text)e(from)f(the)g(kill)i(bu\013er)d(in)m(to)i(the)g(line)g(at)g
-(the)f(curren)m(t)g(cursor)g(p)s(osition.)150 3601 y
-Fj(C-y)336 b Fu(Y)-8 b(ank)31 b(the)f(most)h(recen)m(tly)h(killed)f
-(text)g(bac)m(k)g(in)m(to)h(the)e(bu\013er)g(at)h(the)f(cursor.)150
-3762 y Fj(M-y)336 b Fu(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
-(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h
-(the)g(prior)630 3871 y(command)30 b(is)h Fj(C-y)e Fu(or)h
-Fj(M-y)p Fu(.)150 4071 y Fk(8.2.4)63 b(Readline)40 b(Argumen)m(ts)150
-4218 y Fu(Y)-8 b(ou)40 b(can)f(pass)g(n)m(umeric)f(argumen)m(ts)i(to)f
-(Readline)h(commands.)67 b(Sometimes)39 b(the)g(argumen)m(t)h(acts)150
-4328 y(as)g(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
-Fl(sign)47 b Fu(of)41 b(the)f(argumen)m(t)g(that)h(is)f(signi\014can)m
-(t.)71 b(If)40 b(y)m(ou)150 4437 y(pass)33 b(a)h(negativ)m(e)i(argumen)
-m(t)e(to)g(a)g(command)f(whic)m(h)g(normally)h(acts)g(in)f(a)h(forw)m
-(ard)f(direction,)i(that)150 4547 y(command)g(will)h(act)g(in)f(a)h
-(bac)m(kw)m(ard)f(direction.)57 b(F)-8 b(or)36 b(example,)h(to)f(kill)g
-(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 4657 y(the)31
-b(line,)g(y)m(ou)f(migh)m(t)h(t)m(yp)s(e)g(`)p Ft(M--)f(C-k)p
-Fu('.)275 4792 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
-(argumen)m(ts)h(to)g(a)f(command)g(is)g(to)h(t)m(yp)s(e)f(meta)i
-(digits)e(b)s(efore)150 4902 y(the)j(command.)42 b(If)30
-b(the)h(\014rst)f(`digit')i(t)m(yp)s(ed)f(is)g(a)g(min)m(us)f(sign)h
-(\(`)p Ft(-)p Fu('\),)h(then)f(the)g(sign)f(of)h(the)g(argumen)m(t)150
-5011 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
-(e)g(t)m(yp)s(ed)f(one)h(meta)g(digit)g(to)f(get)i(the)e(argumen)m(t)h
-(started,)i(y)m(ou)150 5121 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
-(of)h(the)g(digits,)h(and)f(then)f(the)h(command.)40
-b(F)-8 b(or)30 b(example,)g(to)f(giv)m(e)i(the)e Fj(C-d)150
-5230 y Fu(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
-(t)m(yp)s(e)h(`)p Ft(M-1)29 b(0)h(C-d)p Fu(',)39 b(whic)m(h)e(will)h
-(delete)h(the)e(next)h(ten)150 5340 y(c)m(haracters)32
-b(on)e(the)h(input)e(line.)p eop end
-%%Page: 131 137
-TeXDict begin 131 136 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(131)150 299 y Fk(8.2.5)63
-b(Searc)m(hing)40 b(for)i(Commands)g(in)f(the)g(History)150
-446 y Fu(Readline)35 b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h
-(through)e(the)i(command)f(history)g(\(see)h(Section)g(9.1)150
-555 y([Bash)i(History)h(F)-8 b(acilities],)42 b(page)37
-b(165\))i(for)d(lines)h(con)m(taining)i(a)e(sp)s(eci\014ed)f(string.)60
-b(There)36 b(are)i(t)m(w)m(o)150 665 y(searc)m(h)31 b(mo)s(des:)40
-b Fr(incremen)m(tal)35 b Fu(and)30 b Fr(non-incremen)m(tal)p
-Fu(.)275 794 y(Incremen)m(tal)c(searc)m(hes)h(b)s(egin)e(b)s(efore)g
-(the)h(user)f(has)h(\014nished)e(t)m(yping)i(the)g(searc)m(h)g(string.)
-39 b(As)26 b(eac)m(h)150 903 y(c)m(haracter)37 b(of)e(the)h(searc)m(h)g
-(string)f(is)h(t)m(yp)s(ed,)g(Readline)g(displa)m(ys)g(the)f(next)h(en)
-m(try)g(from)e(the)i(history)150 1013 y(matc)m(hing)d(the)g(string)f(t)
-m(yp)s(ed)g(so)g(far.)46 b(An)32 b(incremen)m(tal)h(searc)m(h)g
-(requires)f(only)g(as)g(man)m(y)g(c)m(haracters)150 1123
-y(as)i(needed)f(to)h(\014nd)e(the)h(desired)g(history)g(en)m(try)-8
-b(.)51 b(When)33 b(using)g(emacs)h(editing)g(mo)s(de,)g(t)m(yp)s(e)g
-Fj(C-r)e Fu(to)150 1232 y(searc)m(h)26 b(bac)m(kw)m(ard)f(in)g(the)g
-(history)g(for)g(a)g(particular)g(string.)39 b(T)m(yping)25
-b Fj(C-s)f Fu(searc)m(hes)i(forw)m(ard)f(through)150
-1342 y(the)32 b(history)-8 b(.)44 b(The)31 b(c)m(haracters)i(presen)m
-(t)f(in)f(the)h(v)-5 b(alue)32 b(of)f(the)h Ft(isearch-terminators)26
-b Fu(v)-5 b(ariable)33 b(are)150 1451 y(used)26 b(to)h(terminate)h(an)e
-(incremen)m(tal)i(searc)m(h.)41 b(If)26 b(that)h(v)-5
-b(ariable)27 b(has)g(not)g(b)s(een)f(assigned)h(a)g(v)-5
-b(alue,)28 b(the)150 1561 y Ft(ESC)d Fu(and)h Fj(C-J)f
-Fu(c)m(haracters)j(will)e(terminate)h(an)f(incremen)m(tal)i(searc)m(h.)
-40 b Fj(C-g)25 b Fu(will)i(ab)s(ort)f(an)g(incremen)m(tal)150
-1671 y(searc)m(h)45 b(and)e(restore)h(the)h(original)g(line.)81
-b(When)44 b(the)g(searc)m(h)h(is)f(terminated,)k(the)c(history)g(en)m
-(try)150 1780 y(con)m(taining)32 b(the)e(searc)m(h)h(string)g(b)s
-(ecomes)f(the)h(curren)m(t)f(line.)275 1909 y(T)-8 b(o)31
-b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e(the)h(history)g
-(list,)h(t)m(yp)s(e)g Fj(C-r)e Fu(or)h Fj(C-s)f Fu(as)h(appropriate.)43
-b(This)150 2019 y(will)26 b(searc)m(h)h(bac)m(kw)m(ard)g(or)f(forw)m
-(ard)g(in)f(the)i(history)f(for)g(the)g(next)g(en)m(try)h(matc)m(hing)g
-(the)f(searc)m(h)h(string)150 2128 y(t)m(yp)s(ed)37 b(so)h(far.)63
-b(An)m(y)38 b(other)f(k)m(ey)i(sequence)f(b)s(ound)e(to)i(a)g(Readline)
-h(command)e(will)h(terminate)h(the)150 2238 y(searc)m(h)26
-b(and)f(execute)i(that)f(command.)39 b(F)-8 b(or)26 b(instance,)h(a)f
-Ft(RET)f Fu(will)g(terminate)i(the)f(searc)m(h)g(and)e(accept)150
-2347 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e(command)g(from)g
-(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j(command)d(will)
-150 2457 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h(the)e(last)h(line)g
-(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)g(editing.)275
-2586 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h(incremen)m(tal)g
-(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j Fj(C-r)p
-Fu(s)c(are)i(t)m(yp)s(ed)g(without)150 2695 y(an)m(y)42
-b(in)m(terv)m(ening)i(c)m(haracters)f(de\014ning)f(a)g(new)g(searc)m(h)
-g(string,)k(Readline)c(uses)g(an)m(y)h(remem)m(b)s(ered)150
-2805 y(searc)m(h)31 b(string.)275 2934 y(Non-incremen)m(tal)48
-b(searc)m(hes)g(read)e(the)h(en)m(tire)h(searc)m(h)f(string)g(b)s
-(efore)f(starting)h(to)h(searc)m(h)f(for)150 3043 y(matc)m(hing)39
-b(history)f(en)m(tries.)64 b(The)38 b(searc)m(h)g(string)g(ma)m(y)h(b)s
-(e)e(t)m(yp)s(ed)g(b)m(y)h(the)g(user)g(or)g(b)s(e)f(part)h(of)g(the)
-150 3153 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-3382 y Fs(8.3)68 b(Readline)47 b(Init)e(File)150 3542
-y Fu(Although)f(the)g(Readline)g(library)f(comes)i(with)e(a)h(set)h(of)
-f(Emacs-lik)m(e)h(k)m(eybindings)f(installed)g(b)m(y)150
-3651 y(default,)26 b(it)g(is)e(p)s(ossible)h(to)g(use)f(a)i(di\013eren)
-m(t)f(set)g(of)g(k)m(eybindings.)38 b(An)m(y)25 b(user)f(can)h
-(customize)h(programs)150 3761 y(that)39 b(use)g(Readline)g(b)m(y)f
-(putting)h(commands)f(in)g(an)h Fr(inputrc)k Fu(\014le,)e(con)m(v)m(en)
-m(tionally)h(in)c(their)h(home)150 3871 y(directory)-8
-b(.)59 b(The)35 b(name)i(of)f(this)g(\014le)g(is)g(tak)m(en)h(from)f
-(the)g(v)-5 b(alue)37 b(of)f(the)g(shell)h(v)-5 b(ariable)36
-b Ft(INPUTRC)p Fu(.)56 b(If)150 3980 y(that)36 b(v)-5
-b(ariable)36 b(is)f(unset,)h(the)f(default)h(is)f Ft(~/.inputrc)p
-Fu(.)52 b(If)35 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h
-(b)s(e)150 4090 y(read,)29 b(Readline)f(lo)s(oks)h(for)f
-Ft(/etc/inputrc)p Fu(.)36 b(The)28 b Ft(bind)e Fu(builtin)i(command)g
-(can)g(also)h(b)s(e)e(used)h(to)g(set)150 4199 y(Readline)j(k)m
-(eybindings)f(and)g(v)-5 b(ariables.)41 b(See)31 b(Section)g(4.2)g
-([Bash)g(Builtins],)g(page)g(60.)275 4328 y(When)h(a)g(program)g(whic)m
-(h)g(uses)g(the)h(Readline)f(library)g(starts)h(up,)f(Readline)h(reads)
-f(the)g(init)h(\014le)150 4438 y(and)d(sets)h(an)m(y)f(v)-5
-b(ariables)31 b(and)f(k)m(ey)h(bindings)e(it)i(con)m(tains.)275
-4567 y(In)26 b(addition,)i(the)f Ft(C-x)i(C-r)d Fu(command)h(re-reads)g
-(this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m
-(hanges)150 4676 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g
-(it.)150 4864 y Fk(8.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)150
-5011 y Fu(There)f(are)i(only)f(a)g(few)g(basic)g(constructs)h(allo)m(w)
-m(ed)h(in)d(the)h(Readline)h(init)f(\014le.)73 b(Blank)41
-b(lines)h(are)150 5121 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
-(a)g(`)p Ft(#)p Fu(')g(are)h(commen)m(ts.)73 b(Lines)41
-b(b)s(eginning)f(with)g(a)i(`)p Ft($)p Fu(')f(indicate)150
-5230 y(conditional)e(constructs)f(\(see)g(Section)h(8.3.2)g
-([Conditional)g(Init)e(Constructs],)j(page)e(141\).)64
-b(Other)150 5340 y(lines)31 b(denote)g(v)-5 b(ariable)31
-b(settings)g(and)f(k)m(ey)h(bindings.)p eop end
-%%Page: 132 138
-TeXDict begin 132 137 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(132)150 299 y(V)-8
-b(ariable)32 b(Settings)630 408 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e(the)
-i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h(the)g
-(v)-5 b(alues)41 b(of)630 518 y(v)-5 b(ariables)34 b(in)f(Readline)i
-(using)e(the)g Ft(set)g Fu(command)g(within)g(the)h(init)g(\014le.)50
-b(The)33 b(syn)m(tax)630 628 y(is)d(simple:)870 763 y
-Ft(set)47 b Fj(variable)e(value)630 897 y Fu(Here,)29
-b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default)
-h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 1007 y(use)k
-Ft(vi)g Fu(line)h(editing)g(commands:)870 1142 y Ft(set)47
-b(editing-mode)d(vi)630 1277 y Fu(V)-8 b(ariable)36 b(names)f(and)g(v)
--5 b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
-(regard)630 1386 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
-b(ariable)31 b(names)g(are)f(ignored.)630 1521 y(Bo)s(olean)c(v)-5
-b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
-(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
-b(alue)26 b(is)630 1631 y(n)m(ull)e(or)g(empt)m(y)-8
-b(,)27 b Fr(on)d Fu(\(case-insensitiv)m(e\),)29 b(or)24
-b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
--5 b(ariable)630 1740 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-1875 y(The)37 b Ft(bind)30 b(-V)37 b Fu(command)g(lists)i(the)f(curren)
-m(t)f(Readline)i(v)-5 b(ariable)38 b(names)g(and)f(v)-5
-b(alues.)630 1985 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
-g(60.)630 2120 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
-(is)g(c)m(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5
-b(ariables.)630 2280 y Ft(active-region-start-colo)o(r)1110
-2390 y Fu(A)27 b(string)f(v)-5 b(ariable)27 b(that)g(con)m(trols)h(the)
-f(text)g(color)h(and)e(bac)m(kground)g(when)1110 2499
-y(displa)m(ying)50 b(the)f(text)h(in)f(the)h(activ)m(e)h(region)f
-(\(see)g(the)g(description)f(of)1110 2609 y Ft(enable-active-region)25
-b Fu(b)s(elo)m(w\).)43 b(This)30 b(string)h(m)m(ust)f(not)h(tak)m(e)i
-(up)d(an)m(y)1110 2718 y(ph)m(ysical)25 b(c)m(haracter)h(p)s(ositions)f
-(on)g(the)f(displa)m(y)-8 b(,)27 b(so)e(it)g(should)f(consist)h(only)
-1110 2828 y(of)37 b(terminal)g(escap)s(e)g(sequences.)61
-b(It)36 b(is)h(output)g(to)g(the)g(terminal)g(b)s(efore)1110
-2937 y(displa)m(ying)h(the)f(text)i(in)e(the)h(activ)m(e)h(region.)63
-b(This)37 b(v)-5 b(ariable)38 b(is)f(reset)h(to)1110
-3047 y(the)29 b(default)g(v)-5 b(alue)29 b(whenev)m(er)f(the)h
-(terminal)g(t)m(yp)s(e)g(c)m(hanges.)41 b(The)28 b(default)1110
-3157 y(v)-5 b(alue)30 b(is)f(the)g(string)g(that)h(puts)e(the)i
-(terminal)f(in)g(standout)g(mo)s(de,)g(as)h(ob-)1110
-3266 y(tained)40 b(from)f(the)h(terminal's)g(terminfo)g(description.)68
-b(A)40 b(sample)f(v)-5 b(alue)1110 3376 y(migh)m(t)31
-b(b)s(e)f(`)p Ft(\\e[01;33m)p Fu('.)630 3536 y Ft
-(active-region-end-color)1110 3646 y Fu(A)48 b(string)g(v)-5
-b(ariable)48 b(that)h Ft(")p Fu(undo)s(es)p Ft(")d Fu(the)i(e\013ects)h
-(of)f Ft(active-region-)1110 3755 y(start-color)36 b
-Fu(and)i(restores)h Ft(")p Fu(normal)p Ft(")f Fu(terminal)h(displa)m(y)
-g(app)s(earance)1110 3865 y(after)26 b(displa)m(ying)h(text)f(in)g(the)
-g(activ)m(e)i(region.)40 b(This)25 b(string)h(m)m(ust)f(not)h(tak)m(e)
-1110 3974 y(up)e(an)m(y)h(ph)m(ysical)h(c)m(haracter)h(p)s(ositions)d
-(on)h(the)h(displa)m(y)-8 b(,)27 b(so)e(it)g(should)f(con-)1110
-4084 y(sist)29 b(only)h(of)f(terminal)h(escap)s(e)f(sequences.)41
-b(It)29 b(is)g(output)g(to)h(the)f(terminal)1110 4194
-y(after)36 b(displa)m(ying)g(the)g(text)h(in)e(the)h(activ)m(e)i
-(region.)58 b(This)34 b(v)-5 b(ariable)37 b(is)f(re-)1110
-4303 y(set)e(to)g(the)g(default)g(v)-5 b(alue)34 b(whenev)m(er)f(the)h
-(terminal)g(t)m(yp)s(e)f(c)m(hanges.)51 b(The)1110 4413
-y(default)38 b(v)-5 b(alue)39 b(is)f(the)h(string)f(that)h(restores)f
-(the)h(terminal)f(from)g(stand-)1110 4522 y(out)30 b(mo)s(de,)f(as)g
-(obtained)h(from)f(the)g(terminal's)h(terminfo)f(description.)41
-b(A)1110 4632 y(sample)31 b(v)-5 b(alue)30 b(migh)m(t)h(b)s(e)f(`)p
-Ft(\\e[0m)p Fu('.)630 4792 y Ft(bell-style)1110 4902
-y Fu(Con)m(trols)44 b(what)g(happ)s(ens)e(when)h(Readline)i(w)m(an)m
-(ts)f(to)h(ring)e(the)h(termi-)1110 5011 y(nal)37 b(b)s(ell.)61
-b(If)37 b(set)h(to)g(`)p Ft(none)p Fu(',)g(Readline)g(nev)m(er)g(rings)
-e(the)i(b)s(ell.)61 b(If)36 b(set)i(to)1110 5121 y(`)p
-Ft(visible)p Fu(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g
-(one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110
-5230 y(`)p Ft(audible)p Fu(')j(\(the)i(default\),)i(Readline)e
-(attempts)g(to)h(ring)e(the)g(terminal's)1110 5340 y(b)s(ell.)p
-eop end
-%%Page: 133 139
-TeXDict begin 133 138 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(133)630 299 y Ft
-(bind-tty-special-chars)1110 408 y Fu(If)35 b(set)g(to)h(`)p
-Ft(on)p Fu(')f(\(the)g(default\),)i(Readline)f(attempts)g(to)g(bind)d
-(the)i(con)m(trol)1110 518 y(c)m(haracters)28 b(that)g(are)f(treated)g
-(sp)s(ecially)h(b)m(y)f(the)g(k)m(ernel's)g(terminal)g(driv)m(er)1110
-628 y(to)33 b(their)f(Readline)h(equiv)-5 b(alen)m(ts.)47
-b(These)32 b(o)m(v)m(erride)h(the)f(default)g(Readline)1110
-737 y(bindings)h(describ)s(ed)g(here.)51 b(T)m(yp)s(e)34
-b(`)p Ft(stty)29 b(-a)p Fu(')34 b(at)h(a)f(Bash)g(prompt)g(to)g(see)
-1110 847 y(y)m(our)h(curren)m(t)g(terminal)h(settings,)i(including)d
-(the)h(sp)s(ecial)f(con)m(trol)i(c)m(har-)1110 956 y(acters)31
-b(\(usually)g Ft(cchars)p Fu(\).)630 1121 y Ft(blink-matching-paren)
-1110 1230 y Fu(If)36 b(set)g(to)h(`)p Ft(on)p Fu(',)h(Readline)f
-(attempts)g(to)g(brie\015y)e(mo)m(v)m(e)j(the)f(cursor)e(to)i(an)1110
-1340 y(op)s(ening)k(paren)m(thesis)h(when)f(a)h(closing)h(paren)m
-(thesis)e(is)h(inserted.)74 b(The)1110 1450 y(default)31
-b(is)f(`)p Ft(off)p Fu('.)630 1614 y Ft(colored-completion-prefi)o(x)
-1110 1724 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)g(when)e(listing)i
-(completions,)h(Readline)f(displa)m(ys)g(the)f(com-)1110
-1833 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s(ossible)f
-(completions)h(using)f(a)h(di\013eren)m(t)g(color.)1110
-1943 y(The)f(color)h(de\014nitions)f(are)h(tak)m(en)g(from)f(the)g(v)-5
-b(alue)26 b(of)g(the)f Ft(LS_COLORS)e Fu(en-)1110 2052
-y(vironmen)m(t)34 b(v)-5 b(ariable.)50 b(If)33 b(there)h(is)g(a)f
-(color)i(de\014nition)e(in)g Ft(LS_COLORS)e Fu(for)1110
-2162 y(the)22 b(custom)g(su\016x)f(`)p Ft(readline-colored-complet)o
-(ion)o(-pre)o(fix)p Fu(',)c(Read-)1110 2271 y(line)24
-b(uses)e(this)i(color)g(for)f(the)h(common)f(pre\014x)f(instead)i(of)f
-(its)h(default.)38 b(The)1110 2381 y(default)31 b(is)f(`)p
-Ft(off)p Fu('.)630 2545 y Ft(colored-stats)1110 2655
-y Fu(If)c(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(displa)m(ys)g(p)s
-(ossible)f(completions)h(using)f(di\013eren)m(t)1110
-2765 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
-b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110
-2874 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Ft(LS_COLORS)d
-Fu(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110
-2984 y(is)30 b(`)p Ft(off)p Fu('.)630 3148 y Ft(comment-begin)1110
-3258 y Fu(The)72 b(string)g(to)h(insert)f(at)i(the)e(b)s(eginning)g(of)
-g(the)h(line)g(b)m(y)f(the)1110 3367 y Ft(insert-comment)26
-b Fu(command.)41 b(The)30 b(default)g(v)-5 b(alue)31
-b(is)g Ft("#")p Fu(.)630 3532 y Ft(completion-display-width)1110
-3641 y Fu(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)g(to)
-h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3751 y(when)28
-b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5 b(alue)29
-b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110 3861
-y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
-b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110
-3970 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
-(line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630
-4134 y Ft(completion-ignore-case)1110 4244 y Fu(If)d(set)h(to)g(`)p
-Ft(on)p Fu(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i
-(and)e(completion)1110 4354 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
-40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Ft(off)p
-Fu('.)630 4518 y Ft(completion-map-case)1110 4628 y Fu(If)22
-b(set)g(to)h(`)p Ft(on)p Fu(',)h(and)e Fr(completion-ignore-case)31
-b Fu(is)22 b(enabled,)i(Readline)f(treats)1110 4737 y(h)m(yphens)29
-b(\(`)p Ft(-)p Fu('\))j(and)e(underscores)g(\(`)p Ft(_)p
-Fu('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110
-4847 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f
-(completion.)85 b(The)44 b(default)1110 4956 y(v)-5 b(alue)31
-b(is)f(`)p Ft(off)p Fu('.)630 5121 y Ft(completion-prefix-displa)o
-(y-le)o(ngth)1110 5230 y Fu(The)24 b(maxim)m(um)g(length)h(in)f(c)m
-(haracters)i(of)f(the)f(common)h(pre\014x)e(of)i(a)g(list)g(of)1110
-5340 y(p)s(ossible)i(completions)h(that)g(is)g(displa)m(y)m(ed)g
-(without)f(mo)s(di\014cation.)40 b(When)p eop end
-%%Page: 134 140
-TeXDict begin 134 139 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(134)1110 299 y(set)26
-b(to)h(a)f(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(Readline)e
-(replaces)h(common)f(pre\014xes)1110 408 y(longer)46
-b(than)f(this)h(v)-5 b(alue)46 b(with)f(an)h(ellipsis)g(when)e(displa)m
-(ying)i(p)s(ossible)1110 518 y(completions.)630 682 y
-Ft(completion-query-items)1110 792 y Fu(The)26 b(n)m(um)m(b)s(er)f(of)h
-(p)s(ossible)g(completions)h(that)g(determines)f(when)f(the)i(user)1110
-902 y(is)43 b(ask)m(ed)g(whether)f(the)g(list)h(of)g(p)s(ossibilities)g
-(should)f(b)s(e)g(displa)m(y)m(ed.)77 b(If)1110 1011
-y(the)29 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h(is)f
-(greater)h(than)f(or)g(equal)g(to)h(this)1110 1121 y(v)-5
-b(alue,)45 b(Readline)e(will)f(ask)g(whether)f(or)h(not)g(the)g(user)f
-(wishes)g(to)i(view)1110 1230 y(them;)33 b(otherwise,)g(Readline)g
-(simply)f(lists)h(the)f(completions.)47 b(This)31 b(v)-5
-b(ari-)1110 1340 y(able)32 b(m)m(ust)f(b)s(e)g(set)h(to)g(an)g(in)m
-(teger)g(v)-5 b(alue)32 b(greater)h(than)e(or)h(equal)g(to)g(zero.)1110
-1450 y(A)e(zero)h(v)-5 b(alue)30 b(means)g(Readline)g(should)f(nev)m
-(er)h(ask;)g(negativ)m(e)i(v)-5 b(alues)31 b(are)1110
-1559 y(treated)g(as)g(zero.)42 b(The)29 b(default)i(limit)g(is)g
-Ft(100)p Fu(.)630 1724 y Ft(convert-meta)1110 1833 y
-Fu(If)24 b(set)h(to)h(`)p Ft(on)p Fu(',)g(Readline)f(will)g(con)m(v)m
-(ert)h(c)m(haracters)g(it)f(reads)g(that)g(ha)m(v)m(e)h(the)1110
-1943 y(eigh)m(th)c(bit)f(set)h(to)g(an)f Fm(asci)r(i)g
-Fu(k)m(ey)h(sequence)g(b)m(y)f(clearing)h(the)f(eigh)m(th)h(bit)g(and)
-1110 2052 y(pre\014xing)k(an)i Ft(ESC)e Fu(c)m(haracter,)k(con)m(v)m
-(erting)f(them)e(to)h(a)g(meta-pre\014xed)f(k)m(ey)1110
-2162 y(sequence.)40 b(The)26 b(default)g(v)-5 b(alue)27
-b(is)g(`)p Ft(on)p Fu(',)g(but)f(Readline)h(will)g(set)g(it)g(to)g(`)p
-Ft(off)p Fu(')1110 2271 y(if)e(the)g(lo)s(cale)i(con)m(tains)f(c)m
-(haracters)h(whose)e(enco)s(dings)g(ma)m(y)h(include)e(b)m(ytes)1110
-2381 y(with)g(the)h(eigh)m(th)g(bit)f(set.)40 b(This)23
-b(v)-5 b(ariable)25 b(is)g(dep)s(enden)m(t)e(on)i(the)f
-Ft(LC_CTYPE)1110 2491 y Fu(lo)s(cale)i(category)-8 b(,)28
-b(and)23 b(ma)m(y)i(c)m(hange)g(if)f(the)g(lo)s(cale)h(c)m(hanges.)40
-b(This)23 b(v)-5 b(ariable)1110 2600 y(also)23 b(a\013ects)h(k)m(ey)g
-(bindings;)g(see)f(the)f(description)h(of)g Ft(force-meta-prefix)1110
-2710 y Fu(b)s(elo)m(w.)630 2874 y Ft(disable-completion)1110
-2984 y Fu(If)36 b(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g
-(inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-3093 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
-(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-3203 y(to)31 b Ft(self-insert)p Fu(.)38 b(The)30 b(default)g(is)h(`)p
-Ft(off)p Fu('.)630 3367 y Ft(echo-control-characters)1110
-3477 y Fu(When)f(set)h(to)g(`)p Ft(on)p Fu(',)f(on)g(op)s(erating)h
-(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 3587
-y(it,)e(Readline)g(ec)m(ho)s(es)g(a)f(c)m(haracter)i(corresp)s(onding)d
-(to)i(a)f(signal)h(generated)1110 3696 y(from)h(the)g(k)m(eyb)s(oard.)
-41 b(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 3861
-y Ft(editing-mode)1110 3970 y Fu(The)23 b Ft(editing-mode)d
-Fu(v)-5 b(ariable)24 b(con)m(trols)g(the)g(default)f(set)h(of)g(k)m(ey)
-g(bindings.)1110 4080 y(By)37 b(default,)i(Readline)f(starts)g(up)d(in)
-i(emacs)h(editing)g(mo)s(de,)g(where)f(the)1110 4189
-y(k)m(eystrok)m(es)d(are)g(most)f(similar)g(to)g(Emacs.)48
-b(This)32 b(v)-5 b(ariable)34 b(can)f(b)s(e)f(set)h(to)1110
-4299 y(either)e(`)p Ft(emacs)p Fu(')e(or)i(`)p Ft(vi)p
-Fu('.)630 4463 y Ft(emacs-mode-string)1110 4573 y Fu(If)i(the)h
-Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i
-(this)f(string)f(is)h(dis-)1110 4682 y(pla)m(y)m(ed)24
-b(immediately)g(b)s(efore)f(the)g(last)h(line)f(of)h(the)f(primary)f
-(prompt)g(when)1110 4792 y(emacs)g(editing)h(mo)s(de)e(is)h(activ)m(e.)
-40 b(The)21 b(v)-5 b(alue)22 b(is)g(expanded)f(lik)m(e)h(a)h(k)m(ey)f
-(bind-)1110 4902 y(ing,)j(so)d(the)h(standard)f(set)h(of)g(meta-)h(and)
-e(con)m(trol-)i(pre\014xes)e(and)g(bac)m(kslash)1110
-5011 y(escap)s(e)32 b(sequences)f(is)h(a)m(v)-5 b(ailable.)46
-b(The)31 b(`)p Ft(\\1)p Fu(')g(and)g(`)p Ft(\\2)p Fu(')g(escap)s(es)h
-(b)s(egin)f(and)1110 5121 y(end)25 b(sequences)h(of)g(non-prin)m(ting)g
-(c)m(haracters,)i(whic)m(h)e(can)g(b)s(e)f(used)g(to)i(em-)1110
-5230 y(b)s(ed)i(a)i(terminal)g(con)m(trol)h(sequence)f(in)m(to)h(the)e
-(mo)s(de)h(string.)41 b(The)30 b(default)1110 5340 y(is)g(`)p
-Ft(@)p Fu('.)p eop end
-%%Page: 135 141
-TeXDict begin 135 140 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(135)630 299 y Ft
-(enable-active-region)1110 408 y Fr(p)s(oin)m(t)27 b
-Fu(is)e(the)h(curren)m(t)f(cursor)f(p)s(osition,)j(and)d
-Fr(mark)31 b Fu(refers)24 b(to)i(a)g(sa)m(v)m(ed)g(cur-)1110
-518 y(sor)i(p)s(osition)g(\(see)h(Section)g(8.4.1)h([Commands)d(F)-8
-b(or)29 b(Mo)m(ving],)h(page)f(145\).)1110 628 y(The)46
-b(text)h(b)s(et)m(w)m(een)h(the)e(p)s(oin)m(t)h(and)f(mark)g(is)g
-(referred)g(to)h(as)g(the)g Fr(re-)1110 737 y(gion)p
-Fu(.)80 b(When)44 b(this)f(v)-5 b(ariable)44 b(is)f(set)h(to)g(`)p
-Ft(On)p Fu(',)j(Readline)d(allo)m(ws)h(certain)1110 847
-y(commands)37 b(to)h(designate)h(the)e(region)h(as)g
-Fr(activ)m(e)p Fu(.)64 b(When)37 b(the)h(region)g(is)1110
-956 y(activ)m(e,)43 b(Readline)38 b(highligh)m(ts)h(the)g(text)g(in)e
-(the)i(region)g(using)e(the)h(v)-5 b(alue)1110 1066 y(of)35
-b(the)g Ft(active-region-start-color)p Fu(,)30 b(whic)m(h)35
-b(defaults)g(to)h(the)f(string)1110 1176 y(that)23 b(enables)f(the)g
-(terminal's)h(standout)e(mo)s(de.)38 b(The)21 b(activ)m(e)k(region)d
-(sho)m(ws)1110 1285 y(the)32 b(text)h(inserted)f(b)m(y)g(brac)m(k)m
-(eted-paste)i(and)e(an)m(y)g(matc)m(hing)h(text)g(found)1110
-1395 y(b)m(y)f(incremen)m(tal)i(and)e(non-incremen)m(tal)i(history)e
-(searc)m(hes.)48 b(The)32 b(default)1110 1504 y(is)e(`)p
-Ft(On)p Fu('.)630 1658 y Ft(enable-bracketed-paste)1110
-1767 y Fu(When)36 b(set)h(to)g(`)p Ft(On)p Fu(',)h(Readline)f
-(con\014gures)f(the)h(terminal)f(to)i(insert)e(eac)m(h)1110
-1877 y(paste)27 b(in)m(to)g(the)f(editing)h(bu\013er)e(as)h(a)h(single)
-g(string)f(of)g(c)m(haracters,)j(instead)1110 1987 y(of)d(treating)i
-(eac)m(h)g(c)m(haracter)f(as)g(if)f(it)h(had)f(b)s(een)f(read)i(from)e
-(the)i(k)m(eyb)s(oard.)1110 2096 y(This)36 b(is)h(called)h(putting)f
-(the)h(terminal)f(in)m(to)h Fr(brac)m(k)m(eted)h(paste)e(mo)s(de)5
-b Fu(;)40 b(it)1110 2206 y(prev)m(en)m(ts)30 b(Readline)h(from)e
-(executing)i(an)m(y)f(editing)h(commands)e(b)s(ound)f(to)1110
-2315 y(k)m(ey)j(sequences)g(app)s(earing)f(in)g(the)g(pasted)h(text.)42
-b(The)29 b(default)i(is)f(`)p Ft(On)p Fu('.)630 2469
-y Ft(enable-keypad)1110 2578 y Fu(When)23 b(set)h(to)g(`)p
-Ft(on)p Fu(',)h(Readline)f(will)g(try)f(to)h(enable)g(the)f
-(application)i(k)m(eypad)1110 2688 y(when)h(it)h(is)f(called.)41
-b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g(arro)m(w)g(k)m
-(eys.)1110 2798 y(The)j(default)g(is)h(`)p Ft(off)p Fu('.)630
-2951 y Ft(enable-meta-key)1110 3061 y Fu(When)25 b(set)h(to)g(`)p
-Ft(on)p Fu(',)h(Readline)f(will)g(try)f(to)h(enable)g(an)m(y)g(meta)g
-(mo)s(di\014er)e(k)m(ey)1110 3170 y(the)34 b(terminal)f(claims)i(to)f
-(supp)s(ort)e(when)g(it)i(is)f(called.)51 b(On)33 b(man)m(y)g(termi-)
-1110 3280 y(nals,)26 b(the)f(Meta)h(k)m(ey)g(is)f(used)f(to)h(send)f
-(eigh)m(t-bit)j(c)m(haracters;)h(this)d(v)-5 b(ariable)1110
-3389 y(c)m(hec)m(ks)37 b(for)e(the)h(terminal)g(capabilit)m(y)i(that)e
-(indicates)h(the)e(terminal)i(can)1110 3499 y(enable)f(and)f(disable)h
-(a)g(mo)s(de)f(that)h(sets)g(the)g(eigh)m(th)g(bit)g(of)f(a)h(c)m
-(haracter)1110 3608 y(\(0200\))31 b(if)d(the)g(Meta)i(k)m(ey)f(is)f
-(held)g(do)m(wn)g(when)f(the)h(c)m(haracter)i(is)e(t)m(yp)s(ed)g(\(a)
-1110 3718 y(meta)j(c)m(haracter\).)43 b(The)30 b(default)g(is)h(`)p
-Ft(on)p Fu('.)630 3871 y Ft(expand-tilde)1110 3981 y
-Fu(If)h(set)h(to)h(`)p Ft(on)p Fu(',)f(Readline)h(attempts)f(tilde)h
-(expansion)e(when)g(it)h(attempts)1110 4091 y(w)m(ord)d(completion.)42
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 4244
-y Ft(force-meta-prefix)1110 4354 y Fu(If)h(set)i(to)g(`)p
-Ft(on)p Fu(',)f(Readline)h(mo)s(di\014es)e(its)h(b)s(eha)m(vior)g(when)
-f(binding)g(k)m(ey)h(se-)1110 4463 y(quences)22 b(con)m(taining)i
-Fj(\\M-)e Fu(or)h Ft(Meta-)e Fu(\(see)i Ft(Key)29 b(Bindings)21
-b Fu(in)h(Section)h(8.3.1)1110 4573 y([Readline)k(Init)f(File)i(Syn)m
-(tax],)g(page)f(131\))h(b)m(y)e(con)m(v)m(erting)i(a)e(k)m(ey)i
-(sequence)1110 4682 y(of)41 b(the)h(form)e Fj(\\M-)p
-Fr(C)48 b Fu(or)41 b Ft(Meta-)p Fr(C)48 b Fu(to)41 b(the)h(t)m(w)m(o-c)
-m(haracter)i(sequence)e Fj(ESC)1110 4792 y Fr(C)e Fu(\(adding)32
-b(the)g(meta)h(pre\014x\).)46 b(If)32 b Ft(force-meta-prefix)27
-b Fu(is)33 b(set)f(to)h(`)p Ft(off)p Fu(')1110 4902 y(\(the)25
-b(default\),)i(Readline)e(uses)f(the)h(v)-5 b(alue)25
-b(of)f(the)h Ft(convert-meta)c Fu(v)-5 b(ariable)1110
-5011 y(to)30 b(determine)f(whether)f(to)i(p)s(erform)d(this)i(con)m(v)m
-(ersion:)41 b(if)29 b Ft(convert-meta)1110 5121 y Fu(is)37
-b(`)p Ft(on)p Fu(',)i(Readline)f(p)s(erforms)d(the)j(con)m(v)m(ersion)g
-(describ)s(ed)e(ab)s(o)m(v)m(e;)42 b(if)37 b(it)h(is)1110
-5230 y(`)p Ft(off)p Fu(',)24 b(Readline)g(con)m(v)m(erts)g
-Fr(C)30 b Fu(to)23 b(a)h(meta)f(c)m(haracter)i(b)m(y)d(setting)i(the)f
-(eigh)m(th)1110 5340 y(bit)30 b(\(0200\).)44 b(The)29
-b(default)i(is)f(`)p Ft(off)p Fu('.)p eop end
-%%Page: 136 142
-TeXDict begin 136 141 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(136)630 299 y Ft
-(history-preserve-point)1110 408 y Fu(If)41 b(set)h(to)h(`)p
-Ft(on)p Fu(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
-(p)s(oin)m(t)f(\(the)1110 518 y(curren)m(t)35 b(cursor)g(p)s(osition\))
-g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g(line)1110
-628 y(retriev)m(ed)h(with)f Ft(previous-history)c Fu(or)37
-b Ft(next-history)p Fu(.)55 b(The)36 b(default)1110 737
-y(is)30 b(`)p Ft(off)p Fu('.)630 902 y Ft(history-size)1110
-1011 y Fu(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g
-(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 1121
-y(list.)51 b(If)34 b(set)g(to)h(zero,)g(an)m(y)f(existing)h(history)f
-(en)m(tries)g(are)g(deleted)h(and)e(no)1110 1230 y(new)e(en)m(tries)i
-(are)f(sa)m(v)m(ed.)46 b(If)31 b(set)h(to)h(a)f(v)-5
-b(alue)32 b(less)g(than)f(zero,)i(the)f(n)m(um)m(b)s(er)1110
-1340 y(of)44 b(history)g(en)m(tries)h(is)f(not)h(limited.)82
-b(By)45 b(default,)j(Bash)c(sets)g(the)h(the)1110 1450
-y(maxim)m(um)34 b(n)m(um)m(b)s(er)f(of)i(history)f(en)m(tries)h(to)g
-(the)f(v)-5 b(alue)35 b(of)g(the)f Ft(HISTSIZE)1110 1559
-y Fu(shell)27 b(v)-5 b(ariable.)41 b(If)27 b(y)m(ou)g(try)g(to)h(set)g
-Fr(history-size)34 b Fu(to)28 b(a)f(non-n)m(umeric)g(v)-5
-b(alue,)1110 1669 y(the)31 b(maxim)m(um)f(n)m(um)m(b)s(er)f(of)h
-(history)h(en)m(tries)g(will)g(b)s(e)e(set)i(to)g(500.)630
-1833 y Ft(horizontal-scroll-mode)1110 1943 y Fu(Setting)i(this)e(v)-5
-b(ariable)33 b(to)g(`)p Ft(on)p Fu(')e(means)h(that)g(the)g(text)h(of)f
-(the)g(lines)g(b)s(eing)1110 2052 y(edited)d(will)h(scroll)g(horizon)m
-(tally)h(on)e(a)g(single)h(screen)f(line)g(when)f(the)i(lines)1110
-2162 y(are)k(longer)h(than)e(the)h(width)g(of)g(the)g(screen,)h
-(instead)f(of)g(wrapping)f(on)m(to)1110 2271 y(a)42 b(new)f(screen)h
-(line.)74 b(This)41 b(v)-5 b(ariable)42 b(is)g(automatically)i(set)e
-(to)h(`)p Ft(on)p Fu(')e(for)1110 2381 y(terminals)31
-b(of)f(heigh)m(t)i(1.)41 b(By)30 b(default,)h(this)f(v)-5
-b(ariable)32 b(is)e(set)h(to)g(`)p Ft(off)p Fu('.)630
-2545 y Ft(input-meta)1110 2655 y Fu(If)23 b(set)h(to)g(`)p
-Ft(on)p Fu(',)h(Readline)f(will)g(enable)g(eigh)m(t-bit)i(input)c
-(\(that)j(is,)g(it)f(will)g(not)1110 2765 y(clear)35
-b(the)g(eigh)m(th)g(bit)f(in)g(the)g(c)m(haracters)i(it)f(reads\),)g
-(regardless)g(of)f(what)1110 2874 y(the)d(terminal)h(claims)f(it)h(can)
-f(supp)s(ort.)41 b(The)30 b(default)h(v)-5 b(alue)32
-b(is)f(`)p Ft(off)p Fu(',)g(but)1110 2984 y(Readline)36
-b(will)f(set)h(it)f(to)h(`)p Ft(on)p Fu(')f(if)g(the)g(lo)s(cale)h(con)
-m(tains)h(c)m(haracters)f(whose)1110 3093 y(enco)s(dings)30
-b(ma)m(y)h(include)f(b)m(ytes)h(with)f(the)g(eigh)m(th)h(bit)f(set.)42
-b(This)29 b(v)-5 b(ariable)1110 3203 y(is)37 b(dep)s(enden)m(t)f(on)i
-(the)f Ft(LC_CTYPE)e Fu(lo)s(cale)k(category)-8 b(,)41
-b(and)c(its)h(v)-5 b(alue)37 b(ma)m(y)1110 3313 y(c)m(hange)g(if)f(the)
-g(lo)s(cale)h(c)m(hanges.)58 b(The)35 b(name)h Ft(meta-flag)d
-Fu(is)j(a)g(synon)m(ym)1110 3422 y(for)30 b Ft(input-meta)p
-Fu(.)630 3587 y Ft(isearch-terminators)1110 3696 y Fu(The)51
-b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j(an)f
-(incremen)m(tal)1110 3806 y(searc)m(h)25 b(without)g(subsequen)m(tly)g
-(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110
-3915 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(131\).)62
-b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 4025
-y(b)s(een)e(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h
-Ft(ESC)d Fu(and)h Fj(C-J)g Fu(will)h(terminate)g(an)1110
-4134 y(incremen)m(tal)c(searc)m(h.)630 4299 y Ft(keymap)192
-b Fu(Sets)64 b(Readline's)i(idea)f(of)f(the)h(curren)m(t)f(k)m(eymap)h
-(for)f(k)m(ey)h(binding)1110 4408 y(commands.)71 b(Built-in)41
-b Ft(keymap)e Fu(names)h(are)h Ft(emacs)p Fu(,)h Ft(emacs-standard)p
-Fu(,)1110 4518 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 4628 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 4737 y(synon)m(ym\);)41
-b Ft(emacs)c Fu(is)h(equiv)-5 b(alen)m(t)39 b(to)f Ft(emacs-standard)p
-Fu(.)59 b(Applications)1110 4847 y(ma)m(y)35 b(add)f(additional)h
-(names.)52 b(The)34 b(default)h(v)-5 b(alue)34 b(is)h
-Ft(emacs)p Fu(;)g(the)f(v)-5 b(alue)1110 4956 y(of)31
-b(the)f Ft(editing-mode)d Fu(v)-5 b(ariable)31 b(also)h(a\013ects)f
-(the)g(default)g(k)m(eymap.)630 5121 y Ft(keyseq-timeout)1110
-5230 y Fu(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m
-(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 5340
-y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f
-(form)g(a)g(complete)h(k)m(ey)p eop end
-%%Page: 137 143
-TeXDict begin 137 142 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(137)1110 299 y(sequence)34
-b(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i
-(additional)f(input)1110 408 y(to)43 b(complete)h(a)f(longer)h(k)m(ey)f
-(sequence\).)78 b(If)42 b(Readline)i(do)s(esn't)e(receiv)m(e)1110
-518 y(an)m(y)32 b(input)f(within)h(the)g(timeout,)h(it)g(will)f(use)g
-(the)g(shorter)f(but)g(complete)1110 628 y(k)m(ey)42
-b(sequence.)73 b(Readline)42 b(uses)f(this)g(v)-5 b(alue)41
-b(to)h(determine)f(whether)g(or)1110 737 y(not)27 b(input)f(is)h(a)m(v)
--5 b(ailable)29 b(on)e(the)g(curren)m(t)f(input)g(source)h(\()p
-Ft(rl_instream)d Fu(b)m(y)1110 847 y(default\).)50 b(The)33
-b(v)-5 b(alue)34 b(is)f(sp)s(eci\014ed)g(in)g(milliseconds,)i(so)e(a)h
-(v)-5 b(alue)34 b(of)f(1000)1110 956 y(means)i(that)g(Readline)g(will)g
-(w)m(ait)h(one)f(second)g(for)f(additional)i(input.)52
-b(If)1110 1066 y(this)39 b(v)-5 b(ariable)41 b(is)e(set)h(to)g(a)g(v)-5
-b(alue)40 b(less)g(than)f(or)h(equal)g(to)g(zero,)j(or)c(to)i(a)1110
-1176 y(non-n)m(umeric)32 b(v)-5 b(alue,)33 b(Readline)g(will)g(w)m(ait)
-g(un)m(til)g(another)f(k)m(ey)i(is)e(pressed)1110 1285
-y(to)25 b(decide)f(whic)m(h)f(k)m(ey)i(sequence)f(to)h(complete.)40
-b(The)23 b(default)h(v)-5 b(alue)25 b(is)f Ft(500)p Fu(.)630
-1450 y Ft(mark-directories)1110 1559 y Fu(If)38 b(set)g(to)h(`)p
-Ft(on)p Fu(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 1669 y(The)30 b(default)g(is)h(`)p
-Ft(on)p Fu('.)630 1833 y Ft(mark-modified-lines)1110
-1943 y Fu(When)23 b(this)g(v)-5 b(ariable)24 b(is)g(set)f(to)h(`)p
-Ft(on)p Fu(',)h(Readline)f(will)g(to)g(displa)m(y)f(an)g(asterisk)1110
-2052 y(\(`)p Ft(*)p Fu('\))37 b(at)f(the)g(start)g(of)g(history)g
-(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)56
-b(This)1110 2162 y(v)-5 b(ariable)31 b(is)g(`)p Ft(off)p
-Fu(')f(b)m(y)g(default.)630 2326 y Ft(mark-symlinked-directori)o(es)
-1110 2436 y Fu(If)59 b(set)h(to)g(`)p Ft(on)p Fu(',)67
-b(completed)60 b(names)f(whic)m(h)g(are)h(sym)m(b)s(olic)g(links)f(to)
-1110 2545 y(directories)71 b(ha)m(v)m(e)f(a)g(slash)g(app)s(ended,)77
-b(sub)5 b(ject)70 b(to)g(the)g(v)-5 b(alue)70 b(of)1110
-2655 y Ft(mark-directories)p Fu(.)36 b(The)30 b(default)h(is)f(`)p
-Ft(off)p Fu('.)630 2819 y Ft(match-hidden-files)1110
-2929 y Fu(This)24 b(v)-5 b(ariable,)26 b(when)e(set)h(to)g(`)p
-Ft(on)p Fu(',)g(forces)g(Readline)g(to)g(matc)m(h)h(\014les)e(whose)
-1110 3039 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Ft(.)p
-Fu(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
-3148 y(completion.)f(If)28 b(set)i(to)g(`)p Ft(off)p
-Fu(',)f(the)g(user)f(m)m(ust)h(include)g(the)g(leading)h(`)p
-Ft(.)p Fu(')f(in)1110 3258 y(the)i(\014lename)f(to)h(b)s(e)f
-(completed.)42 b(This)29 b(v)-5 b(ariable)31 b(is)g(`)p
-Ft(on)p Fu(')f(b)m(y)g(default.)630 3422 y Ft(menu-complete-display-pr)
-o(efix)1110 3532 y Fu(If)j(set)h(to)g(`)p Ft(on)p Fu(',)h(men)m(u)e
-(completion)i(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110
-3641 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)
-s(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 3751 y(through)30
-b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Ft(off)p
-Fu('.)630 3915 y Ft(output-meta)1110 4025 y Fu(If)35
-b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(displa)m(y)f(c)m
-(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 4134 y(set)h(directly)g
-(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59
-b(The)1110 4244 y(default)26 b(is)f(`)p Ft(off)p Fu(',)i(but)e
-(Readline)h(will)g(set)g(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)f(lo)s
-(cale)j(con)m(tains)1110 4354 y(c)m(haracters)34 b(whose)f(enco)s
-(dings)g(ma)m(y)h(include)f(b)m(ytes)g(with)g(the)g(eigh)m(th)h(bit)
-1110 4463 y(set.)63 b(This)37 b(v)-5 b(ariable)38 b(is)g(dep)s(enden)m
-(t)e(on)i(the)g Ft(LC_CTYPE)d Fu(lo)s(cale)k(category)-8
-b(,)1110 4573 y(and)30 b(its)h(v)-5 b(alue)30 b(ma)m(y)h(c)m(hange)h
-(if)e(the)h(lo)s(cale)h(c)m(hanges.)630 4737 y Ft(page-completions)1110
-4847 y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)h(Readline)g(uses)e(an)h
-(in)m(ternal)h Ft(more)p Fu(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-4956 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
-47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Ft(on)p Fu(')1110
-5066 y(b)m(y)e(default.)630 5230 y Ft(prefer-visible-bell)1110
-5340 y Fu(See)h Ft(bell-style)p Fu(.)p eop end
-%%Page: 138 144
-TeXDict begin 138 143 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(138)630 299 y Ft
-(print-completions-horizo)o(ntal)o(ly)1110 408 y Fu(If)23
-b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)f(displa)m(y)g
-(completions)h(with)f(matc)m(hes)h(sorted)1110 518 y(horizon)m(tally)45
-b(in)e(alphab)s(etical)i(order,)i(rather)c(than)g(do)m(wn)g(the)h
-(screen.)1110 628 y(The)30 b(default)g(is)h(`)p Ft(off)p
-Fu('.)630 784 y Ft(revert-all-at-newline)1110 894 y Fu(If)e(set)h(to)g
-(`)p Ft(on)p Fu(',)g(Readline)g(will)g(undo)f(all)h(c)m(hanges)h(to)f
-(history)g(lines)f(b)s(efore)1110 1003 y(returning)35
-b(when)f(executing)j Ft(accept-line)p Fu(.)54 b(By)36
-b(default,)h(history)f(lines)1110 1113 y(ma)m(y)42 b(b)s(e)g(mo)s
-(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h(across)g(calls)h
-(to)1110 1223 y Ft(readline\(\))p Fu(.)38 b(The)30 b(default)g(is)h(`)p
-Ft(off)p Fu('.)630 1379 y Ft(search-ignore-case)1110
-1489 y Fu(If)j(set)g(to)h(`)p Ft(on)p Fu(',)h(Readline)e(p)s(erforms)f
-(incremen)m(tal)i(and)f(non-incremen)m(tal)1110 1598
-y(history)27 b(list)g(searc)m(hes)h(in)f(a)g(case-insensitiv)m(e)j
-(fashion.)39 b(The)26 b(default)h(v)-5 b(alue)1110 1708
-y(is)30 b(`)p Ft(off)p Fu('.)630 1864 y Ft(show-all-if-ambiguous)1110
-1974 y Fu(This)f(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h
-(completion)g(functions.)40 b(If)29 b(set)1110 2084 y(to)f(`)p
-Ft(on)p Fu(',)g(w)m(ords)f(whic)m(h)g(ha)m(v)m(e)i(more)f(than)f(one)h
-(p)s(ossible)f(completion)h(cause)1110 2193 y(the)39
-b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i(instead)e(of)g
-(ringing)g(the)g(b)s(ell.)1110 2303 y(The)30 b(default)g(v)-5
-b(alue)31 b(is)g(`)p Ft(off)p Fu('.)630 2459 y Ft
-(show-all-if-unmodified)1110 2569 y Fu(This)38 b(alters)h(the)g
-(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a)
-1110 2679 y(fashion)25 b(similar)h(to)g Fr(sho)m(w-all-if-am)m(biguous)
-p Fu(.)41 b(If)25 b(set)h(to)h(`)p Ft(on)p Fu(',)f(w)m(ords)f(whic)m(h)
-1110 2788 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
-(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
-2898 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h
-(don't)f(share)g(a)h(common)1110 3007 y(pre\014x\))30
-b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i
-(instead)e(of)h(ring-)1110 3117 y(ing)g(the)f(b)s(ell.)41
-b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Ft(off)p
-Fu('.)630 3273 y Ft(show-mode-in-prompt)1110 3383 y Fu(If)24
-b(set)h(to)g(`)p Ft(on)p Fu(',)g(add)f(a)h(string)f(to)h(the)f(b)s
-(eginning)g(of)g(the)h(prompt)e(indicating)1110 3493
-y(the)33 b(editing)h(mo)s(de:)46 b(emacs,)35 b(vi)e(command,)h(or)f(vi)
-h(insertion.)49 b(The)32 b(mo)s(de)1110 3602 y(strings)45
-b(are)h(user-settable)g(\(e.g.,)51 b Fr(emacs-mo)s(de-string)8
-b Fu(\).)87 b(The)45 b(default)1110 3712 y(v)-5 b(alue)31
-b(is)f(`)p Ft(off)p Fu('.)630 3868 y Ft(skip-completed-text)1110
-3978 y Fu(If)i(set)i(to)f(`)p Ft(on)p Fu(',)h(this)f(alters)g(the)g
-(default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110
-4088 y(serting)d(a)h(single)g(matc)m(h)f(in)m(to)h(the)g(line.)40
-b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)1110
-4197 y(ing)k(completion)i(in)e(the)g(middle)g(of)g(a)h(w)m(ord.)46
-b(If)32 b(enabled,)g(Readline)h(do)s(es)1110 4307 y(not)41
-b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g
-(c)m(haracters)1110 4416 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f
-(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110
-4526 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45
-b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110
-4635 y(abled,)h(attempting)h(completion)g(when)d(the)i(cursor)f(is)g
-(after)h(the)g(\014rst)f(`)p Ft(e)p Fu(')1110 4745 y(in)23
-b(`)p Ft(Makefile)p Fu(')f(will)h(result)h(in)f(`)p Ft(Makefile)p
-Fu(')e(rather)i(than)h(`)p Ft(Makefilefile)p Fu(',)1110
-4855 y(assuming)35 b(there)g(is)h(a)f(single)h(p)s(ossible)f
-(completion.)56 b(The)35 b(default)g(v)-5 b(alue)1110
-4964 y(is)30 b(`)p Ft(off)p Fu('.)630 5121 y Ft(vi-cmd-mode-string)1110
-5230 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5
-b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
-5340 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
-(of)h(the)f(primary)f(prompt)g(when)p eop end
-%%Page: 139 145
-TeXDict begin 139 144 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(139)1110 299 y(vi)32
-b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command)g(mo)s(de.)46
-b(The)31 b(v)-5 b(alue)33 b(is)f(ex-)1110 408 y(panded)23
-b(lik)m(e)j(a)e(k)m(ey)h(binding,)g(so)g(the)f(standard)g(set)h(of)f
-(meta-)h(and)f(con)m(trol-)1110 518 y(pre\014xes)31 b(and)h(bac)m
-(kslash)g(escap)s(e)h(sequences)f(is)g(a)m(v)-5 b(ailable.)48
-b(The)32 b(`)p Ft(\\1)p Fu(')g(and)1110 628 y(`)p Ft(\\2)p
-Fu(')40 b(escap)s(es)h(b)s(egin)g(and)f(end)f(sequences)i(of)g
-(non-prin)m(ting)f(c)m(haracters,)1110 737 y(whic)m(h)35
-b(can)g(b)s(e)f(used)g(to)i(em)m(b)s(ed)e(a)i(terminal)f(con)m(trol)i
-(sequence)e(in)m(to)h(the)1110 847 y(mo)s(de)30 b(string.)41
-b(The)30 b(default)g(is)g(`)p Ft(\(cmd\))p Fu('.)630
-990 y Ft(vi-ins-mode-string)1110 1100 y Fu(If)j(the)h
-Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i
-(this)f(string)f(is)h(dis-)1110 1209 y(pla)m(y)m(ed)24
-b(immediately)g(b)s(efore)f(the)g(last)h(line)f(of)h(the)f(primary)f
-(prompt)g(when)1110 1319 y(vi)35 b(editing)h(mo)s(de)e(is)i(activ)m(e)h
-(and)d(in)h(insertion)g(mo)s(de.)54 b(The)35 b(v)-5 b(alue)35
-b(is)g(ex-)1110 1428 y(panded)23 b(lik)m(e)j(a)e(k)m(ey)h(binding,)g
-(so)g(the)f(standard)g(set)h(of)f(meta-)h(and)f(con)m(trol-)1110
-1538 y(pre\014xes)31 b(and)h(bac)m(kslash)g(escap)s(e)h(sequences)f(is)
-g(a)m(v)-5 b(ailable.)48 b(The)32 b(`)p Ft(\\1)p Fu(')g(and)1110
-1648 y(`)p Ft(\\2)p Fu(')40 b(escap)s(es)h(b)s(egin)g(and)f(end)f
-(sequences)i(of)g(non-prin)m(ting)f(c)m(haracters,)1110
-1757 y(whic)m(h)35 b(can)g(b)s(e)f(used)g(to)i(em)m(b)s(ed)e(a)i
-(terminal)f(con)m(trol)i(sequence)e(in)m(to)h(the)1110
-1867 y(mo)s(de)30 b(string.)41 b(The)30 b(default)g(is)g(`)p
-Ft(\(ins\))p Fu('.)630 2010 y Ft(visible-stats)1110 2120
-y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)h(a)f(c)m(haracter)i(denoting)e
-(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)1110
-2229 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)150 2373
-y(Key)f(Bindings)630 2482 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
-(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
-b(First)43 b(y)m(ou)630 2592 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
-h(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
-b(The)27 b(follo)m(wing)630 2701 y(sections)37 b(con)m(tain)g(tables)g
-(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
-m(y)-8 b(,)630 2811 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 2937 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
-(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
-(the)g(init)630 3047 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
-(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
-630 3157 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
-b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
-(and)630 3266 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
-(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)630 3376 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
-(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
-(what)h(y)m(ou)g(\014nd)e(most)630 3485 y(comfortable.)630
-3612 y(In)g(addition)h(to)g(command)g(names,)g(Readline)g(allo)m(ws)h
-(k)m(eys)g(to)f(b)s(e)f(b)s(ound)f(to)i(a)g(string)630
-3721 y(that)i(is)f(inserted)f(when)g(the)i(k)m(ey)f(is)g(pressed)f(\(a)
-i Fr(macro)5 b Fu(\).)55 b(The)35 b(di\013erence)g(b)s(et)m(w)m(een)h
-(a)630 3831 y(macro)31 b(and)f(a)h(command)f(is)g(that)h(a)g(macro)g
-(is)f(enclosed)h(in)f(single)h(or)g(double)f(quotes.)630
-3957 y(The)42 b Ft(bind)30 b(-p)42 b Fu(command)h(displa)m(ys)g
-(Readline)g(function)g(names)g(and)f(bindings)g(in)h(a)630
-4067 y(format)28 b(that)h(can)f(b)s(e)f(put)g(directly)i(in)m(to)f(an)g
-(initialization)j(\014le.)40 b(See)28 b(Section)h(4.2)g([Bash)630
-4177 y(Builtins],)i(page)g(60.)630 4320 y Fr(k)m(eyname)5
-b Fu(:)42 b Fr(function-name)35 b Fu(or)c Fr(macro)1110
-4430 y(k)m(eyname)k Fu(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
-(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
-4556 y Ft(Control-u:)45 b(universal-argument)1350 4666
-y(Meta-Rubout:)f(backward-kill-word)1350 4775 y(Control-o:)h(">)i
-(output")1110 4902 y Fu(In)94 b(the)g(example)h(ab)s(o)m(v)m(e,)112
-b Fj(C-u)94 b Fu(is)g(b)s(ound)f(to)i(the)f(function)1110
-5011 y Ft(universal-argument)p Fu(,)124 b Fj(M-DEL)107
-b Fu(is)i(b)s(ound)e(to)j(the)f(function)1110 5121 y
-Ft(backward-kill-word)p Fu(,)75 b(and)69 b Fj(C-o)g Fu(is)h(b)s(ound)e
-(to)j(run)d(the)i(macro)1110 5230 y(expressed)45 b(on)h(the)g(righ)m(t)
-g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p
-Ft(>)1110 5340 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)p
-eop end
-%%Page: 140 146
-TeXDict begin 140 145 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(140)1110 299 y(This)26
-b(k)m(ey)h(binding)e(syn)m(tax)i(recognizes)i(a)e(n)m(um)m(b)s(er)e(of)
-h(sym)m(b)s(olic)h(c)m(haracter)1110 408 y(names:)43
-b Fr(DEL)p Fu(,)32 b Fr(ESC)p Fu(,)f Fr(ESCAPE)p Fu(,)g
-Fr(LFD)p Fu(,)h Fr(NEWLINE)p Fu(,)h Fr(RET)p Fu(,)e Fr(RETURN)p
-Fu(,)1110 518 y Fr(R)m(UBOUT)37 b Fu(\(a)31 b(destructiv)m(e)h(bac)m
-(kspace\),)g Fr(SP)-8 b(A)m(CE)p Fu(,)31 b Fr(SPC)p Fu(,)e(and)h
-Fr(T)-8 b(AB)p Fu(.)630 674 y Ft(")p Fr(k)m(eyseq)r Ft(")p
-Fu(:)41 b Fr(function-name)36 b Fu(or)30 b Fr(macro)1110
-783 y(k)m(eyseq)24 b Fu(di\013ers)c(from)g Fr(k)m(eyname)27
-b Fu(ab)s(o)m(v)m(e)22 b(in)e(that)h(strings)g(denoting)f(an)h(en)m
-(tire)1110 893 y(k)m(ey)i(sequence)f(can)h(b)s(e)e(sp)s(eci\014ed,)j(b)
-m(y)e(placing)h(the)f(k)m(ey)h(sequence)g(in)e(double)1110
-1003 y(quotes.)46 b(Some)32 b Fm(gnu)f Fu(Emacs)h(st)m(yle)h(k)m(ey)g
-(escap)s(es)f(can)g(b)s(e)f(used,)h(as)g(in)g(the)1110
-1112 y(follo)m(wing)47 b(example,)j(but)44 b(none)i(of)f(the)g(sp)s
-(ecial)h(c)m(haracter)h(names)f(are)1110 1222 y(recognized.)1350
-1354 y Ft("\\C-u":)g(universal-argument)1350 1464 y("\\C-x\\C-r":)f
-(re-read-init-file)1350 1574 y("\\e[11~":)g("Function)h(Key)g(1")1110
-1706 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
-b Fj(C-u)64 b Fu(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-1816 y Ft(universal-argument)39 b Fu(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 1925
-y(C-r)p Fu(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f
-Ft(re-read-init-file)p Fu(,)c(and)j(`)p Ft(ESC)h([)g(1)g(1)1110
-2035 y(~)p Fu(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
-Ft(Function)e(Key)g(1)p Fu('.)630 2191 y(The)g(follo)m(wing)i
-Fm(gnu)f Fu(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
-b(ailable)32 b(when)d(sp)s(ecifying)630 2300 y(k)m(ey)i(sequences:)630
-2456 y Fj(\\C-)336 b Fu(A)30 b(con)m(trol)i(pre\014x.)630
-2612 y Fj(\\M-)336 b Fu(Adding)33 b(the)h(meta)g(pre\014x)f(or)h(con)m
-(v)m(erting)h(the)f(follo)m(wing)h(c)m(haracter)g(to)g(a)1110
-2721 y(meta)27 b(c)m(haracter,)h(as)e(describ)s(ed)e(ab)s(o)m(v)m(e)j
-(under)d Ft(force-meta-prefix)d Fu(\(see)1110 2831 y
-Ft(Variable)28 b(Settings)42 b Fu(in)h(Section)i(8.3.1)g([Readline)g
-(Init)e(File)i(Syn)m(tax],)1110 2941 y(page)31 b(131\).)630
-3096 y Fj(\\e)384 b Fu(An)30 b(escap)s(e)h(c)m(haracter.)630
-3252 y Fj(\\\\)384 b Fu(Bac)m(kslash.)630 3408 y Fj(\\)p
-Ft(")g(")p Fu(,)30 b(a)h(double)f(quotation)i(mark.)630
-3563 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s
-(ostrophe.)630 3719 y(In)d(addition)h(to)g(the)g Fm(gnu)f
-Fu(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
-(bac)m(kslash)630 3829 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
-3985 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 4140
-y Ft(\\b)384 b Fu(bac)m(kspace)630 4296 y Ft(\\d)g Fu(delete)630
-4452 y Ft(\\f)g Fu(form)30 b(feed)630 4607 y Ft(\\n)384
-b Fu(newline)630 4763 y Ft(\\r)g Fu(carriage)32 b(return)630
-4919 y Ft(\\t)384 b Fu(horizon)m(tal)32 b(tab)630 5075
-y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630 5230 y Ft(\\)p
-Fj(nnn)288 b Fu(The)31 b(eigh)m(t-bit)j(c)m(haracter)f(whose)f(v)-5
-b(alue)32 b(is)f(the)h(o)s(ctal)h(v)-5 b(alue)33 b Fr(nnn)d
-Fu(\(one)i(to)1110 5340 y(three)f(digits\).)p eop end
-%%Page: 141 147
-TeXDict begin 141 146 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(141)630 299 y Ft(\\x)p
-Fj(HH)288 b Fu(The)34 b(eigh)m(t-bit)j(c)m(haracter)f(whose)f(v)-5
-b(alue)35 b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b
-Fr(HH)1110 408 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\).)630
-599 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
-(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
-708 y(indicate)d(a)f(macro)g(de\014nition.)45 b(Unquoted)32
-b(text)g(is)g(assumed)f(to)i(b)s(e)e(a)h(function)g(name.)630
-818 y(Tthe)24 b(bac)m(kslash)g(escap)s(es)h(describ)s(ed)e(ab)s(o)m(v)m
-(e)i(are)f(expanded)f(in)h(the)g(macro)h(b)s(o)s(dy)-8
-b(.)37 b(Bac)m(k-)630 928 y(slash)g(will)h(quote)h(an)m(y)f(other)f(c)m
-(haracter)j(in)d(the)h(macro)g(text,)j(including)c(`)p
-Ft(")p Fu(')h(and)f(`)p Ft(')p Fu('.)630 1037 y(F)-8
-b(or)29 b(example,)h(the)e(follo)m(wing)i(binding)e(will)g(mak)m(e)i(`)
-p Fj(C-x)f Ft(\\)p Fu(')g(insert)f(a)h(single)g(`)p Ft(\\)p
-Fu(')f(in)m(to)i(the)630 1147 y(line:)870 1297 y Ft("\\C-x\\\\":)45
-b("\\\\")150 1527 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-150 1674 y Fu(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
-(in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150
-1783 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
-(bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s
-(erformed)f(as)i(the)150 1893 y(result)f(of)h(tests.)41
-b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(a)m(v)-5
-b(ailable.)150 2099 y Ft($if)336 b Fu(The)31 b Ft($if)f
-Fu(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i(based)f(on)g
-(the)g(editing)h(mo)s(de,)g(the)630 2208 y(terminal)37
-b(b)s(eing)f(used,)h(or)f(the)h(application)g(using)f(Readline.)59
-b(The)36 b(text)h(of)f(the)h(test,)630 2318 y(after)30
-b(an)m(y)g(comparison)g(op)s(erator,)g(extends)f(to)h(the)g(end)f(of)h
-(the)f(line;)i(unless)e(otherwise)630 2427 y(noted,)i(no)f(c)m
-(haracters)i(are)f(required)e(to)i(isolate)i(it.)630
-2618 y Ft(mode)288 b Fu(The)30 b Ft(mode=)e Fu(form)i(of)g(the)h
-Ft($if)e Fu(directiv)m(e)j(is)e(used)f(to)i(test)g(whether)e(Read-)1110
-2727 y(line)44 b(is)f(in)g Ft(emacs)f Fu(or)h Ft(vi)g
-Fu(mo)s(de.)79 b(This)42 b(ma)m(y)i(b)s(e)e(used)h(in)g(conjunction)
-1110 2837 y(with)c(the)h(`)p Ft(set)29 b(keymap)p Fu(')38
-b(command,)k(for)d(instance,)j(to)e(set)g(bindings)e(in)1110
-2946 y(the)32 b Ft(emacs-standard)c Fu(and)j Ft(emacs-ctlx)d
-Fu(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 3056 y(starting)f(out)g
-(in)f Ft(emacs)f Fu(mo)s(de.)630 3246 y Ft(term)288 b
-Fu(The)26 b Ft(term=)g Fu(form)g(ma)m(y)i(b)s(e)e(used)g(to)i(include)f
-(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 3356 y(ings,)38
-b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f(output)g(b)m(y)g
-(the)g(terminal's)1110 3466 y(function)24 b(k)m(eys.)39
-b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g(the)g(`)p
-Ft(=)p Fu(')g(is)g(tested)h(against)1110 3575 y(b)s(oth)k(the)h(full)g
-(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s(ortion)e(of)h(the)g
-(terminal)1110 3685 y(name)j(b)s(efore)f(the)h(\014rst)f(`)p
-Ft(-)p Fu('.)47 b(This)32 b(allo)m(ws)i Ft(xterm)e Fu(to)h(matc)m(h)g
-(b)s(oth)f Ft(xterm)1110 3794 y Fu(and)e Ft(xterm-256color)p
-Fu(,)d(for)j(instance.)630 3985 y Ft(version)144 b Fu(The)44
-b Ft(version)f Fu(test)i(ma)m(y)h(b)s(e)e(used)f(to)j(p)s(erform)d
-(comparisons)i(against)1110 4094 y(sp)s(eci\014c)c(Readline)i(v)m
-(ersions.)74 b(The)42 b Ft(version)d Fu(expands)i(to)h(the)g(curren)m
-(t)1110 4204 y(Readline)25 b(v)m(ersion.)39 b(The)23
-b(set)h(of)g(comparison)h(op)s(erators)f(includes)f(`)p
-Ft(=)p Fu(')h(\(and)1110 4313 y(`)p Ft(==)p Fu('\),)33
-b(`)p Ft(!=)p Fu(',)f(`)p Ft(<=)p Fu(',)h(`)p Ft(>=)p
-Fu(',)f(`)p Ft(<)p Fu(',)h(and)e(`)p Ft(>)p Fu('.)46
-b(The)31 b(v)m(ersion)i(n)m(um)m(b)s(er)d(supplied)h(on)1110
-4423 y(the)23 b(righ)m(t)h(side)f(of)g(the)g(op)s(erator)h(consists)f
-(of)h(a)f(ma)5 b(jor)23 b(v)m(ersion)h(n)m(um)m(b)s(er,)f(an)1110
-4533 y(optional)29 b(decimal)g(p)s(oin)m(t,)g(and)f(an)g(optional)h
-(minor)f(v)m(ersion)g(\(e.g.,)j(`)p Ft(7.1)p Fu('\).)1110
-4642 y(If)24 b(the)h(minor)g(v)m(ersion)g(is)g(omitted,)i(it)e
-(defaults)g(to)h(`)p Ft(0)p Fu('.)39 b(The)24 b(op)s(erator)h(ma)m(y)
-1110 4752 y(b)s(e)g(separated)h(from)g(the)g(string)g
-Ft(version)d Fu(and)j(from)f(the)h(v)m(ersion)g(n)m(um)m(b)s(er)1110
-4861 y(argumen)m(t)34 b(b)m(y)g(whitespace.)51 b(The)34
-b(follo)m(wing)h(example)f(sets)g(a)g(v)-5 b(ariable)35
-b(if)1110 4971 y(the)c(Readline)g(v)m(ersion)f(b)s(eing)g(used)g(is)g
-(7.0)i(or)e(new)m(er:)1350 5121 y Ft($if)47 b(version)f(>=)h(7.0)1350
-5230 y(set)g(show-mode-in-prompt)42 b(on)1350 5340 y($endif)p
-eop end
-%%Page: 142 148
-TeXDict begin 142 147 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(142)630 299 y Ft(application)1110
-408 y Fu(The)21 b Fr(application)j Fu(construct)e(is)g(used)f(to)i
-(include)f(application-sp)s(eci\014c)h(set-)1110 518
-y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h(Readline)g(library)g
-(sets)g(the)g Fr(application)1110 628 y(name)p Fu(,)g(and)e(y)m(ou)g
-(can)h(test)g(for)f(a)g(particular)h(v)-5 b(alue.)39
-b(This)22 b(could)h(b)s(e)g(used)f(to)1110 737 y(bind)32
-b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h(a)g(sp)s
-(eci\014c)f(program.)48 b(F)-8 b(or)1110 847 y(instance,)35
-b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f(sequence)h(that)f
-(quotes)1110 956 y(the)e(curren)m(t)f(or)g(previous)g(w)m(ord)g(in)g
-(Bash:)1350 1091 y Ft($if)47 b(Bash)1350 1200 y(#)g(Quote)g(the)g
-(current)f(or)h(previous)e(word)1350 1310 y("\\C-xq":)h
-("\\eb\\"\\ef\\"")1350 1420 y($endif)630 1579 y(variable)96
-b Fu(The)33 b Fr(v)-5 b(ariable)39 b Fu(construct)33
-b(pro)m(vides)g(simple)g(equalit)m(y)i(tests)e(for)g(Readline)1110
-1689 y(v)-5 b(ariables)32 b(and)f(v)-5 b(alues.)45 b(The)32
-b(p)s(ermitted)f(comparison)h(op)s(erators)f(are)i(`)p
-Ft(=)p Fu(',)1110 1798 y(`)p Ft(==)p Fu(',)49 b(and)44
-b(`)p Ft(!=)p Fu('.)85 b(The)44 b(v)-5 b(ariable)46 b(name)f(m)m(ust)g
-(b)s(e)g(separated)g(from)g(the)1110 1908 y(comparison)25
-b(op)s(erator)g(b)m(y)g(whitespace;)j(the)d(op)s(erator)g(ma)m(y)g(b)s
-(e)f(separated)1110 2017 y(from)36 b(the)h(v)-5 b(alue)37
-b(on)f(the)h(righ)m(t)g(hand)f(side)g(b)m(y)g(whitespace.)60
-b(String)37 b(and)1110 2127 y(b)s(o)s(olean)29 b(v)-5
-b(ariables)29 b(ma)m(y)h(b)s(e)e(tested.)41 b(Bo)s(olean)30
-b(v)-5 b(ariables)29 b(m)m(ust)g(b)s(e)f(tested)1110
-2237 y(against)33 b(the)e(v)-5 b(alues)32 b Fr(on)f Fu(and)g
-Fr(o\013)p Fu(.)44 b(The)31 b(follo)m(wing)i(example)f(is)f(equiv)-5
-b(alen)m(t)1110 2346 y(to)31 b(the)g Ft(mode=emacs)c
-Fu(test)32 b(describ)s(ed)d(ab)s(o)m(v)m(e:)1350 2481
-y Ft($if)47 b(editing-mode)d(==)k(emacs)1350 2590 y(set)f
-(show-mode-in-prompt)42 b(on)1350 2700 y($endif)150 2859
-y($else)240 b Fu(Commands)29 b(in)h(this)h(branc)m(h)e(of)i(the)f
-Ft($if)g Fu(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g(fails.)
-150 3019 y Ft($endif)192 b Fu(This)29 b(command,)i(as)f(seen)h(in)f
-(the)g(previous)g(example,)h(terminates)g(an)g Ft($if)e
-Fu(command.)150 3178 y Ft($include)96 b Fu(This)27 b(directiv)m(e)i
-(tak)m(es)g(a)f(single)g(\014lename)g(as)g(an)g(argumen)m(t)g(and)f
-(reads)g(commands)h(and)630 3288 y(k)m(ey)40 b(bindings)f(from)g(that)h
-(\014le.)68 b(F)-8 b(or)40 b(example,)j(the)d(follo)m(wing)h(directiv)m
-(e)g(reads)e(from)630 3397 y Ft(/etc/inputrc)p Fu(:)870
-3532 y Ft($include)46 b(/etc/inputrc)150 3731 y Fk(8.3.3)63
-b(Sample)41 b(Init)g(File)150 3878 y Fu(Here)27 b(is)f(an)h(example)g
-(of)f(an)h Fr(inputrc)k Fu(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
-h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
-3988 y(conditional)j(syn)m(tax.)p eop end
-%%Page: 143 149
-TeXDict begin 143 148 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(143)390 408 y Ft(#)47
-b(This)g(file)g(controls)e(the)i(behaviour)e(of)j(line)e(input)h
-(editing)e(for)390 518 y(#)i(programs)f(that)h(use)g(the)f(GNU)h
-(Readline)f(library.)93 b(Existing)390 628 y(#)47 b(programs)f(include)
-g(FTP,)g(Bash,)h(and)g(GDB.)390 737 y(#)390 847 y(#)g(You)g(can)g
-(re-read)f(the)h(inputrc)f(file)g(with)h(C-x)g(C-r.)390
-956 y(#)g(Lines)g(beginning)e(with)i('#')g(are)g(comments.)390
-1066 y(#)390 1176 y(#)g(First,)g(include)e(any)i(system-wide)e
-(bindings)h(and)g(variable)390 1285 y(#)h(assignments)e(from)i
-(/etc/Inputrc)390 1395 y($include)f(/etc/Inputrc)390
-1614 y(#)390 1724 y(#)h(Set)g(various)f(bindings)g(for)h(emacs)f(mode.)
-390 1943 y(set)h(editing-mode)d(emacs)390 2162 y($if)j(mode=emacs)390
-2381 y(Meta-Control-h:)91 b(backward-kill-word)43 b(Text)k(after)f(the)
-h(function)f(name)g(is)h(ignored)390 2600 y(#)390 2710
-y(#)g(Arrow)g(keys)f(in)i(keypad)e(mode)390 2819 y(#)390
-2929 y(#"\\M-OD":)379 b(backward-char)390 3039 y(#"\\M-OC":)g
-(forward-char)390 3148 y(#"\\M-OA":)g(previous-history)390
-3258 y(#"\\M-OB":)g(next-history)390 3367 y(#)390 3477
-y(#)47 b(Arrow)g(keys)f(in)i(ANSI)e(mode)390 3587 y(#)390
-3696 y("\\M-[D":)380 b(backward-char)390 3806 y("\\M-[C":)g
-(forward-char)390 3915 y("\\M-[A":)g(previous-history)390
-4025 y("\\M-[B":)g(next-history)390 4134 y(#)390 4244
-y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(keypad)f(mode)390
-4354 y(#)390 4463 y(#"\\M-\\C-OD":)331 b(backward-char)390
-4573 y(#"\\M-\\C-OC":)g(forward-char)390 4682 y(#"\\M-\\C-OA":)g
-(previous-history)390 4792 y(#"\\M-\\C-OB":)g(next-history)390
-4902 y(#)390 5011 y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(ANSI)g(mode)
-390 5121 y(#)390 5230 y(#"\\M-\\C-[D":)331 b(backward-char)390
-5340 y(#"\\M-\\C-[C":)g(forward-char)p eop end
-%%Page: 144 150
-TeXDict begin 144 149 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(144)390 299 y Ft(#"\\M-\\C-[A":)
-331 b(previous-history)390 408 y(#"\\M-\\C-[B":)g(next-history)390
-628 y(C-q:)47 b(quoted-insert)390 847 y($endif)390 1066
-y(#)g(An)h(old-style)d(binding.)93 b(This)47 b(happens)f(to)h(be)g(the)
-g(default.)390 1176 y(TAB:)g(complete)390 1395 y(#)g(Macros)g(that)f
-(are)h(convenient)e(for)i(shell)f(interaction)390 1504
-y($if)h(Bash)390 1614 y(#)g(edit)g(the)g(path)390 1724
-y("\\C-xp":)f("PATH=${PATH}\\e\\C-e\\C-a)o(\\ef)o(\\C-f)o(")390
-1833 y(#)h(prepare)f(to)h(type)g(a)h(quoted)e(word)g(--)390
-1943 y(#)h(insert)g(open)f(and)h(close)f(double)h(quotes)390
-2052 y(#)g(and)g(move)g(to)g(just)g(after)f(the)h(open)g(quote)390
-2162 y("\\C-x\\"":)e("\\"\\"\\C-b")390 2271 y(#)i(insert)g(a)g
-(backslash)e(\(testing)h(backslash)f(escapes)390 2381
-y(#)i(in)h(sequences)d(and)i(macros\))390 2491 y("\\C-x\\\\":)e("\\\\")
-390 2600 y(#)i(Quote)g(the)g(current)f(or)h(previous)e(word)390
-2710 y("\\C-xq":)h("\\eb\\"\\ef\\"")390 2819 y(#)h(Add)g(a)h(binding)e
-(to)h(refresh)f(the)h(line,)f(which)g(is)h(unbound)390
-2929 y("\\C-xr":)f(redraw-current-line)390 3039 y(#)h(Edit)g(variable)f
-(on)h(current)f(line.)390 3148 y("\\M-\\C-v":)f
-("\\C-a\\C-k$\\C-y\\M-\\C-e\\C-)o(a\\C-)o(y=")390 3258
-y($endif)390 3477 y(#)i(use)g(a)h(visible)e(bell)g(if)h(one)g(is)h
-(available)390 3587 y(set)f(bell-style)e(visible)390
-3806 y(#)i(don't)g(strip)f(characters)f(to)i(7)h(bits)e(when)h(reading)
-390 3915 y(set)g(input-meta)e(on)390 4134 y(#)i(allow)g(iso-latin1)e
-(characters)g(to)i(be)g(inserted)f(rather)390 4244 y(#)h(than)g
-(converted)e(to)j(prefix-meta)c(sequences)390 4354 y(set)j
-(convert-meta)d(off)390 4573 y(#)j(display)f(characters)f(with)i(the)g
-(eighth)f(bit)h(set)g(directly)390 4682 y(#)g(rather)g(than)f(as)h
-(meta-prefixed)e(characters)390 4792 y(set)i(output-meta)e(on)390
-5011 y(#)i(if)h(there)e(are)h(150)g(or)g(more)g(possible)e(completions)
-g(for)i(a)g(word,)390 5121 y(#)g(ask)g(whether)f(or)h(not)g(the)g(user)
-g(wants)f(to)h(see)g(all)g(of)g(them)390 5230 y(set)g
-(completion-query-items)42 b(150)p eop end
-%%Page: 145 151
-TeXDict begin 145 150 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(145)390 299 y Ft(#)47
-b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
-628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
-847 y($endif)150 1096 y Fs(8.4)68 b(Bindable)45 b(Readline)i(Commands)
-150 1255 y Fu(This)32 b(section)h(describ)s(es)f(Readline)h(commands)f
-(that)h(ma)m(y)h(b)s(e)d(b)s(ound)g(to)i(k)m(ey)g(sequences.)48
-b(Y)-8 b(ou)33 b(can)150 1365 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d
-(b)m(y)h(executing)i Ft(bind)29 b(-P)39 b Fu(or,)j(for)d(a)h(more)g
-(terse)g(format,)i(suitable)e(for)f(an)150 1474 y Fr(inputrc)34
-b Fu(\014le,)29 b Ft(bind)g(-p)p Fu(.)40 b(\(See)30 b(Section)f(4.2)h
-([Bash)g(Builtins],)g(page)g(60.\))41 b(Command)28 b(names)h(without)
-150 1584 y(an)h(accompan)m(ying)i(k)m(ey)f(sequence)g(are)g(un)m(b)s
-(ound)d(b)m(y)i(default.)275 1724 y(In)25 b(the)h(follo)m(wing)i
-(descriptions,)f Fr(p)s(oin)m(t)h Fu(refers)e(to)h(the)f(curren)m(t)g
-(cursor)g(p)s(osition,)h(and)f Fr(mark)31 b Fu(refers)150
-1834 y(to)24 b(a)g(cursor)f(p)s(osition)g(sa)m(v)m(ed)i(b)m(y)e(the)h
-Ft(set-mark)d Fu(command.)38 b(The)23 b(text)h(b)s(et)m(w)m(een)g(the)g
-(p)s(oin)m(t)f(and)g(mark)150 1943 y(is)31 b(referred)g(to)h(as)f(the)h
-Fr(region)p Fu(.)44 b(Readline)32 b(has)f(the)h(concept)g(of)f(an)h
-Fl(active)h(r)-5 b(e)g(gion)7 b Fu(:)44 b(when)30 b(the)h(region)150
-2053 y(is)k(activ)m(e,)k(Readline)c(redispla)m(y)h(highligh)m(ts)f(the)
-h(region)f(using)g(the)g(v)-5 b(alue)35 b(of)h(the)f
-Ft(active-region-)150 2162 y(start-color)26 b Fu(v)-5
-b(ariable.)41 b(The)29 b Ft(enable-active-region)24 b
-Fu(v)-5 b(ariable)30 b(turns)d(this)j(on)f(and)f(o\013.)41
-b(Sev)m(eral)150 2272 y(commands)30 b(set)h(the)f(region)h(to)h(activ)m
-(e;)g(those)f(are)g(noted)g(b)s(elo)m(w.)150 2477 y Fk(8.4.1)63
-b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2651 y
-Ft(beginning-of-line)26 b(\(C-a\))630 2761 y Fu(Mo)m(v)m(e)k(to)e(the)g
-(start)g(of)f(the)h(curren)m(t)f(line.)40 b(This)27 b(ma)m(y)h(also)h
-(b)s(e)e(b)s(ound)e(to)j(the)g(Home)g(k)m(ey)630 2871
-y(on)i(some)h(k)m(eyb)s(oards.)150 3035 y Ft(end-of-line)c(\(C-e\))630
-3145 y Fu(Mo)m(v)m(e)34 b(to)f(the)f(end)f(of)i(the)f(line.)46
-b(This)31 b(ma)m(y)i(also)g(b)s(e)e(b)s(ound)f(to)j(the)f(End)f(k)m(ey)
-i(on)f(some)630 3255 y(k)m(eyb)s(oards.)150 3420 y Ft(forward-char)27
-b(\(C-f\))630 3529 y Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
-150 3694 y Ft(backward-char)c(\(C-b\))630 3804 y Fu(Mo)m(v)m(e)32
-b(bac)m(k)g(a)e(c)m(haracter.)150 3969 y Ft(forward-word)d(\(M-f\))630
-4078 y Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
-(next)f(w)m(ord.)41 b(W)-8 b(ords)30 b(are)h(comp)s(osed)f(of)g
-(letters)i(and)630 4188 y(digits.)150 4353 y Ft(backward-word)27
-b(\(M-b\))630 4462 y Fu(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
-(of)g(the)g(curren)m(t)f(or)g(previous)g(w)m(ord.)50
-b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4572 y(of)d(letters)g(and)f
-(digits.)150 4737 y Ft(shell-forward-word)25 b(\(M-C-f\))630
-4846 y Fu(Mo)m(v)m(e)30 b(forw)m(ard)e(to)h(the)f(end)f(of)h(the)h
-(next)f(w)m(ord.)40 b(W)-8 b(ords)28 b(are)g(delimited)h(b)m(y)f
-(non-quoted)630 4956 y(shell)j(metac)m(haracters.)150
-5121 y Ft(shell-backward-word)25 b(\(M-C-b\))630 5230
-y Fu(Mo)m(v)m(e)37 b(bac)m(k)e(to)h(the)f(start)g(of)g(the)g(curren)m
-(t)g(or)f(previous)h(w)m(ord.)53 b(W)-8 b(ords)35 b(are)g(delimited)630
-5340 y(b)m(y)30 b(non-quoted)h(shell)f(metac)m(haracters.)p
-eop end
-%%Page: 146 152
-TeXDict begin 146 151 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(146)150 299 y Ft
-(previous-screen-line)25 b(\(\))630 408 y Fu(A)m(ttempt)41
-b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f(same)h(ph)m(ysical)g
-(screen)f(column)g(on)g(the)g(previous)630 518 y(ph)m(ysical)26
-b(screen)f(line.)39 b(This)24 b(will)i(not)f(ha)m(v)m(e)h(the)f
-(desired)g(e\013ect)h(if)f(the)h(curren)m(t)e(Readline)630
-628 y(line)k(do)s(es)f(not)g(tak)m(e)i(up)d(more)i(than)f(one)g(ph)m
-(ysical)h(line)g(or)f(if)g(p)s(oin)m(t)h(is)f(not)h(greater)g(than)630
-737 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i(screen)f(width.)
-150 907 y Ft(next-screen-line)c(\(\))630 1016 y Fu(A)m(ttempt)g(to)f
-(mo)m(v)m(e)i(p)s(oin)m(t)d(to)i(the)e(same)i(ph)m(ysical)f(screen)g
-(column)f(on)h(the)f(next)h(ph)m(ysical)630 1126 y(screen)e(line.)39
-b(This)23 b(will)g(not)h(ha)m(v)m(e)h(the)e(desired)g(e\013ect)i(if)e
-(the)g(curren)m(t)h(Readline)g(line)f(do)s(es)630 1236
-y(not)k(tak)m(e)i(up)e(more)g(than)g(one)g(ph)m(ysical)h(line)g(or)f
-(if)g(the)h(length)f(of)h(the)f(curren)m(t)g(Readline)630
-1345 y(line)k(is)f(not)h(greater)g(than)f(the)h(length)g(of)f(the)h
-(prompt)e(plus)h(the)g(screen)h(width.)150 1515 y Ft(clear-display)c
-(\(M-C-l\))630 1624 y Fu(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
-(ossible,)i(the)f(terminal's)g(scrollbac)m(k)i(bu\013er,)e(then)f
-(redra)m(w)630 1734 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
-(curren)m(t)h(line)f(at)h(the)g(top)g(of)f(the)h(screen.)150
-1904 y Ft(clear-screen)c(\(C-l\))630 2013 y Fu(Clear)35
-b(the)f(screen,)i(then)e(redra)m(w)g(the)h(curren)m(t)f(line,)i(lea)m
-(ving)g(the)f(curren)m(t)f(line)h(at)g(the)630 2123 y(top)c(of)f(the)h
-(screen.)150 2292 y Ft(redraw-current-line)25 b(\(\))630
-2402 y Fu(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30
-b(default,)h(this)f(is)h(un)m(b)s(ound.)150 2611 y Fk(8.4.2)63
-b(Commands)42 b(F)-10 b(or)41 b(Manipulating)h(The)f(History)150
-2788 y Ft(accept-line)27 b(\(Newline)h(or)i(Return\))630
-2898 y Fu(Accept)25 b(the)e(line)h(regardless)g(of)f(where)g(the)h
-(cursor)e(is.)39 b(If)23 b(this)g(line)h(is)f(non-empt)m(y)-8
-b(,)26 b(add)c(it)630 3007 y(to)27 b(the)f(history)g(list)h(according)g
-(to)g(the)f(setting)i(of)e(the)g Ft(HISTCONTROL)d Fu(and)j
-Ft(HISTIGNORE)630 3117 y Fu(v)-5 b(ariables.)42 b(If)30
-b(this)h(line)g(is)g(a)g(mo)s(di\014ed)e(history)i(line,)g(then)f
-(restore)i(the)f(history)f(line)h(to)630 3227 y(its)g(original)g
-(state.)150 3396 y Ft(previous-history)26 b(\(C-p\))630
-3506 y Fu(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
-(fetc)m(hing)g(the)g(previous)f(command.)150 3675 y Ft(next-history)d
-(\(C-n\))630 3785 y Fu(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
-(history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150
-3955 y Ft(beginning-of-history)25 b(\(M-<\))630 4064
-y Fu(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8
-b(.)150 4234 y Ft(end-of-history)26 b(\(M->\))630 4343
-y Fu(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8
-b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150
-4513 y Ft(reverse-search-history)24 b(\(C-r\))630 4622
-y Fu(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g
-(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630
-4732 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
-(incremen)m(tal)h(searc)m(h.)40 b(This)25 b(command)h(sets)h(the)f
-(region)630 4842 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
-b(ates)33 b(the)d(region.)150 5011 y Ft(forward-search-history)24
-b(\(C-s\))630 5121 y Fu(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
-(the)e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)
-630 5230 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
-b(is)g(an)g(incremen)m(tal)h(searc)m(h.)65 b(This)37
-b(command)h(sets)h(the)630 5340 y(region)31 b(to)g(the)g(matc)m(hed)g
-(text)g(and)f(activ)-5 b(ates)33 b(the)d(region.)p eop
-end
-%%Page: 147 153
-TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(147)150 299 y Ft
-(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 408 y Fu(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
-(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 518 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
-(tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630
-628 y(user.)k(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)m
-(ywhere)g(in)f(a)h(history)f(line.)150 784 y Ft
-(non-incremental-forward-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-n\))630 894 y Fu(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h(the)
-e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)630
-1003 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m(tal)g
-(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i(the)630
-1113 y(user.)40 b(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)
-m(ywhere)g(in)f(a)h(history)f(line.)150 1270 y Ft
-(history-search-backward)24 b(\(\))630 1379 y Fu(Searc)m(h)35
-b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g(the)f(string)h(of)g
-(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 1489 y(start)g(of)h(the)f
-(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.)58 b(The)35
-b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630
-1598 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83
-b(This)44 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)84
-b(By)44 b(default,)630 1708 y(this)32 b(command)h(is)f(un)m(b)s(ound,)f
-(but)h(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Do)m(wn)f(k)m
-(ey)g(on)g(some)630 1817 y(k)m(eyb)s(oards.)150 1974
-y Ft(history-search-forward)24 b(\(\))630 2084 y Fu(Searc)m(h)f(forw)m
-(ard)e(through)h(the)h(history)f(for)g(the)g(string)h(of)f(c)m
-(haracters)i(b)s(et)m(w)m(een)f(the)f(start)630 2193
-y(of)g(the)h(curren)m(t)f(line)g(and)g(the)g(p)s(oin)m(t.)38
-b(The)22 b(searc)m(h)g(string)g(m)m(ust)g(matc)m(h)h(at)g(the)g(b)s
-(eginning)630 2303 y(of)33 b(a)g(history)f(line.)48 b(This)32
-b(is)h(a)g(non-incremen)m(tal)h(searc)m(h.)48 b(By)33
-b(default,)h(this)e(command)630 2412 y(is)e(un)m(b)s(ound,)e(but)i(ma)m
-(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Up)e(k)m(ey)h(on)f(some)h
-(k)m(eyb)s(oards.)150 2569 y Ft(history-substring-search)o(-bac)o(kwar)
-o(d)24 b(\(\))630 2679 y Fu(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f
-(the)h(history)g(for)g(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m
-(een)g(the)630 2788 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f
-(the)h(p)s(oin)m(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m
-(h)h(an)m(ywhere)630 2898 y(in)i(a)h(history)g(line.)47
-b(This)32 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)47
-b(By)33 b(default,)h(this)e(command)630 3007 y(is)e(un)m(b)s(ound.)150
-3164 y Ft(history-substring-search)o(-for)o(ward)24 b(\(\))630
-3273 y Fu(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
-(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630
-3383 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m
-(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere)
-630 3493 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h
-(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e
-(command)630 3602 y(is)e(un)m(b)s(ound.)150 3759 y Ft(yank-nth-arg)d
-(\(M-C-y\))630 3868 y Fu(Insert)e(the)i(\014rst)e(argumen)m(t)h(to)h
-(the)f(previous)g(command)f(\(usually)h(the)g(second)g(w)m(ord)g(on)630
-3978 y(the)k(previous)g(line\))g(at)h(p)s(oin)m(t.)40
-b(With)31 b(an)f(argumen)m(t)g Fr(n)p Fu(,)g(insert)f(the)i
-Fr(n)p Fu(th)e(w)m(ord)g(from)h(the)630 4088 y(previous)c(command)h
-(\(the)h(w)m(ords)e(in)h(the)g(previous)f(command)h(b)s(egin)f(with)h
-(w)m(ord)g(0\).)40 b(A)630 4197 y(negativ)m(e)28 b(argumen)m(t)e
-(inserts)f(the)h Fr(n)p Fu(th)f(w)m(ord)g(from)g(the)h(end)f(of)h(the)g
-(previous)f(command.)630 4307 y(Once)32 b(the)f(argumen)m(t)h
-Fr(n)f Fu(is)h(computed,)g(this)f(uses)h(the)f(history)h(expansion)f
-(facilities)j(to)630 4416 y(extract)e(the)e Fr(n)p Fu(th)g(w)m(ord,)g
-(as)h(if)f(the)h(`)p Ft(!)p Fj(n)p Fu(')f(history)g(expansion)h(had)e
-(b)s(een)h(sp)s(eci\014ed.)150 4573 y Ft(yank-last-arg)d(\(M-.)i(or)h
-(M-_\))630 4682 y Fu(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
-f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630
-4792 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
-(t,)h(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Ft(yank-nth-arg)p
-Fu(.)630 4902 y(Successiv)m(e)26 b(calls)g(to)f Ft(yank-last-arg)c
-Fu(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i
-(inserting)630 5011 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
-s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i
-(of)f(eac)m(h)h(line)630 5121 y(in)36 b(turn.)58 b(An)m(y)36
-b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g
-(calls)h(determines)630 5230 y(the)d(direction)g(to)h(mo)m(v)m(e)g
-(through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e
-(switc)m(hes)h(the)630 5340 y(direction)23 b(through)e(the)i(history)f
-(\(bac)m(k)h(or)g(forw)m(ard\).)37 b(This)22 b(uses)g(the)g(history)g
-(expansion)p eop end
-%%Page: 148 154
-TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(148)630 299 y(facilities)44
-b(to)e(extract)g(the)g(last)g(w)m(ord,)i(as)e(if)f(the)g(`)p
-Ft(!$)p Fu(')h(history)f(expansion)g(had)g(b)s(een)630
-408 y(sp)s(eci\014ed.)150 576 y Ft(operate-and-get-next)25
-b(\(C-o\))630 686 y Fu(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
-(return)f(to)h(the)h(calling)g(application)h(as)e(if)g(a)h(newline)f
-(had)630 795 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)g
-(line)h(relativ)m(e)h(to)f(the)f(curren)m(t)g(line)h(from)f(the)g
-(history)630 905 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)m
-(t,)i(if)f(supplied,)f(sp)s(eci\014es)h(the)g(history)f(en)m(try)i(to)f
-(use)630 1014 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
-1182 y Ft(fetch-history)d(\(\))630 1292 y Fu(With)e(a)f(n)m(umeric)g
-(argumen)m(t,)i(fetc)m(h)f(that)g(en)m(try)f(from)g(the)g(history)g
-(list)h(and)e(mak)m(e)i(it)g(the)630 1401 y(curren)m(t)30
-b(line.)41 b(Without)30 b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g
-(to)f(the)g(\014rst)f(en)m(try)h(in)g(the)g(history)630
-1511 y(list.)150 1718 y Fk(8.4.3)63 b(Commands)42 b(F)-10
-b(or)41 b(Changing)g(T)-10 b(ext)150 1894 y Fj(end-of-file)27
-b Ft(\(usually)h(C-d\))630 2004 y Fu(The)e(c)m(haracter)h(indicating)h
-(end-of-\014le)e(as)h(set,)g(for)f(example,)i(b)m(y)e
-Ft(stty)p Fu(.)39 b(If)25 b(this)h(c)m(harac-)630 2113
-y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d(the)
-h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s(eginning)630
-2223 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
-(end)f(of)g(input)f(and)h(returns)f Fm(eof)p Fu(.)150
-2391 y Ft(delete-char)e(\(C-d\))630 2500 y Fu(Delete)35
-b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g
-(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2610
-y(as)i(the)f(tt)m(y)i Fm(eof)e Fu(c)m(haracter,)j(as)e
-Fj(C-d)e Fu(commonly)j(is,)f(see)g(ab)s(o)m(v)m(e)h(for)e(the)h
-(e\013ects.)55 b(This)630 2719 y(ma)m(y)31 b(also)g(b)s(e)f(b)s(ound)e
-(to)j(the)g(Delete)i(k)m(ey)e(on)f(some)h(k)m(eyb)s(oards.)150
-2887 y Ft(backward-delete-char)25 b(\(Rubout\))630 2997
-y Fu(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
-b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-3106 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
-(instead)h(of)f(deleting)i(them.)150 3274 y Ft
-(forward-backward-delete-)o(char)24 b(\(\))630 3383 y
-Fu(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h(unless)d
-(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 3493
-y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s(ehind)d
-(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-3603 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-3770 y Ft(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3880
-y Fu(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
-(v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-3989 y(sequences)d(lik)m(e)g Fj(C-q)p Fu(,)f(for)g(example.)150
-4157 y Ft(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
-4267 y Fu(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
-4434 y Ft(bracketed-paste-begin)25 b(\(\))630 4544 y
-Fu(This)f(function)h(is)f(in)m(tended)h(to)h(b)s(e)e(b)s(ound)f(to)i
-(the)g Ft(")p Fu(brac)m(k)m(eted)h(paste)p Ft(")f Fu(escap)s(e)h
-(sequence)630 4653 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
-(suc)m(h)g(a)h(binding)e(is)i(assigned)f(b)m(y)h(default.)62
-b(It)38 b(allo)m(ws)630 4763 y(Readline)33 b(to)g(insert)g(the)f
-(pasted)h(text)g(as)g(a)g(single)g(unit)f(without)h(treating)h(eac)m(h)
-f(c)m(har-)630 4873 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
-(from)f(the)h(k)m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f
-(inserted)630 4982 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
-(to)j Ft(self-insert)c Fu(instead)j(of)h(executing)g(an)m(y)f(editing)
-630 5092 y(commands.)630 5230 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
-(the)h(region)f(\(the)h(c)m(haracters)g(b)s(et)m(w)m(een)g(p)s(oin)m(t)
-f(and)g(the)g(mark\))630 5340 y(to)31 b(the)g(inserted)f(text.)42
-b(It)30 b(sets)h(the)f Fl(active)j(r)-5 b(e)g(gion)p
-Fu(.)p eop end
-%%Page: 149 155
-TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(149)150 299 y Ft(transpose-chars)
-26 b(\(C-t\))630 408 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f
-(the)g(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e
-(the)g(cursor,)630 518 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g
-(w)m(ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e
-(end)g(of)h(the)630 628 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)
-h(last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38
-b(Negativ)m(e)25 b(argumen)m(ts)630 737 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 892 y Ft(transpose-words)c(\(M-t\))630
-1001 y Fu(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
-(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)
-g(that)630 1111 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
-b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f
-(line,)i(this)e(transp)s(oses)g(the)630 1220 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 1375 y Ft(shell-transpose-words)25
-b(\(M-C-t\))630 1484 y Fu(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s
-(oin)m(t)g(past)g(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)
-s(oin)m(t)f(past)g(that)630 1594 y(w)m(ord)c(as)h(w)m(ell.)41
-b(If)27 b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i
-(the)f(line,)i(this)e(transp)s(oses)g(the)630 1704 y(last)j(t)m(w)m(o)h
-(w)m(ords)d(on)i(the)f(line.)41 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h
-(the)h(same)f(as)h Ft(shell-forward-)630 1813 y(word)e
-Fu(and)h Ft(shell-backward-word)p Fu(.)150 1968 y Ft(upcase-word)d
-(\(M-u\))630 2077 y Fu(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g
-(follo)m(wing\))i(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m
-(t,)e(upp)s(er-)630 2187 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)
-g(not)h(mo)m(v)m(e)h(the)e(cursor.)150 2341 y Ft(downcase-word)d
-(\(M-l\))630 2451 y Fu(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h
-(follo)m(wing\))i(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m
-(t,)g(lo)m(w)m(ercase)630 2560 y(the)31 b(previous)e(w)m(ord,)i(but)e
-(do)i(not)f(mo)m(v)m(e)i(the)f(cursor.)150 2715 y Ft(capitalize-word)26
-b(\(M-c\))630 2824 y Fu(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
-(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 2934 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 3088 y Ft(overwrite-mode)26
-b(\(\))630 3198 y Fu(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
-b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 3308 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
-b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)630 3417 y(insert)30 b(mo)s(de.)41
-b(This)30 b(command)h(a\013ects)h(only)e Ft(emacs)f Fu(mo)s(de;)i
-Ft(vi)f Fu(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 3527
-y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
-Ft(readline\(\))c Fu(starts)k(in)f(insert)g(mo)s(de.)630
-3659 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
-(ound)c(to)j Ft(self-insert)c Fu(replace)k(the)g(text)g(at)630
-3768 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
-(the)f(righ)m(t.)126 b(Characters)59 b(b)s(ound)d(to)630
-3878 y Ft(backward-delete-char)25 b Fu(replace)31 b(the)g(c)m(haracter)
-h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 4010
-y(By)g(default,)g(this)g(command)f(is)h(un)m(b)s(ound,)d(but)i(ma)m(y)h
-(b)s(e)f(b)s(ound)e(to)k(the)f(Insert)f(k)m(ey)h(on)630
-4120 y(some)g(k)m(eyb)s(oards.)150 4314 y Fk(8.4.4)63
-b(Killing)42 b(And)e(Y)-10 b(anking)150 4483 y Ft(kill-line)28
-b(\(C-k\))630 4593 y Fu(Kill)e(the)h(text)g(from)e(p)s(oin)m(t)h(to)h
-(the)f(end)f(of)h(the)h(curren)m(t)e(line.)40 b(With)27
-b(a)f(negativ)m(e)i(n)m(umeric)630 4702 y(argumen)m(t,)j(kill)g(bac)m
-(kw)m(ard)g(from)f(the)g(cursor)g(to)h(the)g(b)s(eginning)e(of)i(the)g
-(line.)150 4857 y Ft(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 4966 y Fu(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
-(cursor)g(to)g(the)g(b)s(eginning)g(of)g(the)g(curren)m(t)f(line.)70
-b(With)41 b(a)630 5076 y(negativ)m(e)31 b(n)m(umeric)e(argumen)m(t,)h
-(kill)g(forw)m(ard)f(from)f(the)i(cursor)e(to)i(the)f(end)g(of)g(the)g
-(line.)150 5230 y Ft(unix-line-discard)d(\(C-u\))630
-5340 y Fu(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
-(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)p eop end
-%%Page: 150 156
-TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(150)150 299 y Ft(kill-whole-line)
-26 b(\(\))630 408 y Fu(Kill)37 b(all)g(c)m(haracters)h(on)f(the)f
-(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s(oin)m(t)h(is.)59
-b(By)36 b(default,)630 518 y(this)30 b(is)h(un)m(b)s(ound.)150
-702 y Ft(kill-word)d(\(M-d\))630 812 y Fu(Kill)i(from)f(p)s(oin)m(t)g
-(to)h(the)g(end)e(of)i(the)f(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m
-(w)m(een)g(w)m(ords,)f(to)h(the)g(end)630 921 y(of)h(the)f(next)h(w)m
-(ord.)40 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f
-Ft(forward-word)p Fu(.)150 1105 y Ft(backward-kill-word)25
-b(\(M-DEL\))630 1215 y Fu(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m
-(t.)40 b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Ft(backward-word)p Fu(.)150 1399 y Ft(shell-kill-word)d(\(M-C-d\))630
-1508 y Fu(Kill)k(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
-(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 1618 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
-b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Ft
-(shell-forward-word)p Fu(.)150 1802 y Ft(shell-backward-kill-word)24
-b(\(\))630 1911 y Fu(Kill)e(the)h(w)m(ord)e(b)s(ehind)g(p)s(oin)m(t.)38
-b(W)-8 b(ord)22 b(b)s(oundaries)f(are)h(the)g(same)h(as)f
-Ft(shell-backward-)630 2021 y(word)p Fu(.)150 2205 y
-Ft(unix-word-rubout)k(\(C-w\))630 2314 y Fu(Kill)33 b(the)f(w)m(ord)g
-(b)s(ehind)f(p)s(oin)m(t,)i(using)f(white)g(space)h(as)f(a)h(w)m(ord)f
-(b)s(oundary)-8 b(,)32 b(sa)m(ving)h(the)630 2424 y(killed)e(text)g(on)
-g(the)f(kill-ring.)150 2608 y Ft(unix-filename-rubout)25
-b(\(\))630 2717 y Fu(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m
-(t,)j(using)e(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f
-(the)630 2827 y(w)m(ord)30 b(b)s(oundaries,)f(sa)m(ving)i(the)g(killed)
-g(text)g(on)g(the)f(kill-ring.)150 3011 y Ft(delete-horizontal-space)24
-b(\(\))630 3120 y Fu(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e
-(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150
-3304 y Ft(kill-region)d(\(\))630 3414 y Fu(Kill)k(the)f(text)i(in)e
-(the)g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 3598 y Ft(copy-region-as-kill)25
-b(\(\))630 3707 y Fu(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h
-(the)f(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m
-(t)f(a)m(w)m(a)m(y)-8 b(.)630 3817 y(By)31 b(default,)f(this)h(command)
-f(is)g(un)m(b)s(ound.)150 4001 y Ft(copy-backward-word)25
-b(\(\))630 4111 y Fu(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
-(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
-f(are)i(the)630 4220 y(same)31 b(as)f Ft(backward-word)p
-Fu(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-4404 y Ft(copy-forward-word)26 b(\(\))630 4514 y Fu(Cop)m(y)31
-b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
-(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-4623 y(same)f(as)f Ft(forward-word)p Fu(.)38 b(By)30
-b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-4807 y Ft(yank)f(\(C-y\))630 4917 y Fu(Y)-8 b(ank)31
-b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 5101 y Ft(yank-pop)d(\(M-y\))630 5210
-y Fu(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
-b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-5320 y(command)30 b(is)h Ft(yank)e Fu(or)h Ft(yank-pop)p
-Fu(.)p eop end
-%%Page: 151 157
-TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(151)150 299 y Fk(8.4.5)63
-b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 500 y
-Ft(digit-argument)26 b(\()p Fj(M-0)p Ft(,)j Fj(M-1)p
-Ft(,)h(...)f Fj(M--)p Ft(\))630 610 y Fu(Add)d(this)h(digit)g(to)h(the)
-f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)f
-(argumen)m(t.)630 719 y Fj(M--)j Fu(starts)i(a)g(negativ)m(e)i(argumen)
-m(t.)150 938 y Ft(universal-argument)25 b(\(\))630 1047
-y Fu(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m
-(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
-1157 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
-(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-1267 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
-m(y)f(digits,)i(executing)f Ft(universal-argument)630
-1376 y Fu(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
-(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-1486 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
-d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-1595 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
-(the)h(next)f(command)g(is)g(m)m(ultiplied)h(b)m(y)630
-1705 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
-(one,)h(so)e(executing)i(this)e(function)f(the)i(\014rst)630
-1814 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
-(second)g(time)g(mak)m(es)h(the)e(argumen)m(t)h(coun)m(t)630
-1924 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
-(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 2182 y Fk(8.4.6)63
-b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 2384 y Ft(complete)28 b(\(TAB\))630
-2493 y Fu(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
-(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-2603 y(p)s(erformed)34 b(is)h(application-sp)s(eci\014c.)56
-b(Bash)35 b(attempts)h(completion)h(b)m(y)e(\014rst)f(c)m(hec)m(king)
-630 2712 y(for)23 b(an)m(y)i(programmable)e(completions)i(for)f(the)g
-(command)f(w)m(ord)h(\(see)g(Section)h(8.6)g([Pro-)630
-2822 y(grammable)i(Completion],)h(page)g(156\),)h(otherwise)e(treating)
-h(the)e(text)i(as)e(a)h(v)-5 b(ariable)28 b(\(if)630
-2932 y(the)23 b(text)h(b)s(egins)e(with)g(`)p Ft($)p
-Fu('\),)j(username)d(\(if)h(the)g(text)h(b)s(egins)e(with)h(`)p
-Ft(~)p Fu('\),)i(hostname)e(\(if)g(the)630 3041 y(text)k(b)s(egins)f
-(with)g(`)p Ft(@)p Fu('\),)h(or)f(command)g(\(including)g(aliases,)j
-(functions,)e(and)e(builtins\))h(in)630 3151 y(turn.)40
-b(If)30 b(none)g(of)g(these)h(pro)s(duces)e(a)i(matc)m(h,)g(it)g(falls)
-g(bac)m(k)g(to)g(\014lename)g(completion.)150 3369 y
-Ft(possible-completions)25 b(\(M-?\))630 3479 y Fu(List)35
-b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s(efore)e(p)s
-(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630 3588
-y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i(columns)f
-(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 b(alue)33
-b(of)630 3698 y Ft(completion-display-width)o Fu(,)g(the)j(v)-5
-b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)38
-b Ft(COLUMNS)p Fu(,)630 3807 y(or)30 b(the)h(screen)f(width,)g(in)g
-(that)h(order.)150 4026 y Ft(insert-completions)25 b(\(M-*\))630
-4135 y Fu(Insert)30 b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f
-(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630
-4245 y(b)m(y)g Ft(possible-completions)p Fu(,)25 b(separated)31
-b(b)m(y)f(a)h(space.)150 4463 y Ft(menu-complete)c(\(\))630
-4573 y Fu(Similar)d(to)g Ft(complete)p Fu(,)f(but)h(replaces)g(the)g(w)
-m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m(h)630
-4682 y(from)41 b(the)h(list)g(of)g(p)s(ossible)f(completions.)76
-b(Rep)s(eatedly)42 b(executing)h Ft(menu-complete)630
-4792 y Fu(steps)28 b(through)e(the)i(list)h(of)e(p)s(ossible)g
-(completions,)j(inserting)e(eac)m(h)g(matc)m(h)h(in)e(turn.)39
-b(A)m(t)630 4902 y(the)h(end)f(of)h(the)f(list)i(of)f(completions,)j
-Ft(menu-complete)36 b Fu(rings)j(the)h(b)s(ell)f(\(sub)5
-b(ject)40 b(to)630 5011 y(the)d(setting)h(of)e Ft(bell-style)p
-Fu(\))e(and)i(restores)h(the)g(original)h(text.)60 b(An)37
-b(argumen)m(t)g(of)f Fr(n)630 5121 y Fu(mo)m(v)m(es)i
-Fr(n)e Fu(p)s(ositions)g(forw)m(ard)g(in)g(the)h(list)g(of)f(matc)m
-(hes;)41 b(a)c(negativ)m(e)i(argumen)m(t)e(mo)m(v)m(es)630
-5230 y(bac)m(kw)m(ard)29 b(through)f(the)h(list.)41 b(This)28
-b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
-Ft(TAB)p Fu(,)g(but)630 5340 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)p
-eop end
-%%Page: 152 158
-TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(152)150 299 y Ft
-(menu-complete-backward)24 b(\(\))630 408 y Fu(Iden)m(tical)36
-b(to)g Ft(menu-complete)p Fu(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e
-(through)f(the)i(list)f(of)g(p)s(ossible)630 518 y(completions,)j(as)e
-(if)g Ft(menu-complete)c Fu(had)j(b)s(een)h(giv)m(en)g(a)g(negativ)m(e)
-i(argumen)m(t.)58 b(This)630 628 y(command)30 b(is)h(un)m(b)s(ound)c(b)
-m(y)k(default.)150 805 y Ft(delete-char-or-list)25 b(\(\))630
-914 y Fu(Deletes)41 b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h
-(not)g(at)g(the)h(b)s(eginning)e(or)h(end)f(of)h(the)630
-1024 y(line)49 b(\(lik)m(e)g Ft(delete-char)p Fu(\).)92
-b(A)m(t)49 b(the)f(end)g(of)g(the)g(line,)54 b(it)48
-b(b)s(eha)m(v)m(es)h(iden)m(tically)h(to)630 1133 y Ft
-(possible-completions)p Fu(.)35 b(This)30 b(command)g(is)g(un)m(b)s
-(ound)e(b)m(y)i(default.)150 1310 y Ft(complete-filename)c(\(M-/\))630
-1420 y Fu(A)m(ttempt)32 b(\014lename)e(completion)i(on)e(the)h(text)g
-(b)s(efore)f(p)s(oin)m(t.)150 1597 y Ft(possible-filename-comple)o
-(tion)o(s)24 b(\(C-x)30 b(/\))630 1707 y Fu(List)f(the)g(p)s(ossible)f
-(completions)h(of)g(the)g(text)g(b)s(efore)g(p)s(oin)m(t,)g(treating)h
-(it)f(as)g(a)f(\014lename.)150 1884 y Ft(complete-username)e(\(M-~\))
-630 1993 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)
-e(p)s(oin)m(t,)g(treating)i(it)f(as)f(a)h(username.)150
-2170 y Ft(possible-username-comple)o(tion)o(s)24 b(\(C-x)30
-b(~\))630 2280 y Fu(List)25 b(the)g(p)s(ossible)g(completions)h(of)f
-(the)g(text)h(b)s(efore)f(p)s(oin)m(t,)h(treating)g(it)g(as)f(a)g
-(username.)150 2457 y Ft(complete-variable)h(\(M-$\))630
-2567 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)e(p)
-s(oin)m(t,)g(treating)i(it)f(as)f(a)h(shell)g(v)-5 b(ariable.)150
-2744 y Ft(possible-variable-comple)o(tion)o(s)24 b(\(C-x)30
-b($\))630 2853 y Fu(List)42 b(the)g(p)s(ossible)g(completions)h(of)f
-(the)g(text)h(b)s(efore)e(p)s(oin)m(t,)46 b(treating)d(it)f(as)g(a)h
-(shell)630 2963 y(v)-5 b(ariable.)150 3140 y Ft(complete-hostname)26
-b(\(M-@\))630 3249 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i
-(b)s(efore)e(p)s(oin)m(t,)g(treating)i(it)f(as)f(a)h(hostname.)150
-3426 y Ft(possible-hostname-comple)o(tion)o(s)24 b(\(C-x)30
-b(@\))630 3536 y Fu(List)25 b(the)g(p)s(ossible)f(completions)h(of)g
-(the)g(text)g(b)s(efore)g(p)s(oin)m(t,)h(treating)g(it)f(as)f(a)h
-(hostname.)150 3713 y Ft(complete-command)h(\(M-!\))630
-3823 y Fu(A)m(ttempt)32 b(completion)g(on)f(the)g(text)h(b)s(efore)e(p)
-s(oin)m(t,)h(treating)h(it)g(as)f(a)g(command)g(name.)630
-3932 y(Command)46 b(completion)i(attempts)g(to)f(matc)m(h)h(the)f(text)
-h(against)g(aliases,)53 b(reserv)m(ed)630 4042 y(w)m(ords,)36
-b(shell)g(functions,)h(shell)e(builtins,)i(and)e(\014nally)g
-(executable)i(\014lenames,)g(in)e(that)630 4151 y(order.)150
-4328 y Ft(possible-command-complet)o(ions)24 b(\(C-x)29
-b(!\))630 4438 y Fu(List)d(the)h(p)s(ossible)f(completions)h(of)f(the)h
-(text)g(b)s(efore)f(p)s(oin)m(t,)h(treating)g(it)g(as)g(a)f(command)630
-4548 y(name.)150 4725 y Ft(dynamic-complete-history)e(\(M-TAB\))630
-4834 y Fu(A)m(ttempt)e(completion)h(on)d(the)i(text)g(b)s(efore)e(p)s
-(oin)m(t,)j(comparing)f(the)f(text)h(against)g(history)630
-4944 y(list)31 b(en)m(tries)g(for)f(p)s(ossible)g(completion)i(matc)m
-(hes.)150 5121 y Ft(dabbrev-expand)26 b(\(\))630 5230
-y Fu(A)m(ttempt)i(men)m(u)e(completion)i(on)f(the)g(text)g(b)s(efore)f
-(p)s(oin)m(t,)i(comparing)f(the)g(text)h(against)630
-5340 y(lines)j(from)e(the)i(history)f(list)h(for)g(p)s(ossible)e
-(completion)j(matc)m(hes.)p eop end
-%%Page: 153 159
-TeXDict begin 153 158 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(153)150 299 y Ft
-(complete-into-braces)25 b(\(M-{\))630 408 y Fu(P)m(erform)f
-(\014lename)f(completion)i(and)f(insert)f(the)h(list)g(of)g(p)s
-(ossible)f(completions)i(enclosed)630 518 y(within)34
-b(braces)h(so)f(the)h(list)g(is)g(a)m(v)-5 b(ailable)37
-b(to)e(the)g(shell)g(\(see)g(Section)h(3.5.1)g([Brace)g(Ex-)630
-628 y(pansion],)30 b(page)h(25\).)150 813 y Fk(8.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 978 y Ft(start-kbd-macro)26
-b(\(C-x)j(\(\))630 1088 y Fu(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
-(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
-1233 y Ft(end-kbd-macro)d(\(C-x)i(\)\))630 1343 y Fu(Stop)e(sa)m(ving)h
-(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
-(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 1452
-y(de\014nition.)150 1598 y Ft(call-last-kbd-macro)c(\(C-x)k(e\))630
-1707 y Fu(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
-(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
-1817 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
-(oard.)150 1962 y Ft(print-last-kbd-macro)25 b(\(\))630
-2072 y Fu(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
-(de\014ned)e(in)h(a)g(format)h(suitable)g(for)f(the)g
-Fr(inputrc)35 b Fu(\014le.)150 2257 y Fk(8.4.8)63 b(Some)41
-b(Miscellaneous)i(Commands)150 2422 y Ft(re-read-init-file)26
-b(\(C-x)j(C-r\))630 2532 y Fu(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)
-f(the)g Fr(inputrc)27 b Fu(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h
-(bindings)d(or)i(v)-5 b(ariable)630 2642 y(assignmen)m(ts)31
-b(found)e(there.)150 2787 y Ft(abort)g(\(C-g\))630 2897
-y Fu(Ab)s(ort)d(the)h(curren)m(t)f(editing)h(command)f(and)g(ring)h
-(the)f(terminal's)h(b)s(ell)g(\(sub)5 b(ject)26 b(to)i(the)630
-3006 y(setting)j(of)g Ft(bell-style)p Fu(\).)150 3152
-y Ft(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p Fj(x)p
-Ft(,)g(...)o(\))630 3261 y Fu(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
-Fr(x)k Fu(is)35 b(upp)s(er)e(case,)k(run)d(the)h(command)g(that)g(is)g
-(b)s(ound)e(to)630 3371 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
-m(er)i(case)f(c)m(haracter.)50 b(The)32 b(b)s(eha)m(vior)h(is)g
-(unde\014ned)e(if)630 3481 y Fr(x)37 b Fu(is)30 b(already)h(lo)m(w)m
-(er)h(case.)150 3626 y Ft(prefix-meta)27 b(\(ESC\))630
-3736 y Fu(Metafy)32 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)40
-b(T)m(yping)30 b(`)p Ft(ESC)g(f)p Fu(')g(is)h(equiv)-5
-b(alen)m(t)31 b(to)h(t)m(yping)e Fj(M-f)p Fu(.)150 3881
-y Ft(undo)f(\(C-_)g(or)h(C-x)g(C-u\))630 3991 y Fu(Incremen)m(tal)h
-(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
-4136 y Ft(revert-line)27 b(\(M-r\))630 4246 y Fu(Undo)33
-b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
-b(is)h(lik)m(e)i(executing)f(the)f Ft(undo)f Fu(command)630
-4355 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(initial)i
-(state.)150 4501 y Ft(tilde-expand)27 b(\(M-&\))630 4611
-y Fu(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)
-150 4756 y Ft(set-mark)d(\(C-@\))630 4866 y Fu(Set)k(the)g(mark)f(to)h
-(the)g(p)s(oin)m(t.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)f(set)h(the)g(mark)f(to)630 4975 y(that)g(p)s(osition.)150
-5121 y Ft(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
-5230 y Fu(Sw)m(ap)38 b(the)g(p)s(oin)m(t)h(with)f(the)g(mark.)65
-b(Set)38 b(the)h(curren)m(t)f(cursor)g(p)s(osition)g(to)h(the)g(sa)m(v)
-m(ed)630 5340 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
-(old)g(cursor)e(p)s(osition.)p eop end
-%%Page: 154 160
-TeXDict begin 154 159 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(154)150 299 y Ft(character-search)
-26 b(\(C-]\))630 408 y Fu(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m
-(e)j(p)s(oin)m(t)e(to)h(the)f(next)g(o)s(ccurrence)g(of)g(that)h(c)m
-(haracter.)50 b(A)630 518 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)
-i(for)e(previous)g(o)s(ccurrences.)150 722 y Ft
-(character-search-backwar)o(d)24 b(\(M-C-]\))630 831
-y Fu(Read)30 b(a)g(c)m(haracter)h(and)e(mo)m(v)m(e)i(p)s(oin)m(t)e(to)i
-(the)e(previous)g(o)s(ccurrence)h(of)g(that)g(c)m(haracter.)630
-941 y(A)g(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g(for)f(subsequen)m
-(t)g(o)s(ccurrences.)150 1144 y Ft(skip-csi-sequence)c(\(\))630
-1254 y Fu(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h(m)m
-(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
-1363 y(for)40 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)68
-b(CSI)40 b(sequences)g(b)s(egin)g(with)g(a)g(Con)m(trol)h(Sequence)630
-1473 y(Indicator)c(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36
-b(this)g(sequence)h(is)g(b)s(ound)d(to)k Ft("\\)p Fu(e[)p
-Ft(")p Fu(,)g(k)m(eys)f(pro-)630 1583 y(ducing)31 b(CSI)f(sequences)i
-(will)g(ha)m(v)m(e)h(no)e(e\013ect)i(unless)e(explicitly)i(b)s(ound)c
-(to)j(a)g(Readline)630 1692 y(command,)g(instead)g(of)g(inserting)g
-(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f(editing)h(bu\013er.)44
-b(This)31 b(is)630 1802 y(un)m(b)s(ound)d(b)m(y)i(default,)h(but)f
-(usually)g(b)s(ound)e(to)j(ESC-[.)150 2005 y Ft(insert-comment)26
-b(\(M-#\))630 2115 y Fu(Without)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
-(insert)f(the)f(v)-5 b(alue)35 b(of)e(the)h Ft(comment-begin)c
-Fu(v)-5 b(ariable)630 2225 y(at)38 b(the)g(b)s(eginning)f(of)h(the)f
-(curren)m(t)h(line.)63 b(If)37 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)g(this)630 2334 y(command)29 b(acts)h(as)f(a)h(toggle:)42
-b(if)29 b(the)h(c)m(haracters)g(at)g(the)f(b)s(eginning)g(of)g(the)g
-(line)h(do)f(not)630 2444 y(matc)m(h)g(the)g(v)-5 b(alue)29
-b(of)g Ft(comment-begin)p Fu(,)c(insert)j(the)h(v)-5
-b(alue;)30 b(otherwise)f(delete)h(the)e(c)m(har-)630
-2553 y(acters)g(in)e Ft(comment-begin)e Fu(from)i(the)h(b)s(eginning)f
-(of)h(the)g(line.)40 b(In)26 b(either)i(case,)h(the)e(line)630
-2663 y(is)d(accepted)i(as)e(if)g(a)h(newline)f(had)f(b)s(een)g(t)m(yp)s
-(ed.)39 b(The)23 b(default)i(v)-5 b(alue)24 b(of)h Ft(comment-begin)630
-2772 y Fu(causes)g(this)f(command)h(to)g(mak)m(e)h(the)e(curren)m(t)h
-(line)g(a)g(shell)f(commen)m(t.)40 b(If)24 b(a)h(n)m(umeric)g(ar-)630
-2882 y(gumen)m(t)k(causes)g(the)g(commen)m(t)h(c)m(haracter)g(to)f(b)s
-(e)f(remo)m(v)m(ed,)i(the)f(line)g(will)g(b)s(e)f(executed)630
-2992 y(b)m(y)i(the)h(shell.)150 3195 y Ft(dump-functions)26
-b(\(\))630 3305 y Fu(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
-(their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
-3414 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
-(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-3524 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fr(inputrc)k
-Fu(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 3727 y Ft(dump-variables)26 b(\(\))630
-3837 y Fu(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
-b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
-(output)f(stream.)630 3947 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
-g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
-m(y)g(that)630 4056 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
-Fr(inputrc)k Fu(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
-(b)m(y)k(default.)150 4260 y Ft(dump-macros)c(\(\))630
-4369 y Fu(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
-f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-4479 y(output)e(to)h(the)f(Readline)h(output)f(stream.)46
-b(If)32 b(a)g(n)m(umeric)g(argumen)m(t)h(is)f(supplied,)g(the)630
-4589 y(output)g(is)f(formatted)i(in)f(suc)m(h)f(a)h(w)m(a)m(y)h(that)g
-(it)f(can)g(b)s(e)g(made)g(part)f(of)h(an)g Fr(inputrc)37
-b Fu(\014le.)630 4698 y(This)30 b(command)g(is)g(un)m(b)s(ound)e(b)m(y)
-i(default.)150 4902 y Ft(execute-named-command)25 b(\(M-x\))630
-5011 y Fu(Read)g(a)h(bindable)f(Readline)g(command)g(name)h(from)e(the)
-i(input)e(and)h(execute)h(the)g(func-)630 5121 y(tion)g(to)h(whic)m(h)f
-(it's)g(b)s(ound,)f(as)h(if)g(the)g(k)m(ey)h(sequence)f(to)h(whic)m(h)e
-(it)i(w)m(as)f(b)s(ound)e(app)s(eared)630 5230 y(in)37
-b(the)h(input.)61 b(If)37 b(this)h(function)f(is)g(supplied)g(with)g(a)
-h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 5340 y(that)31
-b(argumen)m(t)g(to)g(the)f(function)h(it)f(executes.)p
-eop end
-%%Page: 155 161
-TeXDict begin 155 160 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(155)150 299 y Ft
-(spell-correct-word)25 b(\(C-x)30 b(s\))630 408 y Fu(P)m(erform)36
-b(sp)s(elling)h(correction)h(on)e(the)h(curren)m(t)f(w)m(ord,)i
-(treating)f(it)g(as)g(a)g(directory)g(or)630 518 y(\014lename,)g(in)e
-(the)h(same)f(w)m(a)m(y)i(as)e(the)h Ft(cdspell)d Fu(shell)j(option.)56
-b(W)-8 b(ord)36 b(b)s(oundaries)e(are)630 628 y(the)d(same)f(as)h
-(those)g(used)e(b)m(y)i Ft(shell-forward-word)p Fu(.)150
-815 y Ft(glob-complete-word)25 b(\(M-g\))630 925 y Fu(T)-8
-b(reat)44 b(the)g(w)m(ord)e(b)s(efore)h(p)s(oin)m(t)h(as)f(a)h(pattern)
-f(for)g(pathname)g(expansion,)k(with)c(an)630 1035 y(asterisk)25
-b(implicitly)g(app)s(ended,)f(then)g(use)g(the)h(pattern)f(to)h
-(generate)h(a)f(list)f(of)h(matc)m(hing)630 1144 y(\014le)30
-b(names)h(for)f(p)s(ossible)g(completions.)150 1332 y
-Ft(glob-expand-word)c(\(C-x)j(*\))630 1441 y Fu(T)-8
-b(reat)36 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(as)h(a)g(pattern)
-f(for)g(pathname)g(expansion,)i(and)e(insert)630 1551
-y(the)g(list)h(of)g(matc)m(hing)g(\014le)f(names,)i(replacing)f(the)g
-(w)m(ord.)55 b(If)34 b(a)i(n)m(umeric)f(argumen)m(t)h(is)630
-1661 y(supplied,)29 b(app)s(end)g(a)i(`)p Ft(*)p Fu(')f(b)s(efore)g
-(pathname)h(expansion.)150 1848 y Ft(glob-list-expansions)25
-b(\(C-x)k(g\))630 1958 y Fu(Displa)m(y)24 b(the)g(list)g(of)f
-(expansions)h(that)f(w)m(ould)h(ha)m(v)m(e)g(b)s(een)f(generated)h(b)m
-(y)f Ft(glob-expand-)630 2067 y(word)p Fu(,)34 b(and)g(redispla)m(y)g
-(the)g(line.)53 b(If)33 b(a)i(n)m(umeric)f(argumen)m(t)h(is)f
-(supplied,)g(app)s(end)e(a)j(`)p Ft(*)p Fu(')630 2177
-y(b)s(efore)30 b(pathname)g(expansion.)150 2365 y Ft(shell-expand-line)
-c(\(M-C-e\))630 2474 y Fu(Expand)j(the)h(line)g(b)m(y)g(p)s(erforming)f
-(shell)h(w)m(ord)g(expansions.)40 b(This)29 b(p)s(erforms)f(alias)k
-(and)630 2584 y(history)40 b(expansion,)j($')p Fr(string)8
-b Fu(')41 b(and)f($)p Ft(")p Fr(string)8 b Ft(")39 b
-Fu(quoting,)44 b(tilde)d(expansion,)i(parame-)630 2693
-y(ter)d(and)f(v)-5 b(ariable)40 b(expansion,)i(arithmetic)f(expansion,)
-g(command)f(and)f(pro)s(ces)g(sub-)630 2803 y(stitution,)34
-b(w)m(ord)f(splitting,)h(and)e(quote)i(remo)m(v)-5 b(al.)49
-b(An)32 b(explicit)i(argumen)m(t)g(suppresses)630 2913
-y(command)c(and)g(pro)s(cess)g(substitution.)150 3100
-y Ft(history-expand-line)25 b(\(M-^\))630 3210 y Fu(P)m(erform)30
-b(history)h(expansion)f(on)g(the)h(curren)m(t)f(line.)150
-3398 y Ft(magic-space)d(\(\))630 3507 y Fu(P)m(erform)c(history)g
-(expansion)g(on)g(the)g(curren)m(t)g(line)g(and)g(insert)g(a)g(space)h
-(\(see)g(Section)g(9.3)630 3617 y([History)31 b(In)m(teraction],)i
-(page)e(168\).)150 3804 y Ft(alias-expand-line)26 b(\(\))630
-3914 y Fu(P)m(erform)e(alias)i(expansion)e(on)h(the)g(curren)m(t)f
-(line)h(\(see)g(Section)h(6.6)f([Aliases],)j(page)d(108\).)150
-4102 y Ft(history-and-alias-expand)o(-lin)o(e)f(\(\))630
-4211 y Fu(P)m(erform)30 b(history)h(and)e(alias)j(expansion)e(on)g(the)
-h(curren)m(t)f(line.)150 4399 y Ft(insert-last-argument)25
-b(\(M-.)k(or)h(M-_\))630 4509 y Fu(A)g(synon)m(ym)g(for)g
-Ft(yank-last-arg)p Fu(.)150 4696 y Ft(edit-and-execute-command)24
-b(\(C-x)29 b(C-e\))630 4806 y Fu(In)m(v)m(ok)m(e)34 b(an)f(editor)g(on)
-g(the)g(curren)m(t)f(command)h(line,)h(and)e(execute)i(the)f(result)g
-(as)g(shell)630 4915 y(commands.)81 b(Bash)44 b(attempts)h(to)g(in)m(v)
-m(ok)m(e)h Ft($VISUAL)p Fu(,)f Ft($EDITOR)p Fu(,)h(and)d
-Ft(emacs)g Fu(as)h(the)630 5025 y(editor,)31 b(in)f(that)h(order.)150
-5213 y Ft(display-shell-version)25 b(\(C-x)k(C-v\))630
-5322 y Fu(Displa)m(y)j(v)m(ersion)e(information)h(ab)s(out)f(the)h
-(curren)m(t)f(instance)h(of)f(Bash.)p eop end
-%%Page: 156 162
-TeXDict begin 156 161 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(156)150 299 y Fs(8.5)68
-b(Readline)47 b(vi)e(Mo)t(de)150 458 y Fu(While)32 b(the)g(Readline)g
-(library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g
-Ft(vi)f Fu(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
-568 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
-b(The)34 b(Readline)g Ft(vi)g Fu(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
-(eci\014ed)f(in)150 677 y(the)e Ft(sh)e Fu(description)i(in)f(the)g
-Fm(posix)g Fu(standard.)275 816 y(Y)-8 b(ou)33 b(can)g(use)g(the)g(`)p
-Ft(set)d(-o)g(emacs)p Fu(')h(and)i(`)p Ft(set)d(-o)f(vi)p
-Fu(')k(commands)g(\(see)g(Section)h(4.3.1)h([The)e(Set)150
-925 y(Builtin],)25 b(page)e(72\))g(to)h(switc)m(h)e(in)m(teractiv)m
-(ely)k(b)s(et)m(w)m(een)d Ft(emacs)d Fu(and)i Ft(vi)g
-Fu(editing)h(mo)s(des,)g(The)f(Readline)150 1035 y(default)31
-b(is)f Ft(emacs)f Fu(mo)s(de.)275 1173 y(When)g(y)m(ou)i(en)m(ter)f(a)h
-(line)f(in)g Ft(vi)f Fu(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f
-(in)g(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 1283
-y(had)f(t)m(yp)s(ed)g(an)g(`)p Ft(i)p Fu('.)41 b(Pressing)29
-b Ft(ESC)f Fu(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')e(mo)s(de,)h
-(where)e(y)m(ou)i(can)g(edit)g(the)150 1393 y(text)35
-b(of)f(the)g(line)g(with)f(the)h(standard)f Ft(vi)g Fu(mo)m(v)m(emen)m
-(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g(history)f(lines)h(with)150
-1502 y(`)p Ft(k)p Fu(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p
-Ft(j)p Fu(',)g(and)g(so)h(forth.)150 1749 y Fs(8.6)68
-b(Programmable)47 b(Completion)150 1908 y Fu(When)21
-b(the)f(user)g(attempts)i(w)m(ord)f(completion)h(for)e(an)h(argumen)m
-(t)g(to)g(a)g(command)g(for)f(whic)m(h)h(a)g(comple-)150
-2018 y(tion)k(sp)s(eci\014cation)g(\(a)h Fr(compsp)s(ec)6
-b Fu(\))24 b(has)g(b)s(een)g(de\014ned)g(using)g(the)g
-Ft(complete)f Fu(builtin)h(\(see)h(Section)h(8.7)150
-2127 y([Programmable)31 b(Completion)g(Builtins],)g(page)g(158\),)h
-(Readline)e(in)m(v)m(ok)m(es)i(the)f(programmable)f(com-)150
-2237 y(pletion)h(facilities.)275 2375 y(First,)47 b(Bash)c(iden)m
-(ti\014es)h(the)f(command)g(name.)80 b(If)43 b(a)h(compsp)s(ec)f(has)g
-(b)s(een)f(de\014ned)g(for)h(that)150 2485 y(command,)27
-b(the)g(compsp)s(ec)g(is)f(used)g(to)h(generate)h(the)f(list)g(of)g(p)s
-(ossible)f(completions)i(for)f(the)f(w)m(ord.)39 b(If)150
-2595 y(the)25 b(command)f(w)m(ord)g(is)h(the)g(empt)m(y)g(string)f
-(\(completion)j(attempted)e(at)h(the)e(b)s(eginning)g(of)h(an)g(empt)m
-(y)150 2704 y(line\),)38 b(Bash)e(uses)g(an)m(y)g(compsp)s(ec)f
-(de\014ned)g(with)h(the)g Ft(-E)f Fu(option)h(to)h Ft(complete)p
-Fu(.)55 b(If)35 b(the)h(command)150 2814 y(w)m(ord)30
-b(is)g(a)h(full)f(pathname,)g(Bash)h(searc)m(hes)g(for)f(a)g(compsp)s
-(ec)g(for)g(the)h(full)f(pathname)g(\014rst.)40 b(If)30
-b(there)150 2923 y(is)36 b(no)g(compsp)s(ec)g(for)g(the)g(full)g
-(pathname,)i(Bash)e(attempts)h(to)g(\014nd)e(a)h(compsp)s(ec)g(for)g
-(the)g(p)s(ortion)150 3033 y(follo)m(wing)24 b(the)f(\014nal)f(slash.)
-38 b(If)22 b(those)i(searc)m(hes)f(do)g(not)g(result)f(in)h(a)g(compsp)
-s(ec,)h(an)m(y)f(compsp)s(ec)f(de\014ned)150 3143 y(with)j(the)g
-Ft(-D)g Fu(option)g(to)h Ft(complete)d Fu(is)i(used)g(as)g(the)h
-(default.)39 b(If)25 b(there)g(is)g(no)g(default)h(compsp)s(ec,)g(Bash)
-150 3252 y(attempts)37 b(alias)h(expansion)e(on)g(the)h(command)f(w)m
-(ord)g(as)h(a)f(\014nal)g(resort,)j(and)c(attempts)j(to)f(\014nd)e(a)
-150 3362 y(compsp)s(ec)30 b(for)g(the)h(command)f(w)m(ord)g(from)g(an)m
-(y)h(successful)f(expansion.)275 3500 y(If)j(a)h(compsp)s(ec)g(is)g
-(not)h(found,)e(Bash)i(p)s(erforms)d(its)i(default)h(completion)g
-(describ)s(ed)e(ab)s(o)m(v)m(e)i(\(see)150 3610 y(Section)41
-b(8.4.6)g([Commands)f(F)-8 b(or)40 b(Completion],)k(page)c(151\).)71
-b(Otherwise,)43 b(once)d(a)h(compsp)s(ec)e(has)150 3719
-y(b)s(een)30 b(found,)f(Bash)h(uses)g(it)h(to)g(generate)h(the)f(list)g
-(of)f(matc)m(hing)i(w)m(ords.)275 3858 y(First,)39 b(Bash)f(p)s
-(erforms)d(the)j Fr(actions)k Fu(sp)s(eci\014ed)37 b(b)m(y)g(the)g
-(compsp)s(ec.)61 b(Only)37 b(matc)m(hes)i(whic)m(h)e(are)150
-3967 y(pre\014xed)31 b(b)m(y)h(the)h(w)m(ord)f(b)s(eing)g(completed)h
-(are)g(returned.)45 b(When)32 b(the)h Ft(-f)e Fu(or)i
-Ft(-d)e Fu(option)i(is)g(used)e(for)150 4077 y(\014lename)36
-b(or)f(directory)h(name)f(completion,)k(Bash)c(uses)g(shell)h(the)f(v)
--5 b(ariable)37 b Ft(FIGNORE)c Fu(to)j(\014lter)g(the)150
-4186 y(matc)m(hes.)42 b(See)30 b(Section)i(5.2)f([Bash)g(V)-8
-b(ariables],)32 b(page)f(86,)h(for)e(a)h(description)f(of)h
-Ft(FIGNORE)p Fu(.)275 4325 y(An)m(y)22 b(completions)h(sp)s(eci\014ed)f
-(b)m(y)g(a)h(\014lename)f(expansion)h(pattern)f(to)h(the)g
-Ft(-G)e Fu(option)i(are)g(generated)150 4434 y(next.)40
-b(The)26 b(w)m(ords)f(generated)j(b)m(y)e(the)h(pattern)f(need)h(not)f
-(matc)m(h)i(the)e(w)m(ord)g(b)s(eing)g(completed.)41
-b(Bash)150 4544 y(uses)g(the)g Ft(FIGNORE)e Fu(v)-5 b(ariable)42
-b(to)f(\014lter)g(the)g(matc)m(hes,)k(but)c(do)s(es)f(not)i(use)e(the)i
-Ft(GLOBIGNORE)c Fu(shell)150 4654 y(v)-5 b(ariable.)275
-4792 y(Next,)35 b(completion)g(considers)e(the)h(string)f(sp)s
-(eci\014ed)g(as)h(the)g(argumen)m(t)g(to)g(the)g Ft(-W)f
-Fu(option.)50 b(The)150 4902 y(string)21 b(is)h(\014rst)e(split)i
-(using)e(the)i(c)m(haracters)h(in)e(the)g Ft(IFS)g Fu(sp)s(ecial)g(v)-5
-b(ariable)23 b(as)e(delimiters.)38 b(Shell)21 b(quoting)150
-5011 y(is)27 b(honored)g(within)f(the)i(string,)g(in)f(order)f(to)i
-(pro)m(vide)f(a)h(mec)m(hanism)f(for)g(the)h(w)m(ords)e(to)i(con)m
-(tain)h(shell)150 5121 y(metac)m(haracters)k(or)e(c)m(haracters)i(in)e
-(the)g(v)-5 b(alue)31 b(of)g Ft(IFS)p Fu(.)42 b(Eac)m(h)32
-b(w)m(ord)e(is)h(then)g(expanded)f(using)h(brace)150
-5230 y(expansion,)g(tilde)h(expansion,)f(parameter)g(and)g(v)-5
-b(ariable)32 b(expansion,)f(command)f(substitution,)i(and)150
-5340 y(arithmetic)c(expansion,)f(as)g(describ)s(ed)e(ab)s(o)m(v)m(e)i
-(\(see)h(Section)f(3.5)g([Shell)g(Expansions],)g(page)g(24\).)40
-b(The)p eop end
-%%Page: 157 163
-TeXDict begin 157 162 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(157)150 299 y(results)23
-b(are)h(split)g(using)f(the)h(rules)f(describ)s(ed)f(ab)s(o)m(v)m(e)j
-(\(see)g(Section)f(3.5.7)h([W)-8 b(ord)24 b(Splitting],)i(page)e(37\).)
-150 408 y(The)j(results)h(of)f(the)h(expansion)g(are)g(pre\014x-matc)m
-(hed)g(against)h(the)f(w)m(ord)f(b)s(eing)g(completed,)j(and)d(the)150
-518 y(matc)m(hing)k(w)m(ords)f(b)s(ecome)h(p)s(ossible)f(completions.)
-275 669 y(After)e(these)g(matc)m(hes)h(ha)m(v)m(e)g(b)s(een)e
-(generated,)j(Bash)e(executes)h(an)m(y)g(shell)f(function)f(or)h
-(command)150 778 y(an)m(y)k(shell)g(function)f(or)h(command)f(sp)s
-(eci\014ed)g(with)h(the)g Ft(-F)f Fu(and)g Ft(-C)g Fu(options.)45
-b(When)31 b(the)h(command)150 888 y(or)39 b(function)f(is)g(in)m(v)m
-(ok)m(ed,)43 b(the)38 b Ft(COMP_LINE)p Fu(,)h Ft(COMP_POINT)p
-Fu(,)f Ft(COMP_KEY)p Fu(,)g(and)g Ft(COMP_TYPE)e Fu(v)-5
-b(ariables)150 998 y(are)28 b(assigned)f(v)-5 b(alues)27
-b(as)h(describ)s(ed)e(ab)s(o)m(v)m(e)i(\(see)g(Section)g(5.2)h([Bash)e
-(V)-8 b(ariables],)30 b(page)e(86\).)40 b(If)27 b(a)h(shell)150
-1107 y(function)c(is)g(b)s(eing)f(in)m(v)m(ok)m(ed,)k(the)e
-Ft(COMP_WORDS)c Fu(and)i Ft(COMP_CWORD)f Fu(v)-5 b(ariables)24
-b(are)h(also)g(set.)39 b(When)24 b(the)150 1217 y(function)h(or)g
-(command)g(is)h(in)m(v)m(ok)m(ed,)i(the)d(\014rst)g(argumen)m(t)h
-(\($1\))h(is)e(the)h(name)f(of)g(the)h(command)f(whose)150
-1326 y(argumen)m(ts)39 b(are)h(b)s(eing)e(completed,)k(the)e(second)f
-(argumen)m(t)g(\($2\))h(is)f(the)h(w)m(ord)e(b)s(eing)h(completed,)150
-1436 y(and)25 b(the)h(third)f(argumen)m(t)h(\($3\))h(is)e(the)h(w)m
-(ord)f(preceding)h(the)g(w)m(ord)f(b)s(eing)g(completed)i(on)e(the)h
-(curren)m(t)150 1545 y(command)35 b(line.)56 b(There)35
-b(is)g(no)h(\014ltering)f(of)h(the)f(generated)i(completions)f(against)
-h(the)e(w)m(ord)g(b)s(eing)150 1655 y(completed;)d(the)e(function)g(or)
-h(command)f(has)g(complete)i(freedom)e(in)g(generating)i(the)e(matc)m
-(hes.)275 1806 y(An)m(y)k(function)h(sp)s(eci\014ed)f(with)g
-Ft(-F)g Fu(is)h(in)m(v)m(ok)m(ed)h(\014rst.)53 b(The)35
-b(function)f(ma)m(y)h(use)g(an)m(y)g(of)g(the)g(shell)150
-1915 y(facilities,)50 b(including)44 b(the)h Ft(compgen)d
-Fu(and)i Ft(compopt)e Fu(builtins)i(describ)s(ed)f(b)s(elo)m(w)h(\(see)
-i(Section)f(8.7)150 2025 y([Programmable)31 b(Completion)h(Builtins],)f
-(page)h(158\),)g(to)g(generate)g(the)f(matc)m(hes.)42
-b(It)31 b(m)m(ust)g(put)f(the)150 2134 y(p)s(ossible)g(completions)h
-(in)f(the)h Ft(COMPREPLY)d Fu(arra)m(y)j(v)-5 b(ariable,)31
-b(one)g(p)s(er)e(arra)m(y)i(elemen)m(t.)275 2285 y(Next,)26
-b(an)m(y)f(command)f(sp)s(eci\014ed)g(with)g(the)h Ft(-C)f
-Fu(option)h(is)f(in)m(v)m(ok)m(ed)i(in)e(an)g(en)m(vironmen)m(t)h
-(equiv)-5 b(alen)m(t)150 2395 y(to)26 b(command)e(substitution.)39
-b(It)25 b(should)f(prin)m(t)h(a)g(list)h(of)f(completions,)i(one)e(p)s
-(er)f(line,)j(to)f(the)f(standard)150 2504 y(output.)50
-b(Bac)m(kslash)35 b(ma)m(y)f(b)s(e)e(used)h(to)h(escap)s(e)g(a)g
-(newline,)g(if)g(necessary)-8 b(.)51 b(These)33 b(are)h(added)f(to)h
-(the)150 2614 y(set)d(of)f(p)s(ossible)g(completions.)275
-2765 y(After)24 b(all)i(of)f(the)f(p)s(ossible)g(completions)i(are)f
-(generated,)i(an)m(y)e(\014lter)g(sp)s(eci\014ed)e(with)i(the)g
-Ft(-X)e Fu(option)150 2874 y(is)34 b(applied)g(to)g(the)h(list.)52
-b(The)33 b(\014lter)h(is)g(a)h(pattern)f(as)g(used)f(for)h(pathname)g
-(expansion;)i(a)e(`)p Ft(&)p Fu(')g(in)g(the)150 2984
-y(pattern)28 b(is)f(replaced)h(with)g(the)f(text)i(of)f(the)f(w)m(ord)h
-(b)s(eing)f(completed.)40 b(A)28 b(literal)h(`)p Ft(&)p
-Fu(')f(ma)m(y)g(b)s(e)f(escap)s(ed)150 3093 y(with)38
-b(a)h(bac)m(kslash;)k(the)38 b(bac)m(kslash)h(is)g(remo)m(v)m(ed)g(b)s
-(efore)f(attempting)h(a)g(matc)m(h.)65 b(An)m(y)39 b(completion)150
-3203 y(that)32 b(matc)m(hes)g(the)g(pattern)g(will)f(b)s(e)g(remo)m(v)m
-(ed)h(from)f(the)h(list.)44 b(A)32 b(leading)g(`)p Ft(!)p
-Fu(')f(negates)i(the)f(pattern;)150 3313 y(in)d(this)g(case)h(an)m(y)g
-(completion)h(not)e(matc)m(hing)h(the)g(pattern)f(will)h(b)s(e)e(remo)m
-(v)m(ed.)42 b(If)29 b(the)g Ft(nocasematch)150 3422 y
-Fu(shell)k(option)f(\(see)i(the)e(description)g(of)h
-Ft(shopt)e Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
-(77\))h(is)150 3532 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
-(without)h(regard)g(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
-(haracters.)275 3682 y(Finally)-8 b(,)42 b(an)m(y)c(pre\014x)g(and)f
-(su\016x)h(sp)s(eci\014ed)f(with)i(the)f Ft(-P)g Fu(and)g
-Ft(-S)f Fu(options)i(are)g(added)f(to)h(eac)m(h)150 3792
-y(mem)m(b)s(er)29 b(of)g(the)g(completion)i(list,)f(and)e(the)i(result)
-f(is)g(returned)f(to)i(Readline)g(as)f(the)g(list)h(of)f(p)s(ossible)
-150 3902 y(completions.)275 4052 y(If)41 b(the)g(previously-applied)h
-(actions)g(do)g(not)f(generate)i(an)m(y)f(matc)m(hes,)k(and)41
-b(the)g Ft(-o)30 b(dirnames)150 4162 y Fu(option)f(w)m(as)f(supplied)f
-(to)i Ft(complete)d Fu(when)h(the)h(compsp)s(ec)g(w)m(as)g(de\014ned,)g
-(Bash)g(attempts)h(directory)150 4271 y(name)h(completion.)275
-4422 y(If)35 b(the)g Ft(-o)30 b(plusdirs)j Fu(option)j(w)m(as)g
-(supplied)e(to)i Ft(complete)e Fu(when)g(the)i(compsp)s(ec)f(w)m(as)h
-(de\014ned,)150 4532 y(Bash)43 b(attempts)g(directory)g(name)g
-(completion)h(and)d(adds)h(an)m(y)h(matc)m(hes)h(to)f(the)g(set)g(of)f
-(p)s(ossible)150 4641 y(completions.)275 4792 y(By)31
-b(default,)i(if)e(a)h(compsp)s(ec)f(is)h(found,)f(whatev)m(er)h(it)g
-(generates)h(is)e(returned)g(to)h(the)g(completion)150
-4902 y(co)s(de)26 b(as)h(the)f(full)g(set)g(of)g(p)s(ossible)g
-(completions.)40 b(The)26 b(default)g(Bash)g(completions)i(and)d(the)h
-(Readline)150 5011 y(default)39 b(of)g(\014lename)g(completion)i(are)e
-(disabled.)66 b(If)39 b(the)g Ft(-o)30 b(bashdefault)35
-b Fu(option)40 b(w)m(as)f(supplied)150 5121 y(to)32 b
-Ft(complete)c Fu(when)i(the)h(compsp)s(ec)g(w)m(as)g(de\014ned,)f(if)h
-(the)g(compsp)s(ec)f(generates)j(no)d(matc)m(hes,)j(Bash)150
-5230 y(attempts)28 b(its)g(default)f(completions.)41
-b(If)26 b(the)i Ft(-o)h(default)c Fu(option)j(w)m(as)f(supplied)f(to)i
-Ft(complete)d Fu(when)150 5340 y(the)31 b(compsp)s(ec)f(w)m(as)h
-(de\014ned,)f(programmable)h(completion)h(will)f(p)s(erform)e
-(Readline's)i(default)g(com-)p eop end
-%%Page: 158 164
-TeXDict begin 158 163 bop 150 -116 a Fu(Chapter)47 b(8:)i(Command)d
-(Line)i(Editing)2003 b(158)150 299 y(pletion)45 b(if)f(the)h(compsp)s
-(ec)f(\(and,)k(if)c(attempted,)50 b(the)44 b(default)h(Bash)f
-(completions\))i(generate)g(no)150 408 y(matc)m(hes.)275
-550 y(When)20 b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g(name)f
-(completion)h(is)f(desired,)i(the)e(programmable)150
-659 y(completion)31 b(functions)e(force)i(Readline)f(to)h(app)s(end)d
-(a)i(slash)g(to)g(completed)h(names)e(whic)m(h)h(are)g(sym-)150
-769 y(b)s(olic)40 b(links)g(to)h(directories,)j(sub)5
-b(ject)40 b(to)h(the)f(v)-5 b(alue)41 b(of)f(the)g Fr(mark-directories)
-45 b Fu(Readline)c(v)-5 b(ariable,)150 879 y(regardless)31
-b(of)f(the)h(setting)g(of)g(the)f Fr(mark-symlink)m(ed-directories)36
-b Fu(Readline)31 b(v)-5 b(ariable.)275 1020 y(There)25
-b(is)i(some)g(supp)s(ort)e(for)h(dynamically)h(mo)s(difying)f
-(completions.)40 b(This)26 b(is)g(most)h(useful)f(when)150
-1129 y(used)40 b(in)h(com)m(bination)i(with)e(a)g(default)h(completion)
-g(sp)s(eci\014ed)f(with)g Ft(-D)p Fu(.)72 b(It's)42 b(p)s(ossible)f
-(for)g(shell)150 1239 y(functions)25 b(executed)i(as)f(completion)h
-(functions)f(to)g(indicate)h(that)g(completion)g(should)e(b)s(e)g
-(retried)h(b)m(y)150 1349 y(returning)31 b(an)i(exit)g(status)f(of)h
-(124.)48 b(If)31 b(a)i(shell)f(function)g(returns)f(124,)k(and)c(c)m
-(hanges)j(the)e(compsp)s(ec)150 1458 y(asso)s(ciated)43
-b(with)e(the)g(command)g(on)g(whic)m(h)g(completion)i(is)e(b)s(eing)g
-(attempted)h(\(supplied)e(as)i(the)150 1568 y(\014rst)29
-b(argumen)m(t)h(when)e(the)i(function)f(is)g(executed\),)j
-(programmable)d(completion)i(restarts)f(from)f(the)150
-1677 y(b)s(eginning,)e(with)g(an)h(attempt)g(to)g(\014nd)e(a)i(new)e
-(compsp)s(ec)i(for)f(that)h(command.)39 b(This)27 b(allo)m(ws)h(a)g
-(set)g(of)150 1787 y(completions)33 b(to)f(b)s(e)g(built)f(dynamically)
-i(as)f(completion)h(is)f(attempted,)h(rather)f(than)f(b)s(eing)g
-(loaded)150 1897 y(all)g(at)g(once.)275 2038 y(F)-8 b(or)38
-b(instance,)h(assuming)e(that)h(there)f(is)h(a)f(library)g(of)g(compsp)
-s(ecs,)i(eac)m(h)g(k)m(ept)e(in)g(a)h(\014le)f(corre-)150
-2147 y(sp)s(onding)g(to)j(the)f(name)f(of)h(the)g(command,)i(the)e
-(follo)m(wing)h(default)f(completion)h(function)e(w)m(ould)150
-2257 y(load)31 b(completions)g(dynamically:)390 2398
-y Ft(_completion_loader\(\))390 2508 y({)581 2618 y(.)47
-b("/etc/bash_completion.d/$1)o(.sh)o(")42 b(>/dev/null)j(2>&1)i(&&)g
-(return)f(124)390 2727 y(})390 2837 y(complete)g(-D)h(-F)g
-(_completion_loader)c(-o)k(bashdefault)e(-o)i(default)150
-3088 y Fs(8.7)68 b(Programmable)47 b(Completion)f(Builtins)150
-3247 y Fu(Three)21 b(builtin)g(commands)f(are)i(a)m(v)-5
-b(ailable)24 b(to)e(manipulate)f(the)h(programmable)f(completion)h
-(facilities:)150 3357 y(one)34 b(to)g(sp)s(ecify)f(ho)m(w)h(the)f
-(argumen)m(ts)h(to)g(a)g(particular)g(command)f(are)h(to)g(b)s(e)f
-(completed,)j(and)d(t)m(w)m(o)150 3466 y(to)e(mo)s(dify)f(the)g
-(completion)i(as)e(it)h(is)g(happ)s(ening.)150 3636 y
-Ft(compgen)870 3774 y(compgen)46 b([-V)h Fj(varname)p
-Ft(])e([)p Fj(option)p Ft(])h([)p Fj(word)p Ft(])630
-3912 y Fu(Generate)27 b(p)s(ossible)e(completion)i(matc)m(hes)g(for)e
-Fr(w)m(ord)k Fu(according)e(to)f(the)g Fr(option)p Fu(s,)h(whic)m(h)630
-4021 y(ma)m(y)g(b)s(e)f(an)m(y)i(option)f(accepted)h(b)m(y)e(the)h
-Ft(complete)e Fu(builtin)h(with)h(the)g(exceptions)g(of)g
-Ft(-p)p Fu(,)630 4131 y Ft(-r)p Fu(,)j Ft(-D)p Fu(,)g
-Ft(-E)p Fu(,)g(and)g Ft(-I)p Fu(,)g(and)g(write)g(the)h(matc)m(hes)g
-(to)g(the)g(standard)e(output.)630 4269 y(If)f(the)i
-Ft(-V)e Fu(option)h(is)g(supplied,)f Ft(compgen)f Fu(stores)j(the)f
-(generated)h(completions)g(in)m(to)g(the)630 4378 y(indexed)24
-b(arra)m(y)g(v)-5 b(ariable)25 b Fr(v)-5 b(arname)29
-b Fu(instead)24 b(of)h(writing)f(them)g(to)h(the)f(standard)f(output.)
-630 4516 y(When)38 b(using)g(the)h Ft(-F)e Fu(or)i Ft(-C)f
-Fu(options,)j(the)d(v)-5 b(arious)39 b(shell)f(v)-5 b(ariables)39
-b(set)g(b)m(y)g(the)f(pro-)630 4626 y(grammable)31 b(completion)h
-(facilities,)g(while)f(a)m(v)-5 b(ailable,)33 b(will)d(not)h(ha)m(v)m
-(e)h(useful)d(v)-5 b(alues.)630 4764 y(The)34 b(matc)m(hes)h(will)g(b)s
-(e)f(generated)h(in)f(the)h(same)g(w)m(a)m(y)g(as)g(if)f(the)h
-(programmable)f(com-)630 4873 y(pletion)d(co)s(de)g(had)f(generated)i
-(them)e(directly)i(from)e(a)h(completion)h(sp)s(eci\014cation)f(with)
-630 4983 y(the)e(same)h(\015ags.)40 b(If)29 b Fr(w)m(ord)j
-Fu(is)d(sp)s(eci\014ed,)g(only)g(those)h(completions)g(matc)m(hing)g
-Fr(w)m(ord)j Fu(will)630 5092 y(b)s(e)d(displa)m(y)m(ed)h(or)f(stored.)
-630 5230 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h
-(in)m(v)-5 b(alid)25 b(option)g(is)g(supplied,)f(or)h(no)g(matc)m(hes)g
-(w)m(ere)630 5340 y(generated.)p eop end
-%%Page: 159 165
-TeXDict begin 159 164 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(159)150 299 y Ft(complete)870
-436 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
-Ft(])e([-DEI])h([-A)h Fj(action)p Ft(])870 545 y([-G)g
-Fj(globpat)p Ft(])e([-W)i Fj(wordlist)p Ft(])f([-F)h
-Fj(function)p Ft(])e([-C)i Fj(command)p Ft(])870 655
-y([-X)g Fj(filterpat)p Ft(])e([-P)i Fj(prefix)p Ft(])f([-S)h
-Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f Ft(...])870
-765 y(complete)g(-pr)g([-DEI])h([)p Fj(name)f Ft(...)o(])630
-902 y Fu(Sp)s(ecify)30 b(ho)m(w)g(argumen)m(ts)h(to)g(eac)m(h)g
-Fr(name)36 b Fu(should)29 b(b)s(e)h(completed.)630 1039
-y(If)22 b(the)h Ft(-p)f Fu(option)h(is)g(supplied,)g(or)f(if)h(no)f
-(options)h(or)g Fr(name)5 b Fu(s)23 b(are)g(supplied,)g(prin)m(t)f
-(existing)630 1148 y(completion)29 b(sp)s(eci\014cations)g(in)f(a)g(w)m
-(a)m(y)h(that)g(allo)m(ws)g(them)f(to)h(b)s(e)e(reused)g(as)h(input.)39
-b(The)630 1258 y Ft(-r)25 b Fu(option)i(remo)m(v)m(es)g(a)f(completion)
-h(sp)s(eci\014cation)g(for)f(eac)m(h)h Fr(name)p Fu(,)g(or,)g(if)f(no)g
-Fr(name)5 b Fu(s)26 b(are)630 1367 y(supplied,)j(all)j(completion)f(sp)
-s(eci\014cations.)630 1504 y(The)42 b Ft(-D)g Fu(option)h(indicates)g
-(that)g(other)g(supplied)e(options)i(and)f(actions)h(should)f(ap-)630
-1614 y(ply)31 b(to)h(the)f(\\default")h(command)f(completion;)i(that)f
-(is,)f(completion)h(attempted)h(on)e(a)630 1724 y(command)e(for)g(whic)
-m(h)h(no)f(completion)i(has)e(previously)g(b)s(een)g(de\014ned.)39
-b(The)29 b Ft(-E)f Fu(option)630 1833 y(indicates)d(that)g(other)g
-(supplied)e(options)h(and)g(actions)h(should)f(apply)f(to)i(\\empt)m
-(y")h(com-)630 1943 y(mand)e(completion;)j(that)f(is,)f(completion)h
-(attempted)g(on)e(a)h(blank)f(line.)39 b(The)24 b Ft(-I)f
-Fu(option)630 2052 y(indicates)i(that)g(other)g(supplied)e(options)h
-(and)g(actions)h(should)f(apply)f(to)i(completion)h(on)630
-2162 y(the)j(initial)g(non-assignmen)m(t)g(w)m(ord)f(on)g(the)h(line,)g
-(or)f(after)h(a)g(command)f(delimiter)h(suc)m(h)630 2271
-y(as)35 b(`)p Ft(;)p Fu(')g(or)f(`)p Ft(|)p Fu(',)i(whic)m(h)f(is)f
-(usually)h(command)f(name)h(completion.)54 b(If)34 b(m)m(ultiple)i
-(options)630 2381 y(are)28 b(supplied,)e(the)i Ft(-D)e
-Fu(option)i(tak)m(es)g(precedence)g(o)m(v)m(er)g Ft(-E)p
-Fu(,)g(and)e(b)s(oth)h(tak)m(e)h(precedence)630 2491
-y(o)m(v)m(er)37 b Ft(-I)p Fu(.)58 b(If)35 b(an)m(y)i(of)f
-Ft(-D)p Fu(,)h Ft(-E)p Fu(,)g(or)g Ft(-I)e Fu(are)i(supplied,)f(an)m(y)
-h(other)f Fr(name)41 b Fu(argumen)m(ts)c(are)630 2600
-y(ignored;)31 b(these)g(completions)g(only)g(apply)f(to)h(the)f(case)i
-(sp)s(eci\014ed)d(b)m(y)i(the)f(option.)630 2737 y(The)f(pro)s(cess)g
-(of)h(applying)g(these)g(completion)g(sp)s(eci\014cations)h(when)d(w)m
-(ord)i(completion)630 2847 y(is)35 b(attempted)h(is)f(describ)s(ed)f
-(ab)s(o)m(v)m(e)j(\(see)f(Section)g(8.6)g([Programmable)g(Completion],)
-630 2956 y(page)31 b(156\).)630 3093 y(Other)d(options,)i(if)f(sp)s
-(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40
-b(The)29 b(argumen)m(ts)g(to)h(the)630 3203 y Ft(-G)p
-Fu(,)41 b Ft(-W)p Fu(,)h(and)c Ft(-X)h Fu(options)h(\(and,)h(if)f
-(necessary)-8 b(,)42 b(the)e Ft(-P)f Fu(and)f Ft(-S)h
-Fu(options\))h(should)f(b)s(e)630 3313 y(quoted)28 b(to)h(protect)g
-(them)f(from)f(expansion)h(b)s(efore)g(the)g Ft(complete)e
-Fu(builtin)h(is)h(in)m(v)m(ok)m(ed.)630 3477 y Ft(-o)i
-Fj(comp-option)1110 3587 y Fu(The)c Fr(comp-option)i
-Fu(con)m(trols)g(sev)m(eral)h(asp)s(ects)e(of)g(the)g(compsp)s(ec's)g
-(b)s(eha)m(v-)1110 3696 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h
-(generation)h(of)e(completions.)41 b Fr(comp-option)27
-b Fu(ma)m(y)1110 3806 y(b)s(e)j(one)g(of:)1110 3970 y
-Ft(bashdefault)1590 4080 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g
-(default)f(Bash)h(completions)g(if)g(the)1590 4189 y(compsp)s(ec)i
-(generates)i(no)e(matc)m(hes.)1110 4354 y Ft(default)144
-b Fu(Use)22 b(Readline's)g(default)g(\014lename)g(completion)g(if)g
-(the)g(comp-)1590 4463 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
-4628 y Ft(dirnames)96 b Fu(P)m(erform)46 b(directory)g(name)h
-(completion)g(if)f(the)g(compsp)s(ec)1590 4737 y(generates)32
-b(no)e(matc)m(hes.)1110 4902 y Ft(filenames)1590 5011
-y Fu(T)-8 b(ell)40 b(Readline)f(that)h(the)f(compsp)s(ec)f(generates)j
-(\014lenames,)1590 5121 y(so)24 b(it)g(can)g(p)s(erform)e(an)m(y)i
-(\014lename-sp)s(eci\014c)g(pro)s(cessing)f(\(suc)m(h)1590
-5230 y(as)37 b(adding)g(a)g(slash)f(to)i(directory)f(names,)i(quoting)e
-(sp)s(ecial)1590 5340 y(c)m(haracters,)28 b(or)e(suppressing)e
-(trailing)j(spaces\).)40 b(This)24 b(option)p eop end
-%%Page: 160 166
-TeXDict begin 160 165 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(160)1590 299 y(is)44
-b(in)m(tended)h(to)g(b)s(e)e(used)h(with)g(shell)h(functions)f(sp)s
-(eci\014ed)1590 408 y(with)30 b Ft(-F)p Fu(.)1110 567
-y Ft(fullquote)1590 677 y Fu(T)-8 b(ell)32 b(Readline)g(to)g(quote)f
-(all)h(the)g(completed)g(w)m(ords)e(ev)m(en)i(if)1590
-787 y(they)f(are)f(not)h(\014lenames.)1110 945 y Ft(noquote)144
-b Fu(T)-8 b(ell)28 b(Readline)g(not)g(to)g(quote)g(the)g(completed)g(w)
-m(ords)f(if)h(they)1590 1055 y(are)j(\014lenames)f(\(quoting)h
-(\014lenames)g(is)f(the)h(default\).)1110 1214 y Ft(nosort)192
-b Fu(T)-8 b(ell)23 b(Readline)g(not)f(to)h(sort)g(the)f(list)h(of)f(p)s
-(ossible)g(completions)1590 1324 y(alphab)s(etically)-8
-b(.)1110 1482 y Ft(nospace)144 b Fu(T)-8 b(ell)40 b(Readline)g(not)g
-(to)g(app)s(end)d(a)j(space)g(\(the)f(default\))h(to)1590
-1592 y(w)m(ords)30 b(completed)h(at)g(the)g(end)f(of)g(the)h(line.)1110
-1751 y Ft(plusdirs)96 b Fu(After)47 b(generating)h(an)m(y)g(matc)m(hes)
-g(de\014ned)e(b)m(y)g(the)i(comp-)1590 1861 y(sp)s(ec,)30
-b(attempt)h(directory)g(name)f(completion)h(and)e(add)h(an)m(y)1590
-1970 y(matc)m(hes)i(to)f(the)f(results)g(of)h(the)f(other)h(actions.)
-630 2129 y Ft(-A)f Fj(action)66 b Fu(The)25 b Fr(action)h
-Fu(ma)m(y)g(b)s(e)e(one)h(of)h(the)f(follo)m(wing)i(to)e(generate)i(a)e
-(list)h(of)f(p)s(ossible)1110 2239 y(completions:)1110
-2398 y Ft(alias)240 b Fu(Alias)31 b(names.)41 b(Ma)m(y)31
-b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i Ft(-a)p Fu(.)1110
-2556 y Ft(arrayvar)96 b Fu(Arra)m(y)31 b(v)-5 b(ariable)31
-b(names.)1110 2715 y Ft(binding)144 b Fu(Readline)30
-b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590
-2825 y(Readline)h(Commands],)f(page)h(145\).)1110 2984
-y Ft(builtin)144 b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.)37
-b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 3093
-y(as)31 b Ft(-b)p Fu(.)1110 3252 y Ft(command)144 b Fu(Command)29
-b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i
-Ft(-c)p Fu(.)1110 3411 y Ft(directory)1590 3521 y Fu(Directory)h
-(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g
-Ft(-d)p Fu(.)1110 3680 y Ft(disabled)96 b Fu(Names)31
-b(of)g(disabled)f(shell)g(builtins.)1110 3839 y Ft(enabled)144
-b Fu(Names)31 b(of)g(enabled)f(shell)g(builtins.)1110
-3998 y Ft(export)192 b Fu(Names)34 b(of)f(exp)s(orted)f(shell)h(v)-5
-b(ariables.)49 b(Ma)m(y)35 b(also)e(b)s(e)g(sp)s(eci-)1590
-4107 y(\014ed)d(as)g Ft(-e)p Fu(.)1110 4266 y Ft(file)288
-b Fu(File)32 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f
-(as)i Ft(-f)p Fu(.)1110 4425 y Ft(function)96 b Fu(Names)31
-b(of)g(shell)f(functions.)1110 4584 y Ft(group)240 b
-Fu(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g
-(as)g Ft(-g)p Fu(.)1110 4743 y Ft(helptopic)1590 4852
-y Fu(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
-Ft(help)f Fu(builtin)g(\(see)h(Sec-)1590 4962 y(tion)31
-b(4.2)g([Bash)g(Builtins],)g(page)g(60\).)1110 5121 y
-Ft(hostname)96 b Fu(Hostnames,)89 b(as)76 b(tak)m(en)h(from)f(the)g
-(\014le)h(sp)s(eci\014ed)e(b)m(y)1590 5230 y(the)55 b
-Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
-([Bash)1590 5340 y(V)-8 b(ariables],)32 b(page)f(86\).)p
-eop end
-%%Page: 161 167
-TeXDict begin 161 166 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(161)1110 299 y Ft(job)336
-b Fu(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f(activ)m(e.)46
-b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590 408 y(\014ed)f(as)g
-Ft(-j)p Fu(.)1110 569 y Ft(keyword)144 b Fu(Shell)30
-b(reserv)m(ed)h(w)m(ords.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s
-(eci\014ed)f(as)i Ft(-k)p Fu(.)1110 730 y Ft(running)144
-b Fu(Names)31 b(of)g(running)d(jobs,)i(if)h(job)f(con)m(trol)h(is)g
-(activ)m(e.)1110 891 y Ft(service)144 b Fu(Service)31
-b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s(eci\014ed)g(as)g
-Ft(-s)p Fu(.)1110 1051 y Ft(setopt)192 b Fu(V)-8 b(alid)39
-b(argumen)m(ts)g(for)f(the)h Ft(-o)e Fu(option)i(to)g(the)g
-Ft(set)e Fu(builtin)1590 1161 y(\(see)31 b(Section)h(4.3.1)g([The)e
-(Set)g(Builtin],)i(page)f(72\).)1110 1322 y Ft(shopt)240
-b Fu(Shell)40 b(option)g(names)g(as)g(accepted)i(b)m(y)e(the)g
-Ft(shopt)e Fu(builtin)1590 1431 y(\(see)31 b(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(60\).)1110 1592 y Ft(signal)192
-b Fu(Signal)31 b(names.)1110 1753 y Ft(stopped)144 b
-Fu(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g(job)g(con)m(trol)i(is)f
-(activ)m(e.)1110 1913 y Ft(user)288 b Fu(User)30 b(names.)41
-b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-u)p
-Fu(.)1110 2074 y Ft(variable)96 b Fu(Names)36 b(of)g(all)g(shell)g(v)-5
-b(ariables.)56 b(Ma)m(y)37 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)1590
-2184 y Ft(-v)p Fu(.)630 2345 y Ft(-C)30 b Fj(command)1110
-2454 y Fr(command)35 b Fu(is)e(executed)g(in)e(a)i(subshell)e(en)m
-(vironmen)m(t,)i(and)f(its)g(output)g(is)1110 2564 y(used)38
-b(as)h(the)g(p)s(ossible)f(completions.)67 b(Argumen)m(ts)39
-b(are)g(passed)f(as)h(with)1110 2673 y(the)31 b Ft(-F)e
-Fu(option.)630 2834 y Ft(-F)h Fj(function)1110 2944 y
-Fu(The)39 b(shell)g(function)g Fr(function)g Fu(is)g(executed)h(in)f
-(the)g(curren)m(t)g(shell)g(en)m(vi-)1110 3053 y(ronmen)m(t.)h(When)30
-b(it)g(is)f(executed,)i(the)f(\014rst)f(argumen)m(t)h(\($1\))h(is)e
-(the)h(name)1110 3163 y(of)41 b(the)g(command)f(whose)h(argumen)m(ts)f
-(are)i(b)s(eing)e(completed,)k(the)d(sec-)1110 3272 y(ond)k(argumen)m
-(t)h(\($2\))h(is)f(the)g(w)m(ord)f(b)s(eing)g(completed,)51
-b(and)45 b(the)h(third)1110 3382 y(argumen)m(t)c(\($3\))i(is)e(the)g(w)
-m(ord)f(preceding)h(the)g(w)m(ord)f(b)s(eing)h(completed,)1110
-3492 y(as)f(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g(Section)f(8.6)h
-([Programmable)g(Completion],)1110 3601 y(page)31 b(156\).)42
-b(When)29 b Ft(function)f Fu(\014nishes,)h(programmable)h(completion)h
-(re-)1110 3711 y(triev)m(es)38 b(the)f(p)s(ossible)f(completions)i
-(from)e(the)h(v)-5 b(alue)37 b(of)g(the)f Ft(COMPREPLY)1110
-3820 y Fu(arra)m(y)31 b(v)-5 b(ariable.)630 3981 y Ft(-G)30
-b Fj(globpat)1110 4091 y Fu(Expand)43 b(the)h(\014lename)h(expansion)f
-(pattern)g Fr(globpat)j Fu(to)e(generate)h(the)1110 4200
-y(p)s(ossible)30 b(completions.)630 4361 y Ft(-P)g Fj(prefix)66
-b Fu(Add)36 b Fr(pre\014x)43 b Fu(to)38 b(the)f(b)s(eginning)g(of)g
-(eac)m(h)i(p)s(ossible)e(completion)h(after)g(all)1110
-4471 y(other)31 b(options)f(ha)m(v)m(e)i(b)s(een)e(applied.)630
-4631 y Ft(-S)g Fj(suffix)66 b Fu(App)s(end)35 b Fr(su\016x)43
-b Fu(to)37 b(eac)m(h)i(p)s(ossible)d(completion)j(after)e(all)h(other)g
-(options)1110 4741 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
-4902 y Ft(-W)h Fj(wordlist)1110 5011 y Fu(Split)35 b(the)g
-Fr(w)m(ordlist)j Fu(using)c(the)i(c)m(haracters)g(in)f(the)g
-Ft(IFS)f Fu(sp)s(ecial)i(v)-5 b(ariable)1110 5121 y(as)43
-b(delimiters,)j(and)c(expand)g(eac)m(h)i(resulting)f(w)m(ord.)76
-b(Shell)43 b(quoting)g(is)1110 5230 y(honored)37 b(within)g
-Fr(w)m(ordlist)j Fu(in)d(order)g(to)i(pro)m(vide)e(a)h(mec)m(hanism)g
-(for)g(the)1110 5340 y(w)m(ords)29 b(to)i(con)m(tain)g(shell)f(metac)m
-(haracters)j(or)c(c)m(haracters)j(in)d(the)h(v)-5 b(alue)31
-b(of)p eop end
-%%Page: 162 168
-TeXDict begin 162 167 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(162)1110 299 y Ft(IFS)p
-Fu(.)66 b(The)39 b(p)s(ossible)g(completions)h(are)g(the)f(mem)m(b)s
-(ers)f(of)i(the)f(resultan)m(t)1110 408 y(list)31 b(whic)m(h)f(matc)m
-(h)h(a)g(pre\014x)e(of)i(the)g(w)m(ord)f(b)s(eing)f(completed.)630
-559 y Ft(-X)h Fj(filterpat)1110 669 y Fr(\014lterpat)d
-Fu(is)e(a)g(pattern)g(as)f(used)g(for)h(\014lename)g(expansion.)38
-b(It)25 b(is)g(applied)f(to)1110 778 y(the)30 b(list)f(of)h(p)s
-(ossible)f(completions)h(generated)h(b)m(y)e(the)g(preceding)h(options)
-1110 888 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m
-(hing)g Fr(\014lterpat)h Fu(is)e(remo)m(v)m(ed)1110 997
-y(from)i(the)h(list.)42 b(A)30 b(leading)i(`)p Ft(!)p
-Fu(')e(in)g Fr(\014lterpat)j Fu(negates)f(the)f(pattern;)g(in)f(this)
-1110 1107 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g
-Fr(\014lterpat)i Fu(is)d(remo)m(v)m(ed.)630 1258 y(The)35
-b(return)g(v)-5 b(alue)37 b(is)f(true)f(unless)h(an)f(in)m(v)-5
-b(alid)37 b(option)f(is)g(supplied,)g(an)g(option)h(other)630
-1367 y(than)29 b Ft(-p)p Fu(,)g Ft(-r)p Fu(,)h Ft(-D)p
-Fu(,)f Ft(-E)p Fu(,)g(or)h Ft(-I)e Fu(is)i(supplied)e(without)h(a)h
-Fr(name)35 b Fu(argumen)m(t,)30 b(an)f(attempt)i(is)630
-1477 y(made)24 b(to)g(remo)m(v)m(e)i(a)e(completion)h(sp)s
-(eci\014cation)g(for)e(a)h Fr(name)29 b Fu(for)24 b(whic)m(h)f(no)h(sp)
-s(eci\014cation)630 1586 y(exists,)31 b(or)g(an)f(error)g(o)s(ccurs)g
-(adding)g(a)h(completion)g(sp)s(eci\014cation.)150 1737
-y Ft(compopt)870 1867 y(compopt)46 b([-o)h Fj(option)p
-Ft(])f([-DEI])g([+o)h Fj(option)p Ft(])e([)p Fj(name)p
-Ft(])630 1997 y Fu(Mo)s(dify)33 b(completion)h(options)g(for)f(eac)m(h)
-h Fr(name)39 b Fu(according)34 b(to)g(the)f Fr(option)p
-Fu(s,)i(or)e(for)g(the)630 2107 y(curren)m(tly-executing)46
-b(completion)f(if)f(no)f Fr(name)5 b Fu(s)44 b(are)h(supplied.)80
-b(If)43 b(no)h Fr(option)p Fu(s)h(are)630 2216 y(giv)m(en,)30
-b(displa)m(y)e(the)g(completion)h(options)g(for)e(eac)m(h)i
-Fr(name)34 b Fu(or)27 b(the)i(curren)m(t)e(completion.)630
-2326 y(The)f(p)s(ossible)g(v)-5 b(alues)27 b(of)f Fr(option)h
-Fu(are)g(those)g(v)-5 b(alid)26 b(for)g(the)h Ft(complete)d
-Fu(builtin)i(describ)s(ed)630 2435 y(ab)s(o)m(v)m(e.)630
-2565 y(The)35 b Ft(-D)g Fu(option)g(indicates)i(that)f(other)f
-(supplied)g(options)g(should)g(apply)g(to)h(the)f(\\de-)630
-2675 y(fault")24 b(command)f(completion;)k(the)c Ft(-E)f
-Fu(option)i(indicates)g(that)g(other)f(supplied)f(options)630
-2785 y(should)f(apply)g(to)i(\\empt)m(y")g(command)f(completion;)k(and)
-c(the)g Ft(-I)f Fu(option)h(indicates)h(that)630 2894
-y(other)36 b(supplied)f(options)h(should)f(apply)h(to)h(completion)g
-(on)f(the)g(initial)h(w)m(ord)f(on)g(the)630 3004 y(line.)41
-b(These)30 b(are)h(determined)f(in)g(the)h(same)f(w)m(a)m(y)i(as)e(the)
-h Ft(complete)d Fu(builtin.)630 3134 y(If)35 b(m)m(ultiple)i(options)f
-(are)g(supplied,)g(the)g Ft(-D)g Fu(option)g(tak)m(es)h(precedence)g(o)
-m(v)m(er)g Ft(-E)p Fu(,)g(and)630 3243 y(b)s(oth)30 b(tak)m(e)i
-(precedence)e(o)m(v)m(er)i Ft(-I)630 3373 y Fu(The)23
-b(return)g(v)-5 b(alue)25 b(is)f(true)g(unless)f(an)h(in)m(v)-5
-b(alid)24 b(option)h(is)f(supplied,)g(an)g(attempt)h(is)f(made)630
-3483 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h
-Fr(name)k Fu(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f
-(exists,)630 3593 y(or)e(an)h(output)f(error)g(o)s(ccurs.)150
-3825 y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150
-3984 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h
-(additional)g(completion)g(functionalit)m(y)h(b)s(ey)m(ond)d(the)i
-(default)150 4094 y(actions)29 b Ft(complete)d Fu(and)i
-Ft(compgen)e Fu(pro)m(vide)i(is)h(to)f(use)g(a)h(shell)f(function)g
-(and)g(bind)e(it)j(to)g(a)g(particular)150 4203 y(command)h(using)g
-Ft(complete)e(-F)p Fu(.)275 4333 y(The)j(follo)m(wing)j(function)e(pro)
-m(vides)g(completions)i(for)e(the)g Ft(cd)g Fu(builtin.)46
-b(It)32 b(is)h(a)f(reasonably)h(go)s(o)s(d)150 4443 y(example)41
-b(of)g(what)f(shell)h(functions)f(m)m(ust)g(do)h(when)e(used)h(for)g
-(completion.)73 b(This)39 b(function)h(uses)150 4552
-y(the)32 b(w)m(ord)f(passed)g(as)h Ft($2)f Fu(to)h(determine)g(the)f
-(directory)h(name)g(to)g(complete.)46 b(Y)-8 b(ou)32
-b(can)g(also)g(use)g(the)150 4662 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5
-b(ariable;)32 b(the)e(curren)m(t)h(w)m(ord)f(is)g(indexed)g(b)m(y)g
-(the)h Ft(COMP_CWORD)c Fu(v)-5 b(ariable.)275 4792 y(The)42
-b(function)h(relies)h(on)e(the)i Ft(complete)c Fu(and)j
-Ft(compgen)e Fu(builtins)h(to)i(do)f(m)m(uc)m(h)g(of)g(the)h(w)m(ork,)
-150 4902 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g
-Ft(cd)f Fu(do)s(es)g(b)s(ey)m(ond)g(accepting)j(basic)e(directory)g
-(names:)38 b(tilde)150 5011 y(expansion)22 b(\(see)h(Section)g(3.5.2)g
-([Tilde)g(Expansion],)g(page)g(26\),)i(searc)m(hing)e(directories)g(in)
-e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 5121 y(whic)m(h)21 b(is)h(describ)s
-(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)h(4.1)f([Bourne)g(Shell)f
-(Builtins],)j(page)e(51\),)j(and)c(basic)h(supp)s(ort)150
-5230 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h
-(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)f(77\).)46
-b Ft(_comp_)150 5340 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5
-b(alue)31 b(of)g Fr(IFS)36 b Fu(so)31 b(that)g(it)g(con)m(tains)h(only)
-f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)p
-eop end
-%%Page: 163 169
-TeXDict begin 163 168 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(163)150 299 y(con)m(taining)33
-b(spaces)g(and)e(tabs)h({)g Ft(compgen)e Fu(prin)m(ts)h(the)h(p)s
-(ossible)f(completions)i(it)g(generates)g(one)f(p)s(er)150
-408 y(line.)275 573 y(P)m(ossible)24 b(completions)h(go)g(in)m(to)g
-(the)f Fr(COMPREPL)-8 b(Y)36 b Fu(arra)m(y)24 b(v)-5
-b(ariable,)26 b(one)e(completion)i(p)s(er)c(arra)m(y)150
-682 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e
-(retriev)m(es)h(the)g(completions)g(from)f(there)g(when)150
-792 y(the)h(function)f(returns.)390 956 y Ft(#)47 b(A)h(completion)d
-(function)g(for)i(the)g(cd)g(builtin)390 1066 y(#)g(based)g(on)g(the)g
-(cd)g(completion)e(function)h(from)g(the)h(bash_completion)d(package)
-390 1176 y(_comp_cd\(\))390 1285 y({)581 1395 y(local)i(IFS=$')g
-(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 1504 y(local)g(cur)h
-(_skipdot)f(_cdpath)581 1614 y(local)g(i)i(j)f(k)581
-1833 y(#)g(Tilde)g(expansion,)e(which)h(also)h(expands)f(tilde)g(to)h
-(full)g(pathname)581 1943 y(case)g("$2")f(in)581 2052
-y(\\~*\))190 b(eval)46 b(cur="$2")g(;;)581 2162 y(*\))286
-b(cur=$2)46 b(;;)581 2271 y(esac)581 2491 y(#)h(no)h(cdpath)e(or)h
-(absolute)e(pathname)h(--)h(straight)f(directory)f(completion)581
-2600 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g("$cur")f(==)h
-(@\(./*|../*|/*\))d(]];)j(then)772 2710 y(#)g(compgen)f(prints)g(paths)
-h(one)f(per)h(line;)g(could)f(also)h(use)g(while)f(loop)772
-2819 y(IFS=$'\\n')772 2929 y(COMPREPLY=\()f($\(compgen)g(-d)i(--)g
-("$cur"\))f(\))772 3039 y(IFS=$')g(\\t\\n')581 3148 y(#)h
-(CDPATH+directories)c(in)k(the)g(current)f(directory)f(if)j(not)e(in)i
-(CDPATH)581 3258 y(else)772 3367 y(IFS=$'\\n')772 3477
-y(_skipdot=false)772 3587 y(#)f(preprocess)e(CDPATH)h(to)i(convert)d
-(null)i(directory)e(names)i(to)g(.)772 3696 y(_cdpath=${CDPATH/#:/.:})
-772 3806 y(_cdpath=${_cdpath//::/:.)o(:})772 3915 y
-(_cdpath=${_cdpath/\045:/:.})772 4025 y(for)g(i)g(in)g
-(${_cdpath//:/$'\\n'};)c(do)963 4134 y(if)k([[)g($i)g(-ef)g(.)h(]];)f
-(then)f(_skipdot=true;)e(fi)963 4244 y(k="${#COMPREPLY[@]}")963
-4354 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do)
-1154 4463 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory)
-963 4573 y(done)772 4682 y(done)772 4792 y($_skipdot)f(||)i
-(COMPREPLY+=\()e($\(compgen)g(-d)i(--)g("$cur"\))f(\))772
-4902 y(IFS=$')g(\\t\\n')581 5011 y(fi)581 5230 y(#)h(variable)f(names)g
-(if)h(appropriate)e(shell)i(option)f(set)h(and)f(no)i(completions)581
-5340 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c
-(-eq)k(0)g(]];)g(then)p eop end
-%%Page: 164 170
-TeXDict begin 164 169 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(164)772 299 y Ft(COMPREPLY=\()45
-b($\(compgen)g(-v)i(--)g("$cur"\))f(\))581 408 y(fi)581
-628 y(return)g(0)390 737 y(})275 872 y Fu(W)-8 b(e)31
-b(install)g(the)g(completion)h(function)e(using)f(the)i
-Ft(-F)f Fu(option)h(to)g Ft(complete)p Fu(:)390 1006
-y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f(and)i(append)f
-(slashes)g(to)h(directories;)390 1116 y(#)g(use)g(the)g(bash)g(default)
-f(completion)f(for)i(other)f(arguments)390 1225 y(complete)g(-o)h
-(filenames)e(-o)i(nospace)f(-o)h(bashdefault)e(-F)i(_comp_cd)f(cd)150
-1360 y Fu(Since)33 b(w)m(e'd)g(lik)m(e)i(Bash)e(and)f(Readline)i(to)g
-(tak)m(e)g(care)g(of)f(some)h(of)f(the)g(other)h(details)g(for)e(us,)i
-(w)m(e)f(use)150 1469 y(sev)m(eral)43 b(other)g(options)f(to)h(tell)g
-(Bash)f(and)f(Readline)i(what)f(to)g(do.)76 b(The)41
-b Ft(-o)30 b(filenames)39 b Fu(option)150 1579 y(tells)j(Readline)g
-(that)g(the)f(p)s(ossible)g(completions)h(should)f(b)s(e)f(treated)i
-(as)g(\014lenames,)i(and)d(quoted)150 1689 y(appropriately)-8
-b(.)53 b(That)34 b(option)h(will)g(also)g(cause)g(Readline)g(to)g(app)s
-(end)e(a)h(slash)g(to)h(\014lenames)g(it)g(can)150 1798
-y(determine)i(are)g(directories)h(\(whic)m(h)g(is)f(wh)m(y)f(w)m(e)i
-(migh)m(t)f(w)m(an)m(t)h(to)g(extend)f Ft(_comp_cd)e
-Fu(to)i(app)s(end)f(a)150 1908 y(slash)22 b(if)g(w)m(e're)h(using)f
-(directories)h(found)e(via)i Fr(CDP)-8 b(A)g(TH)10 b
-Fu(:)37 b(Readline)23 b(can't)g(tell)g(those)g(completions)h(are)150
-2017 y(directories\).)45 b(The)31 b Ft(-o)f(nospace)f
-Fu(option)j(tells)g(Readline)g(to)h(not)e(app)s(end)f(a)i(space)g(c)m
-(haracter)h(to)f(the)150 2127 y(directory)c(name,)h(in)f(case)h(w)m(e)f
-(w)m(an)m(t)h(to)f(app)s(end)f(to)h(it.)41 b(The)27 b
-Ft(-o)j(bashdefault)25 b Fu(option)j(brings)f(in)h(the)150
-2237 y(rest)e(of)h(the)f(\\Bash)h(default")g(completions)g({)g(p)s
-(ossible)e(completions)j(that)f(Bash)f(adds)f(to)i(the)g(default)150
-2346 y(Readline)h(set.)40 b(These)28 b(include)f(things)g(lik)m(e)i
-(command)e(name)h(completion,)h(v)-5 b(ariable)28 b(completion)h(for)
-150 2456 y(w)m(ords)e(b)s(eginning)h(with)f(`)p Ft($)p
-Fu(')h(or)g(`)p Ft(${)p Fu(',)h(completions)g(con)m(taining)g(pathname)
-f(expansion)g(patterns)g(\(see)150 2565 y(Section)j(3.5.8)h([Filename)g
-(Expansion],)e(page)i(37\),)f(and)f(so)h(on.)275 2700
-y(Once)39 b(installed)i(using)e Ft(complete)p Fu(,)h
-Ft(_comp_cd)d Fu(will)j(b)s(e)g(called)g(ev)m(ery)h(time)f(w)m(e)g
-(attempt)h(w)m(ord)150 2809 y(completion)32 b(for)e(a)h
-Ft(cd)e Fu(command.)275 2944 y(Man)m(y)34 b(more)g(examples)g({)g(an)g
-(extensiv)m(e)h(collection)i(of)c(completions)i(for)f(most)g(of)g(the)g
-(common)150 3054 y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)g
-(a)m(v)-5 b(ailable)36 b(as)e(part)f(of)h(the)f(bash)p
-2943 3054 28 4 v 39 w(completion)i(pro)5 b(ject.)150
-3163 y(This)33 b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h
-(GNU/Lin)m(ux)f(distributions.)51 b(Originally)35 b(written)f(b)m(y)g
-(Ian)150 3273 y(Macdonald,)48 b(the)c(pro)5 b(ject)44
-b(no)m(w)g(liv)m(es)h(at)f Ft(https:)11 b(/)g(/)g(github)g(.)g(com)g(/)
-g(sc)o(op)g(/)f(bash)o(-co)o(mple)o(tion)g(/)h Fu(.)150
-3382 y(There)30 b(are)h(p)s(orts)e(for)h(other)h(systems)f(suc)m(h)g
-(as)h(Solaris)g(and)f(Mac)h(OS)f(X.)275 3517 y(An)54
-b(older)h(v)m(ersion)h(of)f(the)g(bash)p 1532 3517 V
-40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f(with)h(bash)
-f(in)h(the)150 3626 y Ft(examples/complete)26 b Fu(sub)s(directory)-8
-b(.)p eop end
-%%Page: 165 171
-TeXDict begin 165 170 bop 3614 -116 a Fu(165)150 299
-y Fp(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
-527 y Fu(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)
-f Fm(gnu)h Fu(History)g(Library)e(in)m(teractiv)m(ely)-8
-b(,)50 b(from)42 b(a)h(user's)150 636 y(standp)s(oin)m(t.)76
-b(It)42 b(should)f(b)s(e)h(considered)g(a)g(user's)g(guide.)76
-b(F)-8 b(or)43 b(information)f(on)g(using)g(the)g Fm(gnu)150
-746 y Fu(History)31 b(Library)f(in)g(other)g(programs,)g(see)h(the)g
-Fm(gnu)f Fu(Readline)h(Library)f(Man)m(ual.)150 984 y
-Fs(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)150
-1143 y Fu(When)44 b(the)g Ft(-o)30 b(history)42 b Fu(option)i(to)h(the)
-f Ft(set)f Fu(builtin)h(is)g(enabled)g(\(see)g(Section)h(4.3.1)h([The)e
-(Set)150 1253 y(Builtin],)32 b(page)g(72\),)h(the)e(shell)h(pro)m
-(vides)f(access)h(to)g(the)f Fr(command)g(history)p Fu(,)h(the)f(list)h
-(of)f(commands)150 1363 y(previously)h(t)m(yp)s(ed.)47
-b(The)33 b(v)-5 b(alue)33 b(of)f(the)h Ft(HISTSIZE)e
-Fu(shell)h(v)-5 b(ariable)34 b(is)f(used)e(as)i(the)g(n)m(um)m(b)s(er)e
-(of)i(com-)150 1472 y(mands)h(to)i(sa)m(v)m(e)g(in)f(a)g(history)g
-(list:)50 b(the)35 b(shell)h(sa)m(v)m(es)g(the)f(text)h(of)f(the)g
-(last)h Ft($HISTSIZE)c Fu(commands)150 1582 y(\(default)38
-b(500\).)64 b(The)37 b(shell)g(stores)h(eac)m(h)h(command)e(in)g(the)h
-(history)f(list)i(prior)d(to)j(parameter)f(and)150 1691
-y(v)-5 b(ariable)38 b(expansion)f(but)g(after)g(history)g(expansion)h
-(is)f(p)s(erformed,)g(sub)5 b(ject)37 b(to)h(the)g(v)-5
-b(alues)37 b(of)h(the)150 1801 y(shell)31 b(v)-5 b(ariables)31
-b Ft(HISTIGNORE)c Fu(and)j Ft(HISTCONTROL)p Fu(.)275
-1934 y(When)d(the)g(shell)h(starts)f(up,)h(Bash)f(initializes)j(the)d
-(history)g(list)h(b)m(y)g(reading)f(history)g(en)m(tries)h(from)150
-2044 y(the)37 b(\014le)g(named)g(b)m(y)g(the)g Ft(HISTFILE)e
-Fu(v)-5 b(ariable)38 b(\(default)g Ft(~/.bash_history)p
-Fu(\).)57 b(This)36 b(is)h(referred)f(to)150 2153 y(as)42
-b(the)g Fr(history)g(\014le)p Fu(.)75 b(The)42 b(history)g(\014le)g(is)
-g(truncated,)j(if)d(necessary)-8 b(,)45 b(to)e(con)m(tain)g(no)f(more)g
-(than)150 2263 y(the)k(n)m(um)m(b)s(er)e(of)i(history)f(en)m(tries)h
-(sp)s(eci\014ed)f(b)m(y)g(the)h(v)-5 b(alue)46 b(of)g(the)f
-Ft(HISTFILESIZE)e Fu(v)-5 b(ariable.)86 b(If)150 2373
-y Ft(HISTFILESIZE)33 b Fu(is)j(unset,)i(or)e(set)h(to)f(n)m(ull,)i(a)f
-(non-n)m(umeric)f(v)-5 b(alue,)38 b(or)e(a)h(n)m(umeric)f(v)-5
-b(alue)37 b(less)f(than)150 2482 y(zero,)31 b(the)g(history)f(\014le)h
-(is)f(not)h(truncated.)275 2615 y(When)20 b(the)h(history)g(\014le)g
-(is)g(read,)i(lines)e(b)s(eginning)f(with)h(the)g(history)g(commen)m(t)
-h(c)m(haracter)g(follo)m(w)m(ed)150 2725 y(immediately)29
-b(b)m(y)f(a)g(digit)g(are)g(in)m(terpreted)g(as)g(timestamps)g(for)g
-(the)g(follo)m(wing)h(history)f(en)m(try)-8 b(.)40 b(These)150
-2834 y(timestamps)23 b(are)g(optionally)h(displa)m(y)m(ed)f(dep)s
-(ending)e(on)i(the)g(v)-5 b(alue)23 b(of)g(the)f Ft(HISTTIMEFORMAT)d
-Fu(v)-5 b(ariable)150 2944 y(\(see)44 b(Section)g(5.2)h([Bash)f(V)-8
-b(ariables],)48 b(page)c(86\).)81 b(When)43 b(presen)m(t,)k(history)c
-(timestamps)h(delimit)150 3054 y(history)30 b(en)m(tries,)i(making)e(m)
-m(ulti-line)i(en)m(tries)f(p)s(ossible.)275 3187 y(When)36
-b(a)h(shell)f(with)g(history)h(enabled)f(exits,)j(Bash)e(copies)g(the)g
-(last)g Ft($HISTSIZE)d Fu(en)m(tries)j(from)150 3296
-y(the)32 b(history)g(list)g(to)h(the)f(\014le)g(named)f(b)m(y)h
-Ft($HISTFILE)p Fu(.)42 b(If)32 b(the)g Ft(histappend)d
-Fu(shell)j(option)g(is)g(set)g(\(see)150 3406 y(Section)27
-b(4.2)h([Bash)e(Builtins],)i(page)f(60\),)i(Bash)d(app)s(ends)f(the)h
-(en)m(tries)h(to)g(the)g(history)f(\014le,)i(otherwise)150
-3516 y(it)f(o)m(v)m(erwrites)h(the)e(history)h(\014le.)39
-b(If)26 b Ft(HISTFILE)e Fu(is)j(unset)f(or)g(n)m(ull,)h(or)g(if)f(the)h
-(history)f(\014le)g(is)h(un)m(writable,)150 3625 y(the)h(history)h(is)f
-(not)g(sa)m(v)m(ed.)41 b(After)29 b(sa)m(ving)g(the)f(history)-8
-b(,)30 b(Bash)e(truncates)h(the)f(history)g(\014le)h(to)g(con)m(tain)
-150 3735 y(no)h(more)h(than)f Ft($HISTFILESIZE)d Fu(lines)j(as)h
-(describ)s(ed)e(ab)s(o)m(v)m(e.)275 3868 y(If)24 b(the)h
-Ft(HISTTIMEFORMAT)c Fu(v)-5 b(ariable)26 b(is)f(set,)i(the)e(shell)h
-(writes)f(the)g(timestamp)h(information)f(asso)s(ci-)150
-3978 y(ated)g(with)f(eac)m(h)i(history)f(en)m(try)g(to)g(the)g(history)
-f(\014le,)i(mark)m(ed)f(with)f(the)h(history)f(commen)m(t)i(c)m
-(haracter,)150 4087 y(so)h(timestamps)g(are)g(preserv)m(ed)g(across)g
-(shell)g(sessions.)40 b(When)26 b(the)h(history)g(\014le)g(is)f(read,)i
-(lines)f(b)s(egin-)150 4197 y(ning)36 b(with)f(the)i(history)f(commen)m
-(t)h(c)m(haracter)g(follo)m(w)m(ed)h(immediately)f(b)m(y)f(a)g(digit)h
-(are)g(in)m(terpreted)150 4306 y(as)31 b(timestamps)h(for)e(the)i
-(follo)m(wing)g(history)f(en)m(try)-8 b(.)43 b(As)31
-b(ab)s(o)m(v)m(e,)i(when)d(using)g Ft(HISTTIMEFORMAT)p
-Fu(,)e(the)150 4416 y(timestamps)j(delimit)g(m)m(ulti-line)h(history)e
-(en)m(tries.)275 4549 y(The)37 b Ft(fc)h Fu(builtin)g(command)g(will)h
-(list)g(or)f(edit)h(and)f(re-execute)i(a)f(p)s(ortion)f(of)g(the)h
-(history)f(list.)150 4659 y(The)29 b Ft(history)f Fu(builtin)i(can)g
-(displa)m(y)g(or)g(mo)s(dify)f(the)h(history)g(list)g(and)f(manipulate)
-i(the)f(history)g(\014le.)150 4768 y(When)22 b(using)g(command-line)h
-(editing,)i(searc)m(h)e(commands)f(are)h(a)m(v)-5 b(ailable)25
-b(in)d(eac)m(h)h(editing)g(mo)s(de)f(that)150 4878 y(pro)m(vide)30
-b(access)i(to)f(the)g(history)f(list)h(\(see)h(Section)f(8.4.2)h
-([Commands)d(F)-8 b(or)31 b(History],)h(page)f(146\).)275
-5011 y(The)47 b(shell)i(allo)m(ws)h(con)m(trol)f(o)m(v)m(er)h(whic)m(h)
-e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)h(history)f(list.)95
-b(The)150 5121 y Ft(HISTCONTROL)34 b Fu(and)i Ft(HISTIGNORE)e
-Fu(v)-5 b(ariables)38 b(are)f(used)f(to)h(sa)m(v)m(e)i(only)e(a)g
-(subset)f(of)h(the)g(commands)150 5230 y(en)m(tered.)74
-b(If)41 b(the)g Ft(cmdhist)e Fu(shell)j(option)f(is)h(enabled,)i(the)d
-(shell)h(attempts)g(to)g(sa)m(v)m(e)h(eac)m(h)f(line)g(of)150
-5340 y(a)h(m)m(ulti-line)h(command)f(in)f(the)h(same)g(history)g(en)m
-(try)-8 b(,)47 b(adding)42 b(semicolons)i(where)e(necessary)h(to)p
-eop end
-%%Page: 166 172
-TeXDict begin 166 171 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(166)150
-299 y(preserv)m(e)36 b(syn)m(tactic)h(correctness.)57
-b(The)35 b Ft(lithist)e Fu(shell)j(option)g(mo)s(di\014es)f
-Ft(cmdhist)e Fu(b)m(y)i(sa)m(ving)i(the)150 408 y(command)31
-b(with)g(em)m(b)s(edded)f(newlines)h(instead)g(of)h(semicolons.)44
-b(The)30 b Ft(shopt)g Fu(builtin)h(is)g(used)f(to)i(set)150
-518 y(these)f(options.)41 b(See)30 b(Section)i(4.3.2)g([The)e(Shopt)g
-(Builtin],)h(page)g(77,)g(for)g(a)f(description)h(of)f
-Ft(shopt)p Fu(.)150 747 y Fs(9.2)68 b(Bash)45 b(History)h(Builtins)150
-907 y Fu(Bash)31 b(pro)m(vides)f(t)m(w)m(o)i(builtin)e(commands)g(whic)
-m(h)g(manipulate)g(the)h(history)f(list)h(and)f(history)g(\014le.)150
-1055 y Ft(fc)870 1184 y(fc)47 b([-e)g Fj(ename)p Ft(])f([-lnr])g([)p
-Fj(first)p Ft(])g([)p Fj(last)p Ft(])870 1293 y(fc)h(-s)g([)p
-Fj(pat)p Ft(=)p Fj(rep)p Ft(])f([)p Fj(command)p Ft(])630
-1422 y Fu(The)32 b(\014rst)g(form)g(selects)j(a)e(range)g(of)f
-(commands)h(from)f Fr(\014rst)i Fu(to)f Fr(last)j Fu(from)c(the)h
-(history)630 1532 y(list)41 b(and)f(displa)m(ys)g(or)g(edits)h(and)e
-(re-executes)j(them.)71 b(Both)40 b Fr(\014rst)i Fu(and)e
-Fr(last)j Fu(ma)m(y)e(b)s(e)630 1641 y(sp)s(eci\014ed)33
-b(as)h(a)g(string)g(\(to)h(lo)s(cate)h(the)e(most)g(recen)m(t)h
-(command)f(b)s(eginning)f(with)g(that)630 1751 y(string\))28
-b(or)g(as)h(a)f(n)m(um)m(b)s(er)f(\(an)h(index)g(in)m(to)h(the)f
-(history)g(list,)h(where)f(a)g(negativ)m(e)i(n)m(um)m(b)s(er)630
-1860 y(is)g(used)g(as)h(an)f(o\013set)h(from)f(the)h(curren)m(t)f
-(command)g(n)m(um)m(b)s(er\).)630 1989 y(When)j(listing,)h(a)f
-Fr(\014rst)h Fu(or)f Fr(last)j Fu(of)d(0)g(is)g(equiv)-5
-b(alen)m(t)34 b(to)g(-1)f(and)g(-0)g(is)g(equiv)-5 b(alen)m(t)34
-b(to)g(the)630 2099 y(curren)m(t)k(command)h(\(usually)g(the)g
-Ft(fc)f Fu(command\);)43 b(otherwise)c(0)g(is)g(equiv)-5
-b(alen)m(t)40 b(to)f(-1)630 2208 y(and)30 b(-0)h(is)f(in)m(v)-5
-b(alid.)630 2337 y(If)32 b Fr(last)j Fu(is)d(not)g(sp)s(eci\014ed,)g
-(it)h(is)f(set)h(to)f(the)h(curren)m(t)f(command)g(for)f(listing)i(and)
-f(to)h Fr(\014rst)630 2447 y Fu(otherwise.)41 b(If)27
-b Fr(\014rst)j Fu(is)f(not)f(sp)s(eci\014ed,)h(it)g(is)f(set)h(to)g
-(the)g(previous)f(command)g(for)g(editing)630 2556 y(and)i
-Fq(\000)p Fu(16)h(for)f(listing.)630 2685 y(If)e(the)h
-Ft(-l)f Fu(\015ag)h(is)f(supplied,)g(the)h(commands)f(are)h(listed)g
-(on)g(standard)f(output.)39 b(The)29 b Ft(-n)630 2795
-y Fu(\015ag)36 b(suppresses)f(the)h(command)f(n)m(um)m(b)s(ers)g(when)g
-(listing.)58 b(The)36 b Ft(-r)f Fu(\015ag)h(rev)m(erses)h(the)630
-2904 y(order)30 b(of)g(the)h(listing.)630 3033 y(Otherwise,)40
-b Ft(fc)e Fu(in)m(v)m(ok)m(es)i(the)f(editor)g(named)f(b)m(y)g
-Fr(ename)44 b Fu(on)38 b(a)h(\014le)f(con)m(taining)i(those)630
-3143 y(commands.)f(If)26 b Fr(ename)32 b Fu(is)27 b(not)g(supplied,)f
-Ft(fc)g Fu(uses)g(the)h(v)-5 b(alue)27 b(of)f(the)h(follo)m(wing)h(v)-5
-b(ariable)630 3252 y(expansion:)67 b Ft(${FCEDIT:-${EDITOR:-vi}})p
-Fu(.)75 b(This)43 b(sa)m(ys)h(to)h(use)e(the)h(v)-5 b(alue)45
-b(of)f(the)630 3362 y Ft(FCEDIT)26 b Fu(v)-5 b(ariable)29
-b(if)f(set,)i(or)e(the)g(v)-5 b(alue)29 b(of)f(the)g
-Ft(EDITOR)e Fu(v)-5 b(ariable)29 b(if)f(that)h(is)f(set,)h(or)g
-Ft(vi)e Fu(if)630 3471 y(neither)k(is)g(set.)44 b(When)31
-b(editing)g(is)h(complete,)h Ft(fc)d Fu(reads)h(the)g(\014le)h(of)f
-(edited)g(commands)630 3581 y(and)f(ec)m(ho)s(es)h(and)f(executes)h
-(them.)630 3710 y(In)36 b(the)g(second)h(form,)h Ft(fc)e
-Fu(re-executes)i Fr(command)i Fu(after)d(replacing)g(eac)m(h)h
-(instance)f(of)630 3819 y Fr(pat)j Fu(in)d(the)g(selected)i(command)f
-(with)f Fr(rep)p Fu(.)61 b Fr(command)41 b Fu(is)c(in)m(terpreted)h
-(the)g(same)g(as)630 3929 y Fr(\014rst)32 b Fu(ab)s(o)m(v)m(e.)630
-4058 y(A)f(useful)f(alias)i(to)g(use)e(with)h(the)g Ft(fc)f
-Fu(command)h(is)g Ft(r='fc)e(-s')p Fu(,)h(so)h(that)h(t)m(yping)f(`)p
-Ft(r)f(cc)p Fu(')630 4167 y(runs)35 b(the)h(last)h(command)f(b)s
-(eginning)g(with)g Ft(cc)f Fu(and)h(t)m(yping)g(`)p Ft(r)p
-Fu(')h(re-executes)h(the)e(last)630 4277 y(command)30
-b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(108\).)630
-4406 y(If)40 b(the)i(\014rst)e(form)g(is)h(used,)i(the)e(return)f(v)-5
-b(alue)41 b(is)g(zero)h(unless)e(an)h(in)m(v)-5 b(alid)42
-b(option)f(is)630 4515 y(encoun)m(tered)f(or)f Fr(\014rst)i
-Fu(or)e Fr(last)j Fu(sp)s(ecify)d(history)g(lines)g(out)h(of)f(range.)
-68 b(When)39 b(editing)630 4625 y(and)c(re-executing)i(a)f(\014le)g(of)
-g(commands,)g(the)g(return)f(v)-5 b(alue)36 b(is)g(the)f(v)-5
-b(alue)36 b(of)g(the)g(last)630 4734 y(command)31 b(executed)i(or)e
-(failure)h(if)f(an)h(error)f(o)s(ccurs)g(with)g(the)h(temp)s(orary)f
-(\014le.)44 b(If)31 b(the)630 4844 y(second)42 b(form)g(is)g(used,)i
-(the)f(return)e(status)h(is)g(that)h(of)f(the)h(re-executed)g(command,)
-630 4954 y(unless)25 b Fr(command)k Fu(do)s(es)d(not)g(sp)s(ecify)f(a)h
-(v)-5 b(alid)26 b(history)g(en)m(try)-8 b(,)27 b(in)f(whic)m(h)f(case)i
-Ft(fc)e Fu(returns)630 5063 y(a)31 b(non-zero)g(status.)150
-5211 y Ft(history)870 5340 y(history)46 b([)p Fj(n)p
-Ft(])p eop end
-%%Page: 167 173
-TeXDict begin 167 172 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(167)870
-299 y Ft(history)46 b(-c)870 408 y(history)g(-d)h Fj(offset)870
-518 y Ft(history)f(-d)h Fj(start)p Ft(-)p Fj(end)870
-628 y Ft(history)f([-anrw])g([)p Fj(filename)p Ft(])870
-737 y(history)g(-ps)h Fj(arg)630 871 y Fu(With)34 b(no)g(options,)h
-(displa)m(y)g(the)f(history)f(list)i(with)f(n)m(um)m(b)s(ers.)49
-b(En)m(tries)35 b(pre\014xed)d(with)630 980 y(a)39 b(`)p
-Ft(*)p Fu(')g(ha)m(v)m(e)h(b)s(een)e(mo)s(di\014ed.)65
-b(An)39 b(argumen)m(t)g(of)g Fr(n)f Fu(lists)i(only)f(the)g(last)g
-Fr(n)g Fu(en)m(tries.)66 b(If)630 1090 y(the)37 b(shell)h(v)-5
-b(ariable)38 b Ft(HISTTIMEFORMAT)33 b Fu(is)k(set)h(and)f(not)g(n)m
-(ull,)i(it)f(is)f(used)g(as)g(a)h(format)630 1199 y(string)24
-b(for)f Ft(strftime)p Fu(\(3\))g(to)h(displa)m(y)g(the)g(time)g(stamp)g
-(asso)s(ciated)h(with)e(eac)m(h)i(displa)m(y)m(ed)630
-1309 y(history)e(en)m(try)-8 b(.)39 b(If)22 b Ft(history)f
-Fu(uses)i Ft(HISTTIMEFORMAT)p Fu(,)e(it)i(do)s(es)g(not)g(prin)m(t)g
-(an)g(in)m(terv)m(ening)630 1419 y(space)31 b(b)s(et)m(w)m(een)g(the)g
-(formatted)f(time)i(stamp)e(and)g(the)g(history)g(en)m(try)-8
-b(.)630 1552 y(Options,)30 b(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)
-m(wing)h(meanings:)630 1709 y Ft(-c)384 b Fu(Clear)23
-b(the)g(history)g(list.)39 b(This)22 b(ma)m(y)i(b)s(e)e(com)m(bined)h
-(with)f(the)h(other)h(options)1110 1819 y(to)31 b(replace)g(the)g
-(history)f(list.)630 1976 y Ft(-d)g Fj(offset)66 b Fu(Delete)38
-b(the)f(history)f(en)m(try)h(at)f(p)s(osition)h Fr(o\013set)p
-Fu(.)59 b(If)36 b Fr(o\013set)j Fu(is)d(p)s(ositiv)m(e,)j(it)1110
-2086 y(should)32 b(b)s(e)h(sp)s(eci\014ed)f(as)i(it)g(app)s(ears)e
-(when)g(the)i(history)f(is)g(displa)m(y)m(ed.)50 b(If)1110
-2195 y Fr(o\013set)26 b Fu(is)d(negativ)m(e,)k(it)c(is)g(in)m
-(terpreted)h(as)f(relativ)m(e)i(to)f(one)f(greater)h(than)f(the)1110
-2305 y(last)36 b(history)f(p)s(osition,)h(so)f(negativ)m(e)i(indices)e
-(coun)m(t)h(bac)m(k)f(from)g(the)g(end)1110 2414 y(of)h(the)g(history)
--8 b(,)37 b(and)e(an)h(index)f(of)h(`)p Ft(-1)p Fu(')f(refers)g(to)i
-(the)f(curren)m(t)f Ft(history)1110 2524 y(-d)30 b Fu(command.)630
-2681 y Ft(-d)g Fj(start)p Ft(-)p Fj(end)1110 2791 y Fu(Delete)e(the)e
-(range)h(of)f(history)g(en)m(tries)h(b)s(et)m(w)m(een)f(p)s(ositions)g
-Fr(start)j Fu(and)c Fr(end)p Fu(,)1110 2900 y(inclusiv)m(e.)44
-b(P)m(ositiv)m(e)33 b(and)e(negativ)m(e)i(v)-5 b(alues)31
-b(for)g Fr(start)j Fu(and)d Fr(end)j Fu(are)d(in)m(ter-)1110
-3010 y(preted)f(as)h(describ)s(ed)e(ab)s(o)m(v)m(e.)630
-3167 y Ft(-a)384 b Fu(App)s(end)18 b(the)j Ft(")p Fu(new)p
-Ft(")e Fu(history)i(lines)f(to)i(the)e(history)h(\014le.)37
-b(These)20 b(are)h(history)1110 3277 y(lines)36 b(en)m(tered)g(since)f
-(the)h(b)s(eginning)f(of)g(the)h(curren)m(t)f(Bash)h(session,)h(but)
-1110 3386 y(not)31 b(already)g(app)s(ended)d(to)j(the)g(history)f
-(\014le.)630 3544 y Ft(-n)384 b Fu(Read)38 b(the)g(history)f(lines)h
-(not)g(already)g(read)g(from)f(the)h(history)g(\014le)g(and)1110
-3653 y(add)33 b(them)g(to)h(the)g(curren)m(t)f(history)g(list.)50
-b(These)33 b(are)h(lines)g(app)s(ended)d(to)1110 3763
-y(the)g(history)f(\014le)g(since)h(the)g(b)s(eginning)e(of)i(the)f
-(curren)m(t)h(Bash)f(session.)630 3920 y Ft(-r)384 b
-Fu(Read)31 b(the)f(history)g(\014le)h(and)f(app)s(end)e(its)j(con)m
-(ten)m(ts)h(to)f(the)g(history)f(list.)630 4077 y Ft(-w)384
-b Fu(W)-8 b(rite)42 b(the)f(curren)m(t)g(history)f(list)i(to)f(the)g
-(history)g(\014le,)j(o)m(v)m(erwriting)e(the)1110 4187
-y(history)30 b(\014le.)630 4344 y Ft(-p)384 b Fu(P)m(erform)31
-b(history)f(substitution)h(on)f(the)h Fr(arg)8 b Fu(s)31
-b(and)f(displa)m(y)h(the)f(result)h(on)1110 4454 y(the)d(standard)f
-(output,)i(without)f(storing)g(the)g(results)g(in)g(the)g(history)g
-(list.)630 4611 y Ft(-s)384 b Fu(Add)33 b(the)i Fr(arg)8
-b Fu(s)34 b(to)h(the)g(end)f(of)g(the)h(history)f(list)h(as)f(a)h
-(single)g(en)m(try)-8 b(.)53 b(The)1110 4721 y(last)27
-b(command)g(in)f(the)g(history)h(list)g(is)f(remo)m(v)m(ed)i(b)s(efore)
-e(adding)g(the)h Fr(arg)8 b Fu(s.)630 4878 y(If)36 b(a)g
-Fr(\014lename)41 b Fu(argumen)m(t)c(is)f(supplied)f(with)h(an)m(y)g(of)
-g(the)g Ft(-w)p Fu(,)i Ft(-r)p Fu(,)f Ft(-a)p Fu(,)g(or)f
-Ft(-n)f Fu(options,)630 4987 y(Bash)29 b(uses)g Fr(\014lename)35
-b Fu(as)30 b(the)f(history)h(\014le.)40 b(If)29 b(not,)h(it)g(uses)f
-(the)g(v)-5 b(alue)30 b(of)g(the)f Ft(HISTFILE)630 5097
-y Fu(v)-5 b(ariable.)42 b(If)29 b Ft(HISTFILE)g Fu(is)h(unset)g(or)g(n)
-m(ull,)h(these)g(options)f(ha)m(v)m(e)i(no)e(e\013ect.)630
-5230 y(If)38 b(the)g Ft(HISTTIMEFORMAT)d Fu(v)-5 b(ariable)39
-b(is)f(set,)k Ft(history)36 b Fu(writes)i(the)h(time)g(stamp)f(infor-)
-630 5340 y(mation)33 b(asso)s(ciated)g(with)f(eac)m(h)h(history)f(en)m
-(try)h(to)g(the)f(history)g(\014le,)h(mark)m(ed)f(with)g(the)p
-eop end
-%%Page: 168 174
-TeXDict begin 168 173 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(168)630
-299 y(history)35 b(commen)m(t)g(c)m(haracter)h(as)f(describ)s(ed)f(ab)s
-(o)m(v)m(e.)55 b(When)34 b(the)h(history)f(\014le)h(is)g(read,)630
-408 y(lines)30 b(b)s(eginning)g(with)f(the)i(history)f(commen)m(t)h(c)m
-(haracter)g(follo)m(w)m(ed)h(immediately)g(b)m(y)e(a)630
-518 y(digit)h(are)g(in)m(terpreted)g(as)f(timestamps)h(for)f(the)h
-(follo)m(wing)h(history)e(en)m(try)-8 b(.)630 660 y(The)34
-b(return)g(v)-5 b(alue)35 b(is)g(0)g(unless)f(an)h(in)m(v)-5
-b(alid)35 b(option)g(is)g(encoun)m(tered,)h(an)f(error)f(o)s(ccurs)630
-769 y(while)h(reading)g(or)g(writing)f(the)h(history)g(\014le,)h(an)f
-(in)m(v)-5 b(alid)36 b Fr(o\013set)h Fu(or)e(range)g(is)g(supplied)630
-879 y(as)c(an)g(argumen)m(t)g(to)h Ft(-d)p Fu(,)e(or)h(the)g(history)g
-(expansion)f(supplied)g(as)h(an)g(argumen)m(t)g(to)h
-Ft(-p)630 988 y Fu(fails.)150 1251 y Fs(9.3)68 b(History)46
-b(Expansion)150 1410 y Fu(The)e(shell)h(pro)m(vides)f(a)h(history)f
-(expansion)h(feature)f(that)i(is)e(similar)h(to)g(the)g(history)f
-(expansion)150 1520 y(pro)m(vided)32 b(b)m(y)h Ft(csh)f
-Fu(\(also)i(referred)d(to)j(as)f(history)f(substitution)h(where)f
-(appropriate\).)48 b(This)32 b(section)150 1629 y(describ)s(es)e(the)g
-(syn)m(tax)h(used)f(to)h(manipulate)g(the)f(history)g(information.)275
-1778 y(History)g(expansion)f(is)h(enabled)f(b)m(y)g(default)h(for)f(in)
-m(teractiv)m(e)k(shells,)d(and)f(can)g(b)s(e)g(disabled)g(using)150
-1888 y(the)36 b Ft(+H)f Fu(option)h(to)g(the)g Ft(set)f
-Fu(builtin)g(command)g(\(see)i(Section)f(4.3.1)h([The)f(Set)f
-(Builtin],)j(page)e(72\).)150 1997 y(Non-in)m(teractiv)m(e)h(shells)d
-(do)g(not)g(p)s(erform)e(history)i(expansion)g(b)m(y)g(default,)h(but)e
-(it)i(can)f(b)s(e)f(enabled)150 2107 y(with)d Ft(set)g(-H)p
-Fu(.)275 2256 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g
-(from)g(the)h(history)f(list)h(in)m(to)g(the)g(input)f(stream,)h
-(making)150 2365 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g
-(the)h(argumen)m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e
-(curren)m(t)150 2475 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h
-(previous)g(commands)g(quic)m(kly)-8 b(.)275 2623 y(History)24
-b(expansion)f(is)h(p)s(erformed)e(immediately)j(after)f(a)g(complete)h
-(line)f(is)g(read,)h(b)s(efore)e(the)h(shell)150 2733
-y(breaks)32 b(it)i(in)m(to)f(w)m(ords,)g(and)f(is)h(p)s(erformed)e(on)h
-(eac)m(h)i(line)f(individually)-8 b(.)48 b(Bash)33 b(attempts)g(to)h
-(inform)150 2843 y(the)d(history)f(expansion)g(functions)g(ab)s(out)g
-(quoting)h(still)g(in)f(e\013ect)i(from)e(previous)g(lines.)275
-2991 y(History)j(expansion)f(tak)m(es)i(place)f(in)g(t)m(w)m(o)g
-(parts.)47 b(The)32 b(\014rst)g(is)h(to)g(determine)f(whic)m(h)h(en)m
-(try)f(from)150 3101 y(the)d(history)g(list)g(should)f(b)s(e)g(used)g
-(during)g(substitution.)40 b(The)28 b(second)h(is)g(to)h(select)g(p)s
-(ortions)e(of)h(that)150 3211 y(en)m(try)i(to)g(include)f(in)m(to)h
-(the)g(curren)m(t)f(one.)275 3359 y(The)k(en)m(try)h(selected)h(from)e
-(the)h(history)g(is)f(called)i(the)f Fr(ev)m(en)m(t)p
-Fu(,)j(and)c(the)g(p)s(ortions)h(of)f(that)i(en)m(try)150
-3469 y(that)d(are)g(acted)g(up)s(on)e(are)i Fr(w)m(ords)p
-Fu(.)46 b(V)-8 b(arious)33 b Fr(mo)s(di\014ers)i Fu(are)d(a)m(v)-5
-b(ailable)35 b(to)e(manipulate)g(the)f(selected)150 3579
-y(w)m(ords.)38 b(The)24 b(en)m(try)h(is)g(split)g(in)m(to)g(w)m(ords)f
-(in)h(the)g(same)g(fashion)f(that)h(Bash)g(do)s(es)f(when)g(reading)h
-(input,)150 3688 y(so)k(that)h(sev)m(eral)g(w)m(ords)f(surrounded)d(b)m
-(y)j(quotes)h(are)f(considered)g(one)g(w)m(ord.)40 b(The)29
-b Fr(ev)m(en)m(t)h(designator)150 3798 y Fu(selects)37
-b(the)f(ev)m(en)m(t,)j(the)d(optional)h Fr(w)m(ord)f(designator)43
-b Fu(selects)37 b(w)m(ords)e(from)h(the)g(ev)m(en)m(t,)j(and)c(v)-5
-b(arious)150 3907 y(optional)32 b Fr(mo)s(di\014ers)g
-Fu(are)f(a)m(v)-5 b(ailable)33 b(to)e(manipulate)g(the)f(selected)i(w)m
-(ords.)275 4056 y(History)26 b(expansions)f(are)h(in)m(tro)s(duced)f(b)
-m(y)g(the)g(app)s(earance)h(of)g(the)f(history)h(expansion)f(c)m
-(haracter,)150 4166 y(whic)m(h)31 b(is)g(`)p Ft(!)p Fu(')h(b)m(y)f
-(default.)43 b(History)32 b(expansions)f(ma)m(y)g(app)s(ear)g(an)m
-(ywhere)g(in)g(the)g(input,)g(but)g(do)g(not)150 4275
-y(nest.)275 4424 y(History)26 b(expansion)g(implemen)m(ts)h(shell-lik)m
-(e)h(quoting)f(con)m(v)m(en)m(tions:)40 b(a)27 b(bac)m(kslash)g(can)f
-(b)s(e)g(used)f(to)150 4534 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g
-(handling)g(for)g(the)g(next)g(c)m(haracter;)k(single)d(quotes)g
-(enclose)g(v)m(erbatim)g(sequences)150 4643 y(of)k(c)m(haracters,)i
-(and)e(can)g(b)s(e)g(used)f(to)i(inhibit)f(history)g(expansion;)g(and)g
-(c)m(haracters)i(enclosed)e(within)150 4753 y(double)h(quotes)i(ma)m(y)
-f(b)s(e)f(sub)5 b(ject)31 b(to)h(history)f(expansion,)g(since)g(bac)m
-(kslash)g(can)h(escap)s(e)f(the)g(history)150 4862 y(expansion)e(c)m
-(haracter,)j(but)d(single)h(quotes)g(ma)m(y)h(not,)f(since)g(they)g
-(are)g(not)f(treated)i(sp)s(ecially)f(within)150 4972
-y(double)g(quotes.)275 5121 y(When)41 b(using)g(the)h(shell,)i(only)e
-(`)p Ft(\\)p Fu(')g(and)e(`)p Ft(')p Fu(')i(ma)m(y)g(b)s(e)f(used)g(to)
-h(escap)s(e)g(the)g(history)f(expansion)150 5230 y(c)m(haracter,)e(but)
-34 b(the)i(history)g(expansion)f(c)m(haracter)i(is)f(also)g(treated)h
-(as)e(quoted)h(if)g(it)g(immediately)150 5340 y(precedes)30
-b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)p
-eop end
-%%Page: 169 175
-TeXDict begin 169 174 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(169)275
-299 y(Sev)m(eral)34 b(c)m(haracters)i(inhibit)d(history)h(expansion)g
-(if)g(found)e(immediately)k(follo)m(wing)f(the)f(history)150
-408 y(expansion)i(c)m(haracter,)j(ev)m(en)e(if)f(it)h(is)f(unquoted:)52
-b(space,)38 b(tab,)g(newline,)g(carriage)g(return,)f(`)p
-Ft(=)p Fu(',)h(and)150 518 y(the)31 b(other)f(shell)h(metac)m
-(haracters.)275 664 y(There)25 b(is)h(a)h(sp)s(ecial)f(abbreviation)h
-(for)f(substitution,)g(activ)m(e)j(when)c(the)h Fr(quic)m(k)h
-(substitution)e Fu(c)m(har-)150 774 y(acter)37 b(\(describ)s(ed)f(ab)s
-(o)m(v)m(e)h(under)e Ft(histchars)p Fu(\))f(is)i(the)h(\014rst)e(c)m
-(haracter)j(on)e(the)g(line.)59 b(It)36 b(selects)i(the)150
-883 y(previous)31 b(history)g(list)h(en)m(try)-8 b(,)32
-b(using)f(an)g(ev)m(en)m(t)i(designator)f(equiv)-5 b(alen)m(t)33
-b(to)f Ft(!!)p Fu(,)f(and)g(substitutes)g(one)150 993
-y(string)25 b(for)g(another)h(in)f(that)g(en)m(try)-8
-b(.)40 b(It)25 b(is)h(describ)s(ed)e(b)s(elo)m(w)h(\(see)h(Section)g
-(9.3.1)h([Ev)m(en)m(t)g(Designators],)150 1102 y(page)d(169\).)40
-b(This)22 b(is)h(the)h(only)f(history)g(expansion)g(that)h(do)s(es)f
-(not)g(b)s(egin)g(with)g(the)g(history)g(expansion)150
-1212 y(c)m(haracter.)275 1358 y(Sev)m(eral)48 b(shell)g(options)h
-(settable)g(with)e(the)h Ft(shopt)f Fu(builtin)g(\(see)i(Section)f
-(4.3.2)i([The)e(Shopt)150 1468 y(Builtin],)31 b(page)f(77\))h(will)f
-(mo)s(dify)f(history)g(expansion)h(b)s(eha)m(vior)f(If)g(the)h
-Ft(histverify)d Fu(shell)j(option)g(is)150 1577 y(enabled,)38
-b(and)d(Readline)i(is)f(b)s(eing)g(used,)h(history)f(substitutions)f
-(are)i(not)f(immediately)i(passed)d(to)150 1687 y(the)c(shell)f
-(parser.)41 b(Instead,)30 b(the)h(expanded)f(line)h(is)f(reloaded)h(in)
-m(to)h(the)e(Readline)i(editing)f(bu\013er)e(for)150
-1796 y(further)c(mo)s(di\014cation.)40 b(If)25 b(Readline)i(is)g(b)s
-(eing)e(used,)i(and)e(the)i Ft(histreedit)c Fu(shell)k(option)f(is)h
-(enabled,)150 1906 y(a)k(failed)g(history)f(expansion)g(is)h(reloaded)g
-(in)m(to)g(the)f(Readline)h(editing)g(bu\013er)f(for)g(correction.)275
-2052 y(The)e Ft(-p)g Fu(option)i(to)g(the)f Ft(history)e
-Fu(builtin)h(command)h(sho)m(ws)g(what)g(a)g(history)g(expansion)g
-(will)g(do)150 2161 y(b)s(efore)35 b(using)g(it.)58 b(The)35
-b Ft(-s)g Fu(option)h(to)g(the)g Ft(history)e Fu(builtin)h(ma)m(y)h(b)s
-(e)g(used)e(to)j(add)e(commands)g(to)150 2271 y(the)f(end)g(of)g(the)g
-(history)g(list)h(without)f(actually)i(executing)f(them,)h(so)e(that)h
-(they)f(are)h(a)m(v)-5 b(ailable)36 b(for)150 2381 y(subsequen)m(t)30
-b(recall.)42 b(This)29 b(is)i(most)f(useful)g(in)g(conjunction)g(with)h
-(Readline.)275 2527 y(The)i(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g
-(v)-5 b(arious)34 b(c)m(haracters)h(used)f(b)m(y)f(the)h(history)g
-(expansion)g(mec)m(h-)150 2636 y(anism)h(with)g(the)g
-Ft(histchars)d Fu(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)
-i(\(see)f(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150
-2746 y(page)32 b(86\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
-(commen)m(t)i(c)m(haracter)f(to)g(mark)f(history)g(timestamps)h(when)
-150 2855 y(writing)e(the)h(history)f(\014le.)150 3066
-y Fk(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 3213
-y Fu(An)g(ev)m(en)m(t)i(designator)f(is)g(a)g(reference)f(to)i(an)e(en)
-m(try)h(in)f(the)g(history)h(list.)68 b(The)39 b(ev)m(en)m(t)i
-(designator)150 3323 y(consists)f(of)g(the)f(p)s(ortion)h(of)f(the)h(w)
-m(ord)f(b)s(eginning)g(with)g(the)h(history)f(expansion)h(c)m
-(haracter,)k(and)150 3432 y(ending)e(with)g(the)h(w)m(ord)f(designator)
-i(if)e(one)h(is)g(presen)m(t,)j(or)c(the)h(end)f(of)h(the)f(w)m(ord.)77
-b(Unless)43 b(the)150 3542 y(reference)31 b(is)f(absolute,)i(ev)m(en)m
-(ts)f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h(in)f
-(the)h(history)f(list.)150 3718 y Ft(!)432 b Fu(Start)34
-b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)
-e(a)h(space,)h(tab,)f(the)g(end)f(of)630 3828 y(the)24
-b(line,)j(`)p Ft(=)p Fu(',)f(or)e(the)g(rest)h(of)f(the)h(shell)f
-(metac)m(haracters)j(de\014ned)c(ab)s(o)m(v)m(e)j(\(see)f(Chapter)f(2)
-630 3938 y([De\014nitions],)32 b(page)f(3\).)150 4109
-y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(history)e(list)h(en)m(try)f
-Fr(n)p Fu(.)150 4279 y Ft(!-)p Fj(n)336 b Fu(Refer)30
-b(to)i(the)e(history)g(en)m(try)h(min)m(us)f Fr(n)p Fu(.)150
-4450 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(en)m(try)-8
-b(.)41 b(This)30 b(is)g(a)h(synon)m(ym)f(for)g(`)p Ft(!-1)p
-Fu('.)150 4621 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h
-(recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)g(p)s(osition)g(in)
-g(the)g(history)630 4731 y(list)31 b(starting)g(with)f
-Fr(string)p Fu(.)150 4902 y Ft(!?)p Fj(string)p Ft([?])630
-5011 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)
-g(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630
-5121 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45
-b(The)31 b(trailing)i(`)p Ft(?)p Fu(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f
-(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 5230
-y(immediately)39 b(b)m(y)f(a)g(newline.)63 b(If)37 b
-Fr(string)45 b Fu(is)38 b(missing,)i(this)e(uses)f(the)h(string)f(from)
-h(the)630 5340 y(most)31 b(recen)m(t)g(searc)m(h;)g(it)g(is)g(an)f
-(error)g(if)g(there)h(is)f(no)h(previous)e(searc)m(h)i(string.)p
-eop end
-%%Page: 170 176
-TeXDict begin 170 175 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(170)150
-299 y Ft(^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630
-408 y Fu(Quic)m(k)32 b(Substitution.)44 b(Rep)s(eat)32
-b(the)g(last)h(command,)f(replacing)g Fr(string1)40 b
-Fu(with)31 b Fr(string2)p Fu(.)630 518 y(Equiv)-5 b(alen)m(t)31
-b(to)g Ft(!!:s^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)p
-Fu(.)150 682 y Ft(!#)384 b Fu(The)30 b(en)m(tire)h(command)f(line)h(t)m
-(yp)s(ed)f(so)h(far.)150 886 y Fk(9.3.2)63 b(W)-10 b(ord)41
-b(Designators)150 1033 y Fu(W)-8 b(ord)28 b(designators)h(are)f(used)f
-(to)i(select)h(desired)d(w)m(ords)h(from)f(the)h(ev)m(en)m(t.)42
-b(They)27 b(are)i(optional;)h(if)e(the)150 1142 y(w)m(ord)h(designator)
-i(isn't)e(supplied,)g(the)h(history)g(expansion)f(uses)g(the)h(en)m
-(tire)h(ev)m(en)m(t.)42 b(A)29 b(`)p Ft(:)p Fu(')h(separates)150
-1252 y(the)f(ev)m(en)m(t)i(sp)s(eci\014cation)e(from)g(the)g(w)m(ord)g
-(designator.)41 b(It)29 b(ma)m(y)g(b)s(e)g(omitted)h(if)e(the)i(w)m
-(ord)e(designator)150 1362 y(b)s(egins)33 b(with)h(a)h(`)p
-Ft(^)p Fu(',)g(`)p Ft($)p Fu(',)g(`)p Ft(*)p Fu(',)h(`)p
-Ft(-)p Fu(',)f(or)f(`)p Ft(\045)p Fu('.)52 b(W)-8 b(ords)35
-b(are)f(n)m(um)m(b)s(ered)f(from)g(the)i(b)s(eginning)e(of)h(the)g
-(line,)150 1471 y(with)39 b(the)h(\014rst)f(w)m(ord)g(b)s(eing)g
-(denoted)h(b)m(y)g(0)g(\(zero\).)70 b(W)-8 b(ords)39
-b(are)h(inserted)g(in)m(to)g(the)g(curren)m(t)g(line)150
-1581 y(separated)31 b(b)m(y)f(single)h(spaces.)275 1720
-y(F)-8 b(or)31 b(example,)150 1886 y Ft(!!)384 b Fu(designates)37
-b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f
-(this,)h(the)f(preceding)g(com-)630 1996 y(mand)30 b(is)g(rep)s(eated)g
-(in)g(toto.)150 2160 y Ft(!!:$)288 b Fu(designates)23
-b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38
-b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 2269 y(to)31
-b Ft(!$)p Fu(.)150 2433 y Ft(!fi:2)240 b Fu(designates)30
-b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e
-(starting)h(with)f(the)630 2543 y(letters)j Ft(fi)p Fu(.)275
-2709 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150
-2875 y Ft(0)g(\(zero\))114 b Fu(The)24 b Ft(0)p Fu(th)g(w)m(ord.)38
-b(F)-8 b(or)25 b(the)g(shell,)h(and)d(man)m(y)i(other,)h(applications,)
-h(this)d(is)h(the)f(command)630 2985 y(w)m(ord.)150 3149
-y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150
-3313 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t:)42
-b(w)m(ord)30 b(1.)150 3477 y Ft($)432 b Fu(The)27 b(last)h(w)m(ord.)39
-b(This)27 b(is)g(usually)g(the)h(last)g(argumen)m(t,)h(but)d(will)i
-(expand)f(to)h(the)f(zeroth)630 3587 y(w)m(ord)j(if)g(there)h(is)f
-(only)h(one)f(w)m(ord)g(in)h(the)f(line.)150 3751 y Ft(\045)432
-b Fu(The)40 b(\014rst)h(w)m(ord)f(matc)m(hed)i(b)m(y)f(the)g(most)g
-(recen)m(t)h(`)p Ft(?)p Fj(string)p Ft(?)p Fu(')d(searc)m(h,)44
-b(if)d(the)g(searc)m(h)630 3860 y(string)25 b(b)s(egins)g(with)g(a)h(c)
-m(haracter)h(that)f(is)g(part)f(of)h(a)g(w)m(ord.)38
-b(By)26 b(default,)h(searc)m(hes)f(b)s(egin)630 3970
-y(at)j(the)e(end)h(of)g(eac)m(h)h(line)f(and)f(pro)s(ceed)g(to)i(the)f
-(b)s(eginning,)g(so)g(the)g(\014rst)f(w)m(ord)g(matc)m(hed)630
-4079 y(is)j(the)h(one)g(closest)h(to)f(the)f(end)g(of)g(the)h(line.)150
-4243 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p
-Ft(-)p Fj(y)p Fu(')g(abbreviates)h(`)p Ft(0-)p Fj(y)p
-Fu('.)150 4407 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h
-(the)e Ft(0)p Fu(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p
-Ft(1-$)p Fu('.)39 b(It)28 b(is)g(not)g(an)f(error)630
-4517 y(to)k(use)f(`)p Ft(*)p Fu(')h(if)f(there)h(is)f(just)g(one)h(w)m
-(ord)f(in)g(the)h(ev)m(en)m(t;)h(it)f(expands)e(to)j(the)e(empt)m(y)h
-(string)630 4627 y(in)f(that)h(case.)150 4791 y Fj(x)p
-Ft(*)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu('.)150
-4955 y Fj(x)p Ft(-)384 b Fu(Abbreviates)27 b(`)p Fj(x)p
-Ft(-$)p Fu(')g(lik)m(e)h(`)p Fj(x)p Ft(*)p Fu(',)g(but)e(omits)i(the)f
-(last)h(w)m(ord.)39 b(If)27 b(`)p Ft(x)p Fu(')g(is)g(missing,)g(it)h
-(defaults)630 5064 y(to)j(0.)275 5230 y(If)i(a)h(w)m(ord)g(designator)g
-(is)g(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h
-(the)e(previous)f(command)150 5340 y(is)d(used)g(as)h(the)f(ev)m(en)m
-(t,)i(equiv)-5 b(alen)m(t)32 b(to)f Ft(!!)p Fu(.)p eop
-end
-%%Page: 171 177
-TeXDict begin 171 176 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(171)150
-299 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 446 y Fu(After)29
-b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h
-(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150
-555 y(mo)s(di\014ers,)33 b(eac)m(h)h(preceded)f(b)m(y)g(a)h(`)p
-Ft(:)p Fu('.)50 b(These)33 b(mo)s(dify)-8 b(,)33 b(or)h(edit,)g(the)g
-(w)m(ord)f(or)g(w)m(ords)g(selected)h(from)150 665 y(the)d(history)f
-(ev)m(en)m(t.)150 824 y Ft(h)432 b Fu(Remo)m(v)m(e)32
-b(a)f(trailing)g(\014lename)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e
-(the)h(head.)150 984 y Ft(t)432 b Fu(Remo)m(v)m(e)32
-b(all)f(leading)h(\014lename)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)f
-(tail.)150 1143 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g
-(su\016x)f(of)g(the)h(form)f(`)p Ft(.)p Fj(suffix)p Fu(',)f(lea)m(ving)
-j(the)f(basename.)150 1303 y Ft(e)432 b Fu(Remo)m(v)m(e)32
-b(all)f(but)f(the)h(trailing)g(su\016x.)150 1462 y Ft(p)432
-b Fu(Prin)m(t)30 b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i
-(it.)150 1621 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)
-g(escaping)h(further)e(substitutions.)150 1781 y Ft(x)432
-b Fu(Quote)32 b(the)f(substituted)g(w)m(ords)f(as)i(with)f(`)p
-Ft(q)p Fu(',)h(but)e(break)h(in)m(to)i(w)m(ords)d(at)i(spaces,)h(tabs,)
-630 1890 y(and)d(newlines.)41 b(The)30 b(`)p Ft(q)p Fu(')h(and)f(`)p
-Ft(x)p Fu(')h(mo)s(di\014ers)e(are)i(m)m(utually)g(exclusiv)m(e;)i
-(expansion)d(uses)630 2000 y(the)h(last)g(one)f(supplied.)150
-2159 y Ft(s/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)630 2269
-y Fu(Substitute)h Fr(new)39 b Fu(for)32 b(the)g(\014rst)f(o)s
-(ccurrence)h(of)f Fr(old)36 b Fu(in)31 b(the)h(ev)m(en)m(t)h(line.)46
-b(An)m(y)31 b(c)m(haracter)630 2379 y(ma)m(y)25 b(b)s(e)f(used)g(as)h
-(the)f(delimiter)i(in)e(place)h(of)g(`)p Ft(/)p Fu('.)39
-b(The)24 b(delimiter)h(ma)m(y)g(b)s(e)f(quoted)h(in)f
-Fr(old)630 2488 y Fu(and)30 b Fr(new)38 b Fu(with)30
-b(a)h(single)g(bac)m(kslash.)42 b(If)30 b(`)p Ft(&)p
-Fu(')h(app)s(ears)f(in)g Fr(new)p Fu(,)h(it)g(is)f(replaced)h(with)g
-Fr(old)p Fu(.)630 2598 y(A)i(single)g(bac)m(kslash)h(will)f(quote)g
-(the)h(`)p Ft(&)p Fu(')e(in)h Fr(old)k Fu(and)32 b Fr(new)p
-Fu(.)47 b(If)33 b Fr(old)j Fu(is)d(n)m(ull,)h(it)f(is)g(set)g(to)630
-2707 y(the)d(last)g Fr(old)j Fu(substituted,)c(or,)h(if)f(no)g
-(previous)g(history)g(substitutions)g(to)s(ok)h(place,)h(the)630
-2817 y(last)e Fr(string)36 b Fu(in)28 b(a)h(!?)p Fr(string)8
-b Ft([?])28 b Fu(searc)m(h.)40 b(If)28 b Fr(new)36 b
-Fu(is)28 b(n)m(ull,)h(eac)m(h)h(matc)m(hing)f Fr(old)j
-Fu(is)d(deleted.)630 2927 y(The)h(\014nal)g(delimiter)h(is)f(optional)i
-(if)e(it)h(is)g(the)f(last)h(c)m(haracter)h(on)f(the)f(input)g(line.)
-150 3086 y Ft(&)432 b Fu(Rep)s(eat)31 b(the)f(previous)g(substitution.)
-150 3245 y Ft(g)150 3355 y(a)432 b Fu(Cause)27 b(c)m(hanges)i(to)f(b)s
-(e)f(applied)g(o)m(v)m(er)h(the)g(en)m(tire)g(ev)m(en)m(t)h(line.)40
-b(This)27 b(is)g(used)g(in)g(conjunc-)630 3465 y(tion)k(with)f(`)p
-Ft(s)p Fu(',)h(as)f(in)g Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p
-Ft(/)p Fu(,)e(or)i(with)g(`)p Ft(&)p Fu('.)150 3624 y
-Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i(`)p Ft(s)p
-Fu(')f(or)f(`)p Ft(&)p Fu(')h(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m
-(ord)e(in)g(the)g(ev)m(en)m(t.)p eop end
-%%Page: 172 178
-TeXDict begin 172 177 bop 3614 -116 a Fu(172)150 299
-y Fp(10)80 b(Installing)52 b(Bash)150 539 y Fu(This)31
-b(c)m(hapter)h(pro)m(vides)g(basic)g(instructions)f(for)g(installing)i
-(Bash)f(on)f(the)h(v)-5 b(arious)31 b(supp)s(orted)f(plat-)150
-648 y(forms.)40 b(The)28 b(distribution)h(supp)s(orts)e(the)j
-Fm(gnu)f Fu(op)s(erating)h(systems,)f(nearly)h(ev)m(ery)g(v)m(ersion)f
-(of)h(Unix,)150 758 y(and)d(sev)m(eral)j(non-Unix)d(systems)h(suc)m(h)g
-(as)g(BeOS)g(and)f(In)m(terix.)40 b(Other)28 b(indep)s(enden)m(t)e(p)s
-(orts)h(exist)i(for)150 867 y(Windo)m(ws)h(platforms.)150
-1111 y Fs(10.1)68 b(Basic)45 b(Installation)150 1270
-y Fu(These)30 b(are)h(installation)h(instructions)e(for)h(Bash.)275
-1407 y(The)e(simplest)i(w)m(a)m(y)g(to)g(compile)h(Bash)e(is:)199
-1543 y(1.)61 b Ft(cd)38 b Fu(to)h(the)f(directory)h(con)m(taining)h
-(the)f(source)f(co)s(de)h(and)f(t)m(yp)s(e)g(`)p Ft(./configure)p
-Fu(')e(to)j(con\014gure)330 1653 y(Bash)c(for)f(y)m(our)h(system.)54
-b(If)34 b(y)m(ou're)h(using)f Ft(csh)g Fu(on)g(an)h(old)g(v)m(ersion)g
-(of)g(System)f(V,)h(y)m(ou)g(migh)m(t)330 1762 y(need)21
-b(to)g(t)m(yp)s(e)g(`)p Ft(sh)30 b(./configure)p Fu(')18
-b(instead)j(to)g(prev)m(en)m(t)h Ft(csh)e Fu(from)g(trying)h(to)g
-(execute)h Ft(configure)330 1872 y Fu(itself.)330 2007
-y(Running)30 b Ft(configure)f Fu(tak)m(es)k(some)e(time.)45
-b(While)32 b(running,)e(it)i(prin)m(ts)f(messages)h(telling)h(whic)m(h)
-330 2117 y(features)e(it)g(is)f(c)m(hec)m(king)i(for.)199
-2252 y(2.)61 b(T)m(yp)s(e)30 b(`)p Ft(make)p Fu(')g(to)h(compile)g
-(Bash)g(and)e(build)h(the)g Ft(bashbug)f Fu(bug)g(rep)s(orting)h
-(script.)199 2388 y(3.)61 b(Optionally)-8 b(,)32 b(t)m(yp)s(e)e(`)p
-Ft(make)g(tests)p Fu(')f(to)i(run)e(the)h(Bash)h(test)g(suite.)199
-2523 y(4.)61 b(T)m(yp)s(e)42 b(`)p Ft(make)30 b(install)p
-Fu(')41 b(to)i(install)h Ft(bash)d Fu(and)i Ft(bashbug)p
-Fu(.)76 b(This)42 b(will)h(also)g(install)h(the)f(man-)330
-2633 y(ual)30 b(pages)g(and)g(Info)f(\014le,)h(message)h(translation)g
-(\014les,)f(some)g(supplemen)m(tal)h(do)s(cumen)m(tation,)g(a)330
-2742 y(n)m(um)m(b)s(er)c(of)h(example)h(loadable)g(builtin)f(commands,)
-g(and)g(a)g(set)h(of)f(header)g(\014les)g(for)g(dev)m(eloping)330
-2852 y(loadable)36 b(builtins.)55 b(Y)-8 b(ou)36 b(ma)m(y)f(need)g
-(additional)h(privileges)g(to)g(install)g Ft(bash)e Fu(to)i(y)m(our)f
-(desired)330 2962 y(destination,)29 b(whic)m(h)d(ma)m(y)i(require)e(`)p
-Ft(sudo)k(make)f(install)p Fu('.)38 b(More)27 b(information)h(ab)s(out)
-e(con)m(trol-)330 3071 y(ling)38 b(the)f(lo)s(cations)i(where)e
-Ft(bash)f Fu(and)h(other)g(\014les)g(are)h(installed)g(is)g(b)s(elo)m
-(w)f(\(see)h(Section)g(10.4)330 3181 y([Installation)32
-b(Names],)g(page)f(174\).)275 3343 y(The)20 b Ft(configure)f
-Fu(shell)i(script)g(attempts)h(to)g(guess)f(correct)i(v)-5
-b(alues)21 b(for)g(v)-5 b(arious)21 b(system-dep)s(enden)m(t)150
-3453 y(v)-5 b(ariables)38 b(used)f(during)f(compilation.)64
-b(It)37 b(uses)g(those)h(v)-5 b(alues)38 b(to)g(create)h(a)f
-Ft(Makefile)d Fu(in)i(eac)m(h)i(di-)150 3562 y(rectory)32
-b(of)f(the)h(pac)m(k)-5 b(age)33 b(\(the)f(top)f(directory)-8
-b(,)33 b(the)e Ft(builtins)p Fu(,)f Ft(doc)p Fu(,)h Ft(po)p
-Fu(,)g(and)f Ft(support)g Fu(directories,)150 3672 y(eac)m(h)38
-b(directory)g(under)d Ft(lib)p Fu(,)j(and)f(sev)m(eral)h(others\).)61
-b(It)38 b(also)g(creates)g(a)f Ft(config.h)e Fu(\014le)i(con)m(taining)
-150 3781 y(system-dep)s(enden)m(t)31 b(de\014nitions.)44
-b(Finally)-8 b(,)34 b(it)e(creates)h(a)f(shell)g(script)f(named)g
-Ft(config.status)d Fu(that)150 3891 y(y)m(ou)35 b(can)h(run)d(in)i(the)
-g(future)f(to)i(recreate)g(the)g(curren)m(t)e(con\014guration,)j(a)f
-(\014le)f Ft(config.cache)c Fu(that)150 4001 y(sa)m(v)m(es)39
-b(the)e(results)g(of)g(its)h(tests)g(to)g(sp)s(eed)e(up)h
-(recon\014guring,)h(and)f(a)h(\014le)f Ft(config.log)d
-Fu(con)m(taining)150 4110 y(compiler)c(output)g(\(useful)f(mainly)h
-(for)f(debugging)h Ft(configure)p Fu(\).)38 b(If)29 b(at)i(some)f(p)s
-(oin)m(t)f Ft(config.cache)150 4220 y Fu(con)m(tains)j(results)e(y)m
-(ou)g(don't)h(w)m(an)m(t)g(to)g(k)m(eep,)g(y)m(ou)g(ma)m(y)g(remo)m(v)m
-(e)h(or)e(edit)h(it.)275 4356 y(T)-8 b(o)37 b(\014nd)f(out)i(more)f(ab)
-s(out)h(the)f(options)h(and)f(argumen)m(ts)g(that)h(the)g
-Ft(configure)d Fu(script)i(under-)150 4466 y(stands,)30
-b(t)m(yp)s(e)390 4602 y Ft(bash-4.2$)45 b(./configure)g(--help)150
-4738 y Fu(at)31 b(the)g(Bash)f(prompt)g(in)g(y)m(our)g(Bash)h(source)f
-(directory)-8 b(.)275 4875 y(If)34 b(y)m(ou)h(w)m(an)m(t)g(to)g(build)f
-(Bash)g(in)h(a)g(directory)g(separate)g(from)f(the)h(source)g
-(directory)g({)g(to)g(build)150 4984 y(for)30 b(m)m(ultiple)i(arc)m
-(hitectures,)g(for)e(example)h({)g(just)f(use)h(the)f(full)h(path)f(to)
-h(the)g(con\014gure)f(script.)41 b(The)150 5094 y(follo)m(wing)23
-b(commands)e(will)h(build)f(Bash)h(in)f(a)h(directory)g(under)f
-Ft(/usr/local/build)c Fu(from)k(the)h(source)150 5204
-y(co)s(de)31 b(in)f Ft(/usr/local/src/bash-4.4)o Fu(:)390
-5340 y Ft(mkdir)46 b(/usr/local/build/bash-4.4)p eop
-end
-%%Page: 173 179
-TeXDict begin 173 178 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(173)390 299 y Ft(cd)47
-b(/usr/local/build/bash-4.4)390 408 y(bash)g(/usr/local/src/bash-4.4)o
-(/con)o(fig)o(ure)390 518 y(make)275 652 y Fu(See)27
-b(Section)h(10.3)g([Compiling)g(F)-8 b(or)27 b(Multiple)h(Arc)m
-(hitectures],)i(page)d(173,)j(for)c(more)i(information)150
-762 y(ab)s(out)i(building)g(in)g(a)g(directory)h(separate)h(from)e(the)
-g(source.)275 896 y(If)53 b(y)m(ou)h(need)f(to)i(do)e(un)m(usual)g
-(things)g(to)i(compile)g(Bash,)k(please)c(try)e(to)i(\014gure)e(out)h
-(ho)m(w)150 1006 y Ft(configure)47 b Fu(could)j(c)m(hec)m(k)h(whether)e
-(or)g(not)h(to)h(do)e(them,)55 b(and)49 b(mail)h(di\013s)f(or)h
-(instructions)f(to)150 1115 y Ft(bash-maintainers@gnu.org)24
-b Fu(so)30 b(they)h(can)g(b)s(e)e(considered)i(for)f(the)g(next)h
-(release.)275 1250 y(The)e(\014le)g Ft(configure.ac)d
-Fu(is)k(used)e(to)j(create)g Ft(configure)c Fu(b)m(y)i(a)h(program)f
-(called)i(Auto)s(conf.)40 b(Y)-8 b(ou)150 1359 y(only)34
-b(need)g Ft(configure.ac)d Fu(if)i(y)m(ou)i(w)m(an)m(t)g(to)f(c)m
-(hange)i(it)e(or)g(regenerate)i Ft(configure)31 b Fu(using)j(a)g(new)m
-(er)150 1469 y(v)m(ersion)25 b(of)f(Auto)s(conf.)39 b(If)24
-b(y)m(ou)h(do)f(this,)i(mak)m(e)f(sure)f(y)m(ou)h(are)f(using)g(Auto)s
-(conf)h(v)m(ersion)f(2.69)i(or)f(new)m(er.)275 1603 y(Y)-8
-b(ou)29 b(can)f(remo)m(v)m(e)i(the)f(program)g(binaries)f(and)g(ob)5
-b(ject)29 b(\014les)g(from)f(the)h(source)f(co)s(de)h(directory)g(b)m
-(y)150 1713 y(t)m(yping)j(`)p Ft(make)d(clean)p Fu('.)42
-b(T)-8 b(o)32 b(also)g(remo)m(v)m(e)g(the)g(\014les)f(that)g
-Ft(configure)e Fu(created)j(\(so)g(y)m(ou)g(can)f(compile)150
-1822 y(Bash)g(for)f(a)g(di\013eren)m(t)h(kind)f(of)g(computer\),)h(t)m
-(yp)s(e)g(`)p Ft(make)e(distclean)p Fu('.)150 2063 y
-Fs(10.2)68 b(Compilers)46 b(and)f(Options)150 2222 y
-Fu(Some)28 b(systems)h(require)f(un)m(usual)f(options)i(for)f
-(compilation)i(or)f(linking)f(that)h(the)g Ft(configure)d
-Fu(script)150 2332 y(do)s(es)32 b(not)g(kno)m(w)g(ab)s(out.)44
-b(Y)-8 b(ou)33 b(can)f(giv)m(e)h Ft(configure)d Fu(initial)j(v)-5
-b(alues)32 b(for)g(v)-5 b(ariables)32 b(b)m(y)g(setting)h(them)150
-2441 y(in)k(the)g(en)m(vironmen)m(t.)62 b(Using)38 b(a)f
-(Bourne-compatible)i(shell,)g(y)m(ou)f(can)g(do)f(that)h(on)f(the)g
-(command)150 2551 y(line)31 b(lik)m(e)g(this:)390 2685
-y Ft(CC=c89)46 b(CFLAGS=-O2)f(LIBS=-lposix)g(./configure)275
-2819 y Fu(On)29 b(systems)h(that)h(ha)m(v)m(e)h(the)f
-Ft(env)e Fu(program,)h(y)m(ou)h(can)g(do)f(it)h(lik)m(e)h(this:)390
-2954 y Ft(env)47 b(CPPFLAGS=-I/usr/local/in)o(clud)o(e)42
-b(LDFLAGS=-s)j(./configure)275 3088 y Fu(The)29 b(con\014guration)i
-(pro)s(cess)f(uses)g(GCC)g(to)h(build)e(Bash)i(if)f(it)h(is)g(a)m(v)-5
-b(ailable.)150 3328 y Fs(10.3)68 b(Compiling)46 b(F)-11
-b(or)45 b(Multiple)g(Arc)l(hitectures)150 3488 y Fu(Y)-8
-b(ou)27 b(can)g(compile)g(Bash)g(for)f(more)h(than)f(one)h(kind)f(of)g
-(computer)h(at)g(the)g(same)g(time,)h(b)m(y)e(placing)i(the)150
-3597 y(ob)5 b(ject)31 b(\014les)f(for)g(eac)m(h)i(arc)m(hitecture)f(in)
-f(their)g(o)m(wn)h(directory)-8 b(.)41 b(T)-8 b(o)31
-b(do)f(this,)g(y)m(ou)h(m)m(ust)f(use)g(a)g(v)m(ersion)150
-3707 y(of)36 b Ft(make)e Fu(that)i(supp)s(orts)e(the)i
-Ft(VPATH)e Fu(v)-5 b(ariable,)38 b(suc)m(h)d(as)h(GNU)g
-Ft(make)p Fu(.)55 b Ft(cd)35 b Fu(to)i(the)e(directory)h(where)150
-3817 y(y)m(ou)k(w)m(an)m(t)h(the)g(ob)5 b(ject)41 b(\014les)f(and)f
-(executables)j(to)e(go)h(and)f(run)e(the)j Ft(configure)c
-Fu(script)j(from)g(the)150 3926 y(source)32 b(directory)h(\(see)g
-(Section)f(10.1)i([Basic)f(Installation],)i(page)e(172\).)47
-b(Y)-8 b(ou)32 b(ma)m(y)h(need)f(to)g(supply)150 4036
-y(the)43 b Ft(--srcdir=PATH)c Fu(argumen)m(t)k(to)h(tell)g
-Ft(configure)c Fu(where)i(the)h(source)g(\014les)g(are.)78
-b Ft(configure)150 4145 y Fu(automatically)33 b(c)m(hec)m(ks)f(for)e
-(the)h(source)f(co)s(de)h(in)f(the)h(directory)f(that)h
-Ft(configure)d Fu(is)j(in)f(and)f(in)h Ft(..)p Fu(.)275
-4280 y(If)22 b(y)m(ou)i(ha)m(v)m(e)g(to)g(use)f(a)g Ft(make)f
-Fu(that)i(do)s(es)f(not)g(supp)s(ort)e(the)j Ft(VPATH)d
-Fu(v)-5 b(ariable,)26 b(y)m(ou)d(can)h(compile)g(Bash)150
-4389 y(for)33 b(one)h(arc)m(hitecture)h(at)f(a)g(time)g(in)f(the)h
-(source)g(co)s(de)f(directory)-8 b(.)51 b(After)34 b(y)m(ou)g(ha)m(v)m
-(e)h(installed)f(Bash)150 4499 y(for)c(one)h(arc)m(hitecture,)h(use)e
-(`)p Ft(make)g(distclean)p Fu(')e(b)s(efore)i(recon\014guring)g(for)g
-(another)g(arc)m(hitecture.)275 4633 y(Alternativ)m(ely)-8
-b(,)30 b(if)c(y)m(our)g(system)h(supp)s(orts)d(sym)m(b)s(olic)j(links,)
-g(y)m(ou)g(can)g(use)f(the)g Ft(support/mkclone)150 4743
-y Fu(script)d(to)h(create)g(a)f(build)f(tree)i(whic)m(h)f(has)f(sym)m
-(b)s(olic)i(links)e(bac)m(k)i(to)g(eac)m(h)g(\014le)f(in)g(the)g
-(source)g(directory)-8 b(.)150 4852 y(Here's)41 b(an)f(example)i(that)f
-(creates)h(a)e(build)g(directory)h(in)f(the)h(curren)m(t)f(directory)h
-(from)f(a)h(source)150 4962 y(directory)31 b Ft(/usr/gnu/src/bash-2.0)p
-Fu(:)390 5096 y Ft(bash)47 b(/usr/gnu/src/bash-2.0/s)o(uppo)o(rt/)o
-(mkcl)o(one)41 b(-s)47 b(/usr/gnu/src/bash-2.0)42 b(.)150
-5230 y Fu(The)c Ft(mkclone)e Fu(script)i(requires)g(Bash,)i(so)f(y)m
-(ou)f(m)m(ust)h(ha)m(v)m(e)g(already)g(built)f(Bash)g(for)g(at)h(least)
-h(one)150 5340 y(arc)m(hitecture)32 b(b)s(efore)e(y)m(ou)h(can)f
-(create)i(build)e(directories)h(for)f(other)h(arc)m(hitectures.)p
-eop end
-%%Page: 174 180
-TeXDict begin 174 179 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(174)150 299 y Fs(10.4)68
-b(Installation)47 b(Names)150 458 y Fu(By)36 b(default,)g(`)p
-Ft(make)30 b(install)p Fu(')j(will)j(install)g(in)m(to)g
-Ft(/usr/local/bin)p Fu(,)d Ft(/usr/local/man)p Fu(,)g(etc.;)39
-b(that)150 568 y(is,)i(the)d Fr(installation)i(pre\014x)k
-Fu(defaults)38 b(to)h Ft(/usr/local)p Fu(.)62 b(Y)-8
-b(ou)39 b(can)g(sp)s(ecify)f(an)g(installation)i(pre\014x)150
-677 y(other)34 b(than)g Ft(/usr/local)d Fu(b)m(y)j(giving)h
-Ft(configure)d Fu(the)i(option)g Ft(--prefix=)p Fj(PATH)p
-Fu(,)e(or)i(b)m(y)g(sp)s(ecifying)150 787 y(a)h(v)-5
-b(alue)34 b(for)h(the)f Ft(prefix)f Fu(`)p Ft(make)p
-Fu(')g(v)-5 b(ariable)35 b(when)f(running)e(`)p Ft(make)e(install)p
-Fu(')i(\(e.g.,)37 b(`)p Ft(make)30 b(install)150 897
-y(prefix=)p Fj(PATH)p Fu('\).)35 b(The)21 b Ft(prefix)f
-Fu(v)-5 b(ariable)22 b(pro)m(vides)g(a)f(default)h(for)f
-Ft(exec_prefix)e Fu(and)i(other)g(v)-5 b(ariables)150
-1006 y(used)30 b(when)f(installing)i(Bash.)275 1159 y(Y)-8
-b(ou)71 b(can)h(sp)s(ecify)f(separate)h(installation)h(pre\014xes)d
-(for)h(arc)m(hitecture-sp)s(eci\014c)i(\014les)f(and)150
-1268 y(arc)m(hitecture-indep)s(enden)m(t)44 b(\014les.)80
-b(If)43 b(y)m(ou)h(giv)m(e)h Ft(configure)c Fu(the)j(option)g
-Ft(--exec-prefix=)p Fj(PATH)p Fu(,)150 1378 y(`)p Ft(make)29
-b(install)p Fu(')63 b(will)h(use)f Fr(P)-8 b(A)g(TH)75
-b Fu(as)64 b(the)g(pre\014x)e(for)i(installing)h(programs)e(and)h
-(libraries.)150 1488 y(Do)s(cumen)m(tation)32 b(and)e(other)h(data)g
-(\014les)f(will)h(still)g(use)f(the)h(regular)f(pre\014x.)275
-1640 y(If)35 b(y)m(ou)i(w)m(ould)e(lik)m(e)j(to)e(c)m(hange)i(the)e
-(installation)i(lo)s(cations)f(for)f(a)h(single)f(run,)h(y)m(ou)f(can)g
-(sp)s(ecify)150 1750 y(these)28 b(v)-5 b(ariables)27
-b(as)h(argumen)m(ts)f(to)h Ft(make)p Fu(:)38 b(`)p Ft(make)29
-b(install)g(exec_prefix=/)p Fu(')23 b(will)28 b(install)g
-Ft(bash)e Fu(and)150 1859 y Ft(bashbug)i Fu(in)m(to)k
-Ft(/bin)d Fu(instead)i(of)f(the)h(default)f Ft(/usr/local/bin)p
-Fu(.)275 2012 y(If)42 b(y)m(ou)i(w)m(an)m(t)g(to)g(see)g(the)f(\014les)
-h(Bash)f(will)h(install)g(and)e(where)h(it)h(will)g(install)g(them)f
-(without)150 2122 y(c)m(hanging)35 b(an)m(ything)f(on)f(y)m(our)h
-(system,)h(sp)s(ecify)e(the)h(v)-5 b(ariable)35 b Ft(DESTDIR)d
-Fu(as)i(an)f(argumen)m(t)h(to)h Ft(make)p Fu(.)150 2231
-y(Its)29 b(v)-5 b(alue)29 b(should)f(b)s(e)g(the)h(absolute)h
-(directory)f(path)g(y)m(ou'd)g(lik)m(e)h(to)g(use)e(as)i(the)f(ro)s(ot)
-g(of)g(y)m(our)g(sample)150 2341 y(installation)j(tree.)42
-b(F)-8 b(or)31 b(example,)390 2493 y Ft(mkdir)46 b(/fs1/bash-install)
-390 2603 y(make)h(install)e(DESTDIR=/fs1/bash-install)150
-2756 y Fu(will)37 b(install)g Ft(bash)e Fu(in)m(to)j
-Ft(/fs1/bash-install/usr/l)o(ocal)o(/bin)o(/ba)o(sh)p
-Fu(,)32 b(the)37 b(do)s(cumen)m(tation)g(in)m(to)150
-2865 y(directories)44 b(within)e Ft(/fs1/bash-install/usr/l)o(ocal)o
-(/sha)o(re)p Fu(,)e(the)i(example)i(loadable)g(builtins)150
-2975 y(in)m(to)35 b Ft(/fs1/bash-install/usr/loc)o(al/l)o(ib/b)o(ash)o
-Fu(,)30 b(and)k(so)g(on.)53 b(Y)-8 b(ou)34 b(can)h(use)f(the)h(usual)e
-Ft(exec_)150 3084 y(prefix)c Fu(and)g Ft(prefix)g Fu(v)-5
-b(ariables)31 b(to)g(alter)h(the)e(directory)h(paths)f(b)s(eneath)g
-(the)h(v)-5 b(alue)30 b(of)h Ft(DESTDIR)p Fu(.)275 3237
-y(The)24 b(GNU)i(Mak)m(e\014le)h(standards)d(pro)m(vide)i(a)f(more)h
-(complete)g(description)g(of)f(these)h(v)-5 b(ariables)26
-b(and)150 3346 y(their)k(e\013ects.)150 3614 y Fs(10.5)68
-b(Sp)t(ecifying)45 b(the)g(System)h(T)l(yp)t(e)150 3774
-y Fu(There)c(ma)m(y)h(b)s(e)e(some)i(features)g Ft(configure)c
-Fu(can)k(not)g(\014gure)e(out)i(automatically)-8 b(,)49
-b(but)41 b(needs)h(to)150 3883 y(determine)26 b(b)m(y)g(the)g(t)m(yp)s
-(e)g(of)g(host)g(Bash)g(will)g(run)f(on.)39 b(Usually)26
-b Ft(configure)d Fu(can)k(\014gure)e(that)h(out,)i(but)150
-3993 y(if)g(it)g(prin)m(ts)f(a)h(message)g(sa)m(ying)h(it)f(can)g(not)f
-(guess)h(the)g(host)f(t)m(yp)s(e,)i(giv)m(e)g(it)f(the)g
-Ft(--host=TYPE)c Fu(option.)150 4103 y(`)p Ft(TYPE)p
-Fu(')29 b(can)h(either)g(b)s(e)g(a)g(short)f(name)h(for)f(the)h(system)
-g(t)m(yp)s(e,)h(suc)m(h)e(as)h(`)p Ft(sun4)p Fu(',)g(or)f(a)h
-(canonical)i(name)150 4212 y(with)e(three)h(\014elds:)40
-b(`)p Ft(CPU-COMPANY-SYSTEM)p Fu(')26 b(\(e.g.,)32 b(`)p
-Ft(i386-unknown-freebsd4.2)p Fu('\).)275 4365 y(See)e(the)h(\014le)f
-Ft(support/config.sub)c Fu(for)k(the)g(p)s(ossible)g(v)-5
-b(alues)31 b(of)f(eac)m(h)i(\014eld.)150 4633 y Fs(10.6)68
-b(Sharing)45 b(Defaults)150 4792 y Fu(If)d(y)m(ou)i(w)m(an)m(t)g(to)f
-(set)h(default)f(v)-5 b(alues)43 b(for)g Ft(configure)d
-Fu(scripts)j(to)h(share,)i(y)m(ou)d(can)g(create)i(a)e(site)150
-4902 y(shell)48 b(script)f(called)i Ft(config.site)44
-b Fu(that)k(giv)m(es)h(default)f(v)-5 b(alues)48 b(for)f(v)-5
-b(ariables)48 b(lik)m(e)h Ft(CC)p Fu(,)j Ft(cache_)150
-5011 y(file)p Fu(,)c(and)d Ft(prefix)p Fu(.)85 b Ft(configure)43
-b Fu(lo)s(oks)j(for)f Ft(PREFIX/share/config.site)39
-b Fu(if)46 b(it)g(exists,)k(then)150 5121 y Ft(PREFIX/etc/config.site)
-24 b Fu(if)31 b(it)g(exists.)42 b(Or,)30 b(y)m(ou)h(can)g(set)g(the)g
-Ft(CONFIG_SITE)c Fu(en)m(vironmen)m(t)k(v)-5 b(ari-)150
-5230 y(able)40 b(to)g(the)g(lo)s(cation)h(of)e(the)h(site)g(script.)67
-b(A)40 b(w)m(arning:)58 b(the)40 b(Bash)g Ft(configure)c
-Fu(lo)s(oks)k(for)f(a)h(site)150 5340 y(script,)31 b(but)e(not)i(all)g
-Ft(configure)d Fu(scripts)i(do.)p eop end
-%%Page: 175 181
-TeXDict begin 175 180 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(175)150 299 y Fs(10.7)68
-b(Op)t(eration)46 b(Con)l(trols)150 458 y Ft(configure)28
-b Fu(recognizes)k(the)e(follo)m(wing)i(options)f(to)g(con)m(trol)h(ho)m
-(w)e(it)h(op)s(erates.)150 619 y Ft(--cache-file=)p Fj(file)630
-729 y Fu(Use)d(and)g(sa)m(v)m(e)h(the)f(results)g(of)g(the)h(tests)f
-(in)g Fr(\014le)33 b Fu(instead)28 b(of)h Ft(./config.cache)p
-Fu(.)36 b(Set)28 b Fr(\014le)630 838 y Fu(to)j Ft(/dev/null)d
-Fu(to)j(disable)g(cac)m(hing,)h(for)e(debugging)g Ft(configure)p
-Fu(.)150 999 y Ft(--help)192 b Fu(Prin)m(t)30 b(a)h(summary)e(of)i(the)
-f(options)h(to)g Ft(configure)p Fu(,)d(and)i(exit.)150
-1159 y Ft(--quiet)150 1269 y(--silent)150 1378 y(-q)384
-b Fu(Do)31 b(not)g(prin)m(t)f(messages)h(sa)m(ying)g(whic)m(h)g(c)m
-(hec)m(ks)g(are)g(b)s(eing)f(made.)150 1539 y Ft(--srcdir=)p
-Fj(dir)630 1648 y Fu(Lo)s(ok)i(for)g(the)g(Bash)g(source)h(co)s(de)f
-(in)g(directory)g Fr(dir)p Fu(.)45 b(Usually)33 b Ft(configure)c
-Fu(can)j(deter-)630 1758 y(mine)e(that)h(directory)g(automatically)-8
-b(.)150 1918 y Ft(--version)630 2028 y Fu(Prin)m(t)29
-b(the)h(v)m(ersion)g(of)g(Auto)s(conf)f(used)g(to)h(generate)h(the)f
-Ft(configure)d Fu(script,)j(and)f(exit.)275 2188 y Ft(configure)34
-b Fu(also)k(accepts)g(some)g(other,)h(not)e(widely)g(used,)h(b)s
-(oilerplate)g(options.)61 b(`)p Ft(configure)150 2298
-y(--help)p Fu(')29 b(prin)m(ts)h(the)g(complete)i(list.)150
-2540 y Fs(10.8)68 b(Optional)46 b(F)-11 b(eatures)150
-2700 y Fu(The)29 b(Bash)h Ft(configure)d Fu(has)j(a)g(n)m(um)m(b)s(er)f
-(of)h Ft(--enable-)p Fj(feature)25 b Fu(options,)30 b(where)g
-Fr(feature)35 b Fu(indicates)150 2809 y(an)e(optional)i(part)e(of)h
-(Bash.)50 b(There)33 b(are)g(also)i(sev)m(eral)g Ft(--with-)p
-Fj(package)29 b Fu(options,)35 b(where)e Fr(pac)m(k)-5
-b(age)150 2919 y Fu(is)41 b(something)g(lik)m(e)h(`)p
-Ft(bash-malloc)p Fu(')c(or)i(`)p Ft(afs)p Fu('.)71 b(T)-8
-b(o)42 b(turn)d(o\013)i(the)g(default)g(use)f(of)h(a)g(pac)m(k)-5
-b(age,)45 b(use)150 3028 y Ft(--without-)p Fj(package)p
-Fu(.)h(T)-8 b(o)34 b(con\014gure)g(Bash)g(without)f(a)i(feature)f(that)
-g(is)g(enabled)g(b)m(y)f(default,)i(use)150 3138 y Ft(--disable-)p
-Fj(feature)p Fu(.)275 3273 y(Here)28 b(is)g(a)h(complete)g(list)g(of)f
-(the)h Ft(--enable-)c Fu(and)j Ft(--with-)e Fu(options)i(that)h(the)f
-(Bash)g Ft(configure)150 3383 y Fu(recognizes.)150 3544
-y Ft(--with-afs)630 3653 y Fu(De\014ne)j(if)f(y)m(ou)h(are)f(using)g
-(the)h(Andrew)e(File)j(System)e(from)g(T)-8 b(ransarc.)150
-3814 y Ft(--with-bash-malloc)630 3923 y Fu(Use)34 b(the)g(Bash)h(v)m
-(ersion)f(of)g Ft(malloc)e Fu(in)i(the)g(directory)h
-Ft(lib/malloc)p Fu(.)48 b(This)34 b(is)g(not)g(the)630
-4033 y(same)29 b Ft(malloc)e Fu(that)j(app)s(ears)e(in)g
-Fm(gnu)h Fu(lib)s(c,)g(but)f(a)h(custom)g(v)m(ersion)h(originally)g
-(deriv)m(ed)630 4143 y(from)i(the)h(4.2)g Fm(bsd)f Ft(malloc)p
-Fu(.)45 b(This)31 b Ft(malloc)g Fu(is)i(v)m(ery)f(fast,)i(but)e(w)m
-(astes)h(some)g(space)g(on)630 4252 y(eac)m(h)g(allo)s(cation,)i
-(though)c(it)h(uses)g(sev)m(eral)h(tec)m(hniques)f(to)h(minimize)f(the)
-g(w)m(aste.)46 b(This)630 4362 y(option)27 b(is)g(enabled)f(b)m(y)g
-(default.)40 b(The)26 b Ft(NOTES)f Fu(\014le)i(con)m(tains)h(a)e(list)i
-(of)e(systems)h(for)f(whic)m(h)630 4471 y(this)h(should)f(b)s(e)h
-(turned)f(o\013,)i(and)f Ft(configure)d Fu(disables)j(this)h(option)f
-(automatically)j(for)630 4581 y(a)h(n)m(um)m(b)s(er)e(of)h(systems.)150
-4741 y Ft(--with-curses)630 4851 y Fu(Use)22 b(the)f(curses)g(library)g
-(instead)h(of)g(the)f(termcap)h(library)-8 b(.)38 b Ft(configure)19
-b Fu(usually)i(c)m(ho)s(oses)630 4960 y(this)42 b(automatically)-8
-b(,)49 b(since)42 b(most)h(systems)f(include)g(the)g(termcap)h
-(functions)f(in)g(the)630 5070 y(curses)30 b(library)-8
-b(.)150 5230 y Ft(--with-gnu-malloc)630 5340 y Fu(A)30
-b(synon)m(ym)g(for)g Ft(--with-bash-malloc)p Fu(.)p eop
-end
-%%Page: 176 182
-TeXDict begin 176 181 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(176)150 299 y Ft
-(--with-installed-readlin)o(e[=)p Fj(P)o(REFI)o(X)p Ft(])630
-408 y Fu(De\014ne)26 b(this)f(to)h(mak)m(e)h(Bash)f(link)f(with)g(a)h
-(lo)s(cally-installed)i(v)m(ersion)e(of)g(Readline)g(rather)630
-518 y(than)f(the)h(v)m(ersion)g(in)f Ft(lib/readline)p
-Fu(.)36 b(This)25 b(w)m(orks)g(only)h(with)f(Readline)h(5.0)h(and)e
-(later)630 628 y(v)m(ersions.)46 b(If)32 b Fr(PREFIX)41
-b Fu(is)32 b Ft(yes)f Fu(or)i(not)f(supplied,)f Ft(configure)f
-Fu(uses)i(the)g(v)-5 b(alues)32 b(of)h(the)630 737 y(mak)m(e)28
-b(v)-5 b(ariables)29 b Ft(includedir)24 b Fu(and)j Ft(libdir)p
-Fu(,)g(whic)m(h)g(are)h(sub)s(directories)f(of)g Ft(prefix)f
-Fu(b)m(y)630 847 y(default,)44 b(to)d(\014nd)f(the)h(installed)g(v)m
-(ersion)h(of)f(Readline)g(if)g(it)g(is)g(not)g(in)g(the)g(standard)630
-956 y(system)35 b(include)f(and)g(library)g(directories.)54
-b(If)34 b Fr(PREFIX)43 b Fu(is)35 b Ft(no)p Fu(,)g(Bash)f(links)h(with)
-f(the)630 1066 y(v)m(ersion)42 b(in)e Ft(lib/readline)p
-Fu(.)70 b(If)40 b Fr(PREFIX)51 b Fu(is)41 b(set)g(to)h(an)m(y)g(other)f
-(v)-5 b(alue,)44 b Ft(configure)630 1176 y Fu(treats)27
-b(it)g(as)f(a)h(directory)g(pathname)f(and)f(lo)s(oks)i(for)f(the)g
-(installed)h(v)m(ersion)g(of)f(Readline)630 1285 y(in)34
-b(sub)s(directories)f(of)h(that)h(directory)g(\(include)f(\014les)g(in)
-g Fr(PREFIX)9 b Fu(/)p Ft(include)32 b Fu(and)i(the)630
-1395 y(library)26 b(in)h Fr(PREFIX)9 b Fu(/)p Ft(lib)p
-Fu(\).)39 b(The)26 b(Bash)h(default)g(is)f(to)i(link)e(with)h(a)g
-(static)h(library)e(built)630 1504 y(in)k(the)h Ft(lib/readline)c
-Fu(sub)s(directory)i(of)h(the)h(build)e(directory)-8
-b(.)150 1680 y Ft(--with-libintl-prefix[=)p Fj(P)o(REFI)o(X)p
-Ft(])630 1789 y Fu(De\014ne)45 b(this)f(to)h(mak)m(e)g(Bash)g(link)f
-(with)g(a)h(lo)s(cally-installed)i(v)m(ersion)e(of)g(the)f(libin)m(tl)
-630 1899 y(library)30 b(instead)h(of)f(the)h(v)m(ersion)g(in)f
-Ft(lib/intl)p Fu(.)150 2074 y Ft(--with-libiconv-prefix[=)o
-Fj(PREF)o(IX)p Ft(])630 2184 y Fu(De\014ne)g(this)g(to)g(mak)m(e)h
-(Bash)f(lo)s(ok)g(for)g(libicon)m(v)h(in)e Fr(PREFIX)39
-b Fu(instead)30 b(of)g(the)g(standard)630 2294 y(system)h(lo)s
-(cations.)42 b(The)30 b(Bash)g(distribution)g(do)s(es)g(not)g(include)h
-(this)f(library)-8 b(.)150 2469 y Ft(--enable-minimal-config)630
-2579 y Fu(This)40 b(pro)s(duces)f(a)j(shell)f(with)f(minimal)h
-(features,)j(closer)e(to)f(the)g(historical)h(Bourne)630
-2688 y(shell.)275 2872 y(There)35 b(are)i(sev)m(eral)h
-Ft(--enable-)c Fu(options)j(that)g(alter)g(ho)m(w)g(Bash)f(is)h
-(compiled,)i(link)m(ed,)f(and)e(in-)150 2981 y(stalled,)c(rather)e
-(than)g(c)m(hanging)h(run-time)f(features.)150 3165 y
-Ft(--enable-largefile)630 3274 y Fu(Enable)36 b(supp)s(ort)f(for)g
-(large)j(\014les)e(\()p Ft(http:)5 b(/)g(/)g(www)g(.)g(unix)g(.)g(org)t
-(/)g(v)o(ersi)o(on2)t(/)g(w)o(hats)o(new)t(/)630 3384
-y(lfs20mar)h(.)g(html)p Fu(\))35 b(if)j(the)g(op)s(erating)g(system)g
-(requires)f(sp)s(ecial)i(compiler)f(options)g(to)630
-3493 y(build)33 b(programs)g(whic)m(h)h(can)g(access)h(large)g
-(\014les.)51 b(This)33 b(is)h(enabled)g(b)m(y)g(default,)h(if)f(the)630
-3603 y(op)s(erating)d(system)f(pro)m(vides)h(large)g(\014le)g(supp)s
-(ort.)150 3778 y Ft(--enable-profiling)630 3888 y Fu(This)g(builds)f(a)
-i(Bash)g(binary)f(that)h(pro)s(duces)e(pro\014ling)h(information)h(to)h
-(b)s(e)d(pro)s(cessed)630 3998 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f
-(it)g(is)f(executed.)150 4173 y Ft(--enable-separate-helpfi)o(les)630
-4283 y Fu(Use)i(external)h(\014les)f(for)g(the)g(do)s(cumen)m(tation)h
-(displa)m(y)m(ed)f(b)m(y)g(the)g Ft(help)f Fu(builtin)h(instead)630
-4392 y(of)f(storing)f(the)h(text)g(in)m(ternally)-8 b(.)150
-4568 y Ft(--enable-static-link)630 4677 y Fu(This)37
-b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h(statically)-8
-b(,)43 b(if)37 b Ft(gcc)g Fu(is)g(b)s(eing)g(used.)61
-b(This)37 b(could)h(b)s(e)630 4787 y(used)30 b(to)h(build)e(a)i(v)m
-(ersion)g(to)g(use)f(as)g(ro)s(ot's)h(shell.)275 4970
-y(The)f(`)p Ft(minimal-config)p Fu(')d(option)k(can)g(b)s(e)f(used)f
-(to)j(disable)e(all)i(of)f(the)f(follo)m(wing)i(options,)g(but)d(it)150
-5080 y(is)h(pro)s(cessed)g(\014rst,)g(so)h(individual)f(options)g(ma)m
-(y)h(b)s(e)f(enabled)g(using)g(`)p Ft(enable-)p Fj(feature)p
-Fu('.)275 5230 y(All)133 b(of)g(the)g(follo)m(wing)i(options)e(except)h
-(for)f(`)p Ft(alt-array-implementation)o Fu(',)150 5340
-y(`)p Ft(disabled-builtins)p Fu(',)212 b(`)p Ft(direxpand-default)p
-Fu(',)h(`)p Ft(strict-posix-default)p Fu(',)f(and)p eop
-end
-%%Page: 177 183
-TeXDict begin 177 182 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(177)150 299 y(`)p Ft(xpg-echo-default)p
-Fu(')28 b(are)33 b(enabled)f(b)m(y)g(default,)h(unless)e(the)i(op)s
-(erating)f(system)h(do)s(es)e(not)i(pro)m(vide)150 408
-y(the)e(necessary)f(supp)s(ort.)150 555 y Ft(--enable-alias)630
-664 y Fu(Allo)m(w)41 b(alias)g(expansion)f(and)f(include)g(the)h
-Ft(alias)f Fu(and)g Ft(unalias)e Fu(builtins)j(\(see)g(Sec-)630
-774 y(tion)31 b(6.6)g([Aliases],)i(page)e(108\).)150
-920 y Ft(--enable-alt-array-imple)o(ment)o(atio)o(n)630
-1029 y Fu(This)h(builds)g(Bash)h(using)f(an)g(alternate)j(implemen)m
-(tation)f(of)f(arra)m(ys)h(\(see)f(Section)h(6.7)630
-1139 y([Arra)m(ys],)43 b(page)d(109\))h(that)f(pro)m(vides)g(faster)g
-(access)h(at)f(the)g(exp)s(ense)f(of)h(using)f(more)630
-1249 y(memory)30 b(\(sometimes)i(man)m(y)e(times)h(more,)g(dep)s
-(ending)e(on)h(ho)m(w)h(sparse)f(an)g(arra)m(y)h(is\).)150
-1395 y Ft(--enable-arith-for-comma)o(nd)630 1504 y Fu(Include)21
-b(supp)s(ort)g(for)g(the)i(alternate)g(form)f(of)g(the)g
-Ft(for)f Fu(command)h(that)h(b)s(eha)m(v)m(es)f(lik)m(e)i(the)630
-1614 y(C)30 b(language)i Ft(for)d Fu(statemen)m(t)j(\(see)g(Section)f
-(3.2.5.1)i([Lo)s(oping)d(Constructs],)h(page)g(12\).)150
-1760 y Ft(--enable-array-variables)630 1870 y Fu(Include)h(supp)s(ort)g
-(for)h(one-dimensional)h(arra)m(y)f(shell)h(v)-5 b(ariables)33
-b(\(see)h(Section)g(6.7)h([Ar-)630 1979 y(ra)m(ys],)c(page)g(109\).)150
-2125 y Ft(--enable-bang-history)630 2235 y Fu(Include)36
-b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f
-(\(see)h(Section)g(9.3)h([History)f(In-)630 2345 y(teraction],)c(page)e
-(168\).)150 2491 y Ft(--enable-bash-source-ful)o(lpat)o(h-de)o(fau)o
-(lt)630 2600 y Fu(Set)21 b(the)f(default)h(v)-5 b(alue)21
-b(of)g(the)g Ft(bash_source_fullpath)15 b Fu(shell)20
-b(option)h(describ)s(ed)f(ab)s(o)m(v)m(e)630 2710 y(under)30
-b(Section)i(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77,)h(to)f(b)s(e)
-f(enabled.)43 b(This)31 b(con)m(trols)630 2819 y(ho)m(w)f(\014lenames)h
-(are)g(assigned)f(to)h(the)g Ft(BASH_SOURCE)c Fu(arra)m(y)k(v)-5
-b(ariable.)150 2966 y Ft(--enable-brace-expansion)630
-3075 y Fu(Include)40 b Ft(csh)p Fu(-lik)m(e)h(brace)f(expansion)g(\()h
-Ft(b{a,b}c)d Fq(7!)i Ft(bac)30 b(bbc)39 b Fu(\).)71 b(See)40
-b(Section)h(3.5.1)630 3185 y([Brace)32 b(Expansion],)e(page)h(25,)h
-(for)e(a)g(complete)i(description.)150 3331 y Ft
-(--enable-casemod-attribu)o(tes)630 3440 y Fu(Include)37
-b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h
-Ft(declare)e Fu(builtin)i(and)f(as-)630 3550 y(signmen)m(t)43
-b(statemen)m(ts.)78 b(V)-8 b(ariables)44 b(with)e(the)g
-Ft(uppercase)e Fu(attribute,)46 b(for)c(example,)630
-3660 y(will)31 b(ha)m(v)m(e)g(their)g(v)-5 b(alues)30
-b(con)m(v)m(erted)i(to)f(upp)s(ercase)f(up)s(on)f(assignmen)m(t.)150
-3806 y Ft(--enable-casemod-expansi)o(on)630 3915 y Fu(Include)h(supp)s
-(ort)e(for)i(case-mo)s(difying)i(w)m(ord)e(expansions.)150
-4061 y Ft(--enable-command-timing)630 4171 y Fu(Include)43
-b(supp)s(ort)f(for)h(recognizing)i Ft(time)e Fu(as)g(a)h(reserv)m(ed)g
-(w)m(ord)f(and)g(for)h(displa)m(ying)630 4281 y(timing)37
-b(statistics)h(for)e(the)g(pip)s(eline)g(follo)m(wing)i
-Ft(time)d Fu(\(see)i(Section)g(3.2.3)h([Pip)s(elines],)630
-4390 y(page)52 b(10\).)107 b(This)50 b(allo)m(ws)k(timing)e(pip)s
-(elines,)57 b(shell)51 b(comp)s(ound)g(commands,)57 b(shell)630
-4500 y(builtins,)30 b(and)g(shell)g(functions,)h(whic)m(h)f(an)g
-(external)h(command)f(cannot)h(do)g(easily)-8 b(.)150
-4646 y Ft(--enable-cond-command)630 4756 y Fu(Include)33
-b(supp)s(ort)f(for)i(the)g Ft([[)f Fu(conditional)i(command.)51
-b(\(see)34 b(Section)h(3.2.5.2)h([Condi-)630 4865 y(tional)c
-(Constructs],)e(page)h(12\).)150 5011 y Ft(--enable-cond-regexp)630
-5121 y Fu(Include)k(supp)s(ort)f(for)i(matc)m(hing)h
-Fm(posix)e Fu(regular)h(expressions)g(using)f(the)h(`)p
-Ft(=~)p Fu(')g(binary)630 5230 y(op)s(erator)25 b(in)f(the)h
-Ft([[)f Fu(conditional)h(command.)39 b(\(see)25 b(Section)h(3.2.5.2)h
-([Conditional)e(Con-)630 5340 y(structs],)31 b(page)g(12\).)p
-eop end
-%%Page: 178 184
-TeXDict begin 178 183 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(178)150 299 y Ft(--enable-coprocesses)630
-408 y Fu(Include)23 b(supp)s(ort)f(for)i(copro)s(cesses)g(and)f(the)h
-Ft(coproc)e Fu(reserv)m(ed)i(w)m(ord)g(\(see)h(Section)f(3.2.3)630
-518 y([Pip)s(elines],)31 b(page)g(10\).)150 664 y Ft(--enable-debugger)
-630 774 y Fu(Include)f(supp)s(ort)e(for)i(the)h(Bash)g(debugger)f
-(\(distributed)f(separately\).)150 920 y Ft(--enable-dev-fd-stat-bro)o
-(ken)630 1029 y Fu(If)d(calling)j Ft(stat)d Fu(on)g(/dev/fd/)p
-Fr(N)38 b Fu(returns)25 b(di\013eren)m(t)j(results)f(than)f(calling)j
-Ft(fstat)c Fu(on)i(\014le)630 1139 y(descriptor)g Fr(N)p
-Fu(,)i(supply)c(this)j(option)g(to)g(enable)f(a)h(w)m(ork)-5
-b(around.)39 b(This)27 b(has)g(implications)630 1249
-y(for)j(conditional)i(commands)e(that)h(test)g(\014le)g(attributes.)150
-1395 y Ft(--enable-direxpand-defau)o(lt)630 1504 y Fu(Cause)53
-b(the)g Ft(direxpand)d Fu(shell)j(option)h(\(see)g(Section)f(4.3.2)i
-([The)e(Shopt)f(Builtin],)630 1614 y(page)29 b(77\))g(to)f(b)s(e)f
-(enabled)h(b)m(y)g(default)g(when)e(the)i(shell)g(starts.)41
-b(It)27 b(is)h(normally)g(disabled)630 1724 y(b)m(y)i(default.)150
-1870 y Ft(--enable-directory-stack)630 1979 y Fu(Include)j(supp)s(ort)g
-(for)h(a)g Ft(csh)p Fu(-lik)m(e)h(directory)f(stac)m(k)i(and)d(the)i
-Ft(pushd)p Fu(,)f Ft(popd)p Fu(,)g(and)f Ft(dirs)630
-2089 y Fu(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m
-(k],)g(page)f(111\).)150 2235 y Ft(--enable-disabled-builti)o(ns)630
-2345 y Fu(Allo)m(w)40 b(builtin)e(commands)g(to)h(b)s(e)f(in)m(v)m(ok)m
-(ed)i(via)f(`)p Ft(builtin)29 b(xxx)p Fu(')37 b(ev)m(en)j(after)f
-Ft(xxx)e Fu(has)630 2454 y(b)s(een)31 b(disabled)g(using)g(`)p
-Ft(enable)d(-n)i(xxx)p Fu('.)43 b(See)32 b(Section)g(4.2)h([Bash)e
-(Builtins],)i(page)f(60,)630 2564 y(for)e(details)i(of)e(the)h
-Ft(builtin)d Fu(and)i Ft(enable)e Fu(builtin)i(commands.)150
-2710 y Ft(--enable-dparen-arithmet)o(ic)630 2819 y Fu(Include)42
-b(supp)s(ort)f(for)h(the)h Ft(\(\(...)o(\)\))f Fu(command)g(\(see)i
-(Section)f(3.2.5.2)i([Conditional)630 2929 y(Constructs],)30
-b(page)h(12\).)150 3075 y Ft(--enable-extended-glob)630
-3185 y Fu(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h
-(matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)630
-3294 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i
-(page)e(38.)150 3440 y Ft(--enable-extended-glob-d)o(efau)o(lt)630
-3550 y Fu(Set)37 b(the)f(default)h(v)-5 b(alue)37 b(of)f(the)h
-Ft(extglob)d Fu(shell)j(option)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)
-c(Sec-)630 3660 y(tion)d(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77,)
-h(to)f(b)s(e)f(enabled.)150 3806 y Ft(--enable-function-import)630
-3915 y Fu(Include)23 b(supp)s(ort)g(for)g(imp)s(orting)h(function)g
-(de\014nitions)f(exp)s(orted)h(b)m(y)g(another)g(instance)630
-4025 y(of)31 b(the)f(shell)h(from)f(the)g(en)m(vironmen)m(t.)41
-b(This)30 b(option)h(is)f(enabled)h(b)m(y)f(default.)150
-4171 y Ft(--enable-glob-asciirange)o(s-de)o(faul)o(t)630
-4281 y Fu(Set)f(the)f(default)h(v)-5 b(alue)29 b(of)f(the)h
-Ft(globasciiranges)24 b Fu(shell)29 b(option)g(describ)s(ed)e(ab)s(o)m
-(v)m(e)j(un-)630 4390 y(der)c(Section)i(4.3.2)h([The)d(Shopt)g
-(Builtin],)j(page)f(77,)g(to)g(b)s(e)e(enabled.)40 b(This)26
-b(con)m(trols)i(the)630 4500 y(b)s(eha)m(vior)40 b(of)f(c)m(haracter)i
-(ranges)f(when)f(used)f(in)i(pattern)f(matc)m(hing)i(brac)m(k)m(et)g
-(expres-)630 4609 y(sions.)150 4756 y Ft(--enable-help-builtin)630
-4865 y Fu(Include)24 b(the)h Ft(help)f Fu(builtin,)h(whic)m(h)g(displa)
-m(ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25
-b(\(see)630 4975 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(60\).)150 5121 y Ft(--enable-history)630 5230 y Fu(Include)e(command)g
-(history)h(and)f(the)h Ft(fc)f Fu(and)g Ft(history)e
-Fu(builtin)j(commands)f(\(see)h(Sec-)630 5340 y(tion)h(9.1)g([Bash)g
-(History)g(F)-8 b(acilities],)34 b(page)d(165\).)p eop
-end
-%%Page: 179 185
-TeXDict begin 179 184 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(179)150 299 y Ft(--enable-job-control)630
-408 y Fu(This)32 b(enables)i(the)f(job)g(con)m(trol)i(features)e(\(see)
-i(Chapter)d(7)i([Job)f(Con)m(trol],)i(page)f(123\),)630
-518 y(if)c(the)h(op)s(erating)g(system)f(supp)s(orts)f(them.)150
-673 y Ft(--enable-multibyte)630 783 y Fu(This)g(enables)i(supp)s(ort)d
-(for)i(m)m(ultib)m(yte)h(c)m(haracters)g(if)f(the)g(op)s(erating)h
-(system)f(pro)m(vides)630 892 y(the)h(necessary)f(supp)s(ort.)150
-1048 y Ft(--enable-net-redirection)o(s)630 1157 y Fu(This)23
-b(enables)h(the)g(sp)s(ecial)h(handling)e(of)h(\014lenames)g(of)g(the)g
-(form)g Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 1267
-y Fu(and)31 b Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)26
-b Fu(when)31 b(used)g(in)g(redirections)h(\(see)g(Section)g(3.6)h
-([Redirec-)630 1377 y(tions],)e(page)g(40\).)150 1532
-y Ft(--enable-process-substit)o(utio)o(n)630 1641 y Fu(This)49
-b(enables)i(pro)s(cess)f(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)
-s(cess)e(Substitution],)630 1751 y(page)31 b(36\))h(if)e(the)h(op)s
-(erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
-1906 y Ft(--enable-progcomp)630 2016 y Fu(Enable)d(the)g(programmable)g
-(completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
-2125 y(Completion],)i(page)h(156\).)42 b(If)30 b(Readline)h(is)f(not)h
-(enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150
-2281 y Ft(--enable-prompt-string-d)o(ecod)o(ing)630 2390
-y Fu(T)-8 b(urn)30 b(on)i(the)f(in)m(terpretation)i(of)f(a)g(n)m(um)m
-(b)s(er)e(of)i(bac)m(kslash-escap)s(ed)g(c)m(haracters)i(in)d(the)630
-2500 y Ft($PS0)p Fu(,)36 b Ft($PS1)p Fu(,)g Ft($PS2)p
-Fu(,)h(and)e Ft($PS4)f Fu(prompt)h(strings.)57 b(See)36
-b(Section)h(6.9)g([Con)m(trolling)g(the)630 2609 y(Prompt],)30
-b(page)h(112,)h(for)f(a)f(complete)i(list)f(of)g(prompt)e(string)i
-(escap)s(e)f(sequences.)150 2765 y Ft(--enable-readline)630
-2874 y Fu(Include)e(supp)s(ort)f(for)h(command-line)h(editing)g(and)f
-(history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 2984
-y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g
-(Editing],)h(page)g(128\).)150 3139 y Ft(--enable-restricted)630
-3249 y Fu(Include)25 b(supp)s(ort)e(for)i(a)h Fr(restricted)g(shell)p
-Fu(.)39 b(If)25 b(this)g(is)h(enabled,)g(Bash)g(en)m(ters)g(a)f
-(restricted)630 3358 y(mo)s(de)30 b(when)f(called)i(as)g
-Ft(rbash)p Fu(.)39 b(See)30 b(Section)h(6.10)h([The)e(Restricted)h
-(Shell],)f(page)h(114,)630 3468 y(for)f(a)h(description)f(of)h
-(restricted)g(mo)s(de.)150 3623 y Ft(--enable-select)630
-3733 y Fu(Include)42 b(the)h Ft(select)d Fu(comp)s(ound)i(command,)j
-(whic)m(h)d(allo)m(ws)i(generation)g(of)f(simple)630
-3842 y(men)m(us)30 b(\(see)h(Section)g(3.2.5.2)i([Conditional)e
-(Constructs],)g(page)g(12\).)150 3998 y Ft(--enable-single-help-str)o
-(ings)630 4107 y Fu(Store)40 b(the)g(text)h(displa)m(y)m(ed)g(b)m(y)e
-(the)i Ft(help)d Fu(builtin)i(as)g(a)g(single)h(string)f(for)f(eac)m(h)
-i(help)630 4217 y(topic.)54 b(This)33 b(aids)i(in)f(translating)h(the)g
-(text)g(to)g(di\013eren)m(t)g(languages.)54 b(Y)-8 b(ou)35
-b(ma)m(y)g(need)630 4326 y(to)c(disable)g(this)f(if)g(y)m(our)h
-(compiler)g(cannot)f(handle)g(v)m(ery)h(long)g(string)f(literals.)150
-4482 y Ft(--enable-strict-posix-de)o(faul)o(t)630 4591
-y Fu(Mak)m(e)c(Bash)f Fm(posix)p Fu(-conforman)m(t)g(b)m(y)f(default)h
-(\(see)g(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)630
-4701 y(page)31 b(115\).)150 4856 y Ft(--enable-translatable-st)o(ring)o
-(s)630 4966 y Fu(Enable)h(supp)s(ort)e(for)i Ft($")p
-Fj(string)p Ft(")e Fu(translatable)j(strings)f(\(see)h(Section)g
-(3.1.2.5)h([Lo)s(cale)630 5075 y(T)-8 b(ranslation],)32
-b(page)f(7\).)150 5230 y Ft(--enable-usg-echo-defaul)o(t)630
-5340 y Fu(A)f(synon)m(ym)g(for)g Ft(--enable-xpg-echo-default)p
-Fu(.)p eop end
-%%Page: 180 186
-TeXDict begin 180 185 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(180)150 299 y Ft
-(--enable-xpg-echo-defaul)o(t)630 408 y Fu(Mak)m(e)26
-b(the)f Ft(echo)e Fu(builtin)i(expand)f(bac)m(kslash-escap)s(ed)h(c)m
-(haracters)h(b)m(y)f(default,)h(without)630 518 y(requiring)d(the)h
-Ft(-e)f Fu(option.)39 b(This)23 b(sets)h(the)g(default)g(v)-5
-b(alue)24 b(of)g(the)g Ft(xpg_echo)e Fu(shell)h(option)630
-628 y(to)28 b Ft(on)p Fu(,)g(whic)m(h)f(mak)m(es)h(the)g(Bash)f
-Ft(echo)f Fu(b)s(eha)m(v)m(e)i(more)g(lik)m(e)h(the)e(v)m(ersion)h(sp)s
-(eci\014ed)f(in)g(the)630 737 y(Single)35 b(Unix)f(Sp)s(eci\014cation,)
-i(v)m(ersion)e(3.)53 b(See)35 b(Section)g(4.2)g([Bash)g(Builtins],)h
-(page)f(60,)630 847 y(for)30 b(a)h(description)f(of)h(the)f(escap)s(e)h
-(sequences)g(that)g Ft(echo)e Fu(recognizes.)275 1006
-y(The)f(\014le)i Ft(config-top.h)c Fu(con)m(tains)31
-b(C)d(Prepro)s(cessor)h(`)p Ft(#define)p Fu(')f(statemen)m(ts)j(for)f
-(options)f(whic)m(h)150 1116 y(are)35 b(not)g(settable)i(from)d
-Ft(configure)p Fu(.)51 b(Some)35 b(of)g(these)g(are)h(not)f(mean)m(t)g
-(to)h(b)s(e)e(c)m(hanged;)k(b)s(ew)m(are)d(of)150 1225
-y(the)h(consequences)g(if)f(y)m(ou)h(do.)55 b(Read)36
-b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e
-(for)g(more)150 1335 y(information)c(ab)s(out)f(its)h(e\013ect.)p
-eop end
-%%Page: 181 187
-TeXDict begin 181 186 bop 3614 -116 a Fu(181)150 299
-y Fp(App)t(endix)52 b(A)81 b(Rep)t(orting)53 b(Bugs)150
-533 y Fu(Please)33 b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i
-(Bash.)44 b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e
-(that)h(it)g(really)h(is)f(a)150 643 y(bug,)g(and)f(that)h(it)g(app)s
-(ears)f(in)h(the)g(latest)h(v)m(ersion)f(of)g(Bash.)45
-b(The)31 b(latest)i(released)g(v)m(ersion)f(of)g(Bash)150
-752 y(is)g(alw)m(a)m(ys)i(a)m(v)-5 b(ailable)34 b(for)e(FTP)f(from)h
-Ft(ftp:)q(/)q(/)q(ftp)q(.)q(gnu)q(.)q(org)q(/)q(pub)q(/)q(gnu)q(/)q
-(bash)q(/)d Fu(and)j(from)f Ft(http:)q(/)q(/)150 862
-y(git.savannah.gnu.org/cgi)o(t/ba)o(sh.g)o(it/)o(snap)o(shot)o(/ba)o
-(sh-m)o(aste)o(r.t)o(ar.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)21 b(a)g(bug)g(rep)s(ort)g(or)g(use)g(the)h(form)e(at)j
-(the)e(Bash)h(pro)5 b(ject)21 b(page)h(\()p Ft
-(https://savannah.gnu.org/)150 1215 y(projects/bash/)p
-Fu(\).)35 b(If)24 b(y)m(ou)h(ha)m(v)m(e)h(a)f(\014x,)g(y)m(ou)g(are)g
-(encouraged)g(to)g(submit)f(that)h(as)g(w)m(ell!)39 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: 182 188
-TeXDict begin 182 187 bop 3614 -116 a Fu(182)150 141
-y Fp(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13
-b(rom)54 b(The)g(Bourne)1088 299 y(Shell)150 518 y Fu(Bash)26
-b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f
-(and)g(v)-5 b(ariable)27 b(expansion,)g(redirec-)150
-628 y(tion,)36 b(and)d(quoting)i(as)g(the)f(Bourne)g(Shell.)52
-b(Bash)34 b(uses)g(the)g Fm(posix)g Fu(standard)f(as)i(the)f(sp)s
-(eci\014cation)150 737 y(of)c(ho)m(w)h(these)f(features)h(are)g(to)g(b)
-s(e)e(implemen)m(ted)i(and)f(ho)m(w)g(they)g(should)g(b)s(eha)m(v)m(e.)
-41 b(There)30 b(are)h(some)150 847 y(di\013erences)j(b)s(et)m(w)m(een)g
-(the)f(traditional)i(Bourne)e(shell)h(and)f(Bash;)i(this)f(section)g
-(quic)m(kly)g(details)h(the)150 956 y(di\013erences)d(of)g
-(signi\014cance.)47 b(A)32 b(n)m(um)m(b)s(er)e(of)i(these)h
-(di\013erences)f(are)g(explained)g(in)g(greater)h(depth)e(in)150
-1066 y(previous)g(sections.)46 b(This)31 b(section)h(uses)f(the)h(v)m
-(ersion)g(of)g Ft(sh)f Fu(included)g(in)g(SVR4.2)i(\(the)f(last)g(v)m
-(ersion)150 1176 y(of)f(the)f(historical)i(Bourne)e(shell\))h(as)g(the)
-f(baseline)h(reference.)225 1307 y Fq(\017)60 b Fu(Bash)32
-b(is)h Fm(posix)p Fu(-conforman)m(t,)g(ev)m(en)g(where)f(the)g
-Fm(posix)g Fu(sp)s(eci\014cation)h(di\013ers)f(from)g(traditional)330
-1417 y Ft(sh)e Fu(b)s(eha)m(vior)g(\(see)i(Section)f(6.11)h([Bash)e
-(POSIX)g(Mo)s(de],)h(page)g(115\).)225 1548 y Fq(\017)60
-b Fu(Bash)26 b(has)g(m)m(ulti-c)m(haracter)i(in)m(v)m(o)s(cation)g
-(options)f(\(see)f(Section)h(6.1)g([In)m(v)m(oking)g(Bash],)h(page)e
-(99\).)225 1680 y Fq(\017)60 b Fu(The)46 b(Bash)h(restricted)g(mo)s(de)
-f(is)h(more)f(useful)g(\(see)h(Section)h(6.10)g([The)e(Restricted)i
-(Shell],)330 1789 y(page)31 b(114\);)h(the)f(SVR4.2)g(shell)g
-(restricted)g(mo)s(de)f(is)g(to)s(o)h(limited.)225 1921
-y Fq(\017)60 b Fu(Bash)40 b(has)f(command-line)h(editing)g(\(see)h
-(Chapter)e(8)h([Command)f(Line)g(Editing],)k(page)d(128\))330
-2030 y(and)30 b(the)g Ft(bind)g Fu(builtin.)225 2162
-y Fq(\017)60 b Fu(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m(ord)f
-(completion)i(mec)m(hanism)f(\(see)h(Section)g(8.6)g([Pro-)330
-2271 y(grammable)39 b(Completion],)i(page)e(156\),)i(and)d(builtin)g
-(commands)f Ft(complete)p Fu(,)h Ft(compgen)p Fu(,)h(and)330
-2381 y Ft(compopt)p Fu(,)29 b(to)i(manipulate)g(it.)225
-2513 y Fq(\017)60 b Fu(Bash)35 b(deco)s(des)g(a)h(n)m(um)m(b)s(er)e(of)
-h(bac)m(kslash-escap)s(e)i(sequences)e(in)g(the)g(prompt)f(string)h(v)
--5 b(ariables)330 2622 y(\()p Ft(PS0)p Fu(,)30 b Ft(PS1)p
-Fu(,)g Ft(PS2)p Fu(,)g(and)f Ft(PS4)p Fu(\))h(\(see)h(Section)h(6.9)f
-([Con)m(trolling)h(the)e(Prompt],)h(page)g(112\).)225
-2754 y Fq(\017)60 b Fu(Bash)31 b(expands)e(and)h(displa)m(ys)g(the)h
-Ft(PS0)e Fu(prompt)h(string)g(v)-5 b(ariable.)225 2885
-y Fq(\017)60 b Fu(Bash)45 b(runs)e(commands)i(from)f(the)i
-Ft(PROMPT_COMMAND)41 b Fu(arra)m(y)k(v)-5 b(ariable)46
-b(b)s(efore)e(issuing)h(eac)m(h)330 2995 y(primary)29
-b(prompt.)225 3126 y Fq(\017)60 b Fu(Bash)26 b(has)f(command)h(history)
-f(\(see)i(Section)f(9.1)h([Bash)f(History)h(F)-8 b(acilities],)30
-b(page)c(165\))i(and)d(the)330 3236 y Ft(history)k Fu(and)h
-Ft(fc)g Fu(builtins)g(to)h(manipulate)g(it.)42 b(The)30
-b(Bash)h(history)g(list)g(main)m(tains)g(timestamp)330
-3345 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
-b(of)f(the)h Ft(HISTTIMEFORMAT)26 b Fu(v)-5 b(ariable)32
-b(to)f(displa)m(y)f(it.)225 3477 y Fq(\017)60 b Fu(Bash)48
-b(implemen)m(ts)h Ft(csh)p Fu(-lik)m(e)g(history)f(expansion)g(\(see)h
-(Section)g(9.3)h([History)f(In)m(teraction],)330 3587
-y(page)31 b(168\).)225 3718 y Fq(\017)60 b Fu(Bash)34
-b(supp)s(orts)e(the)i Ft($'...)o(')f Fu(quoting)h(syn)m(tax,)i(whic)m
-(h)d(expands)g(ANSI-C)h(bac)m(kslash-escap)s(ed)330 3828
-y(c)m(haracters)28 b(in)e(the)h(text)h(b)s(et)m(w)m(een)f(the)g(single)
-g(quotes)h(\(see)f(Section)h(3.1.2.4)h([ANSI-C)d(Quoting],)330
-3937 y(page)31 b(6\).)225 4069 y Fq(\017)60 b Fu(Bash)37
-b(supp)s(orts)e(the)i Ft($"...)o(")f Fu(quoting)h(syn)m(tax)h(and)e(p)s
-(erforms)f(lo)s(cale-sp)s(eci\014c)k(translation)f(of)330
-4178 y(the)j(c)m(haracters)i(b)s(et)m(w)m(een)f(the)g(double)e(quotes.)
-74 b(The)41 b Ft(-D)p Fu(,)j Ft(--dump-strings)p Fu(,)c(and)h
-Ft(--dump-)330 4288 y(po-strings)29 b Fu(in)m(v)m(o)s(cation)34
-b(options)e(list)g(the)g(translatable)h(strings)f(found)e(in)i(a)g
-(script)g(\(see)g(Sec-)330 4398 y(tion)f(3.1.2.5)i([Lo)s(cale)f(T)-8
-b(ranslation],)31 b(page)g(7\).)225 4529 y Fq(\017)60
-b Fu(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h(Section)g(3.5.1)i
-([Brace)e(Expansion],)g(page)g(25\))h(and)d(tilde)330
-4639 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f
-(page)h(26\).)225 4770 y Fq(\017)60 b Fu(Bash)24 b(implemen)m(ts)h
-(command)e(aliases)j(and)d(the)i Ft(alias)d Fu(and)i
-Ft(unalias)e Fu(builtins)h(\(see)i(Section)g(6.6)330
-4880 y([Aliases],)32 b(page)f(108\).)225 5011 y Fq(\017)60
-b Fu(Bash)44 b(implemen)m(ts)g(the)f Ft(!)h Fu(k)m(eyw)m(ord)g(to)g
-(negate)h(the)f(return)e(v)-5 b(alue)44 b(of)g(a)g(pip)s(eline)f(\(see)
-h(Sec-)330 5121 y(tion)31 b(3.2.3)h([Pip)s(elines],)e(page)h(10\).)42
-b(This)29 b(is)i(v)m(ery)f(useful)f(when)h(an)g Ft(if)f
-Fu(statemen)m(t)j(needs)e(to)h(act)330 5230 y(only)24
-b(if)g(a)g(test)h(fails.)39 b(The)23 b(Bash)h(`)p Ft(-o)30
-b(pipefail)p Fu(')22 b(option)i(to)h Ft(set)d Fu(will)j(cause)f(a)g
-(pip)s(eline)f(to)i(return)330 5340 y(a)31 b(failure)f(status)h(if)f
-(an)m(y)h(command)f(fails)h(\(see)g(Section)h(4.3.1)g([The)e(Set)g
-(Builtin],)i(page)f(72\).)p eop end
-%%Page: 183 189
-TeXDict begin 183 188 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(183)225 299 y Fq(\017)60
-b Fu(Bash)34 b(has)g(the)g Ft(time)f Fu(reserv)m(ed)h(w)m(ord)g(and)f
-(command)h(timing)h(\(see)g(Section)g(3.2.3)g([Pip)s(elines],)330
-408 y(page)d(10\).)43 b(The)31 b(displa)m(y)g(of)g(the)g(timing)h
-(statistics)h(ma)m(y)e(b)s(e)f(con)m(trolled)j(with)e(the)g
-Ft(TIMEFORMAT)330 518 y Fu(v)-5 b(ariable.)225 664 y
-Fq(\017)60 b Fu(Bash)40 b(pro)m(vides)h(copro)s(cesses)g(and)f(the)g
-Ft(coproc)f Fu(reserv)m(ed)h(w)m(ord)g(\(see)h(Section)h(3.2.6)g
-([Copro-)330 774 y(cesses],)32 b(page)f(18\).)225 920
-y Fq(\017)60 b Fu(Bash)28 b(implemen)m(ts)g(the)f Ft(for)j(\(\()g
-Fj(expr1)f Ft(;)h Fj(expr2)f Ft(;)h Fj(expr3)f Ft(\)\))e
-Fu(arithmetic)h(for)g(command,)g(sim-)330 1029 y(ilar)j(to)g(the)g(C)f
-(language)h(\(see)h(Section)f(3.2.5.1)i([Lo)s(oping)d(Constructs],)h
-(page)g(12\).)225 1176 y Fq(\017)60 b Fu(Bash)31 b(includes)f(the)g
-Ft(select)f Fu(comp)s(ound)g(command,)i(whic)m(h)f(allo)m(ws)i(the)f
-(generation)g(of)g(simple)330 1285 y(men)m(us)f(\(see)h(Section)g
-(3.2.5.2)i([Conditional)e(Constructs],)g(page)g(12\).)225
-1431 y Fq(\017)60 b Fu(Bash)40 b(includes)g(the)g Ft([[)g
-Fu(comp)s(ound)e(command,)43 b(whic)m(h)c(mak)m(es)i(conditional)h
-(testing)f(part)f(of)330 1541 y(the)f(shell)g(grammar)g(\(see)h
-(Section)f(3.2.5.2)j([Conditional)d(Constructs],)i(page)f(12\),)i
-(including)330 1650 y(optional)32 b(regular)e(expression)g(matc)m
-(hing.)225 1797 y Fq(\017)60 b Fu(Bash)35 b(pro)m(vides)f(optional)h
-(case-insensitiv)m(e)i(matc)m(hing)f(for)e(the)h Ft(case)e
-Fu(and)h Ft([[)f Fu(constructs)i(\(see)330 1906 y(Section)c(3.2.5.2)i
-([Conditional)e(Constructs],)g(page)g(12\).)225 2052
-y Fq(\017)60 b Fu(Bash)37 b(pro)m(vides)g(additional)h
-Ft(case)e Fu(statemen)m(t)j(action)g(list)f(terminators:)55
-b(`)p Ft(;&)p Fu(')37 b(and)f(`)p Ft(;;&)p Fu(')h(\(see)330
-2162 y(Section)31 b(3.2.5.2)i([Conditional)e(Constructs],)g(page)g
-(12\).)225 2308 y Fq(\017)60 b Fu(Bash)25 b(pro)m(vides)g(shell)g
-(arithmetic,)j(the)d Ft(\(\()f Fu(comp)s(ound)g(command)h(\(see)h
-(Section)g(3.2.5.2)h([Condi-)330 2418 y(tional)h(Constructs],)f(page)g
-(12\),)h(the)f Ft(let)e Fu(builtin,)i(and)f(arithmetic)h(expansion)f
-(\(see)i(Section)f(6.5)330 2527 y([Shell)j(Arithmetic],)i(page)f
-(106\).)225 2673 y Fq(\017)60 b Fu(Bash)29 b(has)h(one-dimensional)g
-(arra)m(y)f(v)-5 b(ariables)30 b(\(see)h(Section)f(6.7)g([Arra)m(ys],)h
-(page)f(109\),)h(and)e(the)330 2783 y(appropriate)39
-b(v)-5 b(ariable)40 b(expansions)f(and)g(assignmen)m(t)h(syn)m(tax)g
-(to)g(use)f(them.)67 b(Sev)m(eral)40 b(of)g(the)330 2892
-y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h(act)g(on)e(arra)m(ys.)
-46 b(Bash)32 b(pro)m(vides)g(a)g(n)m(um)m(b)s(er)f(of)h(built-in)f
-(arra)m(y)330 3002 y(v)-5 b(ariables.)225 3148 y Fq(\017)60
-b Fu(V)-8 b(ariables)31 b(presen)m(t)e(in)g(the)g(shell's)h(initial)g
-(en)m(vironmen)m(t)g(are)g(automatically)i(exp)s(orted)d(to)h(c)m(hild)
-330 3258 y(pro)s(cesses)24 b(\(see)h(Section)g(3.7.3)h([Command)e
-(Execution)h(En)m(vironmen)m(t],)h(page)f(45\).)39 b(The)24
-b(Bourne)330 3367 y(shell)40 b(do)s(es)g(not)g(normally)g(do)g(this)g
-(unless)f(the)i(v)-5 b(ariables)40 b(are)h(explicitly)g(mark)m(ed)f
-(using)g(the)330 3477 y Ft(export)29 b Fu(command.)225
-3623 y Fq(\017)60 b Fu(Bash)43 b(can)h(expand)e(p)s(ositional)i
-(parameters)f(b)s(ey)m(ond)g Ft($9)f Fu(using)h Ft(${)p
-Fj(num)p Ft(})e Fu(\(see)j(Section)g(3.5.3)330 3733 y([Shell)30
-b(P)m(arameter)i(Expansion],)e(page)h(27\).)225 3879
-y Fq(\017)60 b Fu(Bash)26 b(supp)s(orts)d(the)j(`)p Ft(+=)p
-Fu(')f(assignmen)m(t)i(op)s(erator,)g(whic)m(h)e(app)s(ends)f(to)i(the)
-g(v)-5 b(alue)26 b(of)f(the)h(v)-5 b(ariable)330 3988
-y(named)30 b(on)g(the)h(left)g(hand)e(side)h(\(see)i(Section)f(3.4)g
-([Shell)g(P)m(arameters],)h(page)f(22\).)225 4134 y Fq(\017)60
-b Fu(Bash)36 b(includes)g(the)g Fm(posix)f Fu(pattern)h(remo)m(v)-5
-b(al)37 b(`)p Ft(\045)p Fu(',)h(`)p Ft(#)p Fu(',)g(`)p
-Ft(\045\045)p Fu(')e(and)f(`)p Ft(##)p Fu(')h(expansions)g(to)g(remo)m
-(v)m(e)330 4244 y(leading)f(or)f(trailing)h(substrings)e(from)g(v)-5
-b(ariable)35 b(v)-5 b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m
-(arameter)330 4354 y(Expansion],)30 b(page)h(27\).)225
-4500 y Fq(\017)60 b Fu(The)46 b(expansion)g Ft(${#xx})p
-Fu(,)j(whic)m(h)d(returns)f(the)i(length)f(of)h Ft(${xx})p
-Fu(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330 4609 y(tion)31
-b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i(27\).)225
-4756 y Fq(\017)60 b Fu(The)30 b(expansion)g Ft(${var:)p
-Fr(o\013set)r Ft([:)p Fr(length)p Ft(]})p Fu(,)g(whic)m(h)g(expands)g
-(to)h(the)g(substring)e(of)i Ft(var)p Fu('s)e(v)-5 b(alue)330
-4865 y(of)43 b(length)g Fr(length)p Fu(,)k(b)s(eginning)42
-b(at)i Fr(o\013set)p Fu(,)j(is)c(presen)m(t)g(\(see)g(Section)h(3.5.3)h
-([Shell)e(P)m(arameter)330 4975 y(Expansion],)30 b(page)h(27\).)225
-5121 y Fq(\017)60 b Fu(The)21 b(expansion)f Ft(${)p Fj(var)p
-Ft(/[/])p Fr(pattern)p Ft([/)p Fr(replacemen)m(t)r Ft(]})p
-Fu(,)i(whic)m(h)e(matc)m(hes)j Fr(pattern)e Fu(and)f(replaces)330
-5230 y(it)30 b(with)f Fr(replacemen)m(t)k Fu(in)c(the)h(v)-5
-b(alue)30 b(of)g Fr(v)-5 b(ar)p Fu(,)30 b(is)f(a)m(v)-5
-b(ailable)32 b(\(see)e(Section)h(3.5.3)g([Shell)f(P)m(arameter)330
-5340 y(Expansion],)g(page)h(27\),)h(with)e(a)h(mec)m(hanism)g(to)g(use)
-f(the)g(matc)m(hed)i(text)f(in)f Fr(replacemen)m(t)p
-Fu(.)p eop end
-%%Page: 184 190
-TeXDict begin 184 189 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(184)225 299 y Fq(\017)60
-b Fu(The)33 b(expansion)g Ft(${!)p Fj(prefix)p Ft(*})d
-Fu(expansion,)k(whic)m(h)e(expands)h(to)h(the)f(names)g(of)g(all)h
-(shell)f(v)-5 b(ari-)330 408 y(ables)36 b(whose)g(names)g(b)s(egin)g
-(with)g Fr(pre\014x)p Fu(,)g(is)g(a)m(v)-5 b(ailable)39
-b(\(see)e(Section)g(3.5.3)g([Shell)g(P)m(arameter)330
-518 y(Expansion],)30 b(page)h(27\).)225 657 y Fq(\017)60
-b Fu(Bash)22 b(has)g(indirect)g(v)-5 b(ariable)22 b(expansion)g(using)f
-Ft(${!word})f Fu(\(see)i(Section)h(3.5.3)h([Shell)e(P)m(arameter)330
-766 y(Expansion],)44 b(page)e(27\))h(and)e(implemen)m(ts)g(the)h
-Ft(nameref)d Fu(v)-5 b(ariable)43 b(attribute)f(for)f(automatic)330
-876 y(indirect)31 b(v)-5 b(ariable)31 b(expansion.)225
-1015 y Fq(\017)60 b Fu(Bash)22 b(includes)g(a)h(set)g(of)g(parameter)f
-(transformation)h(w)m(ord)f(expansions)g(of)h(the)f(form)g
-Ft(${var@X})p Fu(,)330 1124 y(where)33 b(`)p Ft(X)p Fu(')g(sp)s
-(eci\014es)g(the)g(transformation)g(\(see)i(Section)f(3.5.3)g([Shell)g
-(P)m(arameter)g(Expansion],)330 1234 y(page)d(27\).)225
-1373 y Fq(\017)60 b Fu(The)27 b Fm(posix)g Ft($\(\))g
-Fu(form)g(of)h(command)g(substitution)f(is)h(implemen)m(ted)g(\(see)h
-(Section)f(3.5.4)i([Com-)330 1482 y(mand)38 b(Substitution],)k(page)e
-(35\),)j(and)38 b(preferred)g(to)i(the)g(Bourne)f(shell's)h
-Ft(``)e Fu(\(whic)m(h)i(is)f(also)330 1592 y(implemen)m(ted)31
-b(for)f(bac)m(kw)m(ards)h(compatibilit)m(y\).)225 1731
-y Fq(\017)60 b Fu(Bash)31 b(implemen)m(ts)g(a)g(v)-5
-b(arian)m(t)32 b(of)f(command)f(substitution)g(that)i(runs)d(the)i
-(enclosed)g(command)330 1840 y(in)h(the)h(curren)m(t)g(shell)f
-(execution)i(en)m(vironmen)m(t:)46 b Ft(${)30 b Fj(command)p
-Ft(;})g Fu(or)j Ft(${|)p Fj(command)p Ft(;})c Fu(\(see)k(Sec-)330
-1950 y(tion)e(3.5.4)h([Command)e(Substitution],)g(page)h(35\).)225
-2089 y Fq(\017)60 b Fu(Bash)31 b(has)f(pro)s(cess)g(substitution)g
-(\(see)h(Section)g(3.5.6)h([Pro)s(cess)f(Substitution],)f(page)h(36\).)
-225 2228 y Fq(\017)60 b Fu(Bash)55 b(automatically)j(assigns)e(v)-5
-b(ariables)55 b(that)h(pro)m(vide)f(information)h(ab)s(out)f(the)g
-(curren)m(t)330 2337 y(user)40 b(\()p Ft(UID)p Fu(,)i
-Ft(EUID)p Fu(,)g(and)e Ft(GROUPS)p Fu(\),)h(the)g(curren)m(t)f(host)g
-(\()p Ft(HOSTTYPE)p Fu(,)h Ft(OSTYPE)p Fu(,)h Ft(MACHTYPE)p
-Fu(,)f(and)330 2447 y Ft(HOSTNAME)p Fu(\),)55 b(and)c(the)g(instance)h
-(of)g(Bash)f(that)h(is)f(running)f(\()p Ft(BASH)p Fu(,)56
-b Ft(BASH_VERSION)p Fu(,)e(and)330 2556 y Ft(BASH_VERSINFO)p
-Fu(\).)37 b(See)31 b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33
-b(page)e(86,)g(for)f(details.)225 2695 y Fq(\017)60 b
-Fu(Bash)37 b(uses)f(man)m(y)g(v)-5 b(ariables)37 b(to)g(pro)m(vide)g
-(functionalit)m(y)h(and)d(customize)j(shell)f(b)s(eha)m(vior)f(that)330
-2805 y(the)55 b(Bourne)g(shell)g(do)s(es)f(not.)114 b(Examples)55
-b(include)f Ft(RANDOM)p Fu(,)60 b Ft(SRANDOM)p Fu(,)f
-Ft(EPOCHSECONDS)p Fu(,)330 2914 y Ft(EPOCHREALTIME)p
-Fu(,)49 b Ft(TIMEFORMAT)p Fu(,)h Ft(BASHPID)p Fu(,)h
-Ft(BASH_XTRACEFD)p Fu(,)e Ft(GLOBIGNORE)p Fu(,)g Ft(HISTIGNORE)p
-Fu(,)330 3024 y(and)30 b Ft(BASH_VERSION)p Fu(.)37 b(See)31
-b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)32 b(page)g(86,)f(for)f(a)h
-(complete)h(list.)225 3163 y Fq(\017)60 b Fu(Bash)38
-b(uses)g(the)g Ft(GLOBSORT)d Fu(shell)j(v)-5 b(ariable)39
-b(to)g(con)m(trol)g(ho)m(w)f(to)h(sort)f(the)g(results)g(of)g
-(\014lename)330 3272 y(expansion)30 b(\(see)i(Section)f(3.5.8)h
-([Filename)g(Expansion],)e(page)h(37\).)225 3411 y Fq(\017)60
-b Fu(Bash)38 b(uses)g(the)g Ft(IFS)g Fu(v)-5 b(ariable)39
-b(to)f(split)h(only)f(the)g(results)g(of)h(expansion,)h(not)e(all)h(w)m
-(ords)f(\(see)330 3521 y(Section)29 b(3.5.7)h([W)-8 b(ord)29
-b(Splitting],)h(page)f(37\).)41 b(This)28 b(closes)h(a)g(longstanding)g
-(shell)f(securit)m(y)h(hole.)225 3660 y Fq(\017)60 b
-Fu(The)36 b(\014lename)h(expansion)f(brac)m(k)m(et)i(expression)f(co)s
-(de)f(uses)g(`)p Ft(!)p Fu(')h(and)f(`)p Ft(^)p Fu(')h(to)g(negate)h
-(the)f(set)g(of)330 3769 y(c)m(haracters)25 b(b)s(et)m(w)m(een)f(the)g
-(brac)m(k)m(ets)i(\(see)e(Section)h(3.5.8)g([Filename)g(Expansion],)g
-(page)g(37\).)39 b(The)330 3879 y(Bourne)30 b(shell)h(uses)f(only)g(`)p
-Ft(!)p Fu('.)225 4018 y Fq(\017)60 b Fu(Bash)38 b(implemen)m(ts)g(the)g
-(full)g(set)g(of)g Fm(posix)f Fu(\014lename)h(expansion)g(op)s
-(erators,)i(including)d(c)m(har-)330 4127 y(acter)j(classes,)i(equiv)-5
-b(alence)39 b(classes,)j(and)c(collating)j(sym)m(b)s(ols)d(\(see)i
-(Section)f(3.5.8)h([Filename)330 4237 y(Expansion],)30
-b(page)h(37\).)225 4376 y Fq(\017)60 b Fu(Bash)35 b(implemen)m(ts)g
-(extended)g(pattern)g(matc)m(hing)h(features)f(when)f(the)h
-Ft(extglob)d Fu(shell)j(option)330 4485 y(is)30 b(enabled)h(\(see)g
-(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(38\).)225
-4624 y Fq(\017)60 b Fu(The)45 b Ft(globstar)e Fu(shell)i(option)h
-(extends)f(\014lename)g(expansion)g(to)h(recursiv)m(ely)g(scan)g
-(directo-)330 4734 y(ries)30 b(and)f(sub)s(directories)h(for)f(matc)m
-(hing)i(\014lenames)f(\(see)h(Section)g(3.5.8.1)i([P)m(attern)e(Matc)m
-(hing],)330 4843 y(page)g(38\).)225 4982 y Fq(\017)60
-b Fu(It)22 b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f(v)-5
-b(ariable)23 b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j
-Ft(sh)d Fu(do)s(es)g(not)g(separate)330 5092 y(the)31
-b(t)m(w)m(o)g(name)g(spaces.)225 5230 y Fq(\017)60 b
-Fu(Bash)30 b(functions)e(are)i(p)s(ermitted)f(to)h(ha)m(v)m(e)h(lo)s
-(cal)g(v)-5 b(ariables)30 b(using)f(the)g Ft(local)f
-Fu(builtin,)i(and)e(th)m(us)330 5340 y(users)i(can)g(write)h(useful)e
-(recursiv)m(e)i(functions)f(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)
-g(page)g(60\).)p eop end
-%%Page: 185 191
-TeXDict begin 185 190 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(185)225 299 y Fq(\017)60
-b Fu(Bash)44 b(p)s(erforms)e(\014lename)i(expansion)f(on)h(\014lenames)
-g(sp)s(eci\014ed)f(as)h(op)s(erands)e(to)j(input)e(and)330
-408 y(output)30 b(redirection)h(op)s(erators)g(\(see)g(Section)g(3.6)h
-([Redirections],)g(page)f(40\).)225 545 y Fq(\017)60
-b Fu(Bash)29 b(con)m(tains)h(the)f(`)p Ft(<>)p Fu(')f(redirection)i(op)
-s(erator,)f(allo)m(wing)i(a)e(\014le)g(to)g(b)s(e)f(op)s(ened)g(for)h
-(b)s(oth)f(read-)330 655 y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p
-Ft(&>)p Fu(')g(redirection)g(op)s(erator,)h(for)f(directing)g(standard)
-f(output)h(and)330 765 y(standard)30 b(error)g(to)h(the)f(same)h
-(\014le)f(\(see)i(Section)f(3.6)g([Redirections],)h(page)g(40\).)225
-902 y Fq(\017)60 b Fu(Bash)21 b(includes)f(the)h(`)p
-Ft(<<<)p Fu(')g(redirection)g(op)s(erator,)i(allo)m(wing)g(a)e(string)f
-(to)i(b)s(e)e(used)g(as)h(the)g(standard)330 1011 y(input)29
-b(to)j(a)e(command)g(\(see)i(Section)f(3.6)g([Redirections],)h(page)g
-(40\).)225 1148 y Fq(\017)60 b Fu(Bash)32 b(implemen)m(ts)f(the)h(`)p
-Ft([n]<&)p Fj(word)p Fu(')d(and)i(`)p Ft([n]>&)p Fj(word)p
-Fu(')e(redirection)j(op)s(erators,)g(whic)m(h)f(mo)m(v)m(e)330
-1258 y(one)g(\014le)f(descriptor)g(to)h(another.)225
-1395 y Fq(\017)60 b Fu(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i
-(\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g(used)f(in)g
-(redirection)i(op)s(erators)330 1504 y(\(see)31 b(Section)h(3.6)f
-([Redirections],)h(page)f(40\).)225 1641 y Fq(\017)60
-b Fu(Bash)32 b(pro)m(vides)h(the)f Fi({)p Fr(v)-5 b(ar)7
-b Fi(})p Ft(<)p Fr(w)m(ord)36 b Fu(capabilit)m(y)e(to)f(ha)m(v)m(e)h
-(the)e(shell)h(allo)s(cate)i(\014le)d(descriptors)g(for)330
-1751 y(redirections)42 b(and)e(assign)i(them)f(to)h Fr(v)-5
-b(ar)47 b Fu(\(see)42 b(Section)g(3.6)g([Redirections],)k(page)c(40\).)
-74 b(This)330 1861 y(w)m(orks)30 b(with)g(m)m(ultiple)h(redirection)h
-(op)s(erators.)225 1998 y Fq(\017)60 b Fu(Bash)33 b(can)f(op)s(en)g
-(net)m(w)m(ork)i(connections)f(to)h(arbitrary)e(mac)m(hines)h(and)f
-(services)h(with)f(the)h(redi-)330 2107 y(rection)e(op)s(erators)g
-(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(40\).)225
-2244 y Fq(\017)60 b Fu(The)29 b Ft(noclobber)e Fu(option)j(is)g(a)m(v)
--5 b(ailable)32 b(to)e(a)m(v)m(oid)h(o)m(v)m(erwriting)g(existing)g
-(\014les)e(with)h(output)f(redi-)330 2354 y(rection)39
-b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(72\).)66
-b(The)38 b(`)p Ft(>|)p Fu(')h(redirection)g(op)s(erator)330
-2463 y(ma)m(y)31 b(b)s(e)f(used)f(to)i(o)m(v)m(erride)h
-Ft(noclobber)p Fu(.)225 2600 y Fq(\017)60 b Fu(V)-8 b(ariable)25
-b(assignmen)m(ts)g(preceding)e(commands)h(a\013ect)h(only)f(that)g
-(command,)h(ev)m(en)f(builtins)g(and)330 2710 y(functions)36
-b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)e(46\).)60
-b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37 b(assignmen)m(ts)330
-2819 y(preceding)30 b(commands)g(are)h(global)h(unless)d(the)i(command)
-f(is)h(executed)g(from)f(the)g(\014le)h(system.)225 2956
-y Fq(\017)60 b Fu(Bash)37 b(includes)g(a)h(n)m(um)m(b)s(er)e(of)h
-(features)h(to)g(supp)s(ort)d(a)j(separate)g(debugger)f(for)g(shell)h
-(scripts:)330 3066 y(v)-5 b(ariables)41 b(\()p Ft(BASH_ARGC)p
-Fu(,)f Ft(BASH_ARGV)p Fu(,)g Ft(BASH_LINENO)p Fu(,)f
-Ft(BASH_SOURCE)p Fu(\),)h(the)g Ft(DEBUG)p Fu(,)h Ft(RETURN)p
-Fu(,)330 3176 y(and)30 b Ft(ERR)f Fu(traps,)i(`)p Ft(declare)d(-F)p
-Fu(',)i(and)g(the)h Ft(caller)d Fu(builtin.)225 3313
-y Fq(\017)60 b Fu(Bash)34 b(implemen)m(ts)h(a)g Ft(csh)p
-Fu(-lik)m(e)g(directory)f(stac)m(k,)j(and)d(pro)m(vides)g(the)g
-Ft(pushd)p Fu(,)g Ft(popd)p Fu(,)g(and)g Ft(dirs)330
-3422 y Fu(builtins)d(to)i(manipulate)f(it)h(\(see)g(Section)f(6.8)h
-([The)f(Directory)h(Stac)m(k],)h(page)f(111\).)47 b(Bash)32
-b(also)330 3532 y(mak)m(es)f(the)g(directory)g(stac)m(k)g(visible)g(as)
-g(the)f(v)-5 b(alue)31 b(of)g(the)f Ft(DIRSTACK)f Fu(shell)h(v)-5
-b(ariable.)225 3669 y Fq(\017)60 b Fu(Bash)25 b(allo)m(ws)h(a)g
-(function)e(to)i(o)m(v)m(erride)g(a)g(builtin)e(with)h(the)g(same)g
-(name,)i(and)d(pro)m(vides)h(access)h(to)330 3778 y(that)34
-b(builtin's)f(functionalit)m(y)h(within)f(the)g(function)g(via)h(the)f
-Ft(builtin)f Fu(and)g Ft(command)g Fu(builtins)330 3888
-y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(60\).)225
-4025 y Fq(\017)60 b Fu(Bash)44 b(includes)f(the)g Ft(caller)f
-Fu(builtin)h(\(see)h(Section)g(4.2)h([Bash)f(Builtins],)j(page)d(60\),)
-k(whic)m(h)330 4134 y(displa)m(ys)29 b(the)g(con)m(text)i(of)e(an)m(y)g
-(activ)m(e)i(subroutine)d(call)j(\(a)e(shell)g(function)g(or)g(a)g
-(script)g(executed)330 4244 y(with)h(the)h Ft(.)f Fu(or)g
-Ft(source)f Fu(builtins\).)40 b(This)30 b(supp)s(orts)e(the)j(Bash)f
-(debugger.)225 4381 y Fq(\017)60 b Fu(The)34 b(Bash)g
-Ft(cd)g Fu(and)f Ft(pwd)g Fu(builtins)h(\(see)h(Section)g(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(51\))h(eac)m(h)330
-4491 y(tak)m(e)c Ft(-L)e Fu(and)f Ft(-P)h Fu(options)h(to)g(switc)m(h)g
-(b)s(et)m(w)m(een)g(logical)i(and)c(ph)m(ysical)i(mo)s(des.)225
-4628 y Fq(\017)60 b Fu(The)32 b Ft(command)e Fu(builtin)h(allo)m(ws)j
-(selectiv)m(ely)h(skipping)c(shell)h(functions)g(when)f(p)s(erforming)g
-(com-)330 4737 y(mand)f(lo)s(okup)g(\(see)h(Section)g(4.2)g([Bash)g
-(Builtins],)g(page)h(60\).)225 4874 y Fq(\017)60 b Fu(Bash)25
-b(uses)f(the)h Ft(declare)e Fu(builtin)h(to)h(mo)s(dify)f(the)h(full)f
-(set)h(of)g(v)-5 b(ariable)26 b(and)e(function)g(attributes,)330
-4984 y(and)30 b(to)h(assign)g(v)-5 b(alues)30 b(to)h(v)-5
-b(ariables.)225 5121 y Fq(\017)60 b Fu(The)30 b Ft(disown)f
-Fu(builtin)h(can)h(remo)m(v)m(e)h(a)f(job)f(from)g(the)h(in)m(ternal)g
-(shell)g(job)f(table)i(\(see)f(Section)h(7.2)330 5230
-y([Job)i(Con)m(trol)g(Builtins],)i(page)e(124\))i(or)d(suppress)f
-(sending)i Ft(SIGHUP)e Fu(to)i(a)g(job)g(when)f(the)h(shell)330
-5340 y(exits)d(as)g(the)f(result)h(of)f(a)h Ft(SIGHUP)p
-Fu(.)p eop end
-%%Page: 186 192
-TeXDict begin 186 191 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(186)225 299 y Fq(\017)60
-b Fu(The)40 b Ft(enable)e Fu(builtin)i(\(see)h(Section)g(4.2)g([Bash)f
-(Builtins],)k(page)c(60\))i(can)e(enable)h(or)f(disable)330
-408 y(individual)28 b(builtins)h(and)f(implemen)m(ts)i(supp)s(ort)d
-(for)i(dynamically)h(loading)g(builtin)e(commands)330
-518 y(from)i(shared)g(ob)5 b(jects.)225 661 y Fq(\017)60
-b Fu(The)26 b(Bash)h Ft(exec)e Fu(builtin)h(tak)m(es)i(additional)f
-(options)g(that)g(allo)m(w)h(users)d(to)j(con)m(trol)g(the)e(con)m(ten)
-m(ts)330 771 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g
-(executed)g(command,)h(and)d(what)i(the)f(zeroth)h(argumen)m(t)330
-881 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f
-([Bourne)f(Shell)h(Builtins],)g(page)g(51\).)225 1024
-y Fq(\017)60 b Fu(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g
-(to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f
-Ft(export)f(-f)h Fu(\(see)330 1133 y(Section)i(3.3)h([Shell)e(F)-8
-b(unctions],)32 b(page)f(19\).)225 1277 y Fq(\017)60
-b Fu(The)48 b(Bash)g Ft(export)f Fu(and)h Ft(readonly)e
-Fu(builtins)i(\(see)h(Section)g(4.1)h([Bourne)e(Shell)g(Builtins],)330
-1386 y(page)28 b(51,)h(can)f(tak)m(e)h(a)e Ft(-f)g Fu(option)h(to)g
-(act)g(on)f(shell)h(functions,)g(a)f Ft(-p)g Fu(option)h(to)g(displa)m
-(y)f(v)-5 b(ariables)330 1496 y(with)23 b(v)-5 b(arious)24
-b(attributes)g(set)g(in)f(a)h(format)g(that)g(can)g(b)s(e)f(used)g(as)h
-(shell)f(input,)i(a)e Ft(-n)g Fu(option)h(to)h(re-)330
-1606 y(mo)m(v)m(e)f(v)-5 b(arious)23 b(v)-5 b(ariable)24
-b(attributes,)h(and)d(`)p Ft(name=value)p Fu(')f(argumen)m(ts)i(to)g
-(set)h(v)-5 b(ariable)23 b(attributes)330 1715 y(and)30
-b(v)-5 b(alues)30 b(sim)m(ultaneously)-8 b(.)225 1858
-y Fq(\017)60 b Fu(The)42 b(Bash)h Ft(hash)f Fu(builtin)g(allo)m(ws)j(a)
-e(name)g(to)g(b)s(e)f(asso)s(ciated)j(with)d(an)h(arbitrary)f
-(\014lename,)330 1968 y(ev)m(en)30 b(when)e(that)h(\014lename)g(cannot)
-h(b)s(e)e(found)g(b)m(y)h(searc)m(hing)g(the)g Ft($PATH)p
-Fu(,)g(using)f(`)p Ft(hash)h(-p)p Fu(')g(\(see)330 2078
-y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(51\).)225
-2221 y Fq(\017)60 b Fu(Bash)27 b(includes)f(a)i Ft(help)d
-Fu(builtin)i(for)f(quic)m(k)h(reference)h(to)f(shell)g(facilities)i
-(\(see)f(Section)g(4.2)g([Bash)330 2330 y(Builtins],)j(page)g(60\).)225
-2474 y Fq(\017)60 b Fu(Bash)27 b(includes)f(the)h Ft(mapfile)e
-Fu(builtin)i(to)g(quic)m(kly)h(read)e(the)h(con)m(ten)m(ts)i(of)e(a)g
-(\014le)g(in)m(to)h(an)e(indexed)330 2583 y(arra)m(y)31
-b(v)-5 b(ariable)31 b(\(see)g(Section)h(4.2)f([Bash)g(Builtins],)g
-(page)g(60\).)225 2727 y Fq(\017)60 b Fu(The)42 b Ft(printf)g
-Fu(builtin)g(is)h(a)m(v)-5 b(ailable)45 b(to)f(displa)m(y)f(formatted)g
-(output)g(\(see)h(Section)g(4.2)g([Bash)330 2836 y(Builtins],)27
-b(page)f(60\),)h(and)e(has)f(additional)i(custom)g(format)f(sp)s
-(eci\014ers)f(and)h(an)f(option)i(to)g(assign)330 2946
-y(the)31 b(formatted)g(output)f(directly)h(to)g(a)f(shell)h(v)-5
-b(ariable.)225 3089 y Fq(\017)60 b Fu(The)26 b(Bash)h
-Ft(read)f Fu(builtin)g(\(see)i(Section)g(4.2)g([Bash)f(Builtins],)h
-(page)g(60\))g(will)f(read)g(a)g(line)g(ending)330 3199
-y(in)i(`)p Ft(\\)p Fu(')h(with)f(the)g Ft(-r)g Fu(option,)i(and)d(will)
-i(use)f(the)h Ft(REPLY)e Fu(v)-5 b(ariable)30 b(as)g(a)f(default)h(if)f
-(no)h(non-option)330 3308 y(argumen)m(ts)h(are)f(supplied.)225
-3452 y Fq(\017)60 b Fu(The)38 b Ft(read)g Fu(builtin)g(\(see)i(Section)
-g(4.2)g([Bash)f(Builtins],)j(page)e(60\))g(accepts)g(a)f(prompt)f
-(string)330 3561 y(with)d(the)g Ft(-p)g Fu(option)g(and)g(will)g(use)g
-(Readline)h(to)g(obtain)f(the)h(line)f(when)f(giv)m(en)j(the)e
-Ft(-e)f Fu(or)i Ft(-E)330 3671 y Fu(options,)42 b(with)c(the)h(abilit)m
-(y)i(to)e(insert)g(text)h(in)m(to)g(the)f(line)g(using)g(the)g
-Ft(-i)f Fu(option.)67 b(The)38 b Ft(read)330 3780 y Fu(builtin)28
-b(also)i(has)e(additional)i(options)f(to)g(con)m(trol)h(input:)39
-b(the)29 b Ft(-s)f Fu(option)h(will)g(turn)e(o\013)j(ec)m(hoing)330
-3890 y(of)f(input)f(c)m(haracters)j(as)e(they)g(are)h(read,)f(the)g
-Ft(-t)g Fu(option)g(will)h(allo)m(w)g Ft(read)e Fu(to)i(time)g(out)f
-(if)g(input)330 4000 y(do)s(es)i(not)h(arriv)m(e)g(within)f(a)h(sp)s
-(eci\014ed)f(n)m(um)m(b)s(er)f(of)i(seconds,)g(the)f
-Ft(-n)g Fu(option)h(will)g(allo)m(w)h(reading)330 4109
-y(only)38 b(a)g(sp)s(eci\014ed)f(n)m(um)m(b)s(er)f(of)i(c)m(haracters)h
-(rather)e(than)g(a)h(full)g(line,)i(and)d(the)h Ft(-d)f
-Fu(option)h(will)330 4219 y(read)30 b(un)m(til)h(a)g(particular)f(c)m
-(haracter)i(rather)f(than)f(newline.)225 4362 y Fq(\017)60
-b Fu(The)33 b Ft(return)e Fu(builtin)i(ma)m(y)g(b)s(e)g(used)f(to)i(ab)
-s(ort)f(execution)h(of)f(scripts)g(executed)h(with)f(the)g
-Ft(.)g Fu(or)330 4472 y Ft(source)c Fu(builtins)g(\(see)j(Section)f
-(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(51\).)225
-4615 y Fq(\017)60 b Fu(Bash)45 b(has)f(m)m(uc)m(h)g(more)h(optional)h
-(b)s(eha)m(vior)e(con)m(trollable)j(with)e(the)f Ft(set)g
-Fu(builtin)g(\(see)h(Sec-)330 4725 y(tion)31 b(4.3.1)h([The)e(Set)h
-(Builtin],)g(page)g(72\).)225 4868 y Fq(\017)60 b Fu(The)36
-b Ft(-x)f Fu(\()p Ft(xtrace)p Fu(\))g(option)i(displa)m(ys)f(commands)g
-(other)g(than)g(simple)g(commands)g(when)f(p)s(er-)330
-4977 y(forming)30 b(an)g(execution)i(trace)f(\(see)h(Section)f(4.3.1)h
-([The)e(Set)h(Builtin],)g(page)g(72\).)225 5121 y Fq(\017)60
-b Fu(Bash)43 b(includes)g(the)g Ft(shopt)f Fu(builtin,)k(for)d(\014ner)
-f(con)m(trol)j(of)e(shell)h(optional)g(capabilities)h(\(see)330
-5230 y(Section)c(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)d(77\),)k(and)
-39 b(allo)m(ws)i(these)f(options)h(to)f(b)s(e)f(set)i(and)330
-5340 y(unset)30 b(at)h(shell)g(in)m(v)m(o)s(cation)h(\(see)f(Section)h
-(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h(99\).)p eop
-end
-%%Page: 187 193
-TeXDict begin 187 192 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(187)225 299 y Fq(\017)60
-b Fu(The)28 b Ft(test)g Fu(builtin)h(\(see)h(Section)f(4.1)h([Bourne)f
-(Shell)g(Builtins],)h(page)g(51\))g(is)f(sligh)m(tly)h(di\013eren)m(t,)
-330 408 y(as)23 b(it)g(implemen)m(ts)f(the)h Fm(posix)f
-Fu(algorithm,)j(whic)m(h)d(sp)s(eci\014es)g(the)h(b)s(eha)m(vior)f
-(based)g(on)h(the)f(n)m(um)m(b)s(er)330 518 y(of)31 b(argumen)m(ts.)225
-646 y Fq(\017)60 b Fu(The)42 b Ft(trap)f Fu(builtin)h(\(see)i(Section)f
-(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(51\))h(allo)m(ws)g(a)e
-Ft(DEBUG)330 755 y Fu(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
-(to)g Ft(EXIT)p Fu(.)62 b(Commands)36 b(sp)s(eci\014ed)h(with)g(a)h
-Ft(DEBUG)e Fu(trap)330 865 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h
-(simple)f(command,)j Ft(for)c Fu(command,)k Ft(case)c
-Fu(command,)k Ft(select)330 974 y Fu(command,)35 b(ev)m(ery)g
-(arithmetic)g Ft(for)e Fu(command,)i(and)f(b)s(efore)g(the)g(\014rst)f
-(command)h(executes)h(in)330 1084 y(a)29 b(shell)g(function.)40
-b(The)28 b Ft(DEBUG)g Fu(trap)g(is)h(not)g(inherited)f(b)m(y)h(shell)g
-(functions)f(unless)g(the)h(function)330 1194 y(has)35
-b(b)s(een)g(giv)m(en)i(the)f Ft(trace)e Fu(attribute)i(or)g(the)g
-Ft(functrace)d Fu(option)j(has)f(b)s(een)g(enabled)g(using)330
-1303 y(the)28 b Ft(shopt)e Fu(builtin.)39 b(The)27 b
-Ft(extdebug)f Fu(shell)i(option)g(has)f(additional)h(e\013ects)h(on)f
-(the)g Ft(DEBUG)e Fu(trap.)330 1431 y(The)21 b Ft(trap)e
-Fu(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j
-(page)e(51\))g(allo)m(ws)g(an)f Ft(ERR)f Fu(pseudo-)330
-1540 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
-Ft(EXIT)f Fu(and)g Ft(DEBUG)p Fu(.)39 b(Commands)28 b(sp)s(eci\014ed)h
-(with)g(an)g Ft(ERR)g Fu(trap)330 1650 y(are)40 b(executed)g(after)g(a)
-f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68
-b(The)39 b Ft(ERR)g Fu(trap)g(is)330 1760 y(not)g(inherited)f(b)m(y)h
-(shell)g(functions)f(unless)g(the)h Ft(-o)29 b(errtrace)37
-b Fu(option)i(to)g(the)g Ft(set)f Fu(builtin)g(is)330
-1869 y(enabled.)330 1997 y(The)g Ft(trap)g Fu(builtin)h(\(see)g
-(Section)h(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(51\))g(allo)m
-(ws)g(a)g Ft(RETURN)330 2107 y Fu(pseudo-signal)f(sp)s(eci\014cation,)k
-(similar)d(to)g Ft(EXIT)e Fu(and)g Ft(DEBUG)p Fu(.)66
-b(Commands)38 b(sp)s(eci\014ed)h(with)g(a)330 2216 y
-Ft(RETURN)g Fu(trap)i(are)g(executed)h(b)s(efore)e(execution)i(resumes)
-e(after)h(a)g(shell)g(function)g(or)g(a)g(shell)330 2326
-y(script)36 b(executed)g(with)g Ft(.)f Fu(or)h Ft(source)e
-Fu(returns.)56 b(The)35 b Ft(RETURN)f Fu(trap)i(is)g(not)g(inherited)f
-(b)m(y)h(shell)330 2435 y(functions)k(unless)h(the)g(function)f(has)h
-(b)s(een)f(giv)m(en)i(the)f Ft(trace)e Fu(attribute)j(or)e(the)h
-Ft(functrace)330 2545 y Fu(option)31 b(has)f(b)s(een)g(enabled)g(using)
-g(the)g Ft(shopt)f Fu(builtin.)225 2673 y Fq(\017)60
-b Fu(The)30 b(Bash)g Ft(type)f Fu(builtin)h(is)g(more)g(extensiv)m(e)i
-(and)d(giv)m(es)j(more)e(information)h(ab)s(out)f(the)g(names)330
-2782 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(60\).)225 2910 y Fq(\017)60 b Fu(The)37 b Ft(ulimit)f
-Fu(builtin)h(pro)m(vides)g(con)m(trol)i(o)m(v)m(er)g(man)m(y)e(more)h
-(p)s(er-pro)s(cess)e(resources)i(\(see)g(Sec-)330 3019
-y(tion)31 b(4.2)g([Bash)g(Builtins],)g(page)g(60\).)225
-3147 y Fq(\017)60 b Fu(The)41 b(Bash)i Ft(umask)d Fu(builtin)i(uses)f
-(the)h Ft(-p)g Fu(option)g(to)h(displa)m(y)f(the)g(output)g(in)g(the)g
-(form)f(of)i(a)330 3257 y Ft(umask)29 b Fu(command)i(that)h(ma)m(y)f(b)
-s(e)f(reused)h(as)g(input)f(\(see)i(Section)f(4.1)h([Bourne)f(Shell)g
-(Builtins],)330 3366 y(page)g(51\).)225 3494 y Fq(\017)60
-b Fu(The)41 b(Bash)h Ft(wait)e Fu(builtin)h(has)g(a)h
-Ft(-n)f Fu(option)h(to)g(w)m(ait)h(for)e(the)h(next)f(c)m(hild)h(to)g
-(exit,)k(p)s(ossibly)330 3603 y(selecting)36 b(from)d(a)i(list)g(of)f
-(supplied)f(jobs,)h(and)g(the)g Ft(-p)f Fu(option)i(to)g(store)f
-(information)h(ab)s(out)f(a)330 3713 y(terminated)d(c)m(hild)g(pro)s
-(cess)f(in)g(a)g(shell)h(v)-5 b(ariable.)225 3841 y Fq(\017)60
-b Fu(The)30 b(SVR4.2)h(shell)g(b)s(eha)m(v)m(es)f(di\013eren)m(tly)h
-(when)f(in)m(v)m(ok)m(ed)i(as)e Ft(jsh)g Fu(\(it)h(turns)e(on)h(job)g
-(con)m(trol\).)225 3968 y Fq(\017)60 b Fu(The)28 b(SVR4.2)h(shell)f
-(has)g(t)m(w)m(o)i(privilege-related)g(builtins)e(\()p
-Ft(mldmode)e Fu(and)i Ft(priv)p Fu(\))f(not)i(presen)m(t)f(in)330
-4078 y(Bash.)225 4206 y Fq(\017)60 b Fu(Bash)31 b(do)s(es)f(not)g(ha)m
-(v)m(e)i(the)e Ft(stop)g Fu(or)g Ft(newgrp)f Fu(builtins.)225
-4333 y Fq(\017)60 b Fu(Bash)31 b(do)s(es)f(not)g(use)g(the)h
-Ft(SHACCT)d Fu(v)-5 b(ariable)32 b(or)e(p)s(erform)f(shell)i(accoun)m
-(ting.)225 4461 y Fq(\017)60 b Fu(The)30 b(SVR4.2)h Ft(sh)f
-Fu(uses)g(a)g Ft(TIMEOUT)f Fu(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e
-(uses)g Ft(TMOUT)p Fu(.)150 4607 y(More)h(features)g(unique)e(to)i
-(Bash)g(ma)m(y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8
-b(eatures],)32 b(page)f(99.)150 4834 y Fs(B.1)67 b(Implemen)l(tation)48
-b(Di\013erences)e(F)-11 b(rom)44 b(The)h(SVR4.2)g(Shell)150
-4993 y Fu(Since)33 b(Bash)h(is)f(a)g(completely)i(new)e(implemen)m
-(tation,)j(it)e(do)s(es)e(not)i(su\013er)e(from)h(man)m(y)g(of)h(the)f
-(limi-)150 5103 y(tations)f(of)e(the)h(SVR4.2)g(shell.)41
-b(F)-8 b(or)31 b(instance:)225 5230 y Fq(\017)60 b Fu(Bash)32
-b(do)s(es)f(not)h(fork)f(a)h(subshell)e(when)h(redirecting)h(in)m(to)h
-(or)e(out)h(of)g(a)g(shell)f(con)m(trol)i(structure)330
-5340 y(suc)m(h)d(as)h(an)f Ft(if)g Fu(or)g Ft(while)f
-Fu(statemen)m(t.)p eop end
-%%Page: 188 194
-TeXDict begin 188 193 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(188)225 299 y Fq(\017)60
-b Fu(Bash)29 b(do)s(es)f(not)h(allo)m(w)h(un)m(balanced)f(quotes.)41
-b(The)28 b(SVR4.2)h(shell)g(will)g(silen)m(tly)i(insert)d(a)h(needed)
-330 408 y(closing)g(quote)g(at)f Ft(EOF)f Fu(under)g(certain)h
-(circumstances.)41 b(This)27 b(can)h(b)s(e)g(the)g(cause)g(of)g(some)h
-(hard-)330 518 y(to-\014nd)h(errors.)225 653 y Fq(\017)60
-b Fu(The)45 b(SVR4.2)h(shell)f(uses)g(a)g(baro)s(que)g(memory)g
-(managemen)m(t)i(sc)m(heme)e(based)g(on)g(trapping)330
-762 y Ft(SIGSEGV)p Fu(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)
-e(a)i(pro)s(cess)f(with)g Ft(SIGSEGV)e Fu(blo)s(c)m(k)m(ed)k(\(e.g.,)h
-(b)m(y)d(using)330 872 y(the)31 b Ft(system\(\))d Fu(C)i(library)g
-(function)g(call\),)i(it)f(misb)s(eha)m(v)m(es)g(badly)-8
-b(.)225 1006 y Fq(\017)60 b Fu(In)30 b(a)i(questionable)g(attempt)g(at)
-g(securit)m(y)-8 b(,)33 b(the)e(SVR4.2)h(shell,)g(when)e(in)m(v)m(ok)m
-(ed)j(without)e(the)h Ft(-p)330 1116 y Fu(option,)39
-b(will)d(alter)i(its)e(real)h(and)f(e\013ectiv)m(e)j
-Fm(uid)d Fu(and)g Fm(gid)h Fu(if)f(they)h(are)f(less)h(than)f(some)h
-(magic)330 1225 y(threshold)30 b(v)-5 b(alue,)31 b(commonly)g(100.)42
-b(This)29 b(can)i(lead)g(to)g(unexp)s(ected)f(results.)225
-1360 y Fq(\017)60 b Fu(The)30 b(SVR4.2)h(shell)g(do)s(es)f(not)g(allo)m
-(w)i(users)e(to)h(trap)f Ft(SIGSEGV)p Fu(,)f Ft(SIGALRM)p
-Fu(,)f(or)j Ft(SIGCHLD)p Fu(.)225 1494 y Fq(\017)60 b
-Fu(The)34 b(SVR4.2)h(shell)g(do)s(es)g(not)f(allo)m(w)j(the)d
-Ft(IFS)p Fu(,)h Ft(MAILCHECK)p Fu(,)f Ft(PATH)p Fu(,)h
-Ft(PS1)p Fu(,)g(or)f Ft(PS2)g Fu(v)-5 b(ariables)35 b(to)330
-1604 y(b)s(e)30 b(unset.)225 1738 y Fq(\017)60 b Fu(The)30
-b(SVR4.2)h(shell)g(treats)g(`)p Ft(^)p Fu(')f(as)h(the)g(undo)s(cumen)m
-(ted)e(equiv)-5 b(alen)m(t)31 b(of)g(`)p Ft(|)p Fu('.)225
-1873 y Fq(\017)60 b Fu(Bash)37 b(allo)m(ws)h(m)m(ultiple)f(option)g
-(argumen)m(ts)g(when)e(it)i(is)g(in)m(v)m(ok)m(ed)h(\()p
-Ft(-x)30 b(-v)p Fu(\);)40 b(the)c(SVR4.2)i(shell)330
-1983 y(allo)m(ws)c(only)f(one)g(option)g(argumen)m(t)g(\()p
-Ft(-xv)p Fu(\).)47 b(In)32 b(fact,)i(some)f(v)m(ersions)g(of)g(the)g
-(shell)f(dump)f(core)330 2092 y(if)f(the)h(second)f(argumen)m(t)h(b)s
-(egins)f(with)g(a)h(`)p Ft(-)p Fu('.)225 2227 y Fq(\017)60
-b Fu(The)26 b(SVR4.2)i(shell)f(exits)g(a)g(script)g(if)g(an)m(y)g
-(builtin)f(fails;)j(Bash)e(exits)g(a)g(script)g(only)g(if)g(one)g(of)g
-(the)330 2336 y Fm(posix)34 b Fu(sp)s(ecial)h(builtins)f(fails,)i(and)e
-(only)h(for)f(certain)h(failures,)h(as)f(en)m(umerated)g(in)f(the)h
-Fm(posix)330 2446 y Fu(standard.)225 2580 y Fq(\017)60
-b Fu(If)38 b(the)g Ft(lastpipe)e Fu(option)j(is)f(enabled,)j(and)c(job)
-h(con)m(trol)i(is)e(not)h(activ)m(e,)k(Bash)38 b(runs)f(the)h(last)330
-2690 y(elemen)m(t)32 b(of)e(a)h(pip)s(eline)f(in)g(the)h(curren)m(t)f
-(shell)g(execution)i(en)m(vironmen)m(t.)p eop end
-%%Page: 189 195
-TeXDict begin 189 194 bop 3614 -116 a Fu(189)150 299
-y Fp(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 b(ree)53
-b(Do)t(cumen)l(tation)e(License)1359 502 y Fu(V)-8 b(ersion)31
-b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842
-632 y(c)817 635 y Fq(\015)e Fu(2000,)j(2001,)f(2002,)g(2007,)h(2008)f
-(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31
-b(Inc.)390 745 y Ft(http://fsf.org/)390 964 y Fu(Ev)m(ery)m(one)g(is)g
-(p)s(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)
-390 1074 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j
-(it)f(is)f(not)h(allo)m(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330
-1340 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
-(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1450 y(useful)29 b(do)s(cumen)m(t)h Fr(free)36 b Fu(in)29
-b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
-(the)e(e\013ectiv)m(e)j(freedom)330 1559 y(to)f(cop)m(y)g(and)f
-(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
-(either)f(commercially)h(or)e(non-)330 1669 y(commercially)-8
-b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f
-(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 1778
-y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g
-(considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330
-1888 y(made)30 b(b)m(y)h(others.)330 2021 y(This)22 b(License)i(is)f(a)
-h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5
-b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330
-2131 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
-(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330
-2240 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
-e(for)g(free)h(soft)m(w)m(are.)330 2373 y(W)-8 b(e)31
-b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h
-(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330
-2483 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
-65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330
-2592 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
-m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g
-(to)330 2702 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
-(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5
-b(ject)30 b(matter)i(or)330 2812 y(whether)f(it)h(is)f(published)f(as)i
-(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h
-(License)g(principally)f(for)330 2921 y(w)m(orks)f(whose)h(purp)s(ose)d
-(is)j(instruction)f(or)g(reference.)199 3054 y(1.)61
-b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3187 y(This)39
-b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i
-(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3297
-y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying)
-h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
-3407 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
-(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
-(in)330 3516 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
-(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
-3626 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
-(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
-(a)h(licensee,)i(and)330 3735 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
-b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
-b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
-3845 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
-m(yrigh)m(t)j(la)m(w.)330 3978 y(A)i(\\Mo)s(di\014ed)f(V)-8
-b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
-(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4088 y(a)k(p)s(ortion)f
-(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
-(di\014cations)f(and/or)h(translated)g(in)m(to)330 4197
-y(another)31 b(language.)330 4330 y(A)26 b(\\Secondary)g(Section")h(is)
-f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
-(the)g(Do)s(cumen)m(t)330 4440 y(that)c(deals)g(exclusiv)m(ely)h(with)e
-(the)g(relationship)h(of)f(the)h(publishers)d(or)i(authors)g(of)h(the)f
-(Do)s(cumen)m(t)330 4549 y(to)38 b(the)f(Do)s(cumen)m(t's)i(o)m(v)m
-(erall)g(sub)5 b(ject)37 b(\(or)h(to)g(related)g(matters\))g(and)f(con)
-m(tains)h(nothing)f(that)330 4659 y(could)j(fall)h(directly)g(within)f
-(that)h(o)m(v)m(erall)i(sub)5 b(ject.)70 b(\(Th)m(us,)42
-b(if)e(the)h(Do)s(cumen)m(t)g(is)f(in)g(part)h(a)330
-4769 y(textb)s(o)s(ok)24 b(of)g(mathematics,)j(a)d(Secondary)f(Section)
-h(ma)m(y)g(not)g(explain)g(an)m(y)g(mathematics.\))40
-b(The)330 4878 y(relationship)28 b(could)f(b)s(e)g(a)g(matter)i(of)e
-(historical)i(connection)f(with)f(the)h(sub)5 b(ject)27
-b(or)g(with)g(related)330 4988 y(matters,)38 b(or)d(of)h(legal,)i
-(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
-(osition)f(regarding)330 5097 y(them.)330 5230 y(The)25
-b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
-(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
-5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
-b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
-(cumen)m(t)g(is)g(released)p eop end
-%%Page: 190 196
-TeXDict begin 190 195 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(190)330 299 y(under)26 b(this)i(License.)40 b(If)27
-b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
-(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
-y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
-b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
-e(In)m(v)-5 b(arian)m(t)330 518 y(Sections.)39 b(If)25
-b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
--5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
-669 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
-g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
-b(ron)m(t-Co)m(v)m(er)330 778 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
-j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
-(Do)s(cumen)m(t)h(is)f(released)g(under)330 888 y(this)h(License.)40
-b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
-b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
-(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 998 y(b)s(e)k(at)h(most)g(25)g(w)m
-(ords.)330 1148 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
-(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8
-b(,)38 b(represen)m(ted)330 1258 y(in)d(a)h(format)g(whose)g(sp)s
-(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g
-(public,)h(that)f(is)g(suitable)g(for)330 1367 y(revising)c(the)g(do)s
-(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors)
-f(or)f(\(for)h(images)h(com-)330 1477 y(p)s(osed)23 b(of)h(pixels\))g
-(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g
-(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1587
-y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g
-(formatters)f(or)g(for)g(automatic)i(translation)f(to)330
-1696 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
-g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g
-(otherwise)330 1806 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
-(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f
-(arranged)g(to)330 1915 y(th)m(w)m(art)27 b(or)g(discourage)g
-(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8
-b(ransparen)m(t.)39 b(An)27 b(image)330 2025 y(format)35
-b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g
-(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g
-(is)330 2134 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
-(\\Opaque".)330 2285 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
--8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fm(asci)r(i)g
-Fu(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
-(LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j
-Ff(SGML)f Fu(or)f Ff(XML)g Fu(using)g(a)g(publicly)330
-2504 y(a)m(v)-5 b(ailable)42 b Ff(DTD)p Fu(,)h(and)c
-(standard-conforming)g(simple)h Ff(HTML)p Fu(,)i(P)m(ostScript)e(or)f
-Ff(PDF)h Fu(designed)330 2614 y(for)e(h)m(uman)f(mo)s(di\014cation.)65
-b(Examples)38 b(of)h(transparen)m(t)f(image)h(formats)g(include)f
-Ff(PNG)p Fu(,)i Ff(X)n(CF)330 2724 y Fu(and)e Ff(JPG)p
-Fu(.)64 b(Opaque)38 b(formats)h(include)f(proprietary)h(formats)f(that)
-h(can)g(b)s(e)f(read)h(and)f(edited)330 2833 y(only)54
-b(b)m(y)f(proprietary)h(w)m(ord)f(pro)s(cessors,)59 b
-Ff(SGML)54 b Fu(or)f Ff(XML)h Fu(for)g(whic)m(h)f(the)h
-Ff(DTD)g Fu(and/or)330 2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g
-(generally)i(a)m(v)-5 b(ailable,)71 b(and)60 b(the)h(mac)m
-(hine-generated)j Ff(HTML)p Fu(,)330 3052 y(P)m(ostScript)31
-b(or)f Ff(PDF)h Fu(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s
-(cessors)g(for)g(output)g(purp)s(oses)f(only)-8 b(.)330
-3203 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m(ted)f(b)
-s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f(follo)m
-(wing)330 3313 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8
-b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f
-(in)h(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28
-b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e
-(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
-3532 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
-(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
-3641 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
-3792 y(The)j(\\publisher")g(means)h(an)m(y)f(p)s(erson)g(or)h(en)m(tit)
-m(y)h(that)f(distributes)f(copies)i(of)e(the)h(Do)s(cumen)m(t)330
-3902 y(to)c(the)g(public.)330 4052 y(A)f(section)h(\\En)m(titled)g
-(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h
-(whose)e(title)i(either)330 4162 y(is)d(precisely)g(XYZ)g(or)f(con)m
-(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f
-(translates)h(XYZ)e(in)330 4271 y(another)e(language.)40
-b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f
-(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4381 y(as)i(\\Ac)m(kno)m
-(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f
-(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4491
-y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s
-(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330
-4600 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g
-(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W)
--8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m
-(h)e(states)i(that)330 4861 y(this)34 b(License)g(applies)g(to)h(the)f
-(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36
-b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m
-(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f
-(disclaiming)i(w)m(arran)m(ties:)330 5080 y(an)m(y)e(other)g
-(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39
-b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
-5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
-5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
-%%Page: 191 197
-TeXDict begin 191 196 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(191)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
-(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
-(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
-b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
-(and)42 b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e
-(License)i(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e
-(in)i(all)g(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h
-(other)f(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f
-(License.)40 b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330
-737 y(tec)m(hnical)35 b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h
-(the)f(reading)g(or)g(further)e(cop)m(ying)j(of)f(the)g(copies)330
-847 y(y)m(ou)25 b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
-b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d
-(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
-(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g
-(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200
-y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
-(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
-(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443
-y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25
-b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
-(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
-1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
-(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
-1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
-(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
-b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m
-(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
-b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
-b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
-2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
-m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
-(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34
-b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
-(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e
-(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
-(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
-2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
-m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
-330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
-(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
-2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e
-(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
-(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f
-(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
-g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
-2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051
-y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
-(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
-3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
-(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
-330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
-(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
-(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
-(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
-(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8
-b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
-(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h
-(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
-(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g
-(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
-b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
-3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
-(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
-(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
-(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
-(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330
-4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
-(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
-4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
-(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
-(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
-(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8
-b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
-h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
-e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
-m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
-(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29
-b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
-b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
-(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
-(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
-(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30
-b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
-(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33
-b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
-(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510
-5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
-(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
-b(,)p eop end
-%%Page: 192 198
-TeXDict begin 192 197 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(192)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
-(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
-h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
-i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
-545 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
-(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
-(for)510 655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
-(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
-(\014v)m(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
-(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
-(few)m(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
-(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60
-b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
-(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
-b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31
-b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
-363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
-(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
-(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641
-y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
-(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
-1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
-(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
-1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
-(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
-(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
-(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244
-y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
-392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
-(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
-(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
-(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
-b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
-b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
-(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
-(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
-(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
-(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m
-(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
-(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
-(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30
-b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
-m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m
-(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
-b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395
-y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
-m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
-(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
-(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
-d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
-(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
-(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
-(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d
-(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
-h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m
-(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
-4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
-b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
-(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58
-b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
-b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
-4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33
-b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
-b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
-4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
-4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
-(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
-(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
-b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
-(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
-(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g
-(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
-(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h
-(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
-b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
-eop end
-%%Page: 193 199
-TeXDict begin 193 198 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(193)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
-b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
-b(ersion's)36 b(license)g(notice.)57 b(These)330 408
-y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
-(section)g(titles.)330 551 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)
-i(En)m(titled)f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g
-(nothing)g(but)330 661 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s
-(di\014ed)g(V)-8 b(ersion)31 b(b)m(y)e(v)-5 b(arious)30
-b(parties|for)g(example,)g(statemen)m(ts)i(of)330 770
-y(p)s(eer)27 b(review)g(or)g(that)h(the)f(text)i(has)d(b)s(een)h(appro)
-m(v)m(ed)g(b)m(y)g(an)h(organization)h(as)e(the)h(authoritativ)m(e)330
-880 y(de\014nition)i(of)h(a)f(standard.)330 1022 y(Y)-8
-b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g(up)e(to)i(\014v)m(e)g(w)m
-(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)30 b(T)-8
-b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 1132 y(to)g(25)g(w)m(ords)e
-(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext,)29 b(to)f(the)f(end)f(of)i
-(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 b(exts)27 b(in)g(the)h(Mo)s
-(di\014ed)330 1241 y(V)-8 b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f
-(F)-8 b(ron)m(t-Co)m(v)m(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m
-(k-Co)m(v)m(er)j(T)-8 b(ext)36 b(ma)m(y)h(b)s(e)330 1351
-y(added)27 b(b)m(y)g(\(or)h(through)f(arrangemen)m(ts)h(made)g(b)m(y\))
-g(an)m(y)g(one)f(en)m(tit)m(y)-8 b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)
-g(already)330 1461 y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g
-(same)h(co)m(v)m(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m
-(y)g(arrangemen)m(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m
-(y)i(y)m(ou)f(are)f(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g
-(not)f(add)g(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the)
-f(old)g(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
-(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330
-1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
-(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
-(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
-(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
-(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61
-b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
-(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
-(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g
-(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
-(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655
-y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
-b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
-(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
-(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
-g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32
-b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m
-(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
-i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5
-b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
-(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
-(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g
-(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
-(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f
-(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
-(the)g(original)h(author)f(or)330 3455 y(publisher)23
-b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
-(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
-3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
-b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
-(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m
-(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
-(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
-3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
-(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
-4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
-b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
-b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
-(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28
-b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
-(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
-(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k
-(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
-(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
-g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
-b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38
-b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
-(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
-4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
-b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
-(collection,)i(and)d(distribute)g(it)h(individu-)330
-5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
-(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
-5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
-(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
-5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 194 200
-TeXDict begin 194 199 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(194)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
-(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
-(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
-s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
-(on)f(a)g(v)m(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g
-(is)h(called)330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
-(resulting)e(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g
-(the)330 770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
-(b)s(ey)m(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
-b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
-(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
-(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
-(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
-(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
-b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
-(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
-y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
-(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
-(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
-(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
-(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
-b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
-(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
-1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
-(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
-b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
-i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
-(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
-(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
-b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
-(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
-(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
-b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
-b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
-2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
-b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
-(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
-h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
-b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
-y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
-(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
-2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
-b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
-(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
-(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
-(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
-b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
-(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
-3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
-(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
-3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
-b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
-b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
-(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
-b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
-(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
-3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
-i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
-3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
-(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
-(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
-(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
-(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
-(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
-b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
-b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
-(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
-y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
-(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
-(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
-(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
-(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
-(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
-(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
-4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
-(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
-(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
-b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
-(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
-b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
-(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
-330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
-(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
-(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
-(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 195 201
-TeXDict begin 195 200 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(195)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
-330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
-b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
-(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
-b(License)e(from)g(time)h(to)g(time.)46 b(Suc)m(h)31
-b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h(in)g(spirit)330
-653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m(y)h(di\013er)f
-(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i(concerns.)330
-762 y(See)c Ft(http://www.gnu.org/copy)o(left)o(/)p Fu(.)330
-897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m(en)g(a)g
-(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 b(If)29
-b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 b(that)h(a)g
-(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g(License)h
-(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116 y(applies)33
-b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f(follo)m(wing)i
-(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
-1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
-(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
-(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
-b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
-(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
-y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
-(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
-h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
-b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
-(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
-(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
-m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
-(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
-(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
-2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
-e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
-2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
-(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
-(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
-(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
-(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
-b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
-(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
-2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
-(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
-2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
-(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
-2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
-g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
-2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
-b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
-f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
-(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
-(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
-(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
-3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
-(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
-3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
-(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
-3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
-(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
-330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
-(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
-(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
-(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
-g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
-(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
-330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 196 202
-TeXDict begin 196 201 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(196)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
-(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fu(T)-8 b(o)35
-b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
-i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
-568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)
-m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
-680 y Fe(Copyright)42 b(\(C\))79 b Fd(year)g(your)40
-b(name)p Fe(.)468 767 y(Permission)i(is)e(granted)g(to)g(copy,)h
-(distribute)g(and/or)g(modify)f(this)g(document)468 854
-y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i
-(License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h
-(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468
-1029 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
-(and)f(no)f(Back-Cover)468 1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
-(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468
-1203 y(Free)g(Documentation)h(License''.)275 1337 y Fu(If)d(y)m(ou)h
-(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8
-b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k
-(T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6
-b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547
-1559 y Fe(with)40 b(the)g(Invariant)h(Sections)g(being)g
-Fd(list)f(their)g(titles)p Fe(,)h(with)547 1646 y(the)f(Front-Cover)i
-(Texts)e(being)g Fd(list)p Fe(,)h(and)f(with)g(the)g(Back-Cover)h
-(Texts)547 1733 y(being)f Fd(list)p Fe(.)275 1868 y Fu(If)34
-b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
-(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
-(of)g(the)150 1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
-(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2112
-y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
-(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
-2222 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
-(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
-b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
-(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
-eop end
-%%Page: 197 203
-TeXDict begin 197 202 bop 3614 -116 a Fu(197)150 299
-y Fp(App)t(endix)52 b(D)81 b(Indexes)150 639 y Fs(D.1)68
-b(Index)45 b(of)g(Shell)g(Builtin)g(Commands)146 806
-y(.)150 922 y Fe(.)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g
-(:)33 b Fb(51)146 1157 y Fs(:)150 1273 y Fe(:)19 b Fc(:)13
-b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(51)146
-1510 y Fs([)150 1626 y Fe([)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f
-(:)g(:)g(:)33 b Fb(56)146 1862 y Fs(A)150 1978 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(60)146 2213 y
-Fs(B)150 2329 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
-b Fb(124)150 2416 y Fe(bind)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(60)150 2503 y Fe(break)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(52)150 2590 y Fe(builtin)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(62)146 2825 y Fs(C)150 2941 y Fe(caller)6 b Fc(:)15
-b(:)e(:)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(:)g(:)g(:)h(:)f(:)20 b Fb(62)150 3029 y Fe(cd)c Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(52)150 3116 y Fe(command)22
-b 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(62)150 3203 y Fe(compgen)18
-b Fc(:)d(:)e(:)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(:)33 b Fb(158)150 3290 y Fe(complete)16
-b Fc(:)f(:)e(:)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(:)31 b Fb(159)150 3378 y Fe(compopt)18 b Fc(:)d(:)e(:)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(:)33
-b Fb(162)150 3465 y Fe(continue)18 b Fc(:)d(:)e(:)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(:)32 b
-Fb(53)146 3699 y Fs(D)150 3816 y Fe(declare)22 b 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(63)150 3903 y Fe(dirs)9 b Fc(:)14
-b(:)f(:)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(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(111)150 3990 y Fe(disown)e
-Fc(:)13 b(:)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(:)g(:)36 b Fb(126)146 4225 y Fs(E)150 4341
-y Fe(echo)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 4428 y Fe(enable)6 b Fc(:)15 b(:)e(:)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(:)g(:)g(:)h(:)f(:)20
-b Fb(65)150 4515 y Fe(eval)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(53)150 4603 y Fe(exec)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(53)150 4690 y Fe(exit)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(53)150 4777 y Fe(export)6 b Fc(:)15 b(:)e(:)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(:)g(:)g(:)h(:)f(:)20
-b Fb(53)146 5023 y Fs(F)150 5139 y Fe(false)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(54)150 5227 y Fe(fc)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 b Fb(166)150
-5314 y Fe(fg)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
-b Fb(125)2021 871 y Fs(G)2025 988 y Fe(getopts)22 b Fc(:)13
-b(:)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(:)f(:)g(:)35 b Fb(54)2021 1250 y Fs(H)2025 1369 y Fe(hash)11
-b Fc(:)j(:)f(:)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(:)g(:)26 b Fb(55)2025 1457
-y Fe(help)11 b Fc(:)j(:)f(:)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(:)g(:)26 b
-Fb(66)2025 1544 y Fe(history)18 b 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(166)2021
-1806 y Fs(J)2025 1924 y Fe(jobs)9 b Fc(:)14 b(:)f(:)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(:)24
-b Fb(125)2021 2186 y Fs(K)2025 2303 y Fe(kill)9 b Fc(:)14
-b(:)f(:)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(:)24 b Fb(125)2021 2554 y Fs(L)2025
-2672 y Fe(let)14 b Fc(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(66)2025 2760 y Fe(local)9 b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(66)2025 2848 y Fe(logout)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(66)2021 3110 y Fs(M)2025 3227 y Fe(mapfile)h Fc(:)13
-b(:)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(:)f(:)g(:)35 b Fb(67)2021 3489 y Fs(P)2025 3608 y Fe(popd)9
-b Fc(:)14 b(:)f(:)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(:)24 b Fb(111)2025 3696
-y Fe(printf)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(67)2025
-3784 y Fe(pushd)6 b Fc(:)14 b(:)g(:)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(:)g(:)g(:)h(:)21 b
-Fb(112)2025 3871 y Fe(pwd)14 b Fc(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(55)2021 4133 y Fs(R)2025 4251 y Fe(read)11 b Fc(:)j(:)f(:)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(:)g(:)26 b Fb(68)2025 4339 y Fe(readarray)15 b
-Fc(:)g(:)f(:)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(:)30 b Fb(70)2025 4427 y Fe(readonly)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33
-b Fb(55)2025 4515 y Fe(return)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(56)2021 4765 y Fs(S)2025 4884 y Fe(set)14 b Fc(:)f(:)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(:)g(:)g
-(:)g(:)h(:)f(:)28 b Fb(72)2025 4972 y Fe(shift)9 b Fc(:)14
-b(:)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(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(56)2025 5060 y Fe(shopt)9
-b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(77)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(70)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(126)p eop end
-%%Page: 198 204
-TeXDict begin 198 203 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(198)146 294 y Fs(T)150 410 y Fe(test)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(56)150 497
-y Fe(times)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(58)150
-584 y Fe(trap)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(58)150 671 y Fe(true)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(59)150 758 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(70)150 846 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(71)146 1090 y Fs(U)150 1206 y Fe(ulimit)6 b Fc(:)15
-b(:)e(:)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(:)g(:)g(:)h(:)f(:)20 b Fb(71)150 1293 y Fe(umask)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(59)150 1380 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(72)150 1467 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(59)2021
-294 y Fs(W)2025 434 y Fe(wait)9 b Fc(:)14 b(:)f(:)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(:)24
-b Fb(126)150 2167 y Fs(D.2)68 b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h
-(W)-11 b(ords)146 2704 y(!)150 2820 y Fe(!)19 b Fc(:)13
-b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(10)146
-3056 y Fs([)150 3172 y Fe([[)16 b Fc(:)e(:)f(:)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(:)g(:)
-g(:)31 b Fb(14)146 3414 y Fs(])150 3530 y Fe(]])16 b
-Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(14)146
-3770 y Fa({)150 3886 y Fe({)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f
-(:)g(:)g(:)33 b Fb(18)146 4125 y Fa(})150 4241 y Fe(})19
-b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b
-Fb(18)146 4475 y Fs(C)150 4591 y Fe(case)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(13)146 4825 y Fs(D)150 4941 y Fe(do)16
-b Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(12)150
-5028 y Fe(done)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(12)146 5261 y Fs(E)150 5377 y Fe(elif)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(12)150 5465 y Fe(else)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(12)150 5552 y Fe(esac)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(13)2021 2703 y Fs(F)2025 2836 y Fe(fi)16
-b Fc(:)e(:)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(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(12)2025
-2928 y Fe(for)14 b Fc(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(12)2025 3015 y Fe(function)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b
-Fb(19)2021 3359 y Fs(I)2025 3491 y Fe(if)16 b Fc(:)e(:)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)31 b Fb(12)2025 3578 y Fe(in)16 b Fc(:)e(:)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)31 b Fb(13)2021 3921 y Fs(S)2025
-4048 y Fe(select)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(14)2021 4392 y Fs(T)2025 4524 y Fe(then)11 b Fc(:)j(:)f(:)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(:)g(:)26 b Fb(12)2025 4611 y Fe(time)11 b Fc(:)j(:)f(:)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(:)g(:)26 b Fb(10)2021 4954 y Fs(U)2025 5081 y Fe(until)9
-b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(12)2021 5425
-y Fs(W)2025 5552 y Fe(while)9 b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(12)p eop end
-%%Page: 199 205
-TeXDict begin 199 204 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(199)150 299 y Fs(D.3)68 b(P)l(arameter)47
-b(and)d(V)-11 b(ariable)46 b(Index)146 955 y(!)150 1072
-y Fe(!)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33
-b Fb(24)146 1314 y Fs(#)150 1431 y Fe(#)19 b Fc(:)13
-b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(24)146
-1676 y Fs($)150 1794 y Fe($)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f
-(:)g(:)g(:)33 b Fb(24)150 1881 y Fe($!)16 b Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(24)150 1969 y Fe($#)16 b Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(24)150 2057 y Fe($$)16 b Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(24)150 2144 y Fe($*)16
-b Fc(:)e(:)f(:)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(:)g(:)g(:)31 b Fb(23)150
-2232 y Fe($-)16 b Fc(:)e(:)f(:)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(:)g(:)g(:)31
-b Fb(24)150 2320 y Fe($?)16 b Fc(:)e(:)f(:)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(:)g(:)g(:)
-31 b Fb(24)150 2407 y Fe($@)16 b Fc(:)e(:)f(:)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(:)g(:)g
-(:)31 b Fb(24)150 2495 y Fe($_)16 b Fc(:)e(:)f(:)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(:)g
-(:)g(:)31 b Fb(86)150 2582 y Fe($0)16 b Fc(:)e(:)f(:)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
-(:)g(:)g(:)31 b Fb(24)146 2834 y Fs(*)150 2950 y Fe(*)19
-b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b
-Fb(23)146 3193 y Fs({)150 3310 y Fe(-)19 b Fc(:)13 b(:)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(:)g(:)
-g(:)h(:)f(:)g(:)g(:)33 b Fb(24)146 3553 y Fs(?)150 3670
-y Fe(?)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33
-b Fb(24)146 3912 y Fs(@)150 4029 y Fe(@)19 b Fc(:)13
-b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(24)p
-156 4272 41 6 v 150 4389 a Fe(_)19 b Fc(:)13 b(:)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(:)g(:)g(:)h
-(:)f(:)g(:)g(:)33 b Fb(86)146 4631 y Fs(0)150 4748 y
-Fe(0)19 b Fc(:)13 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)33
-b Fb(24)146 4991 y Fs(A)150 5108 y Fe(active-region-end-color)12
-b Fc(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)26 b Fb(132)150 5196 y Fe(active-region-start-color)
-7 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)21 b Fb(132)150 5283 y Fe(auto_resume)8 b
-Fc(:)16 b(:)d(:)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(:)
-23 b Fb(127)2021 954 y Fs(B)2025 1071 y Fe(BASH)11 b
-Fc(:)j(:)f(:)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(:)g(:)26 b Fb(86)2025 1159
-y Fe(BASH_ALIASES)8 b Fc(:)15 b(:)f(:)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(:)22 b Fb(86)2025 1246 y Fe(BASH_ARGC)15
-b Fc(:)g(:)f(:)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(:)30 b Fb(86)2025 1334 y Fe(BASH_ARGV)15 b Fc(:)g(:)f(:)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(:)30
-b Fb(86)2025 1421 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)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(:)27 b Fb(87)2025
-1509 y Fe(BASH_CMDS)15 b Fc(:)g(:)f(:)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(:)30 b Fb(87)2025 1597
-y Fe(BASH_COMMAND)8 b Fc(:)15 b(:)f(:)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(:)22 b Fb(87)2025 1684 y Fe(BASH_COMPAT)10
-b Fc(:)16 b(:)d(:)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(:)25 b Fb(87)2025 1772 y Fe(BASH_ENV)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33
-b Fb(87)2025 1859 y Fe(BASH_EXECUTION_STRING)24 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)34 b Fb(87)2025 1947 y Fe(BASH_LINENO)10
-b Fc(:)16 b(:)d(:)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(:)25 b Fb(88)2025 2035 y Fe(BASH_LOADABLES_PATH)7 b
-Fc(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(88)2025
-2122 y Fe(BASH_MONOSECONDS)15 b Fc(:)h(:)d(:)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(:)29 b Fb(88)2025 2210 y Fe(BASH_REMATCH)8 b Fc(:)15
-b(:)f(:)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(:)22
-b Fb(88)2025 2297 y Fe(BASH_SOURCE)10 b Fc(:)16 b(:)d(:)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(:)25 b Fb(88)2025
-2385 y Fe(BASH_SUBSHELL)g Fc(:)13 b(:)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(:)37 b Fb(88)2025 2473 y Fe(BASH_TRAPSIG)8
-b Fc(:)15 b(:)f(:)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(:)
-22 b Fb(88)2025 2560 y Fe(BASH_VERSINFO)j Fc(:)13 b(:)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(:)37 b Fb(88)2025 2648
-y Fe(BASH_VERSION)8 b Fc(:)15 b(:)f(:)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(:)22 b Fb(89)2025 2735 y Fe(BASH_XTRACEFD)j
-Fc(:)13 b(:)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(:)37
-b Fb(89)2025 2823 y Fe(BASHOPTS)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b
-Fb(86)2025 2911 y Fe(BASHPID)22 b Fc(:)13 b(:)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(:)f(:)g(:)35
-b Fb(86)2025 2998 y Fe(bell-style)11 b Fc(:)k(:)e(:)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(:)26 b Fb(132)2025
-3086 y Fe(bind-tty-special-chars)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29
-b Fb(133)2025 3173 y Fe(blink-matching-paren)24 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)34 b Fb(133)2021 3426 y Fs(C)2025
-3543 y Fe(CDPATH)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(85)2025 3631 y Fe(CHILD_MAX)15 b Fc(:)g(:)f(:)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(:)30 b Fb(89)2025
-3719 y Fe(colored-completion-prefix)7 b Fc(:)18 b(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(133)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)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(:)35 b Fb(133)2025 3894 y Fe(COLUMNS)22
-b Fc(:)13 b(:)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(:)f(:)g(:)35 b Fb(89)2025 3981 y Fe(comment-begin)23
-b Fc(:)13 b(:)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(:)35
-b Fb(133)2025 4069 y Fe(COMP_CWORD)13 b Fc(:)i(:)e(:)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(:)27 b Fb(89)2025
-4157 y Fe(COMP_KEY)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b Fb(89)2025 4244
-y Fe(COMP_LINE)15 b Fc(:)g(:)f(:)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(:)30 b Fb(89)2025 4332 y Fe(COMP_POINT)13
-b Fc(:)i(:)e(:)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(:)27 b Fb(90)2025 4419 y Fe(COMP_TYPE)15 b Fc(:)g(:)f(:)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(:)30
-b Fb(90)2025 4507 y Fe(COMP_WORDBREAKS)17 b Fc(:)g(:)c(:)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(:)32 b Fb(90)2025 4595 y Fe(COMP_WORDS)13
-b Fc(:)i(:)e(:)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(:)27 b Fb(90)2025 4682 y Fe(completion-display-width)9
-b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)24 b Fb(133)2025 4770 y Fe(completion-ignore-case)14
-b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)29 b Fb(133)2025 4857 y Fe(completion-map-case)d
-Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(133)2025 4945
-y Fe(completion-prefix-display-leng)q(th)29 b Fc(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(133)2025 5033
-y Fe(completion-query-items)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29
-b Fb(134)2025 5120 y Fe(COMPREPLY)15 b Fc(:)g(:)f(:)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(:)30 b
-Fb(90)2025 5208 y Fe(convert-meta)25 b Fc(:)13 b(:)g(:)h(:)f(:)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(:)38 b Fb(134)2025 5295
-y Fe(COPROC)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(90)p
-eop end
-%%Page: 200 206
-TeXDict begin 200 205 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(200)146 294 y Fs(D)150 411 y Fe(DIRSTACK)18
-b Fc(:)d(:)e(:)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(:)32 b Fb(90)150 499 y Fe(disable-completion)7
-b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(134)146
-754 y Fs(E)150 872 y Fe(echo-control-characters)12 b
-Fc(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)26 b Fb(134)150 959 y Fe(editing-mode)f
-Fc(:)14 b(:)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(:)37
-b Fb(134)150 1047 y Fe(emacs-mode-string)10 b Fc(:)17
-b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25 b Fb(134)150 1135
-y Fe(EMACS)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(90)150
-1222 y Fe(enable-active-region)30 b(The)16 b Fc(:)e(:)f(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)31
-b Fb(135)150 1310 y Fe(enable-bracketed-paste)14 b Fc(:)k(:)c(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29
-b Fb(135)150 1398 y Fe(enable-keypad)23 b 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(:)35 b Fb(135)150 1486 y Fe(enable-meta-key)
-15 b Fc(:)i(:)c(:)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(:)30
-b Fb(135)150 1573 y Fe(ENV)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(90)150 1661 y Fe(EPOCHREALTIME)d Fc(:)13 b(:)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(:)37 b Fb(91)150 1749 y Fe(EPOCHSECONDS)8
-b Fc(:)16 b(:)d(:)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(:)
-22 b Fb(91)150 1836 y Fe(EUID)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(91)150 1924 y Fe(EXECIGNORE)13 b Fc(:)i(:)e(:)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(:)h(:)f(:)g(:)27 b Fb(91)150
-2011 y Fe(expand-tilde)e Fc(:)14 b(:)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(:)37 b Fb(135)146 2267 y Fs(F)150 2384
-y Fe(FCEDIT)6 b Fc(:)15 b(:)e(:)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(:)g(:)g(:)h(:)f(:)20 b Fb(91)150
-2472 y Fe(FIGNORE)i 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(91)150
-2560 y Fe(force-meta-prefix)10 b Fc(:)17 b(:)c(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)25 b Fb(135)150 2647 y Fe(FUNCNAME)18 b Fc(:)d(:)e(:)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(:)32
-b Fb(91)150 2735 y Fe(FUNCNEST)18 b Fc(:)d(:)e(:)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(:)32 b
-Fb(91)146 2979 y Fs(G)150 3096 y Fe(GLOBIGNORE)13 b Fc(:)i(:)e(:)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(:)h(:)f(:)g(:)27
-b Fb(91)150 3184 y Fe(GLOBSORT)18 b Fc(:)d(:)e(:)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(:)32 b
-Fb(92)150 3271 y Fe(GROUPS)6 b Fc(:)15 b(:)e(:)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(:)g(:)g(:)h(:)f(:)20
-b Fb(92)146 3515 y Fs(H)150 3633 y Fe(histchars)15 b
-Fc(:)h(:)d(:)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(:)g(:)30 b Fb(92)150 3721 y Fe(HISTCMD)22 b 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(92)150 3808 y Fe(HISTCONTROL)10 b
-Fc(:)16 b(:)d(:)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(:)25 b Fb(93)150 3896 y Fe(HISTFILE)18 b Fc(:)d(:)e(:)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(:)32
-b Fb(93)150 3984 y Fe(HISTFILESIZE)8 b Fc(:)16 b(:)d(:)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(:)22 b Fb(93)150
-4071 y Fe(HISTIGNORE)13 b Fc(:)i(:)e(:)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(:)h(:)f(:)g(:)27 b Fb(93)150 4159 y
-Fe(history-preserve-point)14 b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(136)150
-4247 y Fe(history-size)c Fc(:)14 b(:)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(:)37 b Fb(136)150 4334 y Fe(HISTSIZE)18
-b Fc(:)d(:)e(:)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(:)32 b Fb(93)150 4422 y Fe(HISTTIMEFORMAT)23
-b Fc(:)13 b(:)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(:)h(:)f(:)g(:)g(:)34
-b Fb(94)150 4510 y Fe(HOME)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(85)150 4598 y Fe(horizontal-scroll-mode)14 b Fc(:)k(:)c(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29
-b Fb(136)150 4685 y Fe(HOSTFILE)18 b Fc(:)d(:)e(:)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(:)32 b
-Fb(94)150 4773 y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)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(:)32 b Fb(94)150
-4860 y Fe(HOSTTYPE)18 b Fc(:)d(:)e(:)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(:)32 b Fb(94)2021 294
-y Fs(I)2025 420 y Fe(IFS)14 b Fc(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(85)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)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(:)30 b Fb(94)2025
-600 y Fe(input-meta)11 b Fc(:)k(:)e(:)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(:)26 b Fb(136)2025 691 y Fe(INPUTRC)c
-Fc(:)13 b(:)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(:)f(:)g(:)35 b Fb(94)2025 781 y Fe(INSIDE_EMACS)8
-b Fc(:)15 b(:)f(:)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(:)
-22 b Fb(94)2025 868 y Fe(isearch-terminators)k Fc(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(136)2021 1167 y Fs(K)2025
-1290 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)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(:)36 b Fb(136)2021
-1601 y Fs(L)2025 1727 y Fe(LANG)20 b Fc(:)13 b(:)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(:)g(:)g(:)35
-b Fb(8,)26 b(94)2025 1817 y Fe(LC_ALL)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(94)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)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(:)27 b Fb(94)2025
-1998 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b Fb(95)2025 2088
-y Fe(LC_MESSAGES)21 b 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(:)34 b Fb(8,)26 b(95)2025 2178 y Fe(LC_NUMERIC)13
-b Fc(:)i(:)e(:)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(:)27 b Fb(95)2025 2269 y Fe(LC_TIME)22 b Fc(:)13
-b(:)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(:)f(:)g(:)35 b Fb(95)2025 2359 y Fe(LINENO)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(95)2025 2446 y Fe(LINES)9
-b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(95)2021 2746
-y Fs(M)2025 2872 y Fe(MACHTYPE)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b
-Fb(95)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)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(:)g(:)26
-b Fb(85)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)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(:)30 b Fb(95)2025
-3143 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)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(:)g(:)g(:)33 b Fb(85)2025 3233
-y Fe(MAPFILE)22 b Fc(:)13 b(:)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(:)f(:)g(:)35 b Fb(95)2025 3323
-y Fe(mark-modified-lines)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(137)2025 3414 y Fe(mark-symlinked-directories)27
-b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-36 b Fb(137)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17
-b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(137)2025 3594
-y Fe(menu-complete-display-prefix)17 b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(137)2025 3681 y Fe(meta-flag)13
-b Fc(:)i(:)e(:)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(:)28 b Fb(136)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)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(95)2025 4208 y Fe(OPTARG)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(85)2025 4299 y Fe(OPTERR)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(95)2025 4389 y Fe(OPTIND)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(85)2025 4480 y Fe(OSTYPE)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(95)2025 4567 y Fe(output-meta)8
-b Fc(:)16 b(:)d(:)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(:)
-23 b Fb(137)p eop end
-%%Page: 201 207
-TeXDict begin 201 206 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(201)146 294 y Fs(P)150 410 y Fe(page-completions)
-13 b Fc(:)j(:)d(:)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(:)27 b Fb(137)150
-497 y Fe(PATH)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(85)150 584 y Fe(PIPESTATUS)13 b Fc(:)i(:)e(:)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(:)h(:)f(:)g(:)27 b Fb(95)150
-671 y Fe(POSIXLY_CORRECT)17 b Fc(:)g(:)c(:)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(:)32 b Fb(95)150 758 y Fe(PPID)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(96)150 846 y Fe(PROMPT_COMMAND)e Fc(:)13
-b(:)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(:)h(:)f(:)g(:)g(:)34
-b Fb(96)150 933 y Fe(PROMPT_DIRTRIM)23 b Fc(:)13 b(:)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(:)h(:)f(:)g(:)g(:)34 b Fb(96)150 1020 y Fe(PS0)14
-b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(96)150
-1107 y Fe(PS1)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(85)150 1194 y Fe(PS2)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(85)150 1281 y Fe(PS3)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(96)150 1369 y Fe(PS4)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(96)150 1456 y Fe(PWD)14 b Fc(:)f(:)h(:)f(:)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(96)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
-b(:)e(:)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(:)g(:)g(:)h(:)f(:)20 b Fb(96)150 1892 y Fe(READLINE_ARGUMENT)12
-b Fc(:)17 b(:)c(:)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(:)26 b Fb(96)150
-1979 y Fe(READLINE_LINE)f Fc(:)13 b(:)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(:)37 b Fb(96)150 2066 y Fe(READLINE_MARK)25
-b Fc(:)13 b(:)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(:)37
-b Fb(96)150 2153 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)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(:)h(:)f(:)g(:)g(:)34 b Fb(96)150 2240 y Fe(REPLY)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(96)150 2327 y
-Fe(revert-all-at-newline)17 b Fc(:)h(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(138)146 2560 y Fs(S)150 2676 y Fe(search-ignore-case)7
-b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(138)150
-2763 y Fe(SECONDS)g 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(97)150
-2851 y Fe(SHELL)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(97)150 2938 y Fe(SHELLOPTS)15 b Fc(:)h(:)d(:)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(:)g(:)30 b Fb(97)150
-3025 y Fe(SHLVL)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(97)150 3112 y Fe(show-all-if-ambiguous)17 b Fc(:)h(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)32 b Fb(138)150 3199 y Fe(show-all-if-unmodified)14
-b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)29 b Fb(138)2025 260 y Fe(show-mode-in-prompt)d
-Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(138)2025 351 y
-Fe(skip-completed-text)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(138)2025 438 y Fe(SRANDOM)22 b Fc(:)13 b(:)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(:)f(:)g(:)35
-b Fb(97)2021 758 y Fs(T)2025 887 y Fe(TEXTDOMAIN)15 b
-Fc(:)g(:)e(:)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(:)30 b Fb(8)2025 978 y Fe(TEXTDOMAINDIR)7 b Fc(:)16
-b(:)d(:)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(:)23
-b Fb(8)2025 1069 y Fe(TIMEFORMAT)13 b Fc(:)i(:)e(:)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(:)27 b Fb(97)2025
-1161 y Fe(TMOUT)9 b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(98)2025 1248 y Fe(TMPDIR)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(98)2021 1567 y Fs(U)2025 1692 y Fe(UID)14 b Fc(:)f(:)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(:)g(:)g
-(:)g(:)h(:)f(:)28 b Fb(98)2021 2012 y Fs(V)2025 2140
-y Fe(vi-cmd-mode-string)7 b Fc(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
-b Fb(138)2025 2232 y Fe(vi-ins-mode-string)7 b Fc(:)17
-b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(139)2025 2319
-y Fe(visible-stats)h Fc(:)13 b(:)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(:)35 b Fb(139)150 3838 y Fs(D.4)68 b(F)-11 b(unction)44
-b(Index)146 4324 y(A)150 4441 y Fe(abort)27 b(\(C-g\))15
-b Fc(:)f(:)f(:)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(:)30
-b Fb(153)150 4529 y Fe(accept-line)e(\(Newline)g(or)e(Return\))12
-b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)27
-b Fb(146)150 4616 y Fe(alias-expand-line)i(\(\))9 b Fc(:)14
-b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(155)146 4872 y Fs(B)150
-4989 y Fe(backward-char)29 b(\(C-b\))12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)26 b Fb(145)150 5077 y Fe(backward-delete-char)k(\(Rubout\))22
-b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fb(148)150 5165 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))e
-Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fb(149)150 5252 y Fe(backward-kill-word)30 b(\(M-DEL\))11
-b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-26 b Fb(150)150 5340 y Fe(backward-word)j(\(M-b\))12
-b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(145)2025 4294
-y Fe(beginning-of-history)k(\(M-<\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(146)2025
-4383 y Fe(beginning-of-line)j(\(C-a\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fb(145)2025 4471 y Fe(bracketed-paste-begin)c(\(\))16
-b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)31 b Fb(148)2021 4768 y Fs(C)2025 4891 y Fe
-(call-last-kbd-macro)f(\(C-x)c(e\))15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(153)2025 4981
-y Fe(capitalize-word)f(\(M-c\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(149)2025 5071 y Fe(character-search)29 b(\(C-]\))22
-b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)36 b Fb(154)2025 5161 y Fe
-(character-search-backward)31 b(\(M-C-]\))10 b Fc(:)15
-b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(154)2025 5250
-y Fe(clear-display)j(\(M-C-l\))7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(146)2025 5340 y Fe(clear-screen)28 b(\(C-l\))14
-b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(146)p eop
-end
-%%Page: 202 208
-TeXDict begin 202 207 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(202)150 264 y Fe(complete)27 b(\(TAB\))7
-b Fc(:)15 b(:)e(:)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(:)22
-b Fb(151)150 351 y Fe(complete-command)29 b(\(M-!\))23
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(152)150 439 y Fe(complete-filename)29
-b(\(M-/\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)150 527 y Fe(complete-hostname)
-c(\(M-@\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)150 615 y Fe
-(complete-into-braces)d(\(M-{\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(153)150 702
-y Fe(complete-username)j(\(M-~\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33
-b Fb(152)150 790 y Fe(complete-variable)c(\(M-$\))20
-b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)33 b Fb(152)150 878 y Fe(copy-backward-word)d(\(\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(150)150 966 y Fe(copy-forward-word)
-29 b(\(\))9 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(150)150
-1053 y Fe(copy-region-as-kill)30 b(\(\))22 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)36 b Fb(150)146 1310 y Fs(D)150 1428 y Fe(dabbrev-expand)29
-b(\(\))17 b Fc(:)c(:)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(:)32
-b Fb(152)150 1515 y Fe(delete-char)c(\(C-d\))17 b Fc(:)d(:)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(:)32 b Fb(148)150 1603 y Fe(delete-char-or-list)e
-(\(\))22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(152)150 1691 y Fe
-(delete-horizontal-space)31 b(\(\))11 b Fc(:)i(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(150)150
-1779 y Fe(digit-argument)j(\()p Fd(M-0)p Fe(,)e Fd(M-1)p
-Fe(,)f(...)g Fd(M--)p Fe(\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)
-26 b Fb(151)150 1866 y Fe(display-shell-version)k(\(C-x)d(C-v\))c
-Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fb(155)150 1945 y Fe(do-lowercase-version)30 b(\(M-A,)227
-2033 y(M-B,)c(M-)p Fd(x)p Fe(,)h(...\))10 b Fc(:)k(:)f(:)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(:)25 b Fb(153)150 2120 y Fe(downcase-word)k(\(M-l\))
-12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(149)150 2208
-y Fe(dump-functions)j(\(\))17 b Fc(:)c(:)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(:)
-32 b Fb(154)150 2296 y Fe(dump-macros)c(\(\))7 b Fc(:)14
-b(:)f(:)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(:)22
-b Fb(154)150 2384 y Fe(dump-variables)29 b(\(\))17 b
-Fc(:)c(:)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(:)32 b Fb(154)150
-2471 y Fe(dynamic-complete-history)f(\(M-TAB\))13 b Fc(:)i(:)e(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(152)146 2728 y Fs(E)150
-2845 y Fe(edit-and-execute-command)k(\(C-x)c(C-e\))14
-b Fc(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(155)150 2933
-y Fe(end-kbd-macro)g(\(C-x)d(\)\))13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)28
-b Fb(153)150 3021 y Fd(end-of-file)g Fe(\(usually)g(C-d\))21
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)35 b Fb(148)150 3109 y Fe(end-of-history)29 b(\(M->\))9
-b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(146)150 3196 y
-Fe(end-of-line)k(\(C-e\))17 b Fc(:)d(:)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(:)32
-b Fb(145)150 3284 y Fe(exchange-point-and-mark)f(\(C-x)26
-b(C-x\))17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(153)150 3371 y Fe(execute-named-command)e(\(M-x\))8
-b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(154)146 3618 y Fs(F)150 3736 y Fe(fetch-history)29
-b(\(\))19 b Fc(:)14 b(:)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(:)34
-b Fb(148)150 3823 y Fe(forward-backward-delete-char)e(\(\))15
-b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(148)150
-3911 y Fe(forward-char)e(\(C-f\))14 b Fc(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)29 b Fb(145)150 3999 y Fe(forward-search-history)i(\(C-s\))24
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(146)150 4086 y Fe(forward-word)28 b(\(M-f\))14 b
-Fc(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(145)146 4333
-y Fs(G)150 4450 y Fe(glob-complete-word)h(\(M-g\))16
-b Fc(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)31 b Fb(155)150 4538 y Fe(glob-expand-word)e(\(C-x)e(*\))c
-Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)38 b Fb(155)150 4625 y Fe(glob-list-expansions)30
-b(\(C-x)d(g\))13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)27 b Fb(155)2021 294 y Fs(H)2025 422 y Fe
-(history-and-alias-expand-line)32 b(\(\))13 b Fc(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)28 b Fb(155)2025 513 y Fe(history-expand-line)i
-(\(M-^\))13 b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)28 b Fb(155)2025 604 y Fe(history-search-backward)j
-(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)26 b Fb(147)2025 695 y Fe(history-search-forward)k(\(\))13
-b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)28 b Fb(147)2025 786 y Fe(history-substring-search-backw)q(ard)k
-(\(\))20 b Fc(:)13 b(:)g(:)g(:)g(:)35 b Fb(147)2025 874
-y Fe(history-substring-search-forwa)q(rd)d(\(\))22 b
-Fc(:)13 b(:)h(:)f(:)g(:)g(:)37 b Fb(147)2021 1200 y Fs(I)2025
-1329 y Fe(insert-comment)29 b(\(M-#\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-24 b Fb(154)2025 1420 y Fe(insert-completions)29 b(\(M-*\))16
-b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)31 b Fb(151)2025 1507 y Fe(insert-last-argument)f(\(M-.)c(or)g
-(M-_\))7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(155)2021 1834 y Fs(K)2025 1962 y Fe(kill-line)27
-b(\(C-k\))c Fc(:)14 b(:)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(:)37
-b Fb(149)2025 2053 y Fe(kill-region)28 b(\(\))7 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(:)22
-b Fb(150)2025 2144 y Fe(kill-whole-line)29 b(\(\))14
-b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(150)2025
-2231 y Fe(kill-word)e(\(M-d\))c Fc(:)14 b(:)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(:)37 b Fb(150)2021 2548 y Fs(M)2025 2676 y
-Fe(magic-space)28 b(\(\))7 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(:)22 b Fb(155)2025 2767 y Fe(menu-complete)28
-b(\(\))20 b Fc(:)13 b(:)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(:)34
-b Fb(151)2025 2854 y Fe(menu-complete-backward)c(\(\))13
-b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)28 b Fb(152)2021 3181 y Fs(N)2025 3309 y Fe(next-history)g(\(C-n\))
-14 b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(146)2025
-3401 y Fe(next-screen-line)g(\(\))12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-27 b Fb(146)2025 3472 y Fe(non-incremental-forward-)2102
-3560 y(search-history)h(\(M-n\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(147)2025 3647 y Fe(non-incremental-reverse-)2102
-3734 y(search-history)28 b(\(M-p\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(147)2021 4070 y Fs(O)2025 4198 y Fe(operate-and-get-next)30
-b(\(C-o\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)26 b Fb(148)2025 4285 y Fe(overwrite-mode)j(\(\))17
-b Fc(:)c(:)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(:)32 b Fb(149)p
-eop end
-%%Page: 203 209
-TeXDict begin 203 208 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(203)146 294 y Fs(P)150 411 y Fe
-(possible-command-completions)32 b(\(C-x)26 b(!\))9 b
-Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(152)150 499 y Fe
-(possible-completions)30 b(\(M-?\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(151)150
-586 y Fe(possible-filename-completions)32 b(\(C-x)27
-b(/\))7 b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 674
-y Fe(possible-hostname-completions)32 b(\(C-x)27 b(@\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 762 y Fe
-(possible-username-completions)32 b(\(C-x)27 b(~\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 849 y Fe
-(possible-variable-completions)32 b(\(C-x)27 b($\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 937 y Fe(prefix-meta)28
-b(\(ESC\))17 b Fc(:)d(:)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(:)32
-b Fb(153)150 1025 y Fe(previous-history)d(\(C-p\))23
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(146)150 1112 y Fe(previous-screen-line)30
-b(\(\))19 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(146)150 1200 y Fe
-(print-last-kbd-macro)d(\(\))19 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(153)146
-1454 y Fs(Q)150 1571 y Fe(quoted-insert)c(\(C-q)d(or)g(C-v\))8
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)22 b Fb(148)146 1825 y Fs(R)150 1943 y Fe(re-read-init-file)29
-b(\(C-x)e(C-r\))15 b Fc(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)30 b Fb(153)150 2030 y Fe(redraw-current-line)g(\(\))22
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(146)150 2118 y Fe(reverse-search-history)31
-b(\(C-r\))24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)38 b Fb(146)150 2205 y Fe(revert-line)28 b(\(M-r\))17
-b Fc(:)d(:)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(:)32 b Fb(153)146
-2449 y Fs(S)150 2567 y Fe(self-insert)c(\(a,)e(b,)g(A,)g(1,)h(!,)f
-(...\))13 b Fc(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)27
-b Fb(148)150 2654 y Fe(set-mark)g(\(C-@\))7 b Fc(:)15
-b(:)e(:)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(:)22
-b Fb(153)150 2742 y Fe(shell-backward-kill-word)31 b(\(\))8
-b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(150)150 2830 y Fe(shell-backward-word)30 b(\(M-C-b\))8
-b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(145)150 2917 y Fe(shell-expand-line)29 b(\(M-C-e\))13
-b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)28 b Fb(155)150 3005 y Fe(shell-forward-word)i(\(M-C-f\))11
-b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-26 b Fb(145)150 3093 y Fe(shell-kill-word)j(\(M-C-d\))20
-b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)33 b Fb(150)150 3180 y Fe(shell-transpose-words)d
-(\(M-C-t\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)35 b Fb(149)2025 264 y Fe(skip-csi-sequence)29 b(\(\))9
-b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(154)2025 361 y
-Fe(spell-correct-word)29 b(\(C-x)e(s\))18 b Fc(:)13 b(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fb(155)2025
-448 y Fe(start-kbd-macro)c(\(C-x)d(\(\))8 b Fc(:)14 b(:)f(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23
-b Fb(153)2021 891 y Fs(T)2025 1038 y Fe(tilde-expand)28
-b(\(M-&\))14 b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29
-b Fb(153)2025 1135 y Fe(transpose-chars)g(\(C-t\))7 b
-Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(149)2025 1222 y Fe(transpose-words)
-29 b(\(M-t\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(149)2021
-1676 y Fs(U)2025 1823 y Fe(undo)k(\(C-_)h(or)f(C-x)g(C-u\))10
-b Fc(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(153)2025 1920 y Fe
-(universal-argument)k(\(\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(151)2025 2017 y Fe(unix-filename-rubout)30 b(\(\))19
-b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)34 b Fb(150)2025 2114 y Fe(unix-line-discard)29
-b(\(C-u\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(149)2025 2211 y Fe
-(unix-word-rubout)29 b(\(C-w\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(150)2025 2298 y Fe(upcase-word)28 b(\(M-u\))17 b
-Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(149)2021
-2752 y Fs(Y)2025 2899 y Fe(yank)26 b(\(C-y\))18 b Fc(:)c(:)f(:)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(:)33
-b Fb(150)2025 2996 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))8
-b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)22 b Fb(147)2025 3093 y Fe(yank-nth-arg)28 b(\(M-C-y\))9
-b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(147)2025 3180
-y Fe(yank-pop)j(\(M-y\))7 b Fc(:)15 b(:)e(:)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(:)22 b Fb(150)150 3929 y Fs(D.5)68 b(Concept)45
-b(Index)146 4523 y(A)150 4645 y Fb(alias)27 b(expansion)22
-b Fc(:)14 b(:)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(:)37
-b Fb(108)150 4735 y(arithmetic)26 b(ev)l(aluation)21
-b Fc(:)13 b(:)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(106)150 4824
-y(arithmetic)26 b(expansion)11 b Fc(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-26 b Fb(36)150 4914 y(arithmetic)g(op)r(erators)18 b
-Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(107)150 5003
-y(arithmetic,)27 b(shell)21 b Fc(:)14 b(:)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(:)36 b Fb(106)150 5090 y(arra)n(ys)19 b Fc(:)13
-b(:)h(:)f(:)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(:)g(:)g(:)g(:)34 b Fb(109)2021 4523 y Fs(B)2025 4641
-y Fb(bac)n(kground)13 b Fc(:)f(:)h(:)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(:)28 b Fb(123)2025 4729 y(Bash)e(con\014guration)
-11 b Fc(:)j(:)f(:)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(:)26 b Fb(172)2025
-4817 y(Bash)g(installation)9 b Fc(:)15 b(:)e(:)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(:)24 b Fb(172)2025 4905 y(binary)h(arithmetic)h(op)r
-(erators)16 b Fc(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)31 b Fb(107)2025 4993 y(bit)n(wise)26
-b(arithmetic)h(op)r(erators)8 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)23 b Fb(107)2025
-5081 y(Bourne)j(shell)20 b Fc(:)13 b(:)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(:)35 b Fb(5)2025 5169
-y(brace)26 b(expansion)9 b Fc(:)k(:)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(:)24 b Fb(25)2025 5256 y(builtin)15 b Fc(:)e(:)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(:)f
-(:)g(:)g(:)30 b Fb(3)p eop end
-%%Page: 204 210
-TeXDict begin 204 209 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(204)146 294 y Fs(C)150 412 y Fb(command)26
-b(editing)19 b Fc(:)14 b(:)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(:)34
-b Fb(129)150 500 y(command)26 b(execution)12 b Fc(:)h(:)g(:)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(:)26 b Fb(45)150 587 y(command)g(expansion)c
-Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(44)150
-675 y(command)26 b(history)18 b Fc(:)13 b(:)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(:)33 b Fb(165)150 763 y(command)26 b(searc)n(h)16
-b Fc(:)d(:)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(:)30
-b Fb(45)150 851 y(command)c(substitution)21 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(35)150 939 y(command)26
-b(timing)11 b Fc(:)i(:)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(:)25
-b Fb(10)150 1027 y(commands,)h(comp)r(ound)c Fc(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(11)150 1114 y(commands,)26
-b(conditional)10 b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25
-b Fb(12)150 1202 y(commands,)h(grouping)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)29 b Fb(17)150 1290 y(commands,)d(lists)10
-b Fc(:)15 b(:)e(:)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(:)24
-b Fb(11)150 1378 y(commands,)i(lo)r(oping)e Fc(:)13 b(:)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(:)37 b Fb(12)150 1466 y(commands,)26
-b(pip)r(elines)16 b Fc(:)e(:)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(:)30
-b Fb(10)150 1554 y(commands,)c(shell)c Fc(:)13 b(:)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(:)36 b Fb(9)150 1642 y(commands,)26
-b(simple)e Fc(:)13 b(:)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(:)38
-b Fb(9)150 1729 y(commen)n(ts,)26 b(shell)13 b Fc(:)i(:)e(:)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(:)28 b Fb(9)150
-1817 y(Compatibilit)n(y)f(Lev)n(el)10 b Fc(:)j(:)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(:)25 b Fb(120)150 1905 y(Compatibilit)n(y)i(Mo)r(de)22
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(120)150
-1993 y(completion)27 b(builtins)21 b Fc(:)13 b(:)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(:)36 b Fb(158)150 2081 y(conditional)27 b(arithmetic)f(op)r
-(erator)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fb(107)150 2169 y(con\014guration)22 b Fc(:)13
-b(:)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(:)36
-b Fb(172)150 2256 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
-b(:)e(:)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(:)23
-b Fb(3)150 2344 y(copro)r(cess)18 b Fc(:)c(:)f(:)h(:)f(:)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(:)32 b
-Fb(18)146 2600 y Fs(D)150 2718 y Fb(directory)26 b(stac)n(k)9
-b Fc(:)k(:)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(:)24
-b Fb(111)150 2805 y(dollar-single)k(quote)d(quoting)18
-b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)34 b Fb(6)146 3061 y Fs(E)150 3179
-y Fb(editing)26 b(command)g(lines)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(129)150 3267 y(en)n(vironmen)n(t)18 b Fc(:)12 b(:)h(:)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(:)32 b Fb(46)150
-3355 y(ev)l(aluation,)26 b(arithmetic)9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)24 b Fb(106)150 3443 y(ev)n(en)n(t)h(designators)c
-Fc(:)13 b(:)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(:)34
-b Fb(169)150 3531 y(execution)26 b(en)n(vironmen)n(t)17
-b Fc(:)12 b(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(45)150 3618
-y(exit)25 b(status)7 b Fc(:)14 b(:)f(:)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(:)22 b Fb(3,)k(47)150 3706 y(expansion)9
-b Fc(:)14 b(:)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(:)g(:)24 b Fb(24)150 3794 y(expansion,)i(arithmetic)18
-b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(36)150 3882
-y(expansion,)26 b(brace)16 b Fc(:)d(:)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(:)30 b Fb(25)150 3970 y(expansion,)c(\014lename)18
-b Fc(:)13 b(:)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(:)32 b Fb(37)150
-4058 y(expansion,)26 b(parameter)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)34 b Fb(27)150 4145 y(expansion,)26 b(pathname)7
-b Fc(:)13 b(:)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(:)22 b Fb(37)150
-4233 y(expansion,)k(tilde)14 b Fc(:)f(:)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(:)28 b Fb(26)150 4321 y(expressions,)f(arithmetic)11
-b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(106)150 4408 y(expressions,)h
-(conditional)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)30 b Fb(104)2021
-294 y Fs(F)2025 414 y Fb(\014eld)21 b Fc(:)13 b(:)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(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)36 b Fb(3)2025 503 y(\014lename)21 b Fc(:)14 b(:)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(:)36
-b Fb(3)2025 591 y(\014lename)26 b(expansion)11 b Fc(:)i(:)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(:)26 b Fb(37)2025 680 y(foreground)9
-b Fc(:)14 b(:)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(:)
-h(:)f(:)24 b Fb(123)2025 767 y(functions,)i(shell)9 b
-Fc(:)14 b(:)f(:)g(:)h(:)f(:)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(:)24
-b Fb(19)2021 1038 y Fs(H)2025 1158 y Fb(history)h(builtins)20
-b Fc(:)13 b(:)h(:)f(:)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(:)35
-b Fb(166)2025 1247 y(history)25 b(ev)n(en)n(ts)8 b Fc(:)13
-b(:)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(:)23
-b Fb(169)2025 1335 y(history)i(expansion)14 b Fc(:)g(:)f(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)29 b Fb(168)2025 1424 y(history)c(list)9
-b Fc(:)15 b(:)e(:)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(:)24 b Fb(165)2025 1511 y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)
-19 b Fc(:)13 b(:)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(:)34 b Fb(164)2021
-1782 y Fs(I)2025 1903 y Fb(iden)n(ti\014er)12 b Fc(:)g(:)h(:)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(:)g(:)27
-b Fb(3)2025 1991 y(initialization)h(\014le,)e(readline)17
-b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)32 b Fb(131)2025 2080 y(installation)21
-b Fc(:)13 b(:)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(:)34 b Fb(172)2025 2168 y(in)n(teraction,)26 b(readline)7
-b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(128)2025
-2257 y(in)n(teractiv)n(e)k(shell)16 b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)31 b Fb(101,)c(103)2025 2346 y(in)n(ternationalization)22
-b Fc(:)13 b(:)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(:)35
-b Fb(7)2025 2433 y(in)n(ternationalized)27 b(scripts)13
-b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)28 b Fb(8)2021 2704 y
-Fs(J)2025 2824 y Fb(job)23 b Fc(:)13 b(:)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(:)g(:)g
-(:)38 b Fb(3)2025 2911 y(job)26 b(con)n(trol)17 b Fc(:)d(:)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(:)31 b Fb(3,)c(123)2021
-3183 y Fs(K)2025 3303 y Fb(kill)f(ring)7 b Fc(:)14 b(:)f(:)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(:)22
-b Fb(130)2025 3390 y(killing)k(text)6 b Fc(:)13 b(:)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(:)21 b
-Fb(130)2021 3661 y Fs(L)2025 3782 y Fb(lo)r(calization)i
-Fc(:)13 b(:)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(:)35 b Fb(7)2025 3869 y(login)26 b(shell)c
-Fc(:)13 b(:)h(:)f(:)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(:)36 b Fb(101)2021 4140 y Fs(M)2025 4260 y Fb(matc)n(hing,)26
-b(pattern)9 b Fc(:)k(:)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(:)24
-b Fb(38)2025 4347 y(metac)n(haracter)7 b Fc(:)14 b(:)f(:)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(:)22 b Fb(3)p
-eop end
-%%Page: 205 211
-TeXDict begin 205 210 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(205)146 294 y Fs(N)150 410 y Fb(name)19
-b Fc(:)14 b(:)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(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(3)150 497
-y(nativ)n(e)25 b(languages)c Fc(:)13 b(:)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(:)34 b Fb(7)150 584 y(notation,)27
-b(readline)13 b Fc(:)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(:)27
-b Fb(129)146 827 y Fs(O)150 943 y Fb(op)r(erator,)g(shell)c
-Fc(:)13 b(:)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(:)
-37 b Fb(3)146 1186 y Fs(P)150 1302 y Fb(parameter)26
-b(expansion)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28
-b Fb(27)150 1389 y(parameters)c Fc(:)13 b(:)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(:)h(:)f(:)37 b Fb(22)150
-1476 y(parameters,)27 b(p)r(ositional)7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)21 b Fb(23)150 1563 y(parameters,)27 b(sp)r(ecial)7
-b Fc(:)14 b(:)f(:)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(:)21
-b Fb(23)150 1650 y(pathname)k(expansion)18 b Fc(:)c(:)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(:)32 b Fb(37)150 1738 y(pattern)25 b(matc)n(hing)c
-Fc(:)13 b(:)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(:)34
-b Fb(38)150 1825 y(pip)r(eline)10 b Fc(:)j(:)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(:)24
-b Fb(10)150 1912 y(POSIX)e Fc(:)13 b(:)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(:)f(:)g(:)g(:)g(:)38
-b Fb(3)150 1999 y(POSIX)25 b(description)10 b Fc(:)j(:)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(:)25 b Fb(115)150 2086 y(POSIX)g(Mo)r(de)14
-b Fc(:)g(:)f(:)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(:)29
-b Fb(115)150 2174 y(pro)r(cess)e(group)15 b Fc(:)e(:)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(:)30 b Fb(3)150
-2261 y(pro)r(cess)d(group)e(ID)11 b Fc(:)i(:)g(:)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(:)26 b Fb(3)150 2348 y(pro)r(cess)h(substitution)
-11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(36)150
-2435 y(programmable)i(completion)8 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)23
-b Fb(156)150 2522 y(prompting)15 b Fc(:)e(:)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(:)30 b Fb(112)146
-2765 y Fs(Q)150 2881 y Fb(quoting)16 b Fc(:)d(:)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31
-b Fb(6)150 2968 y(quoting,)26 b(ANSI)18 b Fc(:)13 b(:)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(:)34 b Fb(6)146
-3211 y Fs(R)150 3327 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)11
-b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(127)150 3414
-y(redirection)13 b Fc(:)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(:)27 b Fb(40)150 3501 y(reserv)n(ed)f(w)n
-(ord)13 b Fc(:)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(:)28 b Fb(4)150 3589 y(reserv)n(ed)e(w)n(ords)15
-b Fc(:)f(:)f(:)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(:)30
-b Fb(9)150 3676 y(restricted)c(shell)12 b Fc(:)i(:)f(:)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(:)27 b Fb(114)150 3763 y(return)e(status)
-10 b Fc(:)k(:)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(:)h(:)f(:)g(:)
-g(:)g(:)25 b Fb(4)2021 294 y Fs(S)2025 418 y Fb(shell)h(arithmetic)15
-b Fc(:)f(:)f(:)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(:)30
-b Fb(106)2025 508 y(shell)c(function)18 b Fc(:)13 b(:)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(:)32 b Fb(19)2025
-597 y(shell)26 b(script)10 b Fc(:)k(:)f(:)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(:)g(:)25 b Fb(49)2025 687
-y(shell)h(v)l(ariable)7 b Fc(:)14 b(:)f(:)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(:)22 b Fb(22)2025 777 y(shell,)k(in)n
-(teractiv)n(e)18 b Fc(:)c(:)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(:)
-33 b Fb(103)2025 867 y(signal)13 b Fc(:)h(:)f(:)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(:)f(:)g(:)g(:)g(:)g(:)28
-b Fb(4)2025 956 y(signal)f(handling)6 b Fc(:)13 b(:)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(:)21 b Fb(48)2025 1046
-y(sp)r(ecial)27 b(builtin)16 b Fc(:)d(:)g(:)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(:)31 b Fb(4,)26 b(83)2025 1136 y(startup)f(\014les)8
-b Fc(:)14 b(:)f(:)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(:)23 b Fb(101)2025 1226 y(string)j(translations)8 b
-Fc(:)14 b(:)f(:)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(:)23
-b Fb(8)2025 1313 y(susp)r(ending)i(jobs)10 b Fc(:)k(:)f(:)g(:)h(:)f(:)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(:)25 b Fb(123)2021 1610 y Fs(T)2025
-1734 y Fb(tilde)h(expansion)7 b Fc(:)13 b(:)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(:)22 b Fb(26)2025 1823 y(tok)n(en)17
-b Fc(:)12 b(:)i(:)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(:)f(:)g(:)32 b Fb(4)2025 1911
-y(translation,)27 b(nativ)n(e)e(languages)c Fc(:)13 b(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
-b Fb(7)2021 2207 y Fs(U)2025 2329 y Fb(unary)25 b(arithmetic)h(op)r
-(erators)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(107)2021 2626 y Fs(V)2025
-2750 y Fb(v)l(ariable,)h(shell)14 b Fc(:)g(:)f(:)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(:)28 b Fb(22)2025 2837
-y(v)l(ariables,)f(readline)7 b Fc(:)13 b(:)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(:)22 b Fb(132)2021 3134 y Fs(W)2025 3258 y Fb(w)n(ord)10
-b Fc(:)j(:)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(:)g(:)25 b Fb(4)2025
-3345 y(w)n(ord)h(splitting)9 b Fc(:)14 b(:)f(:)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(:)24 b Fb(37)2021 3642 y
-Fs(Y)2025 3763 y Fb(y)n(anking)h(text)13 b Fc(:)f(:)h(:)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(:)28 b Fb(130)p
-eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF