<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 7 August 2024).
+the Bash shell (version 5.3, 10 October 2024).
-This is Edition 5.3, last updated 7 August 2024,
+This is Edition 5.3, last updated 10 October 2024,
of The GNU Bash Reference Manual,
for Bash, Version 5.3.
-Copyright © 1988-2023 Free Software Foundation, Inc.
+Copyright © 1988-2024 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
<h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> ¶</a></span></h1>
<p>This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 7 August 2024).
+the Bash shell (version 5.3, 10 October 2024).
The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
-<p>This is Edition 5.3, last updated 7 August 2024,
+<p>This is Edition 5.3, last updated 10 October 2024,
of <cite class="cite">The GNU Bash Reference Manual</cite>,
for <code class="code">Bash</code>, Version 5.3.
</p>
a version of <code class="code">csh</code>, Bash is the default shell.
Like other <small class="sc">GNU</small> software, Bash is quite portable. It currently runs
on nearly every version of Unix and a few other operating systems −
-independently-supported ports exist for <small class="sc">MS-DOS</small>, <small class="sc">OS/2</small>,
-and Windows platforms.
+independently-supported ports exist for Windows and other platforms.
</p>
<hr>
</div>
</div>
<h3 class="section" id="What-is-a-shell_003f-1"><span>1.2 What is a shell?<a class="copiable-link" href="#What-is-a-shell_003f-1"> ¶</a></span></h3>
-<p>At its base, a shell is simply a macro processor that executes
-commands. The term macro processor means functionality where text
+<p>At its base, a shell is simply a macro processor that executes commands.
+The term macro processor means functionality where text
and symbols are expanded to create larger expressions.
</p>
-<p>A Unix shell is both a command interpreter and a programming
-language. As a command interpreter, the shell provides the user
-interface to the rich set of <small class="sc">GNU</small> utilities. The programming
-language features allow these utilities to be combined.
-Files containing commands can be created, and become
-commands themselves. These new commands have the same status as
+<p>A Unix shell is both a command interpreter and a programming language.
+As a command interpreter, the shell provides the user
+interface to the rich set of <small class="sc">GNU</small> utilities.
+The programming language features allow these utilities to be combined.
+Users can create files containing commands, and these become
+commands themselves.
+These new commands have the same status as
system commands in directories such as <samp class="file">/bin</samp>, allowing users
or groups to establish custom environments to automate their common
tasks.
<p>Shells may be used interactively or non-interactively. In
interactive mode, they accept input typed from the keyboard.
When executing non-interactively, shells execute commands read
-from a file.
+from a file or a string.
</p>
<p>A shell allows execution of <small class="sc">GNU</small> commands, both synchronously and
asynchronously.
The <code class="code">history</code>, <code class="code">getopts</code>, <code class="code">kill</code>, or <code class="code">pwd</code>
builtins, among others, could be implemented in separate utilities,
but they are more convenient to use as builtin commands.
-All of the shell builtins are described in
-subsequent sections.
+All of the shell builtins are described in subsequent sections.
</p>
<p>While executing commands is essential, most of the power (and
-complexity) of shells is due to their embedded programming
-languages. Like any high-level language, the shell provides
-variables, flow control constructs, quoting, and functions.
+complexity) of shells is due to their embedded programming languages.
+Like any high-level language, the shell provides variables,
+flow control constructs, quoting, and functions.
</p>
<p>Shells offer features geared specifically for
interactive use rather than to augment the programming language.
These interactive features include job control, command line
-editing, command history and aliases. Each of these features is
-described in this manual.
+editing, command history and aliases.
+This manual describes how Bash provides all of these features.
</p>
<hr>
</div>
</p>
</dd>
<dt><a id="index-control-operator"></a><span><code class="code">control operator</code><a class="copiable-link" href="#index-control-operator"> ¶</a></span></dt>
-<dd><p>A <code class="code">token</code> that performs a control function. It is a <code class="code">newline</code>
-or one of the following:
+<dd><p>A <code class="code">token</code> that performs a control function.
+It is a <code class="code">newline</code> or one of the following:
‘<samp class="samp">||</samp>’, ‘<samp class="samp">&&</samp>’, ‘<samp class="samp">&</samp>’, ‘<samp class="samp">;</samp>’, ‘<samp class="samp">;;</samp>’, ‘<samp class="samp">;&</samp>’, ‘<samp class="samp">;;&</samp>’,
‘<samp class="samp">|</samp>’, ‘<samp class="samp">|&</samp>’, ‘<samp class="samp">(</samp>’, or ‘<samp class="samp">)</samp>’.
</p>
</dd>
<dt><a id="index-exit-status"></a><span><code class="code">exit status</code><a class="copiable-link" href="#index-exit-status"> ¶</a></span></dt>
-<dd><p>The value returned by a command to its caller. The value is restricted
-to eight bits, so the maximum value is 255.
+<dd><p>The value returned by a command to its caller.
+The value is restricted to eight bits, so the maximum value is 255.
</p>
</dd>
<dt><a id="index-field"></a><span><code class="code">field</code><a class="copiable-link" href="#index-field"> ¶</a></span></dt>
-<dd><p>A unit of text that is the result of one of the shell expansions. After
-expansion, when executing a command, the resulting fields are used as
-the command name and arguments.
+<dd><p>A unit of text that is the result of one of the shell expansions.
+After expansion, when executing a command, the resulting fields are
+used as the command name and arguments.
</p>
</dd>
<dt><a id="index-filename"></a><span><code class="code">filename</code><a class="copiable-link" href="#index-filename"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-metacharacter"></a><span><code class="code">metacharacter</code><a class="copiable-link" href="#index-metacharacter"> ¶</a></span></dt>
-<dd><p>A character that, when unquoted, separates words. A metacharacter is
-a <code class="code">space</code>, <code class="code">tab</code>, <code class="code">newline</code>, or one of the following characters:
+<dd><p>A character that, when unquoted, separates words.
+A metacharacter is a <code class="code">space</code>, <code class="code">tab</code>, <code class="code">newline</code>,
+or one of the following characters:
‘<samp class="samp">|</samp>’, ‘<samp class="samp">&</samp>’, ‘<samp class="samp">;</samp>’, ‘<samp class="samp">(</samp>’, ‘<samp class="samp">)</samp>’, ‘<samp class="samp"><</samp>’, or
‘<samp class="samp">></samp>’.
</p>
<dt><a class="index-entry-id" id="index-identifier"></a>
<a id="index-name"></a><span><code class="code">name</code><a class="copiable-link" href="#index-name"> ¶</a></span></dt>
<dd><p>A <code class="code">word</code> consisting solely of letters, numbers, and underscores,
-and beginning with a letter or underscore. <code class="code">Name</code>s are used as
-shell variable and function names.
+and beginning with a letter or underscore.
+<code class="code">Name</code>s are used as shell variable and function names.
Also referred to as an <code class="code">identifier</code>.
</p>
</dd>
</p>
</dd>
<dt><a id="index-reserved-word"></a><span><code class="code">reserved word</code><a class="copiable-link" href="#index-reserved-word"> ¶</a></span></dt>
-<dd><p>A <code class="code">word</code> that has a special meaning to the shell. Most reserved
-words introduce shell flow control constructs, such as <code class="code">for</code> and
-<code class="code">while</code>.
+<dd><p>A <code class="code">word</code> that has a special meaning to the shell.
+Most reserved words introduce shell flow control constructs, such as
+<code class="code">for</code> and <code class="code">while</code>.
</p>
</dd>
<dt><a id="index-return-status"></a><span><code class="code">return status</code><a class="copiable-link" href="#index-return-status"> ¶</a></span></dt>
<p>Bash is an acronym for ‘<samp class="samp">Bourne-Again SHell</samp>’.
The Bourne shell is
the traditional Unix shell originally written by Stephen Bourne.
-All of the Bourne shell builtin commands are available in Bash,
-The rules for evaluation and quoting are taken from the <small class="sc">POSIX</small>
+All of the Bourne shell builtin commands are available in Bash, and
+the rules for evaluation and quoting are taken from the <small class="sc">POSIX</small>
specification for the ‘standard’ Unix shell.
</p>
<p>This chapter briefly summarizes the shell’s ‘building blocks’:
<h4 class="subsection" id="Shell-Operation-1"><span>3.1.1 Shell Operation<a class="copiable-link" href="#Shell-Operation-1"> ¶</a></span></h4>
<p>The following is a brief description of the shell’s operation when it
-reads and executes a command. Basically, the shell does the
-following:
+reads and executes a command.
+Basically, the shell does the following:
</p>
<ol class="enumerate">
<li> Reads its input from a file (see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>), from a string
(see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>), or from the user’s terminal.
</li><li> Breaks the input into words and operators, obeying the quoting rules
-described in <a class="ref" href="#Quoting">Quoting</a>. These tokens are separated by
-<code class="code">metacharacters</code>. Alias expansion is performed by this step
-(see <a class="pxref" href="#Aliases">Aliases</a>).
+described in <a class="ref" href="#Quoting">Quoting</a>.
+These tokens are separated by <code class="code">metacharacters</code>.
+This step performs alias expansion (see <a class="pxref" href="#Aliases">Aliases</a>).
</li><li> Parses the tokens into simple and compound commands
(see <a class="pxref" href="#Shell-Commands">Shell Commands</a>).
<a class="index-entry-id" id="index-quoting"></a>
<p>Quoting is used to remove the special meaning of certain
-characters or words to the shell. Quoting can be used to
+characters or words to the shell.
+Quoting can be used to
disable special treatment for special characters, to prevent
reserved words from being recognized as such, and to prevent
parameter expansion.
<p>Each of the shell metacharacters (see <a class="pxref" href="#Definitions">Definitions</a>)
has special meaning to the shell and must be quoted if it is to
represent itself.
-When the command history expansion facilities are being used
+</p>
+<p>When the command history expansion facilities are being used
(see <a class="pxref" href="#History-Interaction">History Expansion</a>), the
<em class="dfn">history expansion</em> character, usually ‘<samp class="samp">!</samp>’, must be quoted
-to prevent history expansion. See <a class="xref" href="#Bash-History-Facilities">Bash History Facilities</a>, for
-more details concerning history expansion.
+to prevent history expansion.
+See <a class="xref" href="#Bash-History-Facilities">Bash History Facilities</a>, for more details concerning history
+expansion.
</p>
-<p>There are three quoting mechanisms: the
-<em class="dfn">escape character</em>, single quotes, and double quotes.
+<p>There are four quoting mechanisms: the
+<em class="dfn">escape character</em>, single quotes, double quotes,
+and dollar-single quotes.
</p>
<ul class="mini-toc">
<li><a href="#Escape-Character" accesskey="1">Escape Character</a></li>
<h4 class="subsubsection" id="Escape-Character-1"><span>3.1.2.1 Escape Character<a class="copiable-link" href="#Escape-Character-1"> ¶</a></span></h4>
<p>A non-quoted backslash ‘<samp class="samp">\</samp>’ is the Bash escape character.
It preserves the literal value of the next character that follows,
-with the exception of <code class="code">newline</code>. If a <code class="code">\newline</code> pair
-appears, and the backslash itself is not quoted, the <code class="code">\newline</code>
-is treated as a line continuation (that is, it is removed from
-the input stream and effectively ignored).
+removing any special meaning it has,
+with the exception of <code class="code">newline</code>.
+If a <code class="code">\newline</code> pair appears, and the backslash itself is not quoted,
+the <code class="code">\newline</code> is treated as a line continuation (that is, it is
+removed from the input stream and effectively ignored).
</p>
<hr>
</div>
<h4 class="subsubsection" id="Single-Quotes-1"><span>3.1.2.2 Single Quotes<a class="copiable-link" href="#Single-Quotes-1"> ¶</a></span></h4>
<p>Enclosing characters in single quotes (‘<samp class="samp">'</samp>’) preserves the literal value
-of each character within the quotes. A single quote may not occur
+of each character within the quotes.
+A single quote may not occur
between single quotes, even when preceded by a backslash.
</p>
<hr>
the following characters:
‘<samp class="samp">$</samp>’, ‘<samp class="samp">`</samp>’, ‘<samp class="samp">"</samp>’, ‘<samp class="samp">\</samp>’, or <code class="code">newline</code>.
Within double quotes, backslashes that are followed by one of these
-characters are removed. Backslashes preceding characters without a
+characters are removed.
+Backslashes preceding characters without a
special meaning are left unmodified.
-A double quote may be quoted within double quotes by preceding it with
+</p>
+<p>A double quote may be quoted within double quotes by preceding it with
a backslash.
If enabled, history expansion will be performed unless an ‘<samp class="samp">!</samp>’
appearing in double quotes is escaped using a backslash.
</div>
<h4 class="subsubsection" id="ANSI_002dC-Quoting-1"><span>3.1.2.4 ANSI-C Quoting<a class="copiable-link" href="#ANSI_002dC-Quoting-1"> ¶</a></span></h4>
<a class="index-entry-id" id="index-quoting_002c-ANSI"></a>
+<a class="index-entry-id" id="index-dollar_002dsingle-quote-quoting"></a>
<p>Character sequences of the form <code class="code">$'<var class="var">string</var>'</code> are treated as
a special kind of single quotes.
</p></dd>
<dt><code class="code">\e</code></dt>
<dt><code class="code">\E</code></dt>
-<dd><p>an escape character (not ANSI C)
+<dd><p>An escape character (not in ANSI C).
</p></dd>
<dt><code class="code">\f</code></dt>
<dd><p>form feed
<dd><p>question mark
</p></dd>
<dt><code class="code">\<var class="var">nnn</var></code></dt>
-<dd><p>the eight-bit character whose value is the octal value <var class="var">nnn</var>
-(one to three octal digits)
+<dd><p>The eight-bit character whose value is the octal value <var class="var">nnn</var>
+(one to three octal digits).
</p></dd>
<dt><code class="code">\x<var class="var">HH</var></code></dt>
-<dd><p>the eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
-(one or two hex digits)
+<dd><p>The eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
+(one or two hex digits).
</p></dd>
<dt><code class="code">\u<var class="var">HHHH</var></code></dt>
-<dd><p>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
-<var class="var">HHHH</var> (one to four hex digits)
+<dd><p>The Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<var class="var">HHHH</var> (one to four hex digits).
</p></dd>
<dt><code class="code">\U<var class="var">HHHHHHHH</var></code></dt>
-<dd><p>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
-<var class="var">HHHHHHHH</var> (one to eight hex digits)
+<dd><p>The Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<var class="var">HHHHHHHH</var> (one to eight hex digits).
</p></dd>
<dt><code class="code">\c<var class="var">x</var></code></dt>
-<dd><p>a control-<var class="var">x</var> character
+<dd><p>A control-<var class="var">x</var> character.
</p></dd>
</dl>
See the gettext documentation for additional details not covered here.
If the current locale is <code class="code">C</code> or <code class="code">POSIX</code>,
if there are no translations available,
-or if the string is not translated,
-the dollar sign is ignored.
+or if the string is not translated, the dollar sign is ignored,
+and the string is treated as double-quoted as described above.
Since this is a form of double quoting, the string remains double-quoted
by default, whether or not it is translated and replaced.
If the <code class="code">noexpand_translation</code> option is enabled
<p>In a non-interactive shell, or an interactive shell in which the
<code class="code">interactive_comments</code> option to the <code class="code">shopt</code>
builtin is enabled (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>),
-a word beginning with ‘<samp class="samp">#</samp>’
-causes that word and all remaining characters on that line to
-be ignored. An interactive shell without the <code class="code">interactive_comments</code>
-option enabled does not allow comments. The <code class="code">interactive_comments</code>
-option is on by default in interactive shells.
+a word beginning with ‘<samp class="samp">#</samp>’ introduces a comment.
+A word begins at the beginning of a line, after unquoted whitespace, or
+after an operator.
+The comment causes that word and all remaining characters on that line to
+be ignored.
+An interactive shell without the <code class="code">interactive_comments</code>
+option enabled does not allow comments.
+The <code class="code">interactive_comments</code>
+option is enabled by default in interactive shells.
See <a class="xref" href="#Interactive-Shells">Interactive Shells</a>, for a description of what makes
a shell interactive.
</p>
<h4 class="subsection" id="Simple-Commands-1"><span>3.2.2 Simple Commands<a class="copiable-link" href="#Simple-Commands-1"> ¶</a></span></h4>
<a class="index-entry-id" id="index-commands_002c-simple"></a>
-<p>A simple command is the kind of command encountered most often.
+<p>A simple command is the kind of command that’s executed most often.
It’s just a sequence of words separated by <code class="code">blank</code>s, terminated
-by one of the shell’s control operators (see <a class="pxref" href="#Definitions">Definitions</a>). The
-first word generally specifies a command to be executed, with the
+by one of the shell’s control operators (see <a class="pxref" href="#Definitions">Definitions</a>).
+The first word generally specifies a command to be executed, with the
rest of the words being that command’s arguments.
</p>
<p>The return status (see <a class="pxref" href="#Exit-Status">Exit Status</a>) of a simple command is
<p>The output of each command in the pipeline is connected via a pipe
to the input of the next command.
-That is, each command reads the previous command’s output. This
-connection is performed before any redirections specified by
+That is, each command reads the previous command’s output.
+This connection is performed before any redirections specified by
<var class="var">command1</var>.
</p>
-<p>If ‘<samp class="samp">|&</samp>’ is used, <var class="var">command1</var>’s standard error, in addition to
+<p>If ‘<samp class="samp">|&</samp>’ is the pipeline operator,
+<var class="var">command1</var>’s standard error, in addition to
its standard output, is connected to
<var class="var">command2</var>’s standard input through the pipe;
it is shorthand for <code class="code">2>&1 |</code>.
This implicit redirection of the standard error to the standard output is
-performed after any redirections specified by <var class="var">command1</var>.
+performed after any redirections specified by <var class="var">command1</var>,
+consistent with that shorthand.
</p>
-<p>The reserved word <code class="code">time</code> causes timing statistics
-to be printed for the pipeline once it finishes.
+<p>If the reserved word <code class="code">time</code> precedes the pipeline,
+Bash prints timing statistics for the pipeline once it finishes.
The statistics currently consist of elapsed (wall-clock) time and
user and system time consumed by the command’s execution.
The <samp class="option">-p</samp> option changes the output format to that specified
When the shell is in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>),
it does not recognize <code class="code">time</code> as a reserved word if the next
token begins with a ‘<samp class="samp">-</samp>’.
-The <code class="env">TIMEFORMAT</code> variable may be set to a format string that
+The value of the <code class="env">TIMEFORMAT</code> variable is a format string that
specifies how the timing information should be displayed.
See <a class="xref" href="#Bash-Variables">Bash Variables</a>, for a description of the available formats.
-The use of <code class="code">time</code> as a reserved word permits the timing of
-shell builtins, shell functions, and pipelines. An external
-<code class="code">time</code> command cannot time these easily.
+Providing <code class="code">time</code> as a reserved word permits the timing of
+shell builtins, shell functions, and pipelines.
+An external <code class="code">time</code> command cannot time these easily.
</p>
-<p>When the shell is in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>), <code class="code">time</code>
-may be followed by a newline. In this case, the shell displays the
+<p>When the shell is in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>),
+you can use <code class="code">time</code> by itself as a simple command.
+In this case, the shell displays the
total user and system time consumed by the shell and its children.
The <code class="env">TIMEFORMAT</code> variable specifies the format of the time information.
</p>
-<p>If the pipeline is not executed asynchronously (see <a class="pxref" href="#Lists">Lists of Commands</a>), the
+<p>If a pipeline is not executed asynchronously (see <a class="pxref" href="#Lists">Lists of Commands</a>), the
shell waits for all commands in the pipeline to complete.
</p>
<p>Each command in a multi-command pipeline,
separate process (see <a class="pxref" href="#Command-Execution-Environment">Command Execution Environment</a>).
If the <code class="code">lastpipe</code> option is enabled using the <code class="code">shopt</code> builtin
(see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>),
-the last element of a pipeline may be run by the shell process
-when job control is not active.
+and job control is not active,
+the last element of a pipeline may be run by the shell process.
</p>
<p>The exit
status of a pipeline is the exit status of the last command in the
If the reserved word ‘<samp class="samp">!</samp>’ precedes the pipeline, the
exit status is the logical negation of the exit status as described
above.
-The shell waits for all commands in the pipeline to terminate before
+If a pipeline is not executed asynchronously (see <a class="pxref" href="#Lists">Lists of Commands</a>), the
+shell waits for all commands in the pipeline to terminate before
returning a value.
+The return status of an asynchronous pipeline is 0.
</p>
<hr>
</div>
</p>
<p><small class="sc">AND</small> and <small class="sc">OR</small> lists are sequences of one or more pipelines
separated by the control operators ‘<samp class="samp">&&</samp>’ and ‘<samp class="samp">||</samp>’,
-respectively. <small class="sc">AND</small> and <small class="sc">OR</small> lists are executed with left
-associativity.
+respectively.
+<small class="sc">AND</small> and <small class="sc">OR</small> lists are executed with left associativity.
</p>
<p>An <small class="sc">AND</small> list has the form
</p><div class="example">
<pre class="example-preformatted">for <var class="var">name</var> [ [in [<var class="var">words</var> ...] ] ; ] do <var class="var">commands</var>; done
</pre></div>
-<p>Expand <var class="var">words</var> (see <a class="pxref" href="#Shell-Expansions">Shell Expansions</a>), and execute <var class="var">commands</var>
-once for each member
-in the resultant list, with <var class="var">name</var> bound to the current member.
+<p>Expand <var class="var">words</var> (see <a class="pxref" href="#Shell-Expansions">Shell Expansions</a>), and then
+execute <var class="var">commands</var> once for each word
+in the resultant list, with <var class="var">name</var> bound to the current word.
If ‘<samp class="samp">in <var class="var">words</var></samp>’ is not present, the <code class="code">for</code> command
executes the <var class="var">commands</var> once for each positional parameter that is
set, as if ‘<samp class="samp">in "$@"</samp>’ had been specified
<pre class="example-preformatted">for (( <var class="var">expr1</var> ; <var class="var">expr2</var> ; <var class="var">expr3</var> )) ; do <var class="var">commands</var> ; done
</pre></div>
-<p>First, the arithmetic expression <var class="var">expr1</var> is evaluated according
+<p>First, evaluate the arithmetic expression <var class="var">expr1</var> according
to the rules described below (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>).
-The arithmetic expression <var class="var">expr2</var> is then evaluated repeatedly
+Then, repeatedly evaluate the arithmetic expression <var class="var">expr2</var>
until it evaluates to zero.
-Each time <var class="var">expr2</var> evaluates to a non-zero value, <var class="var">commands</var> are
-executed and the arithmetic expression <var class="var">expr3</var> is evaluated.
+Each time <var class="var">expr2</var> evaluates to a non-zero value, execute <var class="var">commands</var>
+and evaluate the arithmetic expression <var class="var">expr3</var>.
If any expression is omitted, it behaves as if it evaluates to 1.
The return value is the exit status of the last command in <var class="var">commands</var>
-that is executed, or false if any of the expressions is invalid.
+that is executed, or non-zero if any of the expressions is invalid.
</p></dd>
</dl>
-<p>The <code class="code">break</code> and <code class="code">continue</code> builtins (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
-may be used to control loop execution.
+<p>Use the <code class="code">break</code> and <code class="code">continue</code> builtins
+(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
+to control loop execution.
</p>
<hr>
</div>
</pre></div>
<p><code class="code">case</code> will selectively execute the <var class="var">command-list</var> corresponding to
-the first <var class="var">pattern</var> that matches <var class="var">word</var>.
+the first <var class="var">pattern</var> that matches <var class="var">word</var>,
+proceeding from the first pattern to the last.
The match is performed according
to the rules described below in <a class="ref" href="#Pattern-Matching">Pattern Matching</a>.
If the <code class="code">nocasematch</code> shell option
(see the description of <code class="code">shopt</code> in <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>)
is enabled, the match is performed without regard to the case
of alphabetic characters.
-The ‘<samp class="samp">|</samp>’ is used to separate multiple patterns, and the ‘<samp class="samp">)</samp>’
-operator terminates a pattern list.
-A list of patterns and an associated command-list is known
+The ‘<samp class="samp">|</samp>’ is used to separate multiple patterns in a pattern list,
+and the ‘<samp class="samp">)</samp>’ operator terminates the pattern list.
+A pattern list and an associated <var class="var">command-list</var> is known
as a <var class="var">clause</var>.
</p>
<p>Each clause must be terminated with ‘<samp class="samp">;;</samp>’, ‘<samp class="samp">;&</samp>’, or ‘<samp class="samp">;;&</samp>’.
The <var class="var">word</var> undergoes tilde expansion, parameter expansion, command
-substitution, arithmetic expansion, and quote removal
+substitution, process substitution, arithmetic expansion, and quote removal
(see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>)
-before matching is attempted.
+before the shell attempts to match the pattern.
Each <var class="var">pattern</var> undergoes tilde expansion, parameter expansion,
command substitution, arithmetic expansion, process substitution, and
quote removal.
</pre></div>
-<p>If the ‘<samp class="samp">;;</samp>’ operator is used, no subsequent matches are attempted after
-the first pattern match.
+<p>If the ‘<samp class="samp">;;</samp>’ operator is used, the <code class="code">case</code> command completes
+after the first pattern match.
Using ‘<samp class="samp">;&</samp>’ in place of ‘<samp class="samp">;;</samp>’ causes execution to continue with
the <var class="var">command-list</var> associated with the next clause, if any.
Using ‘<samp class="samp">;;&</samp>’ in place of ‘<samp class="samp">;;</samp>’ causes the shell to test the patterns
in the next clause, if any, and execute any associated <var class="var">command-list</var>
-on a successful match,
+if the match succeeds,
continuing the case statement execution as if the pattern list had not matched.
</p>
-<p>The return status is zero if no <var class="var">pattern</var> is matched. Otherwise, the
-return status is the exit status of the <var class="var">command-list</var> executed.
+<p>The return status is zero if no <var class="var">pattern</var> matches.
+Otherwise, the return status is the exit status of the
+last <var class="var">command-list</var> executed.
</p>
</dd>
<dt><a id="index-select"></a><span><code class="code">select</code><a class="copiable-link" href="#index-select"> ¶</a></span></dt>
<pre class="example-preformatted">select <var class="var">name</var> [in <var class="var">words</var> ...]; do <var class="var">commands</var>; done
</pre></div>
-<p>The list of words following <code class="code">in</code> is expanded, generating a list
-of items, and the set of expanded words is printed on the standard
-error output stream, each preceded by a number. If the
-‘<samp class="samp">in <var class="var">words</var></samp>’ is omitted, the positional parameters are printed,
+<p>First, expand the list of words following <code class="code">in</code>, generating a list
+of items, and print the set of expanded words on the standard
+error stream, each preceded by a number.
+If the ‘<samp class="samp">in <var class="var">words</var></samp>’ is omitted, print the positional parameters,
as if ‘<samp class="samp">in "$@"</samp>’ had been specified.
<code class="code">select</code> then displays the <code class="env">PS3</code>
prompt and reads a line from the standard input.
If the line consists of a number corresponding to one of the displayed
-words, then the value of <var class="var">name</var> is set to that word.
-If the line is empty, the words and prompt are displayed again.
-If <code class="code">EOF</code> is read, the <code class="code">select</code> command completes and returns 1.
+words, then <code class="code">select</code> sets the value of <var class="var">name</var> to that word.
+If the line is empty, <code class="code">select</code> displays the words and prompt again.
+If <code class="code">EOF</code> is read, <code class="code">select</code> completes and returns 1.
Any other value read causes <var class="var">name</var> to be set to null.
The line read is saved in the variable <code class="env">REPLY</code>.
</p>
The <var class="var">expression</var> undergoes the same expansions
as if it were within double quotes,
but double quote characters in <var class="var">expression</var> are not treated specially
-are removed.
+and are removed.
If the value of the expression is non-zero, the return status is 0;
otherwise the return status is 1.
</p>
-
</dd>
<dt><a class="index-entry-id" id="index-_005d_005d"></a>
<a id="index-_005b_005b"></a><span><code class="code">[[…]]</code><a class="copiable-link" href="#index-_005b_005b"> ¶</a></span></dt>
<pre class="example-preformatted">[[ <var class="var">expression</var> ]]
</pre></div>
-<p>Return a status of 0 or 1 depending on the evaluation of
-the conditional expression <var class="var">expression</var>.
+<p>Evaluate the conditional expression <var class="var">expression</var> and
+return a status of zero (true) or non-zero (false).
Expressions are composed of the primaries described below in
<a class="ref" href="#Bash-Conditional-Expressions">Bash Conditional Expressions</a>.
The words between the <code class="code">[[</code> and <code class="code">]]</code> do not undergo word splitting
<p>The first two matches will succeed, but the second two will not, because
in the second two the backslash will be part of the pattern to be matched.
In the first two examples, the pattern passed to the regular expression
-parser is ‘<samp class="samp">\.</samp>’. The backslash removes the special meaning from
+parser is ‘<samp class="samp">\.</samp>’.
+The backslash removes the special meaning from
‘<samp class="samp">.</samp>’, so the literal ‘<samp class="samp">.</samp>’ matches.
In the second two examples, the pattern passed to the regular expression
parser has the backslash quoted (e.g., ‘<samp class="samp">\\\.</samp>’), which will not match
</pre></div>
<p>Placing a list of commands between curly braces causes the list to
-be executed in the current shell context. No subshell is created.
+be executed in the current shell environment.
+No subshell is created.
The semicolon (or newline) following <var class="var">list</var> is required.
</p></dd>
</dl>
<pre class="example-preformatted">coproc <var class="var">NAME</var> { <var class="var">command</var>; }
</pre></div>
-<p>This form is recommended because simple commands result in the coprocess
+<p>This form is preferred because simple commands result in the coprocess
always being named <code class="code">COPROC</code>, and it is simpler to use and more complete
than the other compound commands.
</p>
<p>The process ID of the shell spawned to execute the coprocess is
available as the value of the variable <code class="env"><var class="var">NAME</var>_PID</code>.
The <code class="code">wait</code>
-builtin command may be used to wait for the coprocess to terminate.
+builtin may be used to wait for the coprocess to terminate.
</p>
<p>Since the coprocess is created as an asynchronous command,
the <code class="code">coproc</code> command always returns success.
<a class="index-entry-id" id="index-functions_002c-shell"></a>
<p>Shell functions are a way to group commands for later execution
-using a single name for the group. They are executed just like
-a "regular" command.
+using a single name for the group.
+They are executed just like a "regular" simple command.
When the name of a shell function is used as a simple command name,
-the list of commands associated with that function name is executed.
+the shell executes
+the list of commands associated with that function name.
Shell functions are executed in the current
-shell context; no new process is created to interpret them.
+shell context; there is no new process created to interpret them.
</p>
<p>Functions are declared using this syntax:
<a class="index-entry-id" id="index-function"></a>
<pre class="example-preformatted">function <var class="var">fname</var> [()] <var class="var">compound-command</var> [ <var class="var">redirections</var> ]
</pre></div>
-<p>This defines a shell function named <var class="var">fname</var>. The reserved
-word <code class="code">function</code> is optional.
-If the <code class="code">function</code> reserved
-word is supplied, the parentheses are optional.
+<p>This defines a shell function named <var class="var">fname</var>.
+The reserved word <code class="code">function</code> is optional.
+If the <code class="code">function</code> reserved word is supplied, the parentheses are optional.
The <em class="dfn">body</em> of the function is the compound command
<var class="var">compound-command</var> (see <a class="pxref" href="#Compound-Commands">Compound Commands</a>).
That command is usually a <var class="var">list</var> enclosed between { and }, but
may be any compound command listed above.
If the <code class="code">function</code> reserved word is used, but the
parentheses are not supplied, the braces are recommended.
-<var class="var">compound-command</var> is executed whenever <var class="var">fname</var> is specified as the
-name of a simple command.
When the shell is in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>),
<var class="var">fname</var> must be a valid shell name and
may not be the same as one of the special builtins
(see <a class="pxref" href="#Special-Builtins">Special Builtins</a>).
-In default mode, a function name can be any unquoted shell word that does
+When not in <small class="sc">POSIX</small> mode,
+a function name can be any unquoted shell word that does
not contain ‘<samp class="samp">$</samp>’.
-Any redirections (see <a class="pxref" href="#Redirections">Redirections</a>) associated with the shell function
+</p>
+<p>Any redirections (see <a class="pxref" href="#Redirections">Redirections</a>) associated with the shell function
are performed when the function is executed.
-A function definition may be deleted using the <samp class="option">-f</samp> option to the
+Function definitions are deleted using the <samp class="option">-f</samp> option to the
<code class="code">unset</code> builtin (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
</p>
<p>The exit status of a function definition is zero unless a syntax error
This is because the braces are reserved words and are only recognized
as such when they are separated from the command list
by whitespace or another shell metacharacter.
-Also, when using the braces, the <var class="var">list</var> must be terminated by a semicolon,
+When using the braces, the <var class="var">list</var> must be terminated by a semicolon,
a ‘<samp class="samp">&</samp>’, or a newline.
</p>
+<p><var class="var">compound-command</var> is executed whenever <var class="var">fname</var> is specified
+as the name of a simple command.
+Functions are executed 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).
+</p>
<p>When a function is executed, the arguments to the
function become the positional parameters
during its execution (see <a class="pxref" href="#Positional-Parameters">Positional Parameters</a>).
The special parameter ‘<samp class="samp">#</samp>’ that expands to the number of
-positional parameters is updated to reflect the change.
+positional parameters
+is updated to reflect the new set of positional parameters.
Special parameter <code class="code">0</code> is unchanged.
The first element of the <code class="env">FUNCNAME</code> variable is set to the
name of the function while the function is executing.
When a function completes, the values of the
positional parameters and the special parameter ‘<samp class="samp">#</samp>’
are restored to the values they had prior to the function’s
-execution. If a numeric argument is given to <code class="code">return</code>,
+execution.
+If <code class="code">return</code> is supplied a numeric argument,
that is the function’s return status; otherwise the function’s
return status is the exit status of the last command executed
before the <code class="code">return</code>.
</p>
-<p>Variables local to the function may be declared with the
+<p>Variables local to the function are declared with the
<code class="code">local</code> builtin (<em class="dfn">local variables</em>).
Ordinarily, variables and their values
are shared between a function and its caller.
These variables are visible only to
-the function and the commands it invokes. This is particularly
+the function and the commands it invokes.
+This is particularly
important when a shell function calls other functions.
</p>
<p>In the following description, the <em class="dfn">current scope</em> is a currently-
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.
-Consequently, a local variable at the current local scope is a variable
+A local variable at the current local scope is a variable
declared using the <code class="code">local</code> or <code class="code">declare</code> builtins in the
function that is currently executing.
</p>
-<p>Local variables "shadow" variables with the same name declared at
-previous scopes. For instance, a local variable declared in a function
-hides a global variable of the same name: references and assignments
-refer to the local variable, leaving the global variable unmodified.
+<p>Local variables "shadow"
+variables with the same name declared at previous scopes.
+For instance, a local variable declared in a function
+hides variables with the same name declared at previous scopes,
+including 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.
</p>
<p>The shell uses <em class="dfn">dynamic scoping</em> to control a variable’s visibility
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 <code class="code">localvar_unset</code>shell option changes this behavior).
+(see below how <code class="code">localvar_unset</code> shell option changes this behavior).
</p>
-<p>Function names and definitions may be listed with the
-<samp class="option">-f</samp> option to the <code class="code">declare</code> (<code class="code">typeset</code>)
-builtin command (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+<p>The <samp class="option">-f</samp> option to the <code class="code">declare</code> (<code class="code">typeset</code>)
+builtin command (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>)
+will list function names and definitions.
The <samp class="option">-F</samp> option to <code class="code">declare</code> or <code class="code">typeset</code>
will list the function names only
(and optionally the source file and line number, if the <code class="code">extdebug</code>
automatically have them defined with the
<samp class="option">-f</samp> option to the <code class="code">export</code> builtin
(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
+The <samp class="option">-f</samp> option to
+the <code class="code">unset</code> builtin
+(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
+will delete a function definition.
</p>
<p>Functions may be recursive.
The <code class="code">FUNCNEST</code> variable may be used to limit the depth of the
function call stack and restrict the number of function invocations.
-By default, no limit is placed on the number of recursive calls.
+By default, Bash places no limit on the number of recursive calls.
</p>
<hr>
</div>
A variable has a <code class="code">value</code> and zero or more <code class="code">attributes</code>.
Attributes are assigned using the <code class="code">declare</code> builtin command
(see the description of the <code class="code">declare</code> builtin in <a class="ref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+The <code class="code">export</code> and <code class="code">readonly</code> builtins assign specific attributes.
</p>
-<p>A parameter is set if it has been assigned a value. The null string is
-a valid value. Once a variable is set, it may be unset only by using
+<p>A parameter is set if it has been assigned a value.
+The null string is a valid value.
+Once a variable is set, it may be unset only by using
the <code class="code">unset</code> builtin command.
</p>
<p>A variable may be assigned to by a statement of the form
</p><div class="example">
<pre class="example-preformatted"><var class="var">name</var>=[<var class="var">value</var>]
</pre></div>
-<p>If <var class="var">value</var>
-is not given, the variable is assigned the null string. All
-<var class="var">value</var>s undergo tilde expansion, parameter and variable expansion,
+<p>If <var class="var">value</var> is not given, the variable is assigned the null string.
+All <var class="var">value</var>s undergo tilde expansion, parameter and variable expansion,
command substitution, arithmetic expansion, and quote
removal (see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>).
If the variable has its <code class="code">integer</code>
Assignment statements may also appear as arguments to the
<code class="code">alias</code>,
<code class="code">declare</code>, <code class="code">typeset</code>, <code class="code">export</code>, <code class="code">readonly</code>,
-and <code class="code">local</code> builtin commands (<em class="dfn">declaration</em> commands).
+and <code class="code">local</code> builtin commands (<em class="dfn">declaration commands</em>).
When in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>), these builtins may appear
in a command after one or more instances of the <code class="code">command</code> builtin
and retain these assignment statement properties.
-</p>
+For example,
+</p><div class="example">
+<pre class="example-preformatted">command export var=value
+</pre></div>
+
<p>In the context where an assignment statement is assigning a value
to a shell variable or array index (see <a class="pxref" href="#Arrays">Arrays</a>), the ‘<samp class="samp">+=</samp>’
-operator can be used to
-append to or add to the variable’s previous value.
-This includes arguments to builtin commands such as <code class="code">declare</code> that
-accept assignment statements (declaration commands).
+operator will append to or add to the variable’s previous value.
+This includes arguments to declaration commands such as <code class="code">declare</code>
+that accept assignment statements.
When ‘<samp class="samp">+=</samp>’ is applied to a variable for which the <code class="code">integer</code> attribute
-has been set, <var class="var">value</var> is evaluated as an arithmetic expression and
-added to the variable’s current value, which is also evaluated.
+has been set,
+the variable’s current value and <var class="var">value</var> are each evaluated as
+arithmetic expressions,
+and the sum of the results is assigned as the variable’s value.
+The current value is usually an integer constant, but may be an expression.
When ‘<samp class="samp">+=</samp>’ is applied to an array variable using compound assignment
(see <a class="pxref" href="#Arrays">Arrays</a>), the
variable’s value is not unset (as it is when using ‘<samp class="samp">=</samp>’), and new
</p><div class="example">
<pre class="example-preformatted">declare -n ref=$1
</pre></div>
-<p>inside the function creates a nameref variable <code class="env">ref</code> whose value is
-the variable name passed as the first argument.
+<p>inside the function creates a local nameref variable <code class="env">ref</code> whose value
+is the variable name passed as the first argument.
References and assignments to <code class="env">ref</code>, and changes to its attributes,
are treated as references, assignments, and attribute modifications
to the variable whose name was passed as <code class="code">$1</code>.
<a class="index-entry-id" id="index-parameters_002c-positional"></a>
<p>A <em class="dfn">positional parameter</em> is a parameter denoted by one or more
-digits, other than the single digit <code class="code">0</code>. Positional parameters are
+digits, other than the single digit <code class="code">0</code>.
+Positional parameters are
assigned from the shell’s arguments when it is invoked,
and may be reassigned using the <code class="code">set</code> builtin command.
Positional parameter <code class="code">N</code> may be referenced as <code class="code">${N}</code>, or
</p>
<p>When a positional parameter consisting of more than a single
digit is expanded, it must be enclosed in braces.
+Without braces, a digit following ‘<samp class="samp">$</samp>’ can only refer to
+one of the first nine positional parameters ($1\-$9) or the
+special parameter $0 (see below).
</p>
<hr>
</div>
<p>The shell treats several parameters specially. These parameters may
only be referenced; assignment to them is not allowed.
+Special parameters are denoted by one of the following characters.
</p>
<dl class="vtable">
<dt><a id="index-_002a"></a><span><code class="code">*</code><a class="copiable-link" href="#index-_002a"> ¶</a></span></dt>
<p>($*) Expands to the positional parameters, starting from one.
When the expansion is not within double quotes, each positional parameter
expands to a separate word.
-In contexts where it is performed, those words
+In contexts where word expansions are performed, those words
are subject to further word splitting and filename expansion.
When the expansion occurs within double quotes, it expands to a single word
with the value of each parameter separated by the first character of the
-<code class="env">IFS</code> special variable. That is, <code class="code">"$*"</code> is equivalent
+<code class="env">IFS</code> variable.
+That is, <code class="code">"$*"</code> is equivalent
to <code class="code">"$1<var class="var">c</var>$2<var class="var">c</var>…"</code>, where <var class="var">c</var>
is the first character of the value of the <code class="code">IFS</code>
variable.
positional parameter to a separate word; if not within double
quotes, these words are subject to word splitting.
In contexts where word splitting is not performed,
+such as the value portion of an assignment statement,
this expands to a single word
with each positional parameter separated by a space.
-When the
-expansion occurs within double quotes, and word splitting is performed,
-each parameter expands to a
-separate word. That is, <code class="code">"$@"</code> is equivalent to
+When the expansion occurs within double quotes,
+and word splitting is performed,
+each parameter expands to a separate word.
+That is, <code class="code">"$@"</code> is equivalent to
<code class="code">"$1" "$2" …</code>.
If the double-quoted expansion occurs within a word, the expansion of
-the first parameter is joined with the beginning part of the original
-word, and the expansion of the last parameter is joined with the last
-part of the original word.
+the first parameter is joined with the expansion of the
+beginning part of the original
+word, and the expansion of the last parameter is joined with the
+expansion of the last part of the original word.
When there are no positional parameters, <code class="code">"$@"</code> and
<code class="code">$@</code>
expand to nothing (i.e., they are removed).
</dd>
<dt><a id="index-_003f"></a><span><code class="code">?</code><a class="copiable-link" href="#index-_003f"> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-_0024_003f"></a>
-<p>($?) Expands to the exit status of the most recently executed foreground
-command.
+<p>($?) Expands to the exit status of the most recently executed command.
</p>
</dd>
<dt><a id="index-_002d"></a><span><code class="code">-</code><a class="copiable-link" href="#index-_002d"> ¶</a></span></dt>
</dd>
<dt><a id="index-_0024"></a><span><code class="code">$</code><a class="copiable-link" href="#index-_0024"> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-_0024_0024"></a>
-<p>($$) Expands to the process <small class="sc">ID</small> of the shell. In a subshell, it
-expands to the process <small class="sc">ID</small> of the invoking shell, not the subshell.
+<p>($$) Expands to the process <small class="sc">ID</small> of the shell.
+In a subshell, it expands to the process <small class="sc">ID</small> of the invoking shell,
+not the subshell.
</p>
</dd>
<dt><a id="index-_0021-1"></a><span><code class="code">!</code><a class="copiable-link" href="#index-_0021-1"> ¶</a></span></dt>
</dd>
<dt><a id="index-0"></a><span><code class="code">0</code><a class="copiable-link" href="#index-0"> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-_00240"></a>
-<p>($0) Expands to the name of the shell or shell script. This is set at
-shell initialization. If Bash is invoked with a file of commands
-(see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>), <code class="code">$0</code> is set to the name of that file.
+<p>($0) Expands to the name of the shell or shell script.
+This is set at shell initialization.
+If Bash is invoked with a file of commands (see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>),
+<code class="code">$0</code> is set to the name of that file.
If Bash is started with the <samp class="option">-c</samp> option (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>),
then <code class="code">$0</code> is set to the first argument after the string to be
-executed, if one is present. Otherwise, it is set
-to the filename used to invoke Bash, as given by argument zero.
+executed, if one is present.
+Otherwise, it is set to the filename used to invoke Bash, as given by
+argument zero.
</p></dd>
</dl>
<a class="index-entry-id" id="index-brace-expansion"></a>
<a class="index-entry-id" id="index-expansion_002c-brace"></a>
-<p>Brace expansion is a mechanism by which arbitrary strings may be generated.
+<p>Brace expansion is a mechanism to generate arbitrary strings
+sharing a common prefix and suffix, either of which can be empty.
This mechanism is similar to
<em class="dfn">filename expansion</em> (see <a class="pxref" href="#Filename-Expansion">Filename Expansion</a>),
but the filenames generated need not exist.
-Patterns to be brace expanded take the form of an optional <var class="var">preamble</var>,
+Patterns to be brace expanded are formed from an optional <var class="var">preamble</var>,
followed by either a series of comma-separated strings or a sequence expression
between a pair of braces,
followed by an optional <var class="var">postscript</var>.
to right.
</p>
<p>Brace expansions may be nested.
-The results of each expanded string are not sorted; left to right order
-is preserved.
+The results of each expanded string are not sorted;
+brace expansion preserves left to right order.
For example,
</p><div class="example">
<pre class="example-preformatted">bash$ echo a{d,c,b}e
Note that both <var class="var">x</var> and <var class="var">y</var> 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 as appropriate.
+each term.
+The default increment is 1 or -1 as appropriate.
</p>
<p>Brace expansion is performed before any other expansions,
and any characters special to other expansions are preserved
-in the result. It is strictly textual. Bash
-does not apply any syntactic interpretation to the context of the
-expansion or the text between the braces.
+in the result.
+It is strictly textual.
+Bash does not apply any syntactic interpretation to the context
+of the expansion or the text between the braces.
</p>
<p>A correctly-formed brace expansion must contain unquoted opening
and closing braces, and at least one unquoted comma or a valid
possible <em class="dfn">login name</em>.
If this login name is the null string, the tilde is replaced with the
value of the <code class="env">HOME</code> shell variable.
-If <code class="env">HOME</code> is unset, the home directory of the user executing the
-shell is substituted instead.
+If <code class="env">HOME</code> is unset, the tilde expands to
+the home directory of the user executing the shell instead.
Otherwise, the tilde-prefix is replaced with the home directory
associated with the specified login name.
</p>
<p>If the tilde-prefix is ‘<samp class="samp">~+</samp>’, the value of
the shell variable <code class="env">PWD</code> replaces the tilde-prefix.
-If the tilde-prefix is ‘<samp class="samp">~-</samp>’, the value of the shell variable
-<code class="env">OLDPWD</code>, if it is set, is substituted.
+If the tilde-prefix is ‘<samp class="samp">~-</samp>’, the shell substitutes
+the value of the shell variable
+<code class="env">OLDPWD</code>, if it is set.
</p>
<p>If the characters following the tilde in the tilde-prefix consist of a
number <var class="var">N</var>, optionally prefixed by a ‘<samp class="samp">+</samp>’ or a ‘<samp class="samp">-</samp>’,
If the tilde-prefix, sans the tilde, consists of a number without a
leading ‘<samp class="samp">+</samp>’ or ‘<samp class="samp">-</samp>’, ‘<samp class="samp">+</samp>’ is assumed.
</p>
-<p>If the login name is invalid, or the tilde expansion fails, the word is
-left unchanged.
+<p>The results of tilde expansion are treated as if they were quoted, so
+the replacement is not subject to word splitting and filename expansion.
</p>
-<p>Each variable assignment is checked for unquoted tilde-prefixes immediately
-following a ‘<samp class="samp">:</samp>’ or the first ‘<samp class="samp">=</samp>’.
-In these cases, tilde expansion is also performed.
+<p>If the login name is invalid, or the tilde expansion fails, the
+tilde-prefix is left unchanged.
+</p>
+<p>Bash checks each variable assignment
+for unquoted tilde-prefixes immediately
+following a ‘<samp class="samp">:</samp>’ or the first ‘<samp class="samp">=</samp>’,
+and performs tilde expansion in these cases.
Consequently, one may use filenames with tildes in assignments to
<code class="env">PATH</code>, <code class="env">MAILPATH</code>, and <code class="env">CDPATH</code>,
and the shell assigns the expanded value.
</p>
<dl class="table">
<dt><code class="code">~</code></dt>
-<dd><p>The value of <code class="code">$HOME</code>
+<dd><p>The value of <code class="code">$HOME</code>.
</p></dd>
<dt><code class="code">~/foo</code></dt>
<dd><p><samp class="file">$HOME/foo</samp>
</p>
</dd>
<dt><code class="code">~fred/foo</code></dt>
-<dd><p>The subdirectory <code class="code">foo</code> of the home directory of the user
-<code class="code">fred</code>
+<dd><p>The directory or file <code class="code">foo</code> in the home directory of the user
+<code class="code">fred</code>.
</p>
</dd>
<dt><code class="code">~+/foo</code></dt>
</p>
</dd>
<dt><code class="code">~<var class="var">N</var></code></dt>
-<dd><p>The string that would be displayed by ‘<samp class="samp">dirs +<var class="var">N</var></samp>’
+<dd><p>The string that would be displayed by ‘<samp class="samp">dirs +<var class="var">N</var></samp>’.
</p>
</dd>
<dt><code class="code">~+<var class="var">N</var></code></dt>
-<dd><p>The string that would be displayed by ‘<samp class="samp">dirs +<var class="var">N</var></samp>’
+<dd><p>The string that would be displayed by ‘<samp class="samp">dirs +<var class="var">N</var></samp>’.
</p>
</dd>
<dt><code class="code">~-<var class="var">N</var></code></dt>
-<dd><p>The string that would be displayed by ‘<samp class="samp">dirs -<var class="var">N</var></samp>’
+<dd><p>The string that would be displayed by ‘<samp class="samp">dirs -<var class="var">N</var></samp>’.
</p></dd>
</dl>
<a class="index-entry-id" id="index-expansion_002c-parameter"></a>
<p>The ‘<samp class="samp">$</samp>’ character introduces parameter expansion,
-command substitution, or arithmetic expansion. The parameter name
+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 could be
interpreted as part of the name.
+For example, if the first positional parameter has the value ‘<samp class="samp">a</samp>’,
+then <code class="code">${11}</code> expands to the value of the eleventh positional
+parameter, while <code class="code">$11</code> expands to ‘<samp class="samp">a1</samp>’.
</p>
<p>When braces are used, the matching ending brace is the first ‘<samp class="samp">}</samp>’
not escaped by a backslash or within a quoted string, and not within an
embedded arithmetic expansion, command substitution, or parameter
expansion.
</p>
-<p>The basic form of parameter expansion is ${<var class="var">parameter</var>}.
-The value of <var class="var">parameter</var> is substituted.
+<p>The basic form of parameter expansion is ${<var class="var">parameter</var>},
+which substitutes the value of <var class="var">parameter</var>.
The <var class="var">parameter</var> is a shell parameter as described above
(see <a class="pxref" href="#Shell-Parameters">Shell Parameters</a>) or an array reference (see <a class="pxref" href="#Arrays">Arrays</a>).
The braces are required when <var class="var">parameter</var>
and <var class="var">parameter</var> is not a nameref,
it introduces a level of indirection.
Bash uses the value formed by expanding the rest of
-<var class="var">parameter</var> as the new <var class="var">parameter</var>; this is then
+<var class="var">parameter</var> as the new <var class="var">parameter</var>;
+this new parameter is then
expanded and that value is used in the rest of the expansion, rather
than the expansion of the original <var class="var">parameter</var>.
This is known as <code class="code">indirect expansion</code>.
parameter expansion, command substitution, and arithmetic expansion.
If <var class="var">parameter</var> is a nameref, this expands to the name of the
variable referenced by <var class="var">parameter</var> instead of performing the
-complete indirect expansion.
+complete indirect expansion, for compatibility.
The exceptions to this are the expansions of ${!<var class="var">prefix</var>*}
and ${!<var class="var">name</var>[@]}
described below.
<dl class="table">
<dt><code class="code">${<var class="var">parameter</var>:−<var class="var">word</var>}</code></dt>
<dd><p>If <var class="var">parameter</var> is unset or null, the expansion of
-<var class="var">word</var> is substituted. Otherwise, the value of
-<var class="var">parameter</var> is substituted.
+<var class="var">word</var> is substituted.
+Otherwise, the value of <var class="var">parameter</var> is substituted.
</p>
<div class="example">
<pre class="example-preformatted">$ v=123
$ echo ${v-unset}
unset
$ v=
+$ echo ${v-unset}
+
$ echo ${v:-unset-or-null}
unset-or-null
</pre></div>
</dd>
<dt><code class="code">${<var class="var">parameter</var>:=<var class="var">word</var>}</code></dt>
-<dd><p>If <var class="var">parameter</var>
-is unset or null, the expansion of <var class="var">word</var>
-is assigned to <var class="var">parameter</var>.
-The value of <var class="var">parameter</var> is then substituted.
-Positional parameters and special parameters may not be assigned to
+<dd><p>If <var class="var">parameter</var> is unset or null, the expansion of <var class="var">word</var>
+is assigned to <var class="var">parameter</var>,
+and the result of the expansion
+is the final value of <var class="var">parameter</var>.
+Positional parameters and special parameters may not be assigned
in this way.
</p>
<div class="example">
-<pre class="example-preformatted">$ var=
+<pre class="example-preformatted">$ unset var
+$ : ${var=DEFAULT}
+$ echo $var
+DEFAULT
+$ var=
$ : ${var:=DEFAULT}
$ echo $var
DEFAULT
is null or unset, the expansion of <var class="var">word</var> (or a message
to that effect if <var class="var">word</var>
is not present) is written to the standard error and the shell, if it
-is not interactive, exits. Otherwise, the value of <var class="var">parameter</var> is
-substituted.
+is 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 <var class="var">parameter</var> is substituted.
</p>
<div class="example">
<pre class="example-preformatted">$ var=
<dd><p>If <var class="var">parameter</var>
is null or unset, nothing is substituted, otherwise the expansion of
<var class="var">word</var> is substituted.
+The value of <var class="var">parameter</var> is not used.
</p>
<div class="example">
<pre class="example-preformatted">$ var=123
$ echo ${var:+var is set and not null}
var is set and not null
+$ var=
+$ echo ${var:+var is set and not null}
+
+$
</pre></div>
</dd>
from the end of the value of <var class="var">parameter</var> rather than
a number of characters, and the expansion is the characters between
<var class="var">offset</var> and that result.
-Note that a negative offset must be separated from the colon by at least
+</p>
+<p>Note that a negative offset must be separated from the colon by at least
one space to avoid being confused with the ‘<samp class="samp">:-</samp>’ expansion.
</p>
<p>Here are some examples illustrating substring expansion on parameters and
</p>
</dd>
<dt><code class="code">${#<var class="var">parameter</var>}</code></dt>
-<dd><p>The length in characters of the expanded value of <var class="var">parameter</var> is
-substituted.
+<dd><p>Substitutes the length in characters of the value of <var class="var">parameter</var>.
If <var class="var">parameter</var> is ‘<samp class="samp">*</samp>’ or ‘<samp class="samp">@</samp>’, the value substituted
is the number of positional parameters.
If <var class="var">parameter</var> is an array name subscripted by ‘<samp class="samp">*</samp>’ or ‘<samp class="samp">@</samp>’,
<dt><code class="code">${<var class="var">parameter</var>#<var class="var">word</var>}</code></dt>
<dt><code class="code">${<var class="var">parameter</var>##<var class="var">word</var>}</code></dt>
<dd><p>The <var class="var">word</var>
-is expanded to produce a pattern and matched according to the rules
-described below (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>). If the pattern matches
+is expanded to produce a pattern and matched
+against the expanded value of <var class="var">parameter</var>
+according to the rules
+described below (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
+If the pattern matches
the beginning of the expanded value of <var class="var">parameter</var>,
then the result of the expansion is the expanded value of <var class="var">parameter</var>
with the shortest matching pattern (the ‘<samp class="samp">#</samp>’ case) or the
<dt><code class="code">${<var class="var">parameter</var>%<var class="var">word</var>}</code></dt>
<dt><code class="code">${<var class="var">parameter</var>%%<var class="var">word</var>}</code></dt>
<dd><p>The <var class="var">word</var>
-is expanded to produce a pattern and matched according to the rules
+is expanded to produce a pattern and matched
+against the expanded value of <var class="var">parameter</var>
+according to the rules
described below (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
If the pattern matches a trailing portion of the expanded value of
<var class="var">parameter</var>, then the result of the expansion is the value of
<dt><code class="code">${<var class="var">parameter</var>/#<var class="var">pattern</var>/<var class="var">string</var>}</code></dt>
<dt><code class="code">${<var class="var">parameter</var>/%<var class="var">pattern</var>/<var class="var">string</var>}</code></dt>
<dd><p>The <var class="var">pattern</var> is expanded to produce a pattern just as in
-filename expansion.
-<var class="var">Parameter</var> is expanded and the longest match of <var class="var">pattern</var>
-against its value is replaced with <var class="var">string</var>.
+filename expansion and matched
+against the expanded value of <var class="var">parameter</var>
+according to the rules
+described below (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
+The longest match of <var class="var">pattern</var>
+in the expanded value is replaced with <var class="var">string</var>.
<var class="var">string</var> undergoes tilde expansion, parameter and variable expansion,
arithmetic expansion, command and process substitution, and quote removal.
-The match is performed according to the rules described below
-(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
</p>
<p>In the first form above, only the first match is replaced.
If there are two slashes separating <var class="var">parameter</var> and <var class="var">pattern</var>
it must match at the beginning of the expanded value of <var class="var">parameter</var>.
If <var class="var">pattern</var> is preceded by ‘<samp class="samp">%</samp>’ (the fourth form above),
it must match at the end of the expanded value of <var class="var">parameter</var>.
-If the expansion of <var class="var">string</var> is null,
-matches of <var class="var">pattern</var> are deleted.
-If <var class="var">string</var> is null,
+</p>
+<p>If the expansion of <var class="var">string</var> is null,
matches of <var class="var">pattern</var> are deleted
and the ‘<samp class="samp">/</samp>’ following <var class="var">pattern</var> may be omitted.
</p>
-<p>If the <code class="code">patsub_replacement</code> shell option is enabled using <code class="code">shopt</code>,
+<p>If the <code class="code">patsub_replacement</code> shell option is enabled using <code class="code">shopt</code>
+(see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>),
any unquoted instances of ‘<samp class="samp">&</samp>’ in <var class="var">string</var> are replaced with the
matching portion of <var class="var">pattern</var>.
This is intended to duplicate a common <code class="code">sed</code> idiom.
(see the description of <code class="code">shopt</code> in <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>)
is enabled, the match is performed without regard to the case
of alphabetic characters.
-If <var class="var">parameter</var> is ‘<samp class="samp">@</samp>’ or ‘<samp class="samp">*</samp>’,
+</p>
+<p>If <var class="var">parameter</var> is ‘<samp class="samp">@</samp>’ or ‘<samp class="samp">*</samp>’,
the substitution operation is applied to each positional
parameter in turn, and the expansion is the resultant list.
If <var class="var">parameter</var>
<a class="index-entry-id" id="index-expansion_002c-arithmetic"></a>
<a class="index-entry-id" id="index-arithmetic-expansion"></a>
-<p>Arithmetic expansion allows the evaluation of an arithmetic expression
-and the substitution of the result. The format for arithmetic expansion is:
+<p>Arithmetic expansion evalutes an arithmetic expression
+and substitutes the result.
+The format for arithmetic expansion is:
</p>
<div class="example">
<pre class="example-preformatted">$(( <var class="var">expression</var> ))
<p>The evaluation is performed according to the rules listed below
(see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>).
If the expression is invalid, Bash prints a message indicating
-failure to the standard error and no substitution occurs.
+failure to the standard error,
+does not perform the substitution,
+and does not execute the command associated with the expansion.
</p>
<hr>
</div>
This filename is
passed as an argument to the current command as the result of the
expansion.
-If the <code class="code">>(<var class="var">list</var>)</code> form is used, writing to
-the file will provide input for <var class="var">list</var>. If the
-<code class="code"><(<var class="var">list</var>)</code> form is used, the file passed as an
-argument should be read to obtain the output of <var class="var">list</var>.
+</p>
+<p>If the <code class="code">>(<var class="var">list</var>)</code> form is used, writing to
+the file will provide input for <var class="var">list</var>.
+If the
+<code class="code"><(<var class="var">list</var>)</code> form is used, reading the file
+will obtain the output of <var class="var">list</var>.
Note that no space may appear between the <code class="code"><</code> or <code class="code">></code>
and the left parenthesis, otherwise the construct would be interpreted
as a redirection.
-Process substitution is supported on systems that support named
+</p>
+<p>Process substitution is supported on systems that support named
pipes (<small class="sc">FIFO</small>s) or the <samp class="file">/dev/fd</samp> method of naming open files.
</p>
<p>When available, process substitution is performed simultaneously with
<code class="code">space</code>, <code class="code">tab</code>, and <code class="code">newline</code>
at the beginning and end of the results of the previous
expansions are ignored, and any sequence of <code class="env">IFS</code>
-characters not at the beginning or end serves to delimit words.
+characters not at the beginning or end delimits words.
If <code class="env">IFS</code> has a value other than the default, then sequences of
the whitespace characters <code class="code">space</code>, <code class="code">tab</code>, and <code class="code">newline</code>
-are ignored at the beginning and end of the
-word, as long as the whitespace character is in the
-value of <code class="env">IFS</code> (an <code class="env">IFS</code> whitespace character).
+present the value of <code class="env">IFS</code> (an <code class="env">IFS</code> whitespace character)
+are ignored at the beginning and end of the word.
Any character in <code class="env">IFS</code> that is not <code class="env">IFS</code>
whitespace, along with any adjacent <code class="env">IFS</code>
whitespace characters, delimits a field. A sequence of <code class="env">IFS</code>
<code class="code">-d''</code> becomes <code class="code">-d</code> after word splitting and
null argument removal.
</p>
-<p>Note that if no expansion occurs, no splitting
-is performed.
+<p>Note that if no expansion occurs, no splitting is performed.
</p>
<hr>
</div>
‘<samp class="samp">*</samp>’, ‘<samp class="samp">?</samp>’, and ‘<samp class="samp">[</samp>’.
If one of these characters appears, and is not quoted, then the word is
regarded as a <var class="var">pattern</var>,
-and replaced with an alphabetically sorted list of
-filenames matching the pattern (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
-If no matching filenames are found,
+and replaced with a sorted list of filenames matching the pattern
+(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>),
+subject to the value of the <code class="code">GLOBSORT</code> shell variable
+(see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
+</p>
+<p>If no matching filenames are found,
and the shell option <code class="code">nullglob</code> is disabled, the word is left
unchanged.
If the <code class="code">nullglob</code> option is set, and no matches are found, the word
is removed.
If the <code class="code">failglob</code> shell option is set, and no matches are found,
-an error message is printed and the command is not executed.
+Bash prints an error message and does not execute the command.
If the shell option <code class="code">nocaseglob</code> is enabled, the match is performed
without regard to the case of alphabetic characters.
</p>
</p>
<p>The <code class="env">GLOBIGNORE</code>
shell variable may be used to restrict the set of file names matching a
-pattern. If <code class="env">GLOBIGNORE</code>
+pattern.
+If <code class="env">GLOBIGNORE</code>
is set, each matching file name that also matches one of the patterns in
<code class="env">GLOBIGNORE</code> is removed from the list of matches.
If the <code class="code">nocaseglob</code> option is set, the matching against the patterns in
‘<samp class="samp">.</samp>’, make ‘<samp class="samp">.*</samp>’ one of the patterns in <code class="env">GLOBIGNORE</code>.
The <code class="code">dotglob</code> option is disabled when <code class="env">GLOBIGNORE</code>
is unset.
+The <code class="code">GLOBIGNORE</code>
+pattern matching honors the setting of the <code class="code">extglob</code> shell
+option.
</p>
<p>After the pattern is expanded and matched against filenames, the value of the
-<code class="env">GLOBSORT</code> variable controls how the results are sorted, as described
+<code class="env">GLOBSORT</code> shell
+variable controls how the results are sorted, as described
below (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
</p>
<ul class="mini-toc">
</p></dd>
<dt><code class="code">[…]</code></dt>
<dd><p>Matches any one of the enclosed characters.
-A pair of characters separated by a hyphen denotes a <var class="var">range expression</var>;
+A pair of characters separated by a hyphen denotes a <em class="dfn">range expression</em>;
any character that falls between those two characters, inclusive,
-using the current locale’s collating sequence and character set,
-is matched. If the first character following the
+using the current locale’s collating sequence and character set, matches.
+If the first character following the
‘<samp class="samp">[</samp>’ is a ‘<samp class="samp">!</samp>’ or a ‘<samp class="samp">^</samp>’
-then any character not enclosed is matched. A ‘<samp class="samp">−</samp>’
-may be matched by including it as the first or last character
-in the set. A ‘<samp class="samp">]</samp>’ may be matched by including it as the first
+then any character not within the range matches.
+To match a ‘<samp class="samp">−</samp>’, include it as the first
+or last character in the set.
+To match a ‘<samp class="samp">]</samp>’, include it as the first
character in the set.
-The sorting order of characters in range expressions,
+</p>
+<p>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
+are determined by the current locale and the values of the
<code class="env">LC_COLLATE</code> and <code class="env">LC_ALL</code> shell variables, if set.
</p>
<p>For example, in the default C locale, ‘<samp class="samp">[a-dx-z]</samp>’ is equivalent to
-‘<samp class="samp">[abcdxyz]</samp>’. Many locales sort characters in dictionary order, and in
-these locales ‘<samp class="samp">[a-dx-z]</samp>’ is typically not equivalent to ‘<samp class="samp">[abcdxyz]</samp>’;
-it might be equivalent to ‘<samp class="samp">[aBbCcDdxYyZz]</samp>’, for example. To obtain
+‘<samp class="samp">[abcdxyz]</samp>’.
+Many locales sort characters in dictionary order, and in these locales
+‘<samp class="samp">[a-dx-z]</samp>’ is typically not equivalent to ‘<samp class="samp">[abcdxyz]</samp>’;
+it might be equivalent to ‘<samp class="samp">[aBbCcDdxYyZz]</samp>’, for example.
+To obtain
the traditional interpretation of ranges in bracket expressions, you can
force the use of the C locale by setting the <code class="env">LC_COLLATE</code> or
<code class="env">LC_ALL</code> environment variable to the value ‘<samp class="samp">C</samp>’, or enable the
when it is disabled, the set does not
include any filenames beginning with “.” unless the pattern
or sub-pattern begins with a ‘<samp class="samp">.</samp>’.
+If the <code class="code">globskipdots</code>
+shell option is enabled, the filenames
+‘<samp class="samp">.</samp>’ and ‘<samp class="samp">..</samp>’
+never appear in the set.
As above, ‘<samp class="samp">.</samp>’ only has a special meaning when matching filenames.
</p>
<p>Complicated extended pattern matching against long strings is slow,
may be <em class="dfn">redirected</em>
using a special notation interpreted by the shell.
<em class="dfn">Redirection</em> allows commands’ file handles to be
-duplicated, opened, closed,
-made to refer to different files,
+duplicated, opened, closed, made to refer to different files,
and can change the files the command reads from and writes to.
-Redirection may also be used to modify file handles in the
-current shell execution environment. The following redirection
+When used with the <code class="code">exec</code> builtin,
+redirections modify file handles in the current shell execution environment.
+The following redirection
operators may precede or appear anywhere within a
simple command or may follow a command.
Redirections are processed in the order they appear, from
may instead be preceded by a word of the form {<var class="var">varname</var>}.
In this case, for each redirection operator except
>&- and <&-, the shell will allocate a file descriptor greater
-than 10 and assign it to {<var class="var">varname</var>}. If >&- or <&- is preceded
-by {<var class="var">varname</var>}, the value of <var class="var">varname</var> defines the file
+than 10 and assign it to {<var class="var">varname</var>}.
+If {<var class="var">varname</var>} precedes >&- or <&-,
+the value of <var class="var">varname</var> defines the file
descriptor to close.
If {<var class="var">varname</var>} is supplied, the redirection persists beyond
-the scope of the command, allowing the shell programmer to manage
-the file descriptor’s lifetime manually.
+the scope of the command, which allows the shell programmer to manage
+the file descriptor’s lifetime manually without using
+the <code class="code">exec</code> builtin.
The <code class="code">varredir_close</code> shell option manages this behavior
(see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
</p>
<p>In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is
‘<samp class="samp"><</samp>’, the redirection refers to the standard input (file
-descriptor 0). If the first character of the redirection operator
+descriptor 0).
+If the first character of the redirection operator
is ‘<samp class="samp">></samp>’, the redirection refers to the standard output (file
descriptor 1).
</p>
-<p>The word following the redirection operator in the following
-descriptions, unless otherwise noted, is subjected to brace expansion,
-tilde expansion, parameter expansion, command substitution, arithmetic
-expansion, quote removal, filename expansion, and word splitting.
+<p>The \fIword\fP following the redirection operator in the following
+descriptions, unless otherwise noted, is subjected to
+brace expansion,
+tilde expansion,
+parameter and variable expansion,
+command substitution,
+arithmetic expansion,
+quote removal,
+filename expansion,
+and word splitting.
If it expands to more than one word, Bash reports an error.
</p>
-<p>Note that the order of redirections is significant. For example,
+<p>The order of redirections is significant.
+For example,
the command
</p><div class="example">
<pre class="example-preformatted">ls > <var class="var">dirlist</var> 2>&1
</p>
<dl class="table">
<dt><code class="code">/dev/fd/<var class="var">fd</var></code></dt>
-<dd><p>If <var class="var">fd</var> is a valid integer, file descriptor <var class="var">fd</var> is duplicated.
+<dd><p>If <var class="var">fd</var> is a valid integer, duplicate file descriptor <var class="var">fd</var>.
</p>
</dd>
<dt><code class="code">/dev/stdin</code></dt>
</ul>
<div class="subsection-level-extent" id="Redirecting-Input">
<h4 class="subsection"><span>3.6.1 Redirecting Input<a class="copiable-link" href="#Redirecting-Input"> ¶</a></span></h4>
-<p>Redirection of input causes the file whose name results from
-the expansion of <var class="var">word</var>
-to be opened for reading on file descriptor <code class="code">n</code>,
+<p>Redirecting input opens the file whose name results from
+the expansion of <var class="var">word</var> for reading on file descriptor <code class="code">n</code>,
or the standard input (file descriptor 0) if <code class="code">n</code>
is not specified.
</p>
</div>
<div class="subsection-level-extent" id="Redirecting-Output">
<h4 class="subsection"><span>3.6.2 Redirecting Output<a class="copiable-link" href="#Redirecting-Output"> ¶</a></span></h4>
-<p>Redirection of output causes the file whose name results from
+<p>Redirecting output opens the file whose name results from
the expansion of <var class="var">word</var>
-to be opened for writing on file descriptor <var class="var">n</var>,
+for writing on file descriptor <var class="var">n</var>,
or the standard output (file descriptor 1) if <var class="var">n</var>
-is not specified. If the file does not exist it is created;
+is not specified.
+If the file does not exist it is created;
if it does exist it is truncated to zero size.
</p>
<p>The general format for redirecting output is:
will fail if the file whose name results from the expansion of
<var class="var">word</var> exists and is a regular file.
If the redirection operator is ‘<samp class="samp">>|</samp>’, or the redirection operator is
-‘<samp class="samp">></samp>’ and the <code class="code">noclobber</code> option is not enabled, the redirection
-is attempted even if the file named by <var class="var">word</var> exists.
+‘<samp class="samp">></samp>’ and the <code class="code">noclobber</code> option is not enabled,
+Bash attemps the redirection
+even if the file named by <var class="var">word</var> exists.
</p>
</div>
<div class="subsection-level-extent" id="Appending-Redirected-Output">
<h4 class="subsection"><span>3.6.3 Appending Redirected Output<a class="copiable-link" href="#Appending-Redirected-Output"> ¶</a></span></h4>
-<p>Redirection of output in this fashion
-causes the file whose name results from
-the expansion of <var class="var">word</var>
-to be opened for appending on file descriptor <var class="var">n</var>,
+<p>Redirecting output in this fashion opens
+the file whose name results from the expansion of <var class="var">word</var>
+for appending on file descriptor <var class="var">n</var>,
or the standard output (file descriptor 1) if <var class="var">n</var>
-is not specified. If the file does not exist it is created.
+is not specified.
+If the file does not exist it is created.
</p>
<p>The general format for appending output is:
</p><div class="example">
</div>
<div class="subsection-level-extent" id="Redirecting-Standard-Output-and-Standard-Error">
<h4 class="subsection"><span>3.6.4 Redirecting Standard Output and Standard Error<a class="copiable-link" href="#Redirecting-Standard-Output-and-Standard-Error"> ¶</a></span></h4>
-<p>This construct allows both the
+<p>This construct redirects both the
standard output (file descriptor 1) and
the standard error output (file descriptor 2)
-to be redirected to the file whose name is the
-expansion of <var class="var">word</var>.
+to the file whose name is the expansion of <var class="var">word</var>.
</p>
<p>There are two formats for redirecting standard output and
standard error:
<pre class="example-preformatted">><var class="var">word</var> 2>&1
</pre></div>
<p>When using the second form, <var class="var">word</var> may not expand to a number or
-‘<samp class="samp">-</samp>’. If it does, other redirection operators apply
+‘<samp class="samp">-</samp>’.
+If it does, other redirection operators apply
(see Duplicating File Descriptors below) for compatibility reasons.
</p>
</div>
<div class="subsection-level-extent" id="Appending-Standard-Output-and-Standard-Error">
<h4 class="subsection"><span>3.6.5 Appending Standard Output and Standard Error<a class="copiable-link" href="#Appending-Standard-Output-and-Standard-Error"> ¶</a></span></h4>
-<p>This construct allows both the
+<p>This construct appends both the
standard output (file descriptor 1) and
the standard error output (file descriptor 2)
-to be appended to the file whose name is the
-expansion of <var class="var">word</var>.
+to the file whose name is the expansion of <var class="var">word</var>.
</p>
<p>The format for appending standard output and standard error is:
</p><div class="example">
<p>This type of redirection instructs the shell to read input from the
current source until it reads a line containing only <var class="var">delimiter</var>
(with no trailing blanks).
-All of the lines read up to that point are then used as the standard
+All of the lines read up to that point then become the standard
input (or file descriptor <var class="var">n</var> if <var class="var">n</var> is specified) for a command.
</p>
<p>The format of here-documents is:
<var class="var">delimiter</var>
</pre></div>
-<p>No parameter and variable expansion, command substitution,
-arithmetic expansion, or filename expansion is performed on
+<p>The shell does not perform
+parameter and variable expansion, command substitution,
+arithmetic expansion, or filename expansion on
<var class="var">word</var>.
</p>
<p>If any part of <var class="var">word</var> is quoted, the
and the lines in the here-document are not expanded.
If <var class="var">word</var> is unquoted,
<var class="var">delimiter</var> is <var class="var">word</var> 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 substitution, and arithmetic expansion,
-the character sequence <code class="code">\newline</code> is ignored, and ‘<samp class="samp">\</samp>’
-must be used to quote the characters
-‘<samp class="samp">\</samp>’, ‘<samp class="samp">$</samp>’, and ‘<samp class="samp">`</samp>’.
+the character sequence <code class="code">\newline</code> is treated literally,
+and ‘<samp class="samp">\</samp>’ must be used to quote the characters
+‘<samp class="samp">\</samp>’, ‘<samp class="samp">$</samp>’, and ‘<samp class="samp">`</samp>’;
+however, double quote characters have no special meaning.
</p>
<p>If the redirection operator is ‘<samp class="samp"><<-</samp>’,
-then all leading tab characters are stripped from input lines and the
-line containing <var class="var">delimiter</var>.
+the shell strips leading tab characters are stripped from input lines
+and the line containing <var class="var">delimiter</var>.
This allows here-documents within shell scripts to be indented in a
natural fashion.
</p>
+<p>If the delimiter is not quoted, the
+<code class="code">\<newline></code>
+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 check for
+the ending delimiter, so joined lines can form the end delimiter.
+</p>
</div>
<div class="subsection-level-extent" id="Here-Strings">
<h4 class="subsection"><span>3.6.7 Here Strings<a class="copiable-link" href="#Here-Strings"> ¶</a></span></h4>
tilde expansion, parameter and variable expansion,
command substitution, arithmetic expansion, and quote removal.
Filename expansion and word splitting are not performed.
-The result is supplied as a single string,
-with a newline appended,
+The result is supplied as a single string, with a newline appended,
to the command on its
standard input (or file descriptor <var class="var">n</var> if <var class="var">n</var> is specified).
</p>
</pre></div>
<p>is used to duplicate input file descriptors.
If <var class="var">word</var>
-expands to one or more digits, the file descriptor denoted by <var class="var">n</var>
+expands to one or more digits, file descriptor <var class="var">n</var>
is made to be a copy of that file descriptor.
-If the digits in <var class="var">word</var> do not specify a file descriptor open for
-input, a redirection error occurs.
+It is a redirection error if the digits in
+<var class="var">word</var> do not specify a file descriptor open for input.
If <var class="var">word</var>
evaluates to ‘<samp class="samp">-</samp>’, file descriptor <var class="var">n</var> is closed.
-If <var class="var">n</var> is not specified, the standard input (file descriptor 0) is used.
+If <var class="var">n</var> is not specified, this uses the standard input (file descriptor 0).
</p>
<p>The operator
</p><div class="example">
<pre class="example-preformatted">[<var class="var">n</var>]>&<var class="var">word</var>
</pre></div>
-<p>is used similarly to duplicate output file descriptors. If
-<var class="var">n</var> is not specified, the standard output (file descriptor 1) is used.
-If the digits in <var class="var">word</var> do not specify a file descriptor open for
-output, a redirection error occurs.
+<p>is used similarly to duplicate output file descriptors.
+If <var class="var">n</var> is not specified, this uses the standard output (file descriptor 1).
+It is a redirection error if the digits in
+<var class="var">word</var> do not specify a file descriptor open for output.
If <var class="var">word</var>
evaluates to ‘<samp class="samp">-</samp>’, file descriptor <var class="var">n</var> is closed.
-As a special case, if <var class="var">n</var> is omitted, and <var class="var">word</var> does not
-expand to one or more digits or ‘<samp class="samp">-</samp>’, the standard output and standard
-error are redirected as described previously.
+As a special case, if <var class="var">n</var> is omitted, and
+<var class="var">word</var> does not expand to one or more digits or ‘<samp class="samp">-</samp>’,
+this redirects the standard output and standard error as described
+previously.
</p>
</div>
<div class="subsection-level-extent" id="Moving-File-Descriptors">
</p><div class="example">
<pre class="example-preformatted">[<var class="var">n</var>]<><var class="var">word</var>
</pre></div>
-<p>causes the file whose name is the expansion of <var class="var">word</var>
-to be opened for both reading and writing on file descriptor
+<p>opens the file whose name is the expansion of <var class="var">word</var>
+for both reading and writing on file descriptor
<var class="var">n</var>, or on file descriptor 0 if <var class="var">n</var>
-is not specified. If the file does not exist, it is created.
+is not specified.
+If the file does not exist, it is created.
</p>
<hr>
</div>
<h4 class="subsection" id="Simple-Command-Expansion-1"><span>3.7.1 Simple Command Expansion<a class="copiable-link" href="#Simple-Command-Expansion-1"> ¶</a></span></h4>
<a class="index-entry-id" id="index-command-expansion"></a>
-<p>When a simple command is executed, the shell performs the following
+<p>When the shell executes a simple command, it performs the following
expansions, assignments, and redirections, from left to right, in
the following order.
</p>
an error occurs, and the command exits with a non-zero status.
</p>
<p>If no command name results, redirections are performed, but do not
-affect the current shell environment. A redirection error causes the
-command to exit with a non-zero status.
+affect the current shell environment.
+A redirection error causes the command to exit with a non-zero status.
</p>
<p>If there is a command name left after expansion, execution proceeds as
-described below. Otherwise, the command exits. If one of the expansions
-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 status of zero.
+described below.
+Otherwise, the command exits.
+If one of the expansions 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 status.
</p>
<hr>
</div>
</p>
<ol class="enumerate">
<li> If the command name contains no slashes, the shell attempts to
-locate it. If there exists a shell function by that name, that
+locate it.
+If there exists a shell function by that name, that
function is invoked as described in <a class="ref" href="#Shell-Functions">Shell Functions</a>.
</li><li> 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.
+it in the list of shell builtins.
+If a match is found, that builtin is invoked.
</li><li> If the name is neither a shell function nor a builtin,
and contains no slashes, Bash searches each element of
<code class="env">$PATH</code> for a directory containing an executable file
-by that name. Bash uses a hash table to remember the full
+by that name.
+Bash uses a hash table to remember the full
pathnames of executable files to avoid multiple <code class="env">PATH</code> searches
(see the description of <code class="code">hash</code> in <a class="ref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
-A full search of the directories in <code class="env">$PATH</code>
-is performed only if the command is not found in the hash table.
+Bash performs a full search of the directories in <code class="env">$PATH</code>
+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 <code class="code">command_not_found_handle</code>.
If that function exists, it is invoked in a separate execution environment
</li><li> 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
-<em class="dfn">shell script</em> and the shell executes it as described in
-<a class="ref" href="#Shell-Scripts">Shell Scripts</a>.
+<em class="dfn">shell script</em>,
+a file containing shell commands,
+and the shell executes it as described in <a class="ref" href="#Shell-Scripts">Shell Scripts</a>.
</li><li> If the command was not begun asynchronously, the shell waits for
the command to complete and collects its exit status.
following:
</p>
<ul class="itemize mark-bullet">
-<li>open files inherited by the shell at invocation, as modified by
-redirections supplied to the <code class="code">exec</code> builtin
+<li>Open files inherited by the shell at invocation, as modified by
+redirections supplied to the <code class="code">exec</code> builtin.
-</li><li>the current working directory as set by <code class="code">cd</code>, <code class="code">pushd</code>, or
-<code class="code">popd</code>, or inherited by the shell at invocation
+</li><li>The current working directory as set by <code class="code">cd</code>, <code class="code">pushd</code>, or
+<code class="code">popd</code>, or inherited by the shell at invocation.
-</li><li>the file creation mode mask as set by <code class="code">umask</code> or inherited from
-the shell’s parent
+</li><li>The file creation mode mask as set by <code class="code">umask</code> or inherited from
+the shell’s parent.
-</li><li>current traps set by <code class="code">trap</code>
+</li><li>Current traps set by <code class="code">trap</code>.
-</li><li>shell parameters that are set by variable assignment or with <code class="code">set</code>
-or inherited from the shell’s parent in the environment
+</li><li>Shell parameters that are set by variable assignment or with <code class="code">set</code>
+or inherited from the shell’s parent in the environment.
-</li><li>shell functions defined during execution or inherited from the shell’s
-parent in the environment
+</li><li>Shell functions defined during execution or inherited from the shell’s
+parent in the environment.
-</li><li>options enabled at invocation (either by default or with command-line
-arguments) or by <code class="code">set</code>
+</li><li>Options enabled at invocation (either by default or with command-line
+arguments) or by <code class="code">set</code>.
-</li><li>options enabled by <code class="code">shopt</code> (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>)
+</li><li>Options enabled by <code class="code">shopt</code> (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
-</li><li>shell aliases defined with <code class="code">alias</code> (see <a class="pxref" href="#Aliases">Aliases</a>)
+</li><li>Shell aliases defined with <code class="code">alias</code> (see <a class="pxref" href="#Aliases">Aliases</a>).
-</li><li>various process <small class="sc">ID</small>s, including those of background jobs
-(see <a class="pxref" href="#Lists">Lists of Commands</a>), the value of <code class="code">$$</code>, and the value of
-<code class="env">$PPID</code>
+</li><li>Various process <small class="sc">ID</small>s, including those of background jobs
+(see <a class="pxref" href="#Lists">Lists of Commands</a>), the value of <code class="code">$$</code>, and the value of <code class="env">$PPID</code>.
</li></ul>
<p>When a simple command other than a builtin or shell function
is to be executed, it
is invoked in a separate execution environment that consists of
-the following. Unless otherwise noted, the values are inherited
-from the shell.
+the following.
+Unless otherwise noted, the values are inherited from the shell.
</p>
<ul class="itemize mark-bullet">
-<li>the shell’s open files, plus any modifications and additions specified
-by redirections to the command
+<li>The shell’s open files, plus any modifications and additions specified
+by redirections to the command.
-</li><li>the current working directory
+</li><li>The current working directory.
-</li><li>the file creation mode mask
+</li><li>The file creation mode mask.
-</li><li>shell variables and functions marked for export, along with variables
-exported for the command, passed in the environment (see <a class="pxref" href="#Environment">Environment</a>)
+</li><li>Shell variables and functions marked for export, along with variables
+exported for the command, passed in the environment (see <a class="pxref" href="#Environment">Environment</a>).
-</li><li>traps caught by the shell are reset to the values inherited from the
-shell’s parent, and traps ignored by the shell are ignored
+</li><li>Traps caught by the shell are reset to the values inherited from the
+shell’s parent, and traps ignored by the shell are ignored.
</li></ul>
and asynchronous commands are invoked in a
subshell environment that is a duplicate of the shell environment,
except that traps caught by the shell are reset to the values
-that the shell inherited from its parent at invocation. Builtin
-commands that are invoked as part of a pipeline are also executed
-in a subshell environment. Changes made to the subshell environment
+that the shell inherited from its parent at invocation.
+Builtin commands that are invoked as part of a pipeline,
+except possibly in the last element depending on the value of the
+<code class="code">lastpipe</code> shell option (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>),
+are also executed in a subshell environment.
+Changes made to the subshell environment
cannot affect the shell’s execution environment.
</p>
<p>When the shell is in <small class="sc">POSIX</small> mode,
<p>Bash provides several ways to manipulate the environment.
On invocation, the shell scans its own environment and
creates a parameter for each name found, automatically marking
-it for <code class="code">export</code>
-to child processes. Executed commands inherit the environment.
-The <code class="code">export</code> and ‘<samp class="samp">declare -x</samp>’
-commands allow parameters and functions to be added to and
-deleted from the environment. If the value of a parameter
-in the environment is modified, the new value becomes part
-of the environment, replacing the old. The environment
+it for <code class="code">export</code> to child processes.
+Executed commands inherit the environment.
+The <code class="code">export</code>, ‘<samp class="samp">declare -x</samp>’, and <code class="code">unset</code>
+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 <code class="code">unset</code> and ‘<samp class="samp">export -n</samp>’
commands, plus any additions via the <code class="code">export</code> and
‘<samp class="samp">declare -x</samp>’ commands.
</p>
-<p>The environment for any simple command
-or function may be augmented temporarily by prefixing it with
-parameter assignments, as described in <a class="ref" href="#Shell-Parameters">Shell Parameters</a>.
+<p>If any parameter assignment statements,
+as described in <a class="ref" href="#Shell-Parameters">Shell Parameters</a>,
+appear before a simple command,
+the variable assignments are part of that command’s environment
+for as long as it executes.
These assignment statements affect only the environment seen
by that command.
+If these assignments precede a call to a shell function, the variables
+are local to the function and exported to that function’s children.
</p>
<p>If the <samp class="option">-k</samp> option is set (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>), then all
parameter assignments are placed in the environment for a command,
<a class="index-entry-id" id="index-exit-status-1"></a>
<p>The exit status of an executed command is the value returned by the
-<code class="code">waitpid</code> system call or equivalent function. Exit statuses
-fall between 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.
+<code class="code">waitpid</code> system call or equivalent function.
+Exit statuses fall between 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.
</p>
<p>For the shell’s purposes, a command which exits with a
zero exit status has succeeded.
-A non-zero exit status indicates failure.
+So while an exit status of zero indicates success, a non-zero
+exit status indicates failure.
This seemingly counter-intuitive scheme is used so there
is one well-defined way to indicate success and a variety of
ways to indicate various failure modes.
-When a command terminates on a fatal signal whose number is <var class="var">N</var>,
+</p>
+<p>When a command terminates on a fatal signal whose number is <var class="var">N</var>,
Bash uses the value 128+<var class="var">N</var> as the exit status.
</p>
<p>If a command is not found, the child process created to
-execute it returns a status of 127. If a command is found
-but is not executable, the return status is 126.
+execute it returns a status of 127.
+If a command is found but is not executable, the return status is 126.
</p>
<p>If a command fails because of an error during expansion or redirection,
the exit status is greater than zero.
<p>The exit status of the last command is available in the special
parameter $? (see <a class="pxref" href="#Special-Parameters">Special Parameters</a>).
</p>
+<p>Bash itself returns the exit status of the last command
+executed, unless a syntax error occurs, in which case it exits
+with a non-zero value.
+See also the <code class="code">exit</code> builtin command (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>.
+</p>
<hr>
</div>
<div class="subsection-level-extent" id="Signals">
<h4 class="subsection" id="Signals-1"><span>3.7.6 Signals<a class="copiable-link" href="#Signals-1"> ¶</a></span></h4>
<a class="index-entry-id" id="index-signal-handling"></a>
-<p>When Bash is interactive, in the absence of any traps, it ignores
-<code class="code">SIGTERM</code> (so that ‘<samp class="samp">kill 0</samp>’ does not kill an interactive shell),
-and <code class="code">SIGINT</code>
-is caught and handled (so that the <code class="code">wait</code> builtin is interruptible).
+<p>When Bash is interactive, in the absence of any traps,
+it ignores <code class="code">SIGTERM</code>
+(so that ‘<samp class="samp">kill 0</samp>’ does not kill an interactive shell),
+and catches and handles <code class="code">SIGINT</code>
+(so that the <code class="code">wait</code> builtin is interruptible).
When Bash receives a <code class="code">SIGINT</code>, it breaks out of any executing loops.
In all cases, Bash ignores <code class="code">SIGQUIT</code>.
If job control is in effect (see <a class="pxref" href="#Job-Control">Job Control</a>), Bash
ignores <code class="code">SIGTTIN</code>, <code class="code">SIGTTOU</code>, and <code class="code">SIGTSTP</code>.
</p>
-<p>Non-builtin commands started by Bash have signal handlers set to the
-values inherited by the shell from its parent.
+<p>The <code class="code">trap</code> builtin modifies the shell’s signal handling, as
+described below (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>.
+</p>
+<p>Non-builtin commands Bash executes have signal handlers set to the
+values inherited by the shell from its parent,
+unless <code class="code">trap</code> 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 <code class="code">SIGINT</code> and <code class="code">SIGQUIT</code> in addition to these inherited
handlers.
<p>The shell exits by default upon receipt of a <code class="code">SIGHUP</code>.
Before exiting, an interactive shell resends the <code class="code">SIGHUP</code> to
all jobs, running or stopped.
-Stopped jobs are sent <code class="code">SIGCONT</code> to ensure that they receive
-the <code class="code">SIGHUP</code>.
+The shell sends <code class="code">SIGCONT</code> to stopped jobs to ensure that they
+receive the <code class="code">SIGHUP</code>
+(See <a class="xref" href="#Job-Control">Job Control</a>, for more information about running and stopped jobs).
To prevent the shell from sending the <code class="code">SIGHUP</code> signal to a
-particular job, it should be removed
-from the jobs table with the <code class="code">disown</code>
-builtin (see <a class="pxref" href="#Job-Control-Builtins">Job Control Builtins</a>) or marked
-to not receive <code class="code">SIGHUP</code> using <code class="code">disown -h</code>.
+particular job, remove it from the jobs table with the <code class="code">disown</code>
+builtin (see <a class="pxref" href="#Job-Control-Builtins">Job Control Builtins</a>) or mark it
+not to receive <code class="code">SIGHUP</code> using <code class="code">disown -h</code>.
</p>
-<p>If the <code class="code">huponexit</code> shell option has been set with <code class="code">shopt</code>
+<p>If the <code class="code">huponexit</code> shell option has been set using <code class="code">shopt</code>
(see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>), Bash sends a <code class="code">SIGHUP</code> to all jobs when
an interactive login shell exits.
</p>
<p>If Bash is waiting for a command to complete and receives a signal
for which a trap has been set, the trap will not be executed until
the command completes.
-When Bash is waiting for an asynchronous
-command via the <code class="code">wait</code> builtin, the reception of a signal for
-which a trap has been set will cause the <code class="code">wait</code> builtin to return
-immediately with an exit status greater than 128, immediately after
-which the trap is executed.
+If Bash is waiting for an asynchronous command via the <code class="code">wait</code> builtin,
+and it receives a signal for which a trap has been set,
+the <code class="code">wait</code> builtin will return immediately with an exit status
+greater than 128, immediately after which the shell executes the trap.
</p>
<p>When job control is not enabled, and Bash is waiting for a foreground
command to complete, the shell receives keyboard-generated signals
In that case, Bash does not treat <code class="code">SIGINT</code> as a fatal signal,
either, instead assuming that the <code class="code">SIGINT</code> was used as part of the
program’s normal operation (e.g., <code class="command">emacs</code> uses it to abort editing
-commands) or deliberately discarded. However, Bash will run any
+commands) or deliberately discarded.
+However, Bash will run any
trap set on <code class="code">SIGINT</code>, as it does with any other trapped signal it
receives while it is waiting for the foreground command to
complete, for compatibility.
<h3 class="section" id="Shell-Scripts-1"><span>3.8 Shell Scripts<a class="copiable-link" href="#Shell-Scripts-1"> ¶</a></span></h3>
<a class="index-entry-id" id="index-shell-script"></a>
-<p>A shell script is a text file containing shell commands. When such
-a file is used as the first non-option argument when invoking Bash,
-and neither the <samp class="option">-c</samp> nor <samp class="option">-s</samp> option is supplied
-(see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>),
-Bash reads and executes commands from the file, then exits. This
-mode of operation creates a non-interactive shell. The shell first
-searches for the file in the current directory, and looks in the
-directories in <code class="env">$PATH</code> if not found there.
+<p>A shell script is a text file containing shell commands.
+When such a file is used as the first non-option argument when
+invoking Bash, and neither the <samp class="option">-c</samp> nor <samp class="option">-s</samp> option
+is supplied (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>),
+Bash reads and executes commands from the file, then exits.
+This mode of operation creates a non-interactive shell.
+If the filename does not contain any slashes, the shell first searches
+for the file in the current directory, and looks in the directories in
+<code class="env">$PATH</code> if not found there.
+</p>
+<p>Bash tries to determine whether the file is a text file or a binary,
+and will not execute files it determines to be binaries.
</p>
<p>When Bash runs
a shell script, it sets the special parameter <code class="code">0</code> to the name
are unset.
</p>
<p>A shell script may be made executable by using the <code class="code">chmod</code> command
-to turn on the execute bit. When Bash finds such a file while
-searching the <code class="env">$PATH</code> for a command, it creates a
-new instance of itself
-to execute it.
+to turn on the execute bit.
+When Bash finds such a file while searching the <code class="env">$PATH</code> for a command,
+it creates a new instance of itself to execute it.
In other words, executing
</p><div class="example">
<pre class="example-preformatted">filename <var class="var">arguments</var>
(see the description of <code class="code">hash</code> in <a class="ref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
are retained by the child.
</p>
-<p>Most versions of Unix make this a part of the operating system’s command
-execution mechanism. If the first line of a script begins with
+<p>The <small class="sc">GNU</small> operating system,
+and most versions of Unix,
+make this a part of the operating system’s command execution mechanism.
+If the first line of a script begins with
the two characters ‘<samp class="samp">#!</samp>’, the remainder of the line specifies
an interpreter for the program and, depending on the operating system, one
or more optional arguments for that interpreter.
<p>Bash scripts often begin with <code class="code">#! /bin/bash</code> (assuming that
Bash has been installed in <samp class="file">/bin</samp>), since this ensures that
Bash will be used to interpret the script, even if it is executed
-under another shell. It’s a common idiom to use <code class="code">env</code> to find
+under another shell.
+It’s a common idiom to use <code class="code">env</code> to find
<code class="code">bash</code> even if it’s been installed in another directory:
<code class="code">#!/usr/bin/env bash</code> will find the first occurrence of <code class="code">bash</code>
in <code class="env">$PATH</code>.
<pre class="example-preformatted">. [-p <var class="var">path</var>] <var class="var">filename</var> [<var class="var">arguments</var>]
</pre></div>
-<p>Read and execute commands from the <var class="var">filename</var> argument in the
-current shell context.
-If <var class="var">filename</var> does not contain a slash, <code class="code">.</code> searches for it.
+<p>The <code class="code">.</code> command reads and execute commands from the <var class="var">filename</var>
+argument in the current shell context.
+</p>
+<p>If <var class="var">filename</var> does not contain a slash, <code class="code">.</code> searches for it.
If <samp class="option">-p</samp> is supplied, <code class="code">.</code> treats <var class="var">path</var>
as a colon-separated list of directories in which to find <var class="var">filename</var>;
otherwise, <code class="code">.</code> uses the directories in <code class="env">PATH</code> to find <var class="var">filename</var>.
When Bash is not in <small class="sc">POSIX</small> mode, it searches the current directory
if <var class="var">filename</var> is not found in <code class="env">$PATH</code>,
but does not search the current directory if <samp class="option">-p</samp> is supplied.
-If the <code class="code">sourcepath</code> option (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>) is turned off
+If the <code class="code">sourcepath</code> option (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>) is turned off,
<code class="code">.</code> does not search <code class="env">PATH</code>.
-If any <var class="var">arguments</var> are supplied, they become the positional
+</p>
+<p>If any <var class="var">arguments</var> are supplied, they become the positional
parameters when <var class="var">filename</var> is executed.
Otherwise the positional parameters are unchanged.
-If the <samp class="option">-T</samp> option is enabled, <code class="code">.</code> inherits any trap on
+</p>
+<p>If the <samp class="option">-T</samp> option is enabled, <code class="code">.</code> inherits any trap on
<code class="code">DEBUG</code>; if it is not, any <code class="code">DEBUG</code> trap string is saved and
restored around the call to <code class="code">.</code>, and <code class="code">.</code> unsets the
<code class="code">DEBUG</code> trap while it executes.
If <samp class="option">-T</samp> is not set, and the sourced file changes
-the <code class="code">DEBUG</code> trap, the new value is retained when <code class="code">.</code> completes.
-The return status is the exit status of the last command executed, or
-zero if no commands are executed. If <var class="var">filename</var> is not found, or
-cannot be read, the return status is non-zero.
+the <code class="code">DEBUG</code> trap, the new value persists after <code class="code">.</code> completes.
+The return status is the exit status of the last command executed
+from <var class="var">filename</var>, or
+zero if no commands are executed.
+If <var class="var">filename</var> is not found, or cannot be read,
+the return status is non-zero.
This builtin is equivalent to <code class="code">source</code>.
</p>
</dd>
</pre></div>
<p>Exit from a <code class="code">for</code>, <code class="code">while</code>, <code class="code">until</code>, or <code class="code">select</code> loop.
-If <var class="var">n</var> is supplied, the <var class="var">n</var>th enclosing loop is exited.
+If <var class="var">n</var> is supplied, <code class="code">break</code> exits the <var class="var">n</var>th enclosing loop.
<var class="var">n</var> must be greater than or equal to 1.
The return status is zero unless <var class="var">n</var> is not greater than or equal to 1.
</p>
<p>Change the current working directory to <var class="var">directory</var>.
If <var class="var">directory</var> is not supplied, the value of the <code class="env">HOME</code>
-shell variable is used.
+shell variable is used as <var class="var">directory</var>.
If the shell variable
<code class="env">CDPATH</code> exists, <code class="code">cd</code> uses it as a search path:
<code class="code">cd</code> searches each directory name in <code class="env">CDPATH</code> for
<var class="var">directory</var>, with alternative directory names in <code class="env">CDPATH</code>
separated by a colon (‘<samp class="samp">:</samp>’).
+A null directory name in <code class="env">CDPATH</code> means the same thing as the
+current directory.
If <var class="var">directory</var> begins with a slash, <code class="env">CDPATH</code> is not used.
</p>
<p>The <samp class="option">-P</samp> option means to not follow symbolic links: symbolic links
</p>
<p>If the <samp class="option">-e</samp> option is supplied with <samp class="option">-P</samp>
and the current working directory cannot be successfully determined
-after a successful directory change, <code class="code">cd</code> will return an unsuccessful
+after a successful directory change, <code class="code">cd</code> will return a non-zero
status.
</p>
<p>On systems that support it, the <samp class="option">-@</samp> option presents the extended
attributes associated with a file as a directory.
</p>
<p>If <var class="var">directory</var> is ‘<samp class="samp">-</samp>’, it is converted to <code class="env">$OLDPWD</code>
-before the directory change is attempted.
+before attempting the directory change.
</p>
-<p>If a non-empty directory name from <code class="env">CDPATH</code> is used, or if
+<p>If <code class="code">cd</code> uses a non-empty directory name from <code class="env">CDPATH</code>, or if
‘<samp class="samp">-</samp>’ is the first argument, and the directory change is
-successful, the absolute pathname of the new working directory is
-written to the standard output.
+successful, <code class="code">cd</code> writes the absolute pathname of the new
+working directory to the standard output.
</p>
<p>If the directory change is successful, <code class="code">cd</code> sets the value of the
<code class="env">PWD</code> environment variable to the new directory name, and sets the
<pre class="example-preformatted">continue [<var class="var">n</var>]
</pre></div>
-<p>Resume the next iteration of an enclosing <code class="code">for</code>, <code class="code">while</code>,
-<code class="code">until</code>, or <code class="code">select</code> loop.
-If <var class="var">n</var> is supplied, the execution of the <var class="var">n</var>th enclosing loop
-is resumed.
+<p><code class="code">continue</code> resumes the next iteration of an enclosing <code class="code">for</code>,
+<code class="code">while</code>, <code class="code">until</code>, or <code class="code">select</code> loop.
+If <var class="var">n</var> is supplied, Bash resumes the execution of the <var class="var">n</var>th
+enclosing loop.
<var class="var">n</var> must be greater than or equal to 1.
The return status is zero unless <var class="var">n</var> is not greater than or equal to 1.
</p>
<pre class="example-preformatted">eval [<var class="var">arguments</var>]
</pre></div>
-<p>The arguments are concatenated together into a single command, which is
-then read and executed, and its exit status returned as the exit status
-of <code class="code">eval</code>.
+<p>The <var class="var">arguments</var> are concatenated together into a single command,
+separated by spaces.
+Bash then reads and executes this command and returns its exit status
+as the exit status of <code class="code">eval</code>.
If there are no arguments or only empty arguments, the return status is
zero.
</p>
<p>If <var class="var">command</var>
is supplied, it replaces the shell without creating a new process.
+<var class="var">command</var> cannot be a shell builtin or function.
+The <var class="var">arguments</var> become the arguments to <var class="var">command</var>
If the <samp class="option">-l</samp> option is supplied, the shell places a dash at the
beginning of the zeroth argument passed to <var class="var">command</var>.
This is what the <code class="code">login</code> program does.
environment.
If <samp class="option">-a</samp> is supplied, the shell passes <var class="var">name</var> as the zeroth
argument to <var class="var">command</var>.
-If <var class="var">command</var>
+</p>
+<p>If <var class="var">command</var>
cannot be executed for some reason, a non-interactive shell exits,
-unless the <code class="code">execfail</code> shell option
-is enabled. In that case, it returns failure.
-An interactive shell returns failure if the file cannot be executed.
+unless the <code class="code">execfail</code> 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 <code class="code">exec</code> fails.
-If no <var class="var">command</var> is specified, redirections may be used to affect
-the current shell environment. If there are no redirection errors, the
-return status is zero; otherwise the return status is non-zero.
+</p>
+<p>If <var class="var">command</var> is not specified, redirections may be used to affect
+the current shell environment.
+If there are no redirection errors, the return status is zero;
+otherwise the return status is non-zero.
</p>
</dd>
<dt><a id="index-exit"></a><span><code class="code">exit</code><a class="copiable-link" href="#index-exit"> ¶</a></span></dt>
<pre class="example-preformatted">export [-fn] [-p] [<var class="var">name</var>[=<var class="var">value</var>]]
</pre></div>
-<p>Mark each <var class="var">name</var> to be passed to child processes
-in the environment. If the <samp class="option">-f</samp> option is supplied, the <var class="var">name</var>s
+<p>Mark each <var class="var">name</var> to be passed to subsequently executed commands in the
+environment.
+If the <samp class="option">-f</samp> option is supplied, the <var class="var">name</var>s
refer to shell functions; otherwise the names refer to shell variables.
-The <samp class="option">-n</samp> option means to no longer mark each <var class="var">name</var> for export.
-If no <var class="var">name</var>s are supplied, or if the <samp class="option">-p</samp> option is given, a
-list of names of all exported variables is displayed.
+</p>
+<p>The <samp class="option">-n</samp> option means to unexport each name: no longer mark
+it for export.
+If no <var class="var">name</var>s are supplied, or if the <samp class="option">-p</samp> option is given,
+<code class="code">export</code> displays a list of names of all exported variables on the
+standard output.
The <samp class="option">-p</samp> option displays output in a form that may be reused as input.
-If a variable name is followed by =<var class="var">value</var>, the value of
-the variable is set to <var class="var">value</var>.
+</p>
+<p><code class="code">export</code> allows the value of a variable to be set at the same time
+it is exported or unexported by following the variable name with
+=<var class="var">value</var>.
+This sets the value of the variable is to <var class="var">value</var> while modifying
+the export attribute.
</p>
<p>The return status is zero unless an invalid option is supplied, one of
the names is not a valid shell variable name, or <samp class="option">-f</samp> is supplied
<pre class="example-preformatted">false
</pre></div>
-<p>Does nothing, returns a non-zero status.
+<p>Does nothing; returns a non-zero status.
</p>
</dd>
<dt><a id="index-getopts"></a><span><code class="code">getopts</code><a class="copiable-link" href="#index-getopts"> ¶</a></span></dt>
<pre class="example-preformatted">getopts <var class="var">optstring</var> <var class="var">name</var> [<var class="var">arg</var> ...]
</pre></div>
-<p><code class="code">getopts</code> is used by shell scripts to parse positional parameters.
+<p><code class="code">getopts</code> is used by shell scripts or functions to parse positional
+parameters and obtain options and their arguments.
<var class="var">optstring</var> 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 whitespace.
The colon (‘<samp class="samp">:</samp>’) and question mark (‘<samp class="samp">?</samp>’) may not be
used as option characters.
-Each time it is invoked, <code class="code">getopts</code>
+</p>
+<p>Each time it is invoked, <code class="code">getopts</code>
places the next option in the shell variable <var class="var">name</var>, initializing
<var class="var">name</var> if it does not exist,
and the index of the next argument to be processed into the
is invoked.
When an option requires an argument,
<code class="code">getopts</code> places that argument into the variable <code class="env">OPTARG</code>.
-The shell does not reset <code class="env">OPTIND</code> automatically; it must be manually
+</p>
+<p>The shell does not reset <code class="env">OPTIND</code> automatically; it must be manually
reset between multiple calls to <code class="code">getopts</code> within the same shell
-invocation if a new set of parameters is to be used.
+invocation to use a new set of parameters.
</p>
-<p>When the end of options is encountered, <code class="code">getopts</code> exits with a
+<p>When it reaches the end of options, <code class="code">getopts</code> exits with a
return value greater than zero.
<code class="env">OPTIND</code> is set to the index of the first non-option argument,
and <var class="var">name</var> is set to ‘<samp class="samp">?</samp>’.
normally parses the positional parameters, but if more arguments are
supplied as <var class="var">arg</var> values, <code class="code">getopts</code> parses those instead.
</p>
-<p><code class="code">getopts</code> can report errors in two ways. If the first character of
-<var class="var">optstring</var> is a colon, <var class="var">silent</var>
-error reporting is used. In normal operation, diagnostic messages
-are printed when invalid options or missing option arguments are
-encountered.
+<p><code class="code">getopts</code> can report errors in two ways.
+If the first character of
+<var class="var">optstring</var> is a colon, <code class="code">getopts</code> uses <em class="emph">silent</em>
+error reporting.
+In normal operation, <code class="code">getopts</code> prints diagnostic messages
+when it encounters invalid options or missing option arguments.
If the variable <code class="env">OPTERR</code>
is set to 0, no error messages will be displayed, even if the first
character of <code class="code">optstring</code> is not a colon.
it sets the value of <var class="var">name</var> to a colon (‘<samp class="samp">:</samp>’),
and sets <code class="env">OPTARG</code> to the option character found.
</p>
+<p><code class="code">getopts</code> returns true if an option, specified or unspecified,
+is found.
+It returns false when it encounters the end of options or if an error occurs.
+</p>
</dd>
<dt><a id="index-hash"></a><span><code class="code">hash</code><a class="copiable-link" href="#index-hash"> ¶</a></span></dt>
<dd><div class="example">
so they need not be searched for on subsequent invocations.
The commands are found by searching through the directories listed in
<code class="env">$PATH</code>.
-Any previously-remembered filename is discarded.
-The <samp class="option">-p</samp> option inhibits the path search, and <var class="var">filename</var> is
-used as the location of <var class="var">name</var>.
-The <samp class="option">-r</samp> option causes the shell to forget all remembered locations.
+Any previously-remembered filename associated with <var class="var">name</var> is discarded.
+The <samp class="option">-p</samp> option inhibits the path search, and <code class="code">hash</code> uses
+<var class="var">filename</var> as the location of <var class="var">name</var>.
+</p>
+<p>The <samp class="option">-r</samp> option causes the shell to forget all remembered locations.
Assigning to the <code class="env">PATH</code> variable also clears all hashed filenames.
The <samp class="option">-d</samp> option causes the shell to forget the remembered location
of each <var class="var">name</var>.
-If the <samp class="option">-t</samp> option is supplied, the full pathname to which each
-<var class="var">name</var> corresponds is printed. If multiple <var class="var">name</var> arguments are
-supplied with <samp class="option">-t</samp>, the <var class="var">name</var> is printed before the hashed
-full pathname.
-The <samp class="option">-l</samp> option causes output to be displayed in a format
-that may be reused as input.
-If no arguments are given, or if only <samp class="option">-l</samp> is supplied,
-information about remembered commands is printed.
+</p>
+<p>If the <samp class="option">-t</samp> option is supplied, <code class="code">hash</code> prints the full pathname
+corresponding to each <var class="var">name</var>.
+If multiple <var class="var">name</var> arguments are
+supplied with <samp class="option">-t</samp>, <code class="code">hash</code> prints each <var class="var">name</var>
+before the corresponding hashed full path.
+The <samp class="option">-l</samp> option displays output in a format that may be reused as input.
+</p>
+<p>If no arguments are given, or if only <samp class="option">-l</samp> is supplied,
+<code class="code">hash</code> prints information about remembered commands.
The <samp class="option">-t</samp>, <samp class="option">-d</samp>, and <samp class="option">-p</samp> options (the options that
act on the <var class="var">name</var> arguments) are mutually exclusive.
Only one will be active.
If more than one is supplied, <samp class="option">-t</samp> has higher priority than
-<samp class="option">-p</samp>, and both are higher priority than <samp class="option">-d</samp>.
-The return status is zero unless a <var class="var">name</var> is not found or an invalid
+<samp class="option">-p</samp>, and both have higher priority than <samp class="option">-d</samp>.
+</p>
+<p>The return status is zero unless a <var class="var">name</var> is not found or an invalid
option is supplied.
</p>
</dd>
</pre></div>
<p>Print the absolute pathname of the current working directory.
-If the <samp class="option">-P</samp> option is supplied, the pathname printed will not
+If the <samp class="option">-P</samp> option is supplied,
+or the <samp class="option">-o physical</samp> option to the <code class="code">set</code> builtin
+(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>) is enabled,
+the pathname printed will not
contain symbolic links.
If the <samp class="option">-L</samp> option is supplied, the pathname printed may contain
symbolic links.
</pre></div>
<p>Mark each <var class="var">name</var> as readonly.
-The values of these names may not be changed by subsequent assignment.
+The values of these names may not be changed by subsequent assignment
+or unset.
If the <samp class="option">-f</samp> option is supplied, each <var class="var">name</var> refers to a shell
function.
The <samp class="option">-a</samp> option means each <var class="var">name</var> refers to an indexed
array variable; the <samp class="option">-A</samp> option means each <var class="var">name</var> refers
to an associative array variable.
If both options are supplied, <samp class="option">-A</samp> takes precedence.
-If no <var class="var">name</var> arguments are given, or if the <samp class="option">-p</samp>
-option is supplied, a list of all readonly names is printed.
+If no <var class="var">name</var> arguments are supplied, or if the <samp class="option">-p</samp>
+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 <samp class="option">-p</samp> option causes output to be displayed in a format that
-may be reused as input.
-If a variable name is followed by =<var class="var">value</var>, the value of
-the variable is set to <var class="var">value</var>.
-The return status is zero unless an invalid option is supplied, one of
+The <samp class="option">-p</samp>
+option displays output in a format that may be reused as input.
+</p>
+<p><code class="code">readonly</code> allows the value of a variable to be set at the same time
+the readonly attribute is changed by following the variable name with
+=<var class="var">value</var>.
+This sets the value of the variable is to <var class="var">value</var> while modifying
+the readonly attribute.
+</p>
+<p>The return status is zero unless an invalid option is supplied, one of
the <var class="var">name</var> arguments is not a valid shell variable or function name,
or the <samp class="option">-f</samp> option is supplied with a name that is not a shell function.
</p>
<pre class="example-preformatted">return [<var class="var">n</var>]
</pre></div>
-<p>Cause a shell function to stop executing and return the value <var class="var">n</var>
+<p>Stop executing a shell function or sourced file and return the value <var class="var">n</var>
to its caller.
If <var class="var">n</var> is not supplied, the return value is the exit status of the
-last command executed in the function.
+last command executed.
If <code class="code">return</code> is executed by a trap handler, the last command used to
determine the status is the last command executed before the trap handler.
If <code class="code">return</code> is executed during a <code class="code">DEBUG</code> trap, the last command
used to determine the status is the last command executed by the trap
handler before <code class="code">return</code> was invoked.
-<code class="code">return</code> may also be used to terminate execution of a script
-being executed with the <code class="code">.</code> (<code class="code">source</code>) builtin,
-returning either <var class="var">n</var> or
+</p>
+<p>When <code class="code">return</code> is used to terminate execution of a script
+being executed with the <code class="code">.</code> (<code class="code">source</code>) builtin, it
+returns either <var class="var">n</var> or
the exit status of the last command executed within the script as the exit
status of the script.
If <var class="var">n</var> is supplied, the return value is its least significant
8 bits.
-Any command associated with the <code class="code">RETURN</code> trap is executed
+</p>
+<p>Any command associated with the <code class="code">RETURN</code> trap is executed
before execution resumes after the function or script.
-The return status is non-zero if <code class="code">return</code> is supplied a non-numeric
+</p>
+<p>The return status is non-zero if <code class="code">return</code> is supplied a non-numeric
argument or is used outside a function
and not during the execution of a script by <code class="code">.</code> or <code class="code">source</code>.
</p>
<pre class="example-preformatted">shift [<var class="var">n</var>]
</pre></div>
-<p>Shift the positional parameters to the left by <var class="var">n</var>.
-The positional parameters from <var class="var">n</var>+1 … <code class="code">$#</code> are
+<p>Shift the positional parameters to the left by <var class="var">n</var>:
+the positional parameters from <var class="var">n</var>+1 … <code class="code">$#</code> are
renamed to <code class="code">$1</code> … <code class="code">$#</code>-<var class="var">n</var>.
Parameters represented by the numbers <code class="code">$#</code> down to <code class="code">$#</code>-<var class="var">n</var>+1
are unset.
<var class="var">n</var> must be a non-negative number less than or equal to <code class="code">$#</code>.
+If <var class="var">n</var> is not supplied, it is assumed to be 1.
If <var class="var">n</var> is zero or greater than <code class="code">$#</code>, the positional parameters
are not changed.
-If <var class="var">n</var> is not supplied, it is assumed to be 1.
The return status is zero unless <var class="var">n</var> is greater than <code class="code">$#</code> or
less than zero, non-zero otherwise.
</p>
<pre class="example-preformatted">test <var class="var">expr</var>
</pre></div>
-<p>Evaluate a conditional expression <var class="var">expr</var> and return a status of 0
-(true) or 1 (false).
+<p>Evaluate a conditional expression <var class="var">expr</var> and return a status of
+0 (true) or 1 (false).
Each operator and operand must be a separate argument.
Expressions are composed of the primaries described below in
<a class="ref" href="#Bash-Conditional-Expressions">Bash Conditional Expressions</a>.
-<code class="code">test</code> does not accept any options, nor does it accept and ignore
-an argument of <samp class="option">--</samp> as signifying the end of options.
-</p>
-<p>When the <code class="code">[</code> form is used, the last argument to the command must
+<code class="code">test</code> does not accept any options, nor does it accept and
+ignore an argument of <samp class="option">--</samp> as signifying the end of options.
+When using the <code class="code">[</code> form, the last argument to the command must
be a <code class="code">]</code>.
</p>
<p>Expressions may be combined using the following operators, listed in
decreasing order of precedence.
The evaluation depends on the number of arguments; see below.
-Operator precedence is used when there are five or more arguments.
+<code class="code">test</code> uses operator precedence when there are five or more arguments.
</p>
<dl class="table">
<dt><code class="code">! <var class="var">expr</var></code></dt>
</dd>
<dt><code class="code">( <var class="var">expr</var> )</code></dt>
<dd><p>Returns the value of <var class="var">expr</var>.
-This may be used to override the normal precedence of operators.
+This may be used to override normal operator precedence.
</p>
</dd>
<dt><code class="code"><var class="var">expr1</var> -a <var class="var">expr2</var></code></dt>
<p>If the shell is in <small class="sc">POSIX</small> mode, or if the expression is part
of the <code class="code">[[</code> command,
the ‘<samp class="samp"><</samp>’ and ‘<samp class="samp">></samp>’ operators sort using the current locale.
-If the shell is not in <small class="sc">POSIX</small> mode,
-the <code class="code">test</code> and ‘<samp class="samp">[</samp>’ commands
-sort lexicographically using ASCII ordering.
+If the shell is not in <small class="sc">POSIX</small> mode, the <code class="code">test</code> and ‘<samp class="samp">[</samp>’
+commands sort lexicographically using ASCII ordering.
</p>
<p>The historical operator-precedence parsing with 4 or more arguments can
lead to ambiguities when it encounters strings that look like primaries.
</dd>
<dt><a id="index-trap"></a><span><code class="code">trap</code><a class="copiable-link" href="#index-trap"> ¶</a></span></dt>
<dd><div class="example">
-<pre class="example-preformatted">trap [-Plp] [<var class="var">action</var>] [<var class="var">sigspec</var> ...]
+<pre class="example-preformatted">trap [-lpP] [<var class="var">action</var>] [<var class="var">sigspec</var> ...]
</pre></div>
<p>The <var class="var">action</var> is a command that is read and executed when the
-shell receives signal <var class="var">sigspec</var>. If <var class="var">action</var> is absent (and
+shell receives any of the signals <var class="var">sigspec</var>.
+If <var class="var">action</var> is absent (and
there is a single <var class="var">sigspec</var>) or
-equal to ‘<samp class="samp">-</samp>’, each specified signal’s disposition is reset
+equal to ‘<samp class="samp">-</samp>’, each specified <var class="var">sigspec</var>’ss disposition is reset
to the value it had when the shell was started.
If <var class="var">action</var> is the null string, then the signal specified by
each <var class="var">sigspec</var> is ignored by the shell and commands it invokes.
associated with each trapped signal
as a set of <code class="code">trap</code> commands that can be reused as shell input to
restore the current signal dispositions.
-If <var class="var">action</var> is not present and <samp class="option">-p</samp> has been supplied,
+</p>
+<p>If <var class="var">action</var> is not present and <samp class="option">-p</samp> has been supplied,
<code class="code">trap</code> displays the trap commands associated with each <var class="var">sigspec</var>,
or, if no <var class="var">sigspec</var>s are supplied, for all trapped signals,
as a set of <code class="code">trap</code> commands that can be reused as shell input to
The <samp class="option">-P</samp> option behaves similarly, but displays only the actions
associated with each <var class="var">sigspec</var> argument.
<samp class="option">-P</samp> requires at least one <var class="var">sigspec</var> argument.
-The <samp class="option">-P</samp> or <samp class="option">-p</samp> options to <code class="code">trap</code> may be
+The <samp class="option">-P</samp> or <samp class="option">-p</samp> options may be
used in a subshell environment (e.g., command substitution) and,
as long as they are used before <code class="code">trap</code> is used to change a
signal’s handling, will display the state of its parent’s traps.
</p>
-<p>The <samp class="option">-l</samp> option causes <code class="code">trap</code> to print a list of signal names
+<p>The <samp class="option">-l</samp> option prints a list of signal names
and their corresponding numbers.
Each <var class="var">sigspec</var> is either a signal name or a signal number.
Signal names are case insensitive and the <code class="code">SIG</code> prefix is optional.
+If <samp class="option">-l</samp> is supplied with no <var class="var">sigspec</var> arguments, it prints a
+list of valid signal names.
</p>
<p>If a <var class="var">sigspec</var>
is <code class="code">0</code> or <code class="code">EXIT</code>, <var class="var">action</var> is executed when the shell exits.
<code class="code">select</code> command, (( arithmetic command, [[ conditional command,
arithmetic <code class="code">for</code> command,
and before the first command executes in a shell function.
-Refer to the description of the <code class="code">extdebug</code> option to the
-<code class="code">shopt</code> builtin (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>) for details of its
+Refer to the description of the <code class="code">extdebug</code> shell option
+(see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>) for details of its
effect on the <code class="code">DEBUG</code> trap.
If a <var class="var">sigspec</var> is <code class="code">RETURN</code>, <var class="var">action</var> is executed
each time a shell function or a script executed with the <code class="code">.</code> or
part of a command executed in a <code class="code">&&</code> or <code class="code">||</code> list
except the command following the final <code class="code">&&</code> or <code class="code">||</code>,
any command in a pipeline but the last,
+(subject to the state of the <code class="code">pipefail</code> shell option),
or if the command’s return
status is being inverted using <code class="code">!</code>.
These are the same conditions obeyed by the <code class="code">errexit</code> (<samp class="option">-e</samp>)
option.
</p>
-<p>Signals ignored upon entry to a non-interactive shell cannot be trapped or
+<p>When the shell is not interactive,
+signals ignored upon entry to a non-interactive shell cannot be trapped or
reset.
Interactive shells permit trapping signals ignored on entry.
Trapped signals that are not being ignored are reset to their original
values in a subshell or subshell environment when one is created.
</p>
<p>The return status is zero unless a <var class="var">sigspec</var> does not specify a
-valid signal.
+valid signal; non-zero otherwise.
</p>
</dd>
<dt><a id="index-true"></a><span><code class="code">true</code><a class="copiable-link" href="#index-true"> ¶</a></span></dt>
<pre class="example-preformatted">umask [-p] [-S] [<var class="var">mode</var>]
</pre></div>
-<p>Set the shell process’s file creation mask to <var class="var">mode</var>. If
-<var class="var">mode</var> begins with a digit, it is interpreted as an octal number;
+<p>Set the shell process’s file creation mask to <var class="var">mode</var>.
+If <var class="var">mode</var> begins with a digit, it is interpreted as an octal number;
if not, it is interpreted as a symbolic mode mask similar
-to that accepted by the <code class="code">chmod</code> command. If <var class="var">mode</var> is
-omitted, the current value of the mask is printed. If the <samp class="option">-S</samp>
-option is supplied without a <var class="var">mode</var> argument, the mask is printed
-in a symbolic format.
+to that accepted by the <code class="code">chmod</code> command.
+If <var class="var">mode</var> is omitted, <code class="code">umask</code> prints the current value of the mask.
+If the <samp class="option">-S</samp>
+option is supplied without a <var class="var">mode</var> argument, <code class="code">umask</code>
+prints the mask in a symbolic format;
+the default output is an octal number.
If the <samp class="option">-p</samp> option is supplied, and <var class="var">mode</var>
is omitted, the output is in a form that may be reused as input.
The return status is zero if the mode is successfully changed or if
there is no variable by that name, a function with that name, if any, is
unset.
Readonly variables and functions may not be unset.
+When variables or functions are removed, they are also removed
+from the environment passed to subsequent commands.
+Some shell variables may not be unset.
Some shell variables lose their special behavior if they are unset; such
behavior is noted in the description of the individual variables.
The return status is zero unless a <var class="var">name</var> is readonly or may not be unset.
<p>Without arguments or with the <samp class="option">-p</samp> option, <code class="code">alias</code> prints
the list of aliases on the standard output in a form that allows
them to be reused as input.
-If arguments are supplied, an alias is defined for each <var class="var">name</var>
-whose <var class="var">value</var> is given. If no <var class="var">value</var> is given, the name
-and value of the alias is printed.
+If arguments are supplied, define an alias for each <var class="var">name</var>
+whose <var class="var">value</var> is given.
+If no <var class="var">value</var> is given, print the name and value of the alias <var class="var">name</var>.
+A trailing space in <var class="var">value</var> causes the next word to be
+checked for alias substitution when the alias is expanded
+during command parsing.
+<code class="code">alias</code> returns true unless a <var class="var">name</var> is given
+(without a corresponding =<var class="var">value</var>)
+for which no alias has been defined.
Aliases are described in <a class="ref" href="#Aliases">Aliases</a>.
</p>
</dd>
<p>Display current Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>)
key and function bindings,
-bind a key sequence to a Readline function or macro,
+bind a key sequence to a Readline function or macro
+or to a shell command,
or set a Readline variable.
-Each non-option argument is a command as it would appear in a
+Each non-option argument is a key binding or command as it would appear in a
Readline initialization file (see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>),
but each binding or command must be passed as a separate argument; e.g.,
‘<samp class="samp">"\C-x\C-r":re-read-init-file</samp>’.
</p>
+<p>In the following descriptions, options that display output in a form
+available to be re-read format their output
+as commands that would appear in a Readline initialization file or
+that would be supplied as individual arguments to a <code class="code">bind</code> command.
+</p>
<p>Options, if supplied, have the following meanings:
</p>
<dl class="table">
<code class="code">vi-move</code>,
<code class="code">vi-command</code>, and
<code class="code">vi-insert</code>.
-<code class="code">vi</code> is equivalent to <code class="code">vi-command</code> (<code class="code">vi-move</code> is also a
-synonym); <code class="code">emacs</code> is equivalent to <code class="code">emacs-standard</code>.
+<code class="code">vi</code> is equivalent to <code class="code">vi-command</code>
+(<code class="code">vi-move</code> is also a synonym);
+<code class="code">emacs</code> is equivalent to <code class="code">emacs-standard</code>.
</p>
</dd>
<dt><code class="code">-l</code></dt>
</dd>
<dt><code class="code">-p</code></dt>
<dd><p>Display Readline function names and bindings
-in such a way that they can be used as
-an argument to a subsequent <code class="code">bind</code> command
-or in a Readline initialization file.
+in such a way that they can be used as an argument to a subsequent
+<code class="code">bind</code> command or in a Readline initialization file.
If arguments remain after option processing, <code class="code">bind</code> treats
them as readline command names and restricts output to those names.
</p>
them as readline command names and restricts output to those names.
</p>
</dd>
-<dt><code class="code">-v</code></dt>
-<dd><p>Display Readline variable names and values
-in such a way that they can be used as
+<dt><code class="code">-s</code></dt>
+<dd><p>Display Readline 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 <code class="code">bind</code> command
or in a Readline initialization file.
</p>
</dd>
-<dt><code class="code">-V</code></dt>
-<dd><p>List current Readline variable names and values.
+<dt><code class="code">-S</code></dt>
+<dd><p>Display Readline key sequences bound to macros and the strings they output.
</p>
</dd>
-<dt><code class="code">-s</code></dt>
-<dd><p>Display Readline key sequences bound to macros and the strings they output
+<dt><code class="code">-v</code></dt>
+<dd><p>Display Readline variable names and values
in such a way that they can be used as
an argument to a subsequent <code class="code">bind</code> command
or in a Readline initialization file.
</p>
</dd>
-<dt><code class="code">-S</code></dt>
-<dd><p>Display Readline key sequences bound to macros and the strings they output.
+<dt><code class="code">-V</code></dt>
+<dd><p>List current Readline variable names and values.
</p>
</dd>
<dt><code class="code">-f <var class="var">filename</var></code></dt>
</p>
</dd>
<dt><code class="code">-q <var class="var">function</var></code></dt>
-<dd><p>Query about which keys invoke the named <var class="var">function</var>.
+<dd><p>Display key sequences that invoke the named Readline <var class="var">function</var>.
</p>
</dd>
<dt><code class="code">-u <var class="var">function</var></code></dt>
-<dd><p>Unbind all keys bound to the named <var class="var">function</var>.
+<dd><p>Unbind all key sequences bound to the named Readline <var class="var">function</var>.
</p>
</dd>
<dt><code class="code">-r <var class="var">keyseq</var></code></dt>
If the separator is a colon, any enclosing double quotes are optional, and
Readline does not expand the command string before saving it.
Since the entire key binding expression must be a single argument, it
-should be enclosed in quotes.
-When <var class="var">shell-command</var> is executed, the shell sets the
+should be enclosed in single quotes.
+When <var class="var">shell-command</var> is executed, the shell sets thex
<code class="code">READLINE_LINE</code> variable to the contents of the Readline line
-buffer and the <code class="code">READLINE_POINT</code> and <code class="code">READLINE_MARK</code> variables
-to the current location of the insertion point and the saved insertion
-point (the <var class="var">mark</var>), respectively.
+buffer
+and the
+<code class="code">READLINE_POINT</code> and <code class="code">READLINE_MARK</code>
+variables to the current location of the insertion point and the saved
+insertion point (the <var class="var">mark</var>), respectively.
The shell assigns any numeric argument the user supplied to the
<code class="code">READLINE_ARGUMENT</code> variable.
If there was no argument, that variable is not set.
-If the executed command changes the value of any of <code class="code">READLINE_LINE</code>,
-<code class="code">READLINE_POINT</code>, or <code class="code">READLINE_MARK</code>, those new values will be
-reflected in the editing state.
+If the executed command changes the value of any of
+<code class="code">READLINE_LINE</code>, <code class="code">READLINE_POINT</code>, or <code class="code">READLINE_MARK</code>,
+those new values will be reflected in the editing state.
</p>
</dd>
<dt><code class="code">-X</code></dt>
<pre class="example-preformatted">builtin [<var class="var">shell-builtin</var> [<var class="var">args</var>]]
</pre></div>
-<p>Run a shell builtin, passing it <var class="var">args</var>, and return its exit status.
+<p>Execute the specified shell builtin <var class="var">shell-builtin</var>,
+passing it <var class="var">args</var>, and return its exit status.
This is useful when defining a shell function with the same
-name as a shell builtin, retaining the functionality of the builtin within
-the function.
+name as a shell builtin,
+retaining the functionality of the builtin within the function.
The return status is non-zero if <var class="var">shell-builtin</var> is not a shell
builtin command.
</p>
filename of the current subroutine call.
If a non-negative integer is supplied as <var class="var">expr</var>, <code class="code">caller</code>
displays the line number, subroutine name, and source file corresponding
-to that position in the current execution call stack. This extra
-information may be used, for example, to print a stack trace. The
-current frame is frame 0.
+to that position in the current execution call stack.
+This extra information may be used, for example, to print a stack trace.
+The current frame is frame 0.
</p>
<p>The return value is 0 unless the shell is not executing a subroutine
call or <var class="var">expr</var> does not correspond to a valid position in the
<pre class="example-preformatted">command [-pVv] <var class="var">command</var> [<var class="var">arguments</var> ...]
</pre></div>
-<p>Runs <var class="var">command</var> with <var class="var">arguments</var> ignoring any shell function
-named <var class="var">command</var>.
+<p>The <code class="code">command</code> builtin runs <var class="var">command</var> with <var class="var">arguments</var>
+ignoring any shell function named <var class="var">command</var>.
Only shell builtin commands or commands found by searching the
<code class="env">PATH</code> are executed.
If there is a shell function named <code class="code">ls</code>, running ‘<samp class="samp">command ls</samp>’
found or an error occurred, and the exit status of <var class="var">command</var>
otherwise.
</p>
-<p>If either the <samp class="option">-V</samp> or <samp class="option">-v</samp> option is supplied, a
-description of <var class="var">command</var> is printed. The <samp class="option">-v</samp> option
-causes a single word indicating the command or file name used to
-invoke <var class="var">command</var> to be displayed; the <samp class="option">-V</samp> option produces
-a more verbose description. In this case, the return status is
+<p>If either the <samp class="option">-V</samp> or <samp class="option">-v</samp> option is supplied, <code class="code">command</code>
+prints a description of <var class="var">command</var>.
+The <samp class="option">-v</samp> option
+displays a single word indicating the command or file name used to
+invoke <var class="var">command</var>;
+the <samp class="option">-V</samp> option produces a more verbose description.
+In this case, the return status is
zero if <var class="var">command</var> is found, and non-zero if not.
</p>
</dd>
<pre class="example-preformatted">declare [-aAfFgiIlnrtux] [-p] [<var class="var">name</var>[=<var class="var">value</var>] ...]
</pre></div>
-<p>Declare variables and give them attributes. If no <var class="var">name</var>s
-are given, then display the values of variables instead.
+<p>Declare variables and give them attributes.
+If no <var class="var">name</var>s are given, then display the values of variables or
+shell functions instead.
</p>
<p>The <samp class="option">-p</samp> option will display the attributes and values of each
<var class="var">name</var>.
When <samp class="option">-p</samp> is used with <var class="var">name</var> arguments, additional options,
other than <samp class="option">-f</samp> and <samp class="option">-F</samp>, are ignored.
</p>
-<p>When <samp class="option">-p</samp> is supplied without <var class="var">name</var> arguments, <code class="code">declare</code>
-will display the attributes and values of all variables having the
-attributes specified by the additional options.
+<p>When <samp class="option">-p</samp> is supplied without <var class="var">name</var> arguments,
+<code class="code">declare</code> will display the attributes and values
+of all variables having the attributes specified by the additional options.
If no other options are supplied with <samp class="option">-p</samp>, <code class="code">declare</code> will
-display the attributes and values of all shell variables. The <samp class="option">-f</samp>
-option will restrict the display to shell functions.
+display the attributes and values of all shell variables.
+The <samp class="option">-f</samp> option restricts the display to shell functions.
</p>
<p>The <samp class="option">-F</samp> option inhibits the display of function definitions;
only the function name and attributes are printed.
</p>
<p>The <samp class="option">-g</samp> option forces variables to be created or modified at
the global scope, even when <code class="code">declare</code> is executed in a shell function.
-It is ignored in all other cases.
+It is ignored in when <code class="code">declare</code> is not executed in a shell function.
</p>
<p>The <samp class="option">-I</samp> option causes local variables to inherit the attributes
(except the <code class="code">nameref</code> attribute)
</p>
</dd>
<dt><code class="code">-f</code></dt>
-<dd><p>Use function names only.
+<dd><p>Each <var class="var">name</var> refers to a shell function.
</p>
</dd>
<dt><code class="code">-i</code></dt>
-<dd><p>The variable is to be treated as
-an integer; arithmetic evaluation (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>) is
+<dd><p>The variable is to be treated as an integer;
+arithmetic evaluation (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>) is
performed when the variable is assigned a value.
</p>
</dd>
</p>
</dd>
<dt><code class="code">-r</code></dt>
-<dd><p>Make <var class="var">name</var>s readonly. These names cannot then be assigned values
+<dd><p>Make <var class="var">name</var>s readonly.
+These names cannot then be assigned values
by subsequent assignment statements or unset.
</p>
</dd>
</p></dd>
</dl>
-<p>Using ‘<samp class="samp">+</samp>’ instead of ‘<samp class="samp">-</samp>’ turns off the attribute instead,
-with the exceptions that ‘<samp class="samp">+a</samp>’ and ‘<samp class="samp">+A</samp>’
+<p>Using ‘<samp class="samp">+</samp>’ instead of ‘<samp class="samp">-</samp>’ turns off the specified
+attribute instead, with the exceptions that ‘<samp class="samp">+a</samp>’ and ‘<samp class="samp">+A</samp>’
may not be used to destroy array variables and ‘<samp class="samp">+r</samp>’ will not
remove the readonly attribute.
-When used in a function, <code class="code">declare</code> makes each <var class="var">name</var> local,
-as with the <code class="code">local</code> command, unless the <samp class="option">-g</samp> option is used.
+</p>
+<p>When used in a function, <code class="code">declare</code> makes each <var class="var">name</var> local,
+as with the <code class="code">local</code> command, unless the <samp class="option">-g</samp> option is supplied.
If a variable name is followed by =<var class="var">value</var>, the value of the variable
is set to <var class="var">value</var>.
</p>
<p>Output the <var class="var">arg</var>s, separated by spaces, terminated with a
newline.
The return status is 0 unless a write error occurs.
-If <samp class="option">-n</samp> is specified, the trailing newline is suppressed.
-If the <samp class="option">-e</samp> option is given, interpretation of the following
-backslash-escaped characters is enabled.
-The <samp class="option">-E</samp> option disables the interpretation of these escape characters,
+If <samp class="option">-n</samp> is specified, the trailing newline is not printed.
+</p>
+<p>If the <samp class="option">-e</samp> option is given, <code class="code">echo</code> interprets the following
+backslash-escaped characters.
+The <samp class="option">-E</samp> option disables interpretation of these escape characters,
even on systems where they are interpreted by default.
-The <code class="code">xpg_echo</code> shell option may be used to
-dynamically determine whether or not <code class="code">echo</code>
-interprets any options and
-expands these escape characters by default.
+The <code class="code">xpg_echo</code> shell option determines
+whether or not <code class="code">echo</code> interprets any options and
+expands these escape characters.
<code class="code">echo</code> does not interpret <samp class="option">--</samp> to mean the end of options.
</p>
<p><code class="code">echo</code> interprets the following escape sequences:
<dd><p>backslash
</p></dd>
<dt><code class="code">\0<var class="var">nnn</var></code></dt>
-<dd><p>the eight-bit character whose value is the octal value <var class="var">nnn</var>
-(zero to three octal digits)
+<dd><p>The eight-bit character whose value is the octal value <var class="var">nnn</var>
+(zero to three octal digits).
</p></dd>
<dt><code class="code">\x<var class="var">HH</var></code></dt>
-<dd><p>the eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
-(one or two hex digits)
+<dd><p>The eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
+(one or two hex digits).
</p></dd>
<dt><code class="code">\u<var class="var">HHHH</var></code></dt>
-<dd><p>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
-<var class="var">HHHH</var> (one to four hex digits)
+<dd><p>The Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<var class="var">HHHH</var> (one to four hex digits).
</p></dd>
<dt><code class="code">\U<var class="var">HHHHHHHH</var></code></dt>
-<dd><p>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
-<var class="var">HHHHHHHH</var> (one to eight hex digits)
+<dd><p>The Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<var class="var">HHHHHHHH</var> (one to eight hex digits).
</p></dd>
</dl>
+<p><code class="code">echo</code> writes any unrecognized backslash-escaped characters unchanged.
+</p>
</dd>
<dt><a id="index-enable"></a><span><code class="code">enable</code><a class="copiable-link" href="#index-enable"> ¶</a></span></dt>
<dd><div class="example">
</pre></div>
<p>Enable and disable builtin shell commands.
-Disabling a builtin allows a disk command which has the same name
+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 disk commands.
-If <samp class="option">-n</samp> is used, the <var class="var">name</var>s become disabled. Otherwise
-<var class="var">name</var>s are enabled. For example, to use the <code class="code">test</code> binary
-found via <code class="env">$PATH</code> instead of the shell builtin version, type
+even though the shell normally searches for builtins before files.
+</p>
+<p>If <samp class="option">-n</samp> is supplied, the <var class="var">name</var>s are disabled.
+Otherwise <var class="var">name</var>s are enabled.
+For example, to use the <code class="code">test</code> binary
+found using <code class="env">$PATH</code> instead of the shell builtin version, type
‘<samp class="samp">enable -n test</samp>’.
</p>
-<p>If the <samp class="option">-p</samp> option is supplied, or no <var class="var">name</var> arguments appear,
-a list of shell builtins is printed. With no other arguments, the list
-consists of all enabled shell builtins.
+<p>If the <samp class="option">-p</samp> option is supplied, or no <var class="var">name</var> arguments are
+supplied, print a list of shell builtins.
+With no other arguments, the list consists of all enabled shell builtins.
+The <samp class="option">-n</samp> option means to print only disabled builtins.
The <samp class="option">-a</samp> option means to list
each builtin with an indication of whether or not it is enabled.
+The <samp class="option">-s</samp> option means to
+restrict <code class="code">enable</code> to the <small class="sc">POSIX</small> special builtins.
</p>
<p>The <samp class="option">-f</samp> option means to load the new builtin command <var class="var">name</var>
from shared object <var class="var">filename</var>, on systems that support dynamic loading.
+If <var class="var">filename</var> does not contain a slash.
Bash will use the value of the <code class="env">BASH_LOADABLES_PATH</code> variable as a
-colon-separated list of directories in which to search for <var class="var">filename</var>,
-if <var class="var">filename</var> does not contain a slash.
-The default is system-dependent,
+colon-separated list of directories in which to search for <var class="var">filename</var>.
+The default for <code class="env">BASH_LOADABLES_PATH</code> is system-dependent,
and may include "." to force a search of the current directory.
The <samp class="option">-d</samp> option will delete a builtin loaded with <samp class="option">-f</samp>.
-</p>
-<p>If there are no options, a list of the shell builtins is displayed.
-The <samp class="option">-s</samp> option restricts <code class="code">enable</code> to the <small class="sc">POSIX</small> special
-builtins. If <samp class="option">-s</samp> is used with <samp class="option">-f</samp>, the new builtin becomes
+If <samp class="option">-s</samp> is used with <samp class="option">-f</samp>, the new builtin becomes
a special builtin (see <a class="pxref" href="#Special-Builtins">Special Builtins</a>).
</p>
<p>If no options are supplied and a <var class="var">name</var> is not a shell builtin,
<p>Display helpful information about builtin commands.
If <var class="var">pattern</var> is specified, <code class="code">help</code> gives detailed help
-on all commands matching <var class="var">pattern</var>, otherwise a list of
-the builtins is printed.
+on all commands matching <var class="var">pattern</var>, otherwise it displays
+a list of all builtins and shell compound commands.
</p>
<p>Options, if supplied, have the following meanings:
</p>
<pre class="example-preformatted">let <var class="var">expression</var> [<var class="var">expression</var> ...]
</pre></div>
-<p>The <code class="code">let</code> builtin allows arithmetic to be performed on shell
-variables. Each <var class="var">expression</var> is evaluated according to the
-rules given below in <a class="ref" href="#Shell-Arithmetic">Shell Arithmetic</a>. If the
-last <var class="var">expression</var> evaluates to 0, <code class="code">let</code> returns 1;
-otherwise 0 is returned.
+<p>The <code class="code">let</code> builtin allows arithmetic to be performed on shell variables.
+Each <var class="var">expression</var> is evaluated as an arithmetic expression
+according to the rules given below in <a class="ref" href="#Shell-Arithmetic">Shell Arithmetic</a>.
+If the last <var class="var">expression</var> evaluates to 0,
+<code class="code">let</code> returns 1;
+otherwise <code class="code">let</code> returns 0.
</p>
</dd>
<dt><a id="index-local"></a><span><code class="code">local</code><a class="copiable-link" href="#index-local"> ¶</a></span></dt>
<pre class="example-preformatted">local [<var class="var">option</var>] <var class="var">name</var>[=<var class="var">value</var>] ...
</pre></div>
-<p>For each argument, a local variable named <var class="var">name</var> is created,
-and assigned <var class="var">value</var>.
+<p>For each argument, create a local variable named <var class="var">name</var>,
+and assign it <var class="var">value</var>.
The <var class="var">option</var> can be any of the options accepted by <code class="code">declare</code>.
<code class="code">local</code> can only be used within a function; it makes the variable
<var class="var">name</var> have a visible scope restricted to that function and its
children.
-If <var class="var">name</var> is ‘<samp class="samp">-</samp>’, the set of shell options is made local to the
-function in which <code class="code">local</code> is invoked: shell options changed using
-the <code class="code">set</code> builtin inside the function
-after the call to <code class="code">local</code>
-are restored to their original
-values when the function returns.
-The restore is effected as if a series of <code class="code">set</code> commands were executed
-to restore the values that were in place before the function.
-The return status is zero unless <code class="code">local</code> is used outside
+It is an error to use <code class="code">local</code> when not within a function.
+</p>
+<p>If <var class="var">name</var> is ‘<samp class="samp">-</samp>’, it makes the set of shell options
+local to the function in which <code class="code">local</code> is invoked:
+any shell options changed using the <code class="code">set</code> builtin inside
+the function after the call to <code class="code">local</code> are restored to their
+original values when the function returns.
+The restore is performed as if a series of <code class="code">set</code> commands were
+executed to restore the values that were in place before the function.
+</p>
+<p>With no operands, <code class="code">local</code>
+writes a list of local variables to the standard output.
+</p>
+<p>The return status is zero unless <code class="code">local</code> is used outside
a function, an invalid <var class="var">name</var> is supplied, or <var class="var">name</var> is a
readonly variable.
</p>
[-t] [-u <var class="var">fd</var>] [-C <var class="var">callback</var>] [-c <var class="var">quantum</var>] [<var class="var">array</var>]
</pre></div>
-<p>Read lines from the standard input into the indexed array variable <var class="var">array</var>,
-or from file descriptor <var class="var">fd</var>
-if the <samp class="option">-u</samp> option is supplied.
+<p>Read lines from the standard input,
+or from file descriptor <var class="var">fd</var> if the <samp class="option">-u</samp> option is supplied,
+into the indexed array variable <var class="var">array</var>.
The variable <code class="code">MAPFILE</code> is the default <var class="var">array</var>.
Options, if supplied, have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-d</code></dt>
-<dd><p>The first character of <var class="var">delim</var> is used to terminate each input line,
+<dd><p>Use the first character of <var class="var">delim</var> to terminate each input line,
rather than newline.
If <var class="var">delim</var> is the empty string, <code class="code">mapfile</code> will terminate a line
when it reads a NUL character.
</p></dd>
<dt><code class="code">-n</code></dt>
-<dd><p>Copy at most <var class="var">count</var> lines. If <var class="var">count</var> is 0, all lines are copied.
+<dd><p>Copy at most <var class="var">count</var> lines.
+If <var class="var">count</var> is 0, copy all lines.
</p></dd>
<dt><code class="code">-O</code></dt>
<dd><p>Begin assigning to <var class="var">array</var> at index <var class="var">origin</var>.
<p>If not supplied with an explicit origin, <code class="code">mapfile</code> will clear <var class="var">array</var>
before assigning to it.
</p>
-<p><code class="code">mapfile</code> returns successfully unless an invalid option or option
-argument is supplied, <var class="var">array</var> is invalid or unassignable, or <var class="var">array</var>
-is not an indexed array.
+<p><code class="code">mapfile</code> returns zero unless an invalid option or option
+argument is supplied, <var class="var">array</var> is invalid or unassignable, or if
+<var class="var">array</var> is not an indexed array.
</p>
</dd>
<dt><a id="index-printf"></a><span><code class="code">printf</code><a class="copiable-link" href="#index-printf"> ¶</a></span></dt>
<p>Write the formatted <var class="var">arguments</var> to the standard output under the
control of the <var class="var">format</var>.
-The <samp class="option">-v</samp> option causes the output to be assigned to the variable
-<var class="var">var</var> rather than being printed to the standard output.
+The <samp class="option">-v</samp> option assigns the output to the variable
+<var class="var">var</var> rather than printing it to the standard output.
</p>
<p>The <var class="var">format</var> is a character string which contains three types of objects:
plain characters, which are simply copied to standard output, character
format specifications, each of which causes printing of the next successive
<var class="var">argument</var>.
In addition to the standard <code class="code">printf(3)</code> format characters
-<code class="code">csndiouxXeEfFgGaA</code>,
+<code class="code">cCsSndiouxXeEfFgGaA</code>,
<code class="code">printf</code> interprets the following additional format specifiers:
</p>
<dl class="table">
<code class="code">%q</code> and <code class="code">%Q</code>P use the ANSI-C quoting style (see <a class="pxref" href="#ANSI_002dC-Quoting">ANSI-C Quoting</a>)
if any characters
in the argument string require it, and backslash quoting otherwise.
-If the format string uses the <code class="code">printf</code> <var class="var">alternate form</var>, these two
+If the format string uses the <code class="code">printf</code> <em class="emph">alternate form</em>, these two
formats quote the argument string using single quotes.
</p>
</dd>
<var class="var">datefmt</var> as a format string for <code class="code">strftime</code>(3).
The corresponding <var class="var">argument</var> is an integer representing the number of
seconds since the epoch.
-Two special argument values may be used: -1 represents the current
-time, and -2 represents the time the shell was invoked.
-If no argument is specified, conversion behaves as if -1 had been given.
+This format specifier recognizes Two special argument values:
+-1 represents the 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 usual <code class="code">printf</code> behavior.
</p></dd>
</dl>
<p>The %s and %c format specifiers accept an l (long) modifier, which forces
them to convert the argument string to a wide-character 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.
</p>
<p>Arguments to non-string format specifiers are treated as C language constants,
[-N <var class="var">nchars</var>] [-p <var class="var">prompt</var>] [-t <var class="var">timeout</var>] [-u <var class="var">fd</var>] [<var class="var">name</var> ...]
</pre></div>
-<p>One line is read from the standard input, or from the file descriptor
+<p>Read one line from the standard input, or from the file descriptor
<var class="var">fd</var> supplied as an argument to the <samp class="option">-u</samp> option,
-split into words as described above in <a class="ref" href="#Word-Splitting">Word Splitting</a>,
-and the first word
-is assigned to the first <var class="var">name</var>, the second word to the second <var class="var">name</var>,
-and so on.
+split it into words as described above in <a class="ref" href="#Word-Splitting">Word Splitting</a>,
+and assign the first word to the first <var class="var">name</var>,
+the second word to the second <var class="var">name</var>, and so on.
If there are more words than names,
the remaining words and their intervening delimiters are assigned
to the last <var class="var">name</var>.
The characters in the value of the <code class="env">IFS</code> variable
are used to split the line into words using the same rules the shell
uses for expansion (described above in <a class="ref" href="#Word-Splitting">Word Splitting</a>).
-The backslash character ‘<samp class="samp">\</samp>’ may be used to remove any special
-meaning for the next character read and for line continuation.
+The backslash character ‘<samp class="samp">\</samp>’ removes any special
+meaning for the next character read and is used for line continuation.
</p>
<p>Options, if supplied, have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-a <var class="var">aname</var></code></dt>
<dd><p>The words are assigned to sequential indices of the array variable
-<var class="var">aname</var>, starting at 0.
+<var class="var">aname</var>,
+starting at 0.
All elements are removed from <var class="var">aname</var> before the assignment.
Other <var class="var">name</var> arguments are ignored.
</p>
</dd>
<dt><code class="code">-d <var class="var">delim</var></code></dt>
-<dd><p>The first character of <var class="var">delim</var> is used to terminate the input line,
+<dd><p>The first character of <var class="var">delim</var> terminates the input line,
rather than newline.
If <var class="var">delim</var> is the empty string, <code class="code">read</code> will terminate a line
when it reads a NUL character.
</p>
</dd>
<dt><code class="code">-e</code></dt>
-<dd><p>Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) is used to obtain the line.
+<dd><p>If the standard input is coming from a terminal,
+<code class="code">read</code> uses
+Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>)
+to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Readline’s default filename completion.
</p>
</dd>
<dt><code class="code">-E</code></dt>
-<dd><p>Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) is used to obtain the line.
+<dd><p>If the standard input is coming from a terminal,
+<code class="code">read</code> uses
+Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings, but uses Bash’s default completion, including
programmable completion.
</p>
</dd>
<dt><code class="code">-i <var class="var">text</var></code></dt>
-<dd><p>If Readline is being used to read the line, <var class="var">text</var> is placed into
+<dd><p>If Readline is being used to read the line, <code class="code">read</code> places <var class="var">text</var> into
the editing buffer before editing begins.
</p>
</dd>
<dt><code class="code">-n <var class="var">nchars</var></code></dt>
<dd><p><code class="code">read</code> returns after reading <var class="var">nchars</var> characters rather than
-waiting for a complete line of input, but honors a delimiter if fewer
-than <var class="var">nchars</var> characters are read before the delimiter.
+waiting for a complete line of input,
+unless it encounters EOF or <code class="code">read</code> times out,
+but honors a delimiter if it reads fewer
+than <var class="var">nchars</var> characters before the delimiter.
</p>
</dd>
<dt><code class="code">-N <var class="var">nchars</var></code></dt>
<dd><p><code class="code">read</code> returns after reading exactly <var class="var">nchars</var> characters rather
-than waiting for a complete line of input, unless EOF is encountered or
-<code class="code">read</code> times out.
-Delimiter characters encountered in the input are
+than waiting for a complete line of input,
+unless it encounters EOF or <code class="code">read</code> times out.
+Delimiter characters in the input are
not treated specially and do not cause <code class="code">read</code> to return until
-<var class="var">nchars</var> characters are read.
+it has read <var class="var">nchars</var> characters.
The result is not split on the characters in <code class="code">IFS</code>; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the <samp class="option">-r</samp> option below).
</dd>
<dt><code class="code">-p <var class="var">prompt</var></code></dt>
<dd><p>Display <var class="var">prompt</var>, without a trailing newline, before attempting
-to read any input.
-The prompt is displayed only if input is coming from a terminal.
+to read any input, but only if input is coming from a terminal.
</p>
</dd>
<dt><code class="code">-r</code></dt>
</p>
</dd>
<dt><code class="code">-s</code></dt>
-<dd><p>Silent mode. If input is coming from a terminal, characters are
-not echoed.
+<dd><p>Silent mode.
+If input is coming from a terminal, characters are not echoed.
</p>
</dd>
<dt><code class="code">-t <var class="var">timeout</var></code></dt>
-<dd><p>Cause <code class="code">read</code> to time out and return failure if a complete line of
-input (or a specified number of characters)
-is not read within <var class="var">timeout</var> seconds.
+<dd><p>Cause <code class="code">read</code> to time out and return failure if it does not read
+a complete line of input (or a specified number of characters)
+within <var class="var">timeout</var> seconds.
<var class="var">timeout</var> may be a decimal number with a fractional portion following
the decimal point.
This option is only effective if <code class="code">read</code> is reading input from a
terminal, pipe, or other special file; it has no effect when reading
from regular files.
-If <code class="code">read</code> times out, <code class="code">read</code> saves any partial input read into
-the specified variable <var class="var">name</var>.
+If <code class="code">read</code> times out, it saves any partial input read into
+the specified variable <var class="var">name</var>, and returns a status greater than 128.
If <var class="var">timeout</var> is 0, <code class="code">read</code> returns immediately, without trying to
read any data.
-The exit status is 0 if input is available on the specified file descriptor,
-or the read will return EOF,
-non-zero otherwise.
-The exit status is greater than 128 if the timeout is exceeded.
+In this case, the exit status is 0 if input is available on the specified
+file descriptor, or the read will return EOF, non-zero otherwise.
</p>
</dd>
<dt><code class="code">-u <var class="var">fd</var></code></dt>
-<dd><p>Read input from file descriptor <var class="var">fd</var>.
+<dd><p>Read input from file descriptor <var class="var">fd</var> instead of the standard input.
</p></dd>
</dl>
<p>Other than the case where <var class="var">delim</var> is the empty string, <code class="code">read</code>
ignores any NUL characters in the input.
</p>
-<p>If no <var class="var">name</var>s are supplied, the line read,
+<p>If no <var class="var">name</var>s are supplied, <code class="code">read</code> assigns the line read,
without the ending delimiter but otherwise unmodified,
-is assigned to the
-variable <code class="env">REPLY</code>.
-The exit status is zero, unless end-of-file is encountered, <code class="code">read</code>
+to the variable <code class="env">REPLY</code>.
+</p>
+<p>The exit status is zero, unless end-of-file is encountered, <code class="code">read</code>
times out (in which case the status is greater than 128),
a variable assignment error (such as assigning to a readonly variable) occurs,
or an invalid file descriptor is supplied as the argument to <samp class="option">-u</samp>.
<pre class="example-preformatted">type [-afptP] [<var class="var">name</var> ...]
</pre></div>
-<p>For each <var class="var">name</var>, indicate how it would be interpreted if used as a
-command name.
+<p>Indicate how each <var class="var">name</var> would be interpreted if used as a command
+name.
</p>
<p>If the <samp class="option">-t</samp> option is used, <code class="code">type</code> prints a single word
which is one of ‘<samp class="samp">alias</samp>’, ‘<samp class="samp">keyword</samp>’, ‘<samp class="samp">function</samp>’,
‘<samp class="samp">builtin</samp>’, or ‘<samp class="samp">file</samp>’,
if <var class="var">name</var> is an alias, shell reserved word, shell function,
-shell builtin, or executable disk file, respectively.
-If the <var class="var">name</var> is not found, then nothing is printed, and
-<code class="code">type</code> returns a failure status.
+shell builtin, or executable file, respectively.
+If the <var class="var">name</var> is not found, <code class="code">type</code> prints nothing and
+returns a failure status.
</p>
<p>If the <samp class="option">-p</samp> option is used, <code class="code">type</code> either returns the name
-of the executable file that would be found by searching <code class="code">$PATH</code>,
+of the executable file that would be found by searching <code class="code">$PATH</code>
+for <code class="code">name</code>,
or nothing if <samp class="option">-t</samp> would not return ‘<samp class="samp">file</samp>’.
</p>
<p>The <samp class="option">-P</samp> option forces a path search for each <var class="var">name</var>, even if
ulimit [-HS] [-bcdefiklmnpqrstuvxPRT] [<var class="var">limit</var>]
</pre></div>
-<p><code class="code">ulimit</code> provides control over the resources available to processes
-started by the shell, on systems that allow such control. If an
-option is given, it is interpreted as follows:
+<p><code class="code">ulimit</code> provides control over the resources available to the
+shell and to processes it starts, on systems that allow such control.
+If an option is given, it is interpreted as follows:
</p>
<dl class="table">
<dt><code class="code">-S</code></dt>
</p>
</dd>
<dt><code class="code">-a</code></dt>
-<dd><p>All current limits are reported; no limits are set.
+<dd><p>Report all current limits; no limits are set.
</p>
</dd>
<dt><code class="code">-b</code></dt>
</p></dd>
</dl>
-<p>If <var class="var">limit</var> is given, and the <samp class="option">-a</samp> option is not used,
+<p>If <var class="var">limit</var> is supplied, and the <samp class="option">-a</samp> option is not used,
<var class="var">limit</var> is the new value of the specified resource.
The special <var class="var">limit</var> values <code class="code">hard</code>, <code class="code">soft</code>, and
<code class="code">unlimited</code> stand for the current hard limit, the current soft limit,
and no limit, respectively.
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.
-Otherwise, the current value of the soft limit for the specified resource
-is printed, unless the <samp class="option">-H</samp> option is supplied.
+Otherwise, <code class="code">ulimit</code> prints the current value of the soft limit
+for the specified resource, unless the <samp class="option">-H</samp> option is supplied.
When more than one
resource is specified, the limit name and unit, if appropriate,
are printed before the value.
When setting new limits, if neither <samp class="option">-H</samp> nor <samp class="option">-S</samp> is supplied,
-both the hard and soft limits are set.
-If no option is given, then <samp class="option">-f</samp> is assumed. Values are in 1024-byte
-increments, except for
+<code class="code">ulimit</code> sets both the hard and soft limits.
+If no option is supplied, then <samp class="option">-f</samp> is assumed.
+</p>
+<p>Values are in 1024-byte increments, except for
<samp class="option">-t</samp>, which is in seconds;
<samp class="option">-R</samp>, which is in microseconds;
<samp class="option">-p</samp>, which is in units of 512-byte blocks;
<pre class="example-preformatted">unalias [-a] [<var class="var">name</var> ... ]
</pre></div>
-<p>Remove each <var class="var">name</var> from the list of aliases. If <samp class="option">-a</samp> is
-supplied, all aliases are removed.
+<p>Remove each <var class="var">name</var> from the list of aliases.
+If <samp class="option">-a</samp> is supplied, remove all aliases.
+The return value is true unless a supplied <var class="var">name</var> is not a defined alias.
Aliases are described in <a class="ref" href="#Aliases">Aliases</a>.
</p></dd>
</dl>
In <small class="sc">POSIX</small> mode, only shell variables are listed.
</p>
<p>When options are supplied, they set or unset shell attributes.
-Options, if specified, have the following meanings:
+Any arguments remaining after option processing replace the
+positional parameters.
+</p>
+<p>Options, if specified, have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-a</code></dt>
</dd>
<dt><code class="code">-b</code></dt>
<dd><p>Cause the status of terminated background jobs to be reported
-immediately, rather than before printing the next primary prompt.
+immediately, rather than before printing the next primary prompt
+or, under some circumstances, when a foreground command exits.
+This is effective only when job control is enabled.
</p>
</dd>
<dt><code class="code">-e</code></dt>
<dt><code class="code">-x</code></dt>
<dd><p>Print a trace of simple commands, <code class="code">for</code> commands, <code class="code">case</code>
commands, <code class="code">select</code> commands, and arithmetic <code class="code">for</code> commands
-and their arguments or associated word lists to standard error
+and their arguments or associated word lists to the standard error
after they are expanded and before they are executed.
The shell prints the expanded value of the <code class="env">PS4</code> variable before
the command and its expanded arguments.
<dt><code class="code">-C</code></dt>
<dd><p>Prevent output redirection using ‘<samp class="samp">></samp>’, ‘<samp class="samp">>&</samp>’, and ‘<samp class="samp"><></samp>’
from overwriting existing files.
+Using the redirection operator ‘<samp class="samp">>|</samp>’ instead of ‘<samp class="samp">></samp>’
+will override this and force the creation of an output file.
</p>
</dd>
<dt><code class="code">-E</code></dt>
</p>
</dd>
<dt><code class="code">-P</code></dt>
-<dd><p>If set, do not resolve symbolic links when performing commands such as
-<code class="code">cd</code> which change the current directory. The physical directory
-is used instead. By default, Bash follows
+<dd><p>If set, Bash does not resolve symbolic links when executing commands
+such as <code class="code">cd</code> which change the current directory.
+It uses the physical directory structure instead.
+By default, Bash follows
the logical chain of directories when performing commands
which change the current directory.
</p>
</dd>
<dt><code class="code">-T</code></dt>
-<dd><p>If set, any trap on <code class="code">DEBUG</code> and <code class="code">RETURN</code> are inherited by
+<dd><p>If set, any traps on <code class="code">DEBUG</code> and <code class="code">RETURN</code> are inherited by
shell functions, command substitutions, and commands executed
in a subshell environment.
The <code class="code">DEBUG</code> and <code class="code">RETURN</code> traps are normally not inherited
</p>
</dd>
<dt><code class="code">--</code></dt>
-<dd><p>If no arguments follow this option, then the positional parameters are
-unset. Otherwise, the positional parameters are set to the
+<dd><p>If no arguments follow this option, unset the positional parameters.
+Otherwise, the positional parameters are set to the
<var class="var">arguments</var>, even if some of them begin with a ‘<samp class="samp">-</samp>’.
</p>
</dd>
<dt><code class="code">-</code></dt>
-<dd><p>Signal the end of options, cause all remaining <var class="var">arguments</var>
-to be assigned to the positional parameters. The <samp class="option">-x</samp>
-and <samp class="option">-v</samp> options are turned off.
+<dd><p>Signal the end of options, and assign all remaining <var class="var">arguments</var>
+to the positional parameters.
+The <samp class="option">-x</samp> and <samp class="option">-v</samp> options are turned off.
If there are no arguments, the positional parameters remain unchanged.
</p></dd>
</dl>
<p>Using ‘<samp class="samp">+</samp>’ rather than ‘<samp class="samp">-</samp>’ causes these options to be
-turned off. The options can also be used upon invocation of the
-shell. The current set of options may be found in <code class="code">$-</code>.
+turned off.
+The options can also be used upon invocation of the shell.
+The current set of options may be found in <code class="code">$-</code>.
</p>
<p>The remaining N <var class="var">arguments</var> are positional parameters and are
assigned, in order, to <code class="code">$1</code>, <code class="code">$2</code>, … <code class="code">$N</code>.
</div>
<h4 class="subsection" id="The-Shopt-Builtin-1"><span>4.3.2 The Shopt Builtin<a class="copiable-link" href="#The-Shopt-Builtin-1"> ¶</a></span></h4>
-<p>This builtin allows you to change additional shell optional behavior.
+<p>This builtin allows you to change additional optional shell behavior.
</p>
<dl class="table">
<dt><a id="index-shopt"></a><span><code class="code">shopt</code><a class="copiable-link" href="#index-shopt"> ¶</a></span></dt>
The settings can be either those listed below, or, if the
<samp class="option">-o</samp> option is used, those available with the <samp class="option">-o</samp>
option to the <code class="code">set</code> builtin command (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
-With no options, or with the <samp class="option">-p</samp> option, a list of all settable
-options is displayed, with an indication of whether or not each is set;
-if <var class="var">optname</var>s are supplied, the output is restricted to those options.
-The <samp class="option">-p</samp> option causes output to be displayed in a form that
+</p>
+<p>With no options, or with the <samp class="option">-p</samp> option, display a list of all
+settable options, with an indication of whether or not each is set;
+if any <var class="var">optname</var>s are supplied, the output is restricted to those options.
+The <samp class="option">-p</samp> option displays output in a form that
may be reused as input.
-Other options have the following meanings:
+</p>
+<p>Other options have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-s</code></dt>
<dt><code class="code">-q</code></dt>
<dd><p>Suppresses normal output; the return status
indicates whether the <var class="var">optname</var> is set or unset.
-If multiple <var class="var">optname</var> arguments are given with <samp class="option">-q</samp>,
+If multiple <var class="var">optname</var> arguments are supplied with <samp class="option">-q</samp>,
the return status is zero if all <var class="var">optname</var>s are enabled;
non-zero otherwise.
</p>
</p>
</dd>
<dt><code class="code">cdspell</code></dt>
-<dd><p>If set, minor errors in the spelling of a directory component in a
-<code class="code">cd</code> command will be corrected.
-The errors checked for are transposed characters,
-a missing character, and a character too many.
-If a correction is found, the corrected path is printed,
+<dd><p>If set, the <code class="code">cd</code> 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 <code class="code">cd</code> corrects the directory name, it prints the corrected filename,
and the command proceeds.
This option is only used by interactive shells.
</p>
</dd>
<dt><code class="code">checkhash</code></dt>
<dd><p>If this is set, Bash checks that a command found in the hash
-table exists before trying to execute it. If a hashed command no
-longer exists, a normal path search is performed.
+table exists before trying to execute it.
+If a hashed command no longer exists, Bash performs a normal path search.
</p>
</dd>
<dt><code class="code">checkjobs</code></dt>
<dd><p>If set, Bash lists the status of any stopped and running jobs before
-exiting an interactive shell. If any jobs are running, this causes
-the exit to be deferred until a second exit is attempted without an
+exiting an interactive shell.
+If any jobs are running, Bash defers
+the exit until a second exit is attempted without an
intervening command (see <a class="pxref" href="#Job-Control">Job Control</a>).
The shell always postpones exiting if any jobs are stopped.
</p>
<dt><code class="code">checkwinsize</code></dt>
<dd><p>If set, Bash checks the window size after each external (non-builtin)
command and, if necessary, updates the values of
-<code class="env">LINES</code> and <code class="env">COLUMNS</code>.
+<code class="env">LINES</code> and <code class="env">COLUMNS</code>,
+using the file descriptor associated with stderr if it is a terminal.
This option is enabled by default.
</p>
</dd>
<dt><code class="code">cmdhist</code></dt>
<dd><p>If set, Bash
attempts to save all lines of a multiple-line
-command in the same history entry. This allows
-easy re-editing of multi-line commands.
+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 (see <a class="pxref" href="#Bash-History-Facilities">Bash History Facilities</a>).
</p>
<dt><code class="code">direxpand</code></dt>
<dd><p>If set, Bash
replaces directory names with the results of word expansion when performing
-filename completion. This changes the contents of the Readline editing
-buffer.
+filename completion.
+This changes the contents of the Readline editing buffer.
If not set, Bash attempts to preserve what the user typed.
</p>
</dd>
</p>
</dd>
<dt><code class="code">dotglob</code></dt>
-<dd><p>If set, Bash includes filenames beginning with a ‘.’ in
+<dd><p>If set, Bash includes filenames beginning with a ‘<samp class="samp">.</samp>’ in
the results of filename expansion.
The filenames ‘<samp class="samp">.</samp>’ and ‘<samp class="samp">..</samp>’ must always be matched explicitly,
even if <code class="code">dotglob</code> is set.
<dt><code class="code">execfail</code></dt>
<dd><p>If this is set, a non-interactive shell will not exit if
it cannot execute the file specified as an argument to the <code class="code">exec</code>
-builtin command. An interactive shell does not exit if <code class="code">exec</code>
-fails.
+builtin.
+An interactive shell does not exit if <code class="code">exec</code> fails.
</p>
</dd>
<dt><code class="code">expand_aliases</code></dt>
</p>
</dd>
<dt><code class="code">extdebug</code></dt>
-<dd><p>If set at shell invocation,
-or in a shell startup file,
+<dd><p>If set at shell invocation, or in a shell startup file,
arrange to execute the debugger profile
before the shell starts, identical to the <samp class="option">--debugger</samp> option.
If set after invocation, behavior intended for use by debuggers is enabled:
</dd>
<dt><code class="code">extglob</code></dt>
-<dd><p>If set, the extended pattern matching features described above
-(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>) are enabled.
+<dd><p>If set, enable the extended pattern matching features described above
+(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
</p>
</dd>
<dt><code class="code">extquote</code></dt>
<dd><p>If set, <code class="code">$'<var class="var">string</var>'</code> and <code class="code">$"<var class="var">string</var>"</code> quoting is
performed within <code class="code">${<var class="var">parameter</var>}</code> expansions
-enclosed in double quotes. This option is enabled by default.
+enclosed in double quotes.
+This option is enabled by default.
</p>
</dd>
<dt><code class="code">failglob</code></dt>
<dd><p>If set, range expressions used in pattern matching bracket expressions
(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>)
behave as if in the traditional C locale when performing
-comparisons. That is, the current locale’s collating sequence
-is not taken into account, so
-‘<samp class="samp">b</samp>’ will not collate between ‘<samp class="samp">A</samp>’ and ‘<samp class="samp">B</samp>’,
+comparisons.
+That is, pattern matching does not take
+the current locale’s collating sequence into account,
+so ‘<samp class="samp">b</samp>’ will not collate between ‘<samp class="samp">A</samp>’ and ‘<samp class="samp">B</samp>’,
and upper-case and lower-case ASCII characters will collate together.
</p>
</dd>
<dt><code class="code">globskipdots</code></dt>
<dd><p>If set, filename expansion will never match the filenames
-‘<samp class="samp">.</samp>’ and ‘<samp class="samp">..</samp>’,
-even if the pattern begins with a ‘<samp class="samp">.</samp>’.
+‘<samp class="samp">.</samp>’ and ‘<samp class="samp">..</samp>’, even if the pattern begins with a ‘<samp class="samp">.</samp>’.
This option is enabled by default.
</p>
</dd>
</p>
</dd>
<dt><code class="code">histreedit</code></dt>
-<dd><p>If set, and Readline
-is being used, a user is given the opportunity to re-edit a
-failed history substitution.
+<dd><p>If set, and Readline is being used,
+the user is given the opportunity to re-edit a failed history substitution.
</p>
</dd>
<dt><code class="code">histverify</code></dt>
<dd><p>If set, and Readline
is being used, the results of history substitution are not immediately
-passed to the shell parser. Instead, the resulting line is loaded into
-the Readline editing buffer, allowing further modification.
+passed to the shell parser.
+Instead, the resulting line is loaded into the Readline editing buffer,
+allowing further modification.
</p>
</dd>
<dt><code class="code">hostcomplete</code></dt>
<dd><p>If set, and Readline is being used, Bash will attempt to perform
hostname completion when a word containing a ‘<samp class="samp">@</samp>’ is being
-completed (see <a class="pxref" href="#Commands-For-Completion">Letting Readline Type For You</a>). This option is enabled
-by default.
+completed (see <a class="pxref" href="#Commands-For-Completion">Letting Readline Type For You</a>).
+This option is enabled by default.
</p>
</dd>
<dt><code class="code">huponexit</code></dt>
</p>
</dd>
<dt><code class="code">interactive_comments</code></dt>
-<dd><p>Allow a word beginning with ‘<samp class="samp">#</samp>’
-to cause that word and all remaining characters on that
-line to be ignored in an interactive shell.
+<dd><p>In an interactive shell, a word beginning with ‘<samp class="samp">#</samp>’
+causes that word and all remaining characters on that
+line to be ignored, as in a non-interactive shell.
This option is enabled by default.
</p>
</dd>
<dt><code class="code">localvar_unset</code></dt>
<dd><p>If set, calling <code class="code">unset</code> on local variables in previous function scopes
marks them so subsequent lookups find them unset until that function
-returns. This is identical to the behavior of unsetting local variables
-at the current function scope.
+returns.
+This is identical to the behavior of unsetting local variables at the
+current function scope.
</p>
</dd>
<dt><code class="code">login_shell</code></dt>
</dd>
<dt><code class="code">mailwarn</code></dt>
<dd><p>If set, and a file that Bash is checking for mail has been
-accessed since the last time it was checked, the message
-<code class="code">"The mail in <var class="var">mailfile</var> has been read"</code> is displayed.
+accessed since the last time it was checked, Bash displays the message
+<code class="code">"The mail in <var class="var">mailfile</var> has been read"</code>.
</p>
</dd>
<dt><code class="code">no_empty_cmd_completion</code></dt>
-<dd><p>If set, and Readline is being used, Bash will not attempt to search
-the <code class="env">PATH</code> for possible completions when completion is attempted
-on an empty line.
+<dd><p>If set, and Readline is being used, Bash does not search
+the <code class="env">PATH</code>
+for possible completions when completion is attempted on an empty line.
</p>
</dd>
<dt><code class="code">nocaseglob</code></dt>
<dt><code class="code">nullglob</code></dt>
<dd><p>If set, filename expansion patterns which match no files
(see <a class="pxref" href="#Filename-Expansion">Filename Expansion</a>)
-expand to nothing and are removed,
-rather than expanding to themselves.
+expand to nothing and are removed, rather than expanding to themselves.
</p>
</dd>
<dt><code class="code">patsub_replacement</code></dt>
</p>
</dd>
<dt><code class="code">progcomp</code></dt>
-<dd><p>If set, the programmable completion facilities
-(see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>) are enabled.
+<dd><p>If set, enable the programmable completion facilities
+(see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
This option is enabled by default.
</p>
</dd>
<dt><code class="code">progcomp_alias</code></dt>
<dd><p>If set, and programmable completion is enabled, Bash treats a command
name that doesn’t have any completions as a possible alias and attempts
-alias expansion. If it has an alias, Bash attempts programmable
+alias expansion.
+If it has an alias, Bash attempts programmable
completion using the command word resulting from the expanded alias.
</p>
</dd>
<dd><p>If set, the <code class="code">echo</code> builtin expands backslash-escape sequences
by default.
If the <code class="code">posix</code> shell option (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>) is also enabled,
-<code class="code">echo</code> does not
-interpret any options.
+<code class="code">echo</code> does not interpret any options.
</p>
</dd>
</dl>
</dd>
<dt><a id="index-IFS"></a><span><code class="code">IFS</code><a class="copiable-link" href="#index-IFS"> ¶</a></span></dt>
<dd><p>A list of characters that separate fields; used when the shell splits
-words as part of expansion.
+words as part of expansion and by the <code class="code">read</code> builtin to split
+lines into words.
+See <a class="xref" href="#Word-Splitting">Word Splitting</a>, for a description of word splitting.
</p>
</dd>
<dt><a id="index-MAIL"></a><span><code class="code">MAIL</code><a class="copiable-link" href="#index-MAIL"> ¶</a></span></dt>
-<dd><p>If this parameter is set to a filename or directory name
+<dd><p>If the value is set to a filename or directory name
and the <code class="env">MAILPATH</code> variable
is not set, Bash informs the user of the arrival of mail in
the specified file or Maildir-format directory.
</p>
</dd>
<dt><a id="index-OPTIND"></a><span><code class="code">OPTIND</code><a class="copiable-link" href="#index-OPTIND"> ¶</a></span></dt>
-<dd><p>The index of the last option argument processed by the <code class="code">getopts</code> builtin.
+<dd><p>The index of the next argument to be processed by the <code class="code">getopts</code> builtin.
</p>
</dd>
<dt><a id="index-PATH"></a><span><code class="code">PATH</code><a class="copiable-link" href="#index-PATH"> ¶</a></span></dt>
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 set by the administrator
+who installs <code class="code">bash</code>.
+A common value is
+"/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin".
</p>
</dd>
<dt><a id="index-PS1"></a><span><code class="code">PS1</code><a class="copiable-link" href="#index-PS1"> ¶</a></span></dt>
-<dd><p>The primary prompt string. The default value is ‘<samp class="samp">\s-\v\$ </samp>’.
+<dd><p>The primary prompt string.
+The default value is ‘<samp class="samp">\s-\v\$ </samp>’.
See <a class="xref" href="#Controlling-the-Prompt">Controlling the Prompt</a>, for the complete list of escape
sequences that are expanded before <code class="env">PS1</code> is displayed.
</p>
</dd>
<dt><a id="index-PS2"></a><span><code class="code">PS2</code><a class="copiable-link" href="#index-PS2"> ¶</a></span></dt>
-<dd><p>The secondary prompt string. The default value is ‘<samp class="samp">> </samp>’.
+<dd><p>The secondary prompt string.
+The default value is ‘<samp class="samp">> </samp>’.
<code class="env">PS2</code> is expanded in the same way as <code class="env">PS1</code> before being
displayed.
</p>
<dt><a id="index-_005f"></a><span><code class="code">_</code><a class="copiable-link" href="#index-_005f"> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-_0024_005f"></a>
<p>($_, an underscore.)
-At shell startup, set to the pathname used to invoke the
+This has a number of meanings depending on context.
+At shell startup, $_ set to the pathname used to invoke the
shell or shell script being executed as passed in the environment
or argument list.
-Subsequently, expands to the last argument to the previous simple
+Subsequently, it expands to the last argument to the previous simple
command executed in the foreground, after expansion.
-Also set to the full pathname used to invoke each command executed
+It is also set to the full pathname used to invoke each command executed
and placed in the environment exported to that command.
-When checking mail, this parameter holds the name of the mail file.
+When checking mail, $_ expands to the name of the mail file.
</p>
</dd>
<dt><a id="index-BASH"></a><span><code class="code">BASH</code><a class="copiable-link" href="#index-BASH"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-BASHOPTS"></a><span><code class="code">BASHOPTS</code><a class="copiable-link" href="#index-BASHOPTS"> ¶</a></span></dt>
-<dd><p>A colon-separated list of enabled shell options. Each word in
-the list is a valid argument for the <samp class="option">-s</samp> option to the
-<code class="code">shopt</code> builtin command (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
+<dd><p>A colon-separated list of enabled shell options.
+Each word in the list is a valid argument for the <samp class="option">-s</samp> option
+to the <code class="code">shopt</code> builtin command (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
The options appearing in <code class="env">BASHOPTS</code> are those reported
as ‘<samp class="samp">on</samp>’ by ‘<samp class="samp">shopt</samp>’.
If this variable is in the environment when Bash
-starts up, each shell option in the list will be enabled before
-reading any startup files. This variable is readonly.
+starts up, the shell enables each option in the list before
+reading any startup files.
+This variable is readonly.
</p>
</dd>
<dt><a id="index-BASHPID"></a><span><code class="code">BASHPID</code><a class="copiable-link" href="#index-BASHPID"> ¶</a></span></dt>
-<dd><p>Expands to the process ID of the current Bash process.
+<dd><p>Expands to the process <small class="sc">ID</small> of the current Bash process.
This differs from <code class="code">$$</code> under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
Assignments to <code class="env">BASHPID</code> have no effect.
</dd>
<dt><a id="index-BASH_005fARGC"></a><span><code class="code">BASH_ARGC</code><a class="copiable-link" href="#index-BASH_005fARGC"> ¶</a></span></dt>
<dd><p>An array variable whose values are the number of parameters in each
-frame of the current Bash execution call stack. The number of
-parameters to the current subroutine (shell function or script executed
-with <code class="code">.</code> or <code class="code">source</code>) is at the top of the stack. When a
+frame of the current Bash execution call stack.
+The number of parameters to the current subroutine (shell function or
+script executed with <code class="code">.</code> or <code class="code">source</code>) is at the top of the stack.
+When a
subroutine is executed, the number of parameters passed is pushed onto
<code class="code">BASH_ARGC</code>.
The shell sets <code class="code">BASH_ARGC</code> only when in extended debugging mode
(see <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>
for a description of the <code class="code">extdebug</code> option to the <code class="code">shopt</code>
builtin).
-Setting <code class="code">extdebug</code> after the shell has started to execute a script,
+Setting <code class="code">extdebug</code> after the shell has started to execute a subroutine,
or referencing this variable when <code class="code">extdebug</code> is not set,
may result in inconsistent values.
Assignments to <code class="env">BASH_ARGC</code> have no effect, and it may not be unset.
</dd>
<dt><a id="index-BASH_005fARGV"></a><span><code class="code">BASH_ARGV</code><a class="copiable-link" href="#index-BASH_005fARGV"> ¶</a></span></dt>
<dd><p>An array variable containing all of the parameters in the current Bash
-execution call stack. The final parameter of the last subroutine call
-is at the top of the stack; the first parameter of the initial call is
-at the bottom. When a subroutine is executed, the parameters supplied
-are pushed onto <code class="code">BASH_ARGV</code>.
+execution call stack.
+The final parameter of the last subroutine call is at the top of the stack;
+the first parameter of the initial call is at the bottom.
+When a subroutine is executed, the shell pushes the supplied parameters
+onto <code class="code">BASH_ARGV</code>.
The shell sets <code class="code">BASH_ARGV</code> only when in extended debugging mode
(see <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>
for a description of the <code class="code">extdebug</code> option to the <code class="code">shopt</code>
<dd><p>When referenced, this variable expands to the name of the shell or shell
script (identical to <code class="code">$0</code>; See <a class="xref" href="#Special-Parameters">Special Parameters</a>,
for the description of special parameter 0).
-Assignment to <code class="code">BASH_ARGV0</code>
-causes the value assigned to also be assigned to <code class="code">$0</code>.
+Assigning a value to <code class="code">BASH_ARGV0</code>
+assigns the same value to <code class="code">$0</code>.
If <code class="env">BASH_ARGV0</code>
is unset, it loses its special properties, even if it is
subsequently reset.
<dd><p>An associative array variable whose members correspond to the internal
hash table of commands as maintained by the <code class="code">hash</code> builtin
(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
-Elements added to this array appear in the hash table; however,
-unsetting array elements currently does not cause command names to be removed
+Adding elements to this array makes them appear in the hash table; however,
+unsetting array elements currently does not remove command names
from the hash table.
If <code class="env">BASH_CMDS</code>
is unset, it loses its special properties, even if it is
</p>
</dd>
<dt><a id="index-BASH_005fCOMMAND"></a><span><code class="code">BASH_COMMAND</code><a class="copiable-link" href="#index-BASH_005fCOMMAND"> ¶</a></span></dt>
-<dd><p>The command currently being executed or about to be executed, unless the
-shell is executing a command as the result of a trap,
+<dd><p>Expands to the command currently being executed or about to be executed,
+unless the shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
If <code class="env">BASH_COMMAND</code>
is unset, it loses its special properties, even if it is
<dt><a id="index-BASH_005fENV"></a><span><code class="code">BASH_ENV</code><a class="copiable-link" href="#index-BASH_005fENV"> ¶</a></span></dt>
<dd><p>If this variable is set when Bash is invoked to execute a shell
script, its value is expanded and used as the name of a startup file
-to read before executing the script. See <a class="xref" href="#Bash-Startup-Files">Bash Startup Files</a>.
+to read before executing the script.
+Bash does not use <code class="env">PATH</code> to search for the resultant filename.
+See <a class="xref" href="#Bash-Startup-Files">Bash Startup Files</a>.
</p>
</dd>
<dt><a id="index-BASH_005fEXECUTION_005fSTRING"></a><span><code class="code">BASH_EXECUTION_STRING</code><a class="copiable-link" href="#index-BASH_005fEXECUTION_005fSTRING"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-BASH_005fLOADABLES_005fPATH"></a><span><code class="code">BASH_LOADABLES_PATH</code><a class="copiable-link" href="#index-BASH_005fLOADABLES_005fPATH"> ¶</a></span></dt>
-<dd><p>A colon-separated list of directories in which the shell looks for
-dynamically loadable builtins specified by the
-<code class="code">enable</code> command.
+<dd><p>A colon-separated list of directories in which the <code class="code">enable</code>
+command looks for dynamically loadable builtins.
</p>
</dd>
<dt><a id="index-BASH_005fMONOSECONDS"></a><span><code class="code">BASH_MONOSECONDS</code><a class="copiable-link" href="#index-BASH_005fMONOSECONDS"> ¶</a></span></dt>
</dd>
<dt><a id="index-BASH_005fVERSION"></a><span><code class="code">BASH_VERSION</code><a class="copiable-link" href="#index-BASH_005fVERSION"> ¶</a></span></dt>
-<dd><p>The version number of the current instance of Bash.
+<dd><p>Expands to a string describing the version of this instance of
+Bash (e.g., 5.2.37(3)-release).
</p>
</dd>
<dt><a id="index-BASH_005fXTRACEFD"></a><span><code class="code">BASH_XTRACEFD</code><a class="copiable-link" href="#index-BASH_005fXTRACEFD"> ¶</a></span></dt>
programmable completion facilities (see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
</p>
</dd>
+<dt><a id="index-COMP_005fKEY"></a><span><code class="code">COMP_KEY</code><a class="copiable-link" href="#index-COMP_005fKEY"> ¶</a></span></dt>
+<dd><p>The key (or final key of a key sequence) used to invoke the current
+completion function.
+This variable is available only in shell functions and external
+commands invoked by the
+programmable completion facilities (see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
+</p>
+</dd>
<dt><a id="index-COMP_005fLINE"></a><span><code class="code">COMP_LINE</code><a class="copiable-link" href="#index-COMP_005fLINE"> ¶</a></span></dt>
<dd><p>The current command line.
This variable is available only in shell functions and external
</p>
</dd>
<dt><a id="index-COMP_005fTYPE"></a><span><code class="code">COMP_TYPE</code><a class="copiable-link" href="#index-COMP_005fTYPE"> ¶</a></span></dt>
-<dd><p>Set to an integer value corresponding to the type of completion attempted
+<dd><p>Set to an integer value corresponding to the type of attempted completion
that caused a completion function to be called:
<kbd class="key">TAB</kbd>, for normal completion,
‘<samp class="samp">?</samp>’, for listing completions after successive tabs,
programmable completion facilities (see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
</p>
</dd>
-<dt><a id="index-COMP_005fKEY"></a><span><code class="code">COMP_KEY</code><a class="copiable-link" href="#index-COMP_005fKEY"> ¶</a></span></dt>
-<dd><p>The key (or final key of a key sequence) used to invoke the current
-completion function.
-</p>
-</dd>
<dt><a id="index-COMP_005fWORDBREAKS"></a><span><code class="code">COMP_WORDBREAKS</code><a class="copiable-link" href="#index-COMP_005fWORDBREAKS"> ¶</a></span></dt>
<dd><p>The set of characters that the Readline library treats as word
separators when performing word completion.
</dd>
<dt><a id="index-EMACS"></a><span><code class="code">EMACS</code><a class="copiable-link" href="#index-EMACS"> ¶</a></span></dt>
<dd><p>If Bash finds this variable in the environment when the shell
-starts with value ‘<samp class="samp">t</samp>’, it assumes that the shell is running in an
-Emacs shell buffer and disables line editing.
+starts, and its value is ‘<samp class="samp">t</samp>’, Bash assumes that the shell is
+running in an Emacs shell buffer and disables line editing.
</p>
</dd>
<dt><a id="index-ENV"></a><span><code class="code">ENV</code><a class="copiable-link" href="#index-ENV"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-EUID"></a><span><code class="code">EUID</code><a class="copiable-link" href="#index-EUID"> ¶</a></span></dt>
-<dd><p>The numeric effective user id of the current user. This variable
-is readonly.
+<dd><p>The numeric effective user id of the current user.
+This variable is readonly.
</p>
</dd>
<dt><a id="index-EXECIGNORE"></a><span><code class="code">EXECIGNORE</code><a class="copiable-link" href="#index-EXECIGNORE"> ¶</a></span></dt>
<dd><p>A colon-separated list of shell patterns (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>)
-defining the list of filenames to be ignored by command search using
+defining the set of filenames to be ignored by command search using
<code class="code">PATH</code>.
Files whose full pathnames match one of these patterns are not considered
executable files for the purposes of completion and command execution
</p>
</dd>
<dt><a id="index-FCEDIT"></a><span><code class="code">FCEDIT</code><a class="copiable-link" href="#index-FCEDIT"> ¶</a></span></dt>
-<dd><p>The editor used as a default by the <samp class="option">-e</samp> option to the <code class="code">fc</code>
-builtin command.
+<dd><p>The editor used as a default by the <code class="code">fc</code> builtin command.
</p>
</dd>
<dt><a id="index-FIGNORE"></a><span><code class="code">FIGNORE</code><a class="copiable-link" href="#index-FIGNORE"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-FUNCNEST"></a><span><code class="code">FUNCNEST</code><a class="copiable-link" href="#index-FUNCNEST"> ¶</a></span></dt>
-<dd><p>If set to a numeric value greater than 0, defines a maximum function
-nesting level. Function invocations that exceed this nesting level
+<dd><p>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.
</p>
</dd>
</p>
</dd>
<dt><a id="index-GLOBSORT"></a><span><code class="code">GLOBSORT</code><a class="copiable-link" href="#index-GLOBSORT"> ¶</a></span></dt>
-<dd><p>Control how the results of filename expansion are sorted.
+<dd><p>Controls how the results of filename expansion are sorted.
The value of this variable specifies the sort criteria and sort order for
the results of filename expansion.
If this variable is unset or set to the null string, filename expansion
‘<samp class="samp">ctime</samp>’,
and
‘<samp class="samp">blocks</samp>’,
-which sort the files on name, names in numeric rather than lexicographic order,
+which sort the files on name,
+names in numeric rather than lexicographic order,
file size, modification time, access time,
inode change time, and number of blocks, respectively.
If any of the non-name keys compare as equal (e.g., if two files are
If the list of values includes ‘<samp class="samp">ignorespace</samp>’, lines which begin
with a space character are not saved in the history list.
A value of ‘<samp class="samp">ignoredups</samp>’ causes lines which match the previous
-history entry to not be saved.
+history entry not to be saved.
A value of ‘<samp class="samp">ignoreboth</samp>’ is shorthand for
‘<samp class="samp">ignorespace</samp>’ and ‘<samp class="samp">ignoredups</samp>’.
A value of ‘<samp class="samp">erasedups</samp>’ causes all previous lines matching the
subject to the value of <code class="env">HISTIGNORE</code>.
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
-<code class="env">HISTCONTROL</code>.
+<code class="env">HISTCONTROL</code> 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.
</p>
</dd>
<dt><a id="index-HISTFILE"></a><span><code class="code">HISTFILE</code><a class="copiable-link" href="#index-HISTFILE"> ¶</a></span></dt>
<dd><p>The name of the file to which the command history is saved.
Bash assigns a default value of <samp class="file">~/.bash_history</samp>.
If <code class="env">HISTFILE</code> is unset or null,
-the command history is not saved when a shell exits.
+the shell does not save the command history when it exits.
</p>
</dd>
<dt><a id="index-HISTFILESIZE"></a><span><code class="code">HISTFILESIZE</code><a class="copiable-link" href="#index-HISTFILESIZE"> ¶</a></span></dt>
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.
+writing it when a shell exits or by the <code class="code">history</code> 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 <code class="env">HISTSIZE</code>
line (Bash will not implicitly append a ‘<samp class="samp">*</samp>’).
Each pattern is tested
against the line after the checks specified by <code class="env">HISTCONTROL</code>
-are applied. In addition to the normal shell pattern matching
-characters, ‘<samp class="samp">&</samp>’ matches the previous history line. ‘<samp class="samp">&</samp>’
-may be escaped using a backslash; the backslash is removed
+are applied.
+In addition to the normal shell pattern matching characters, ‘<samp class="samp">&</samp>’
+matches the previous history line.
+‘<samp class="samp">&</samp>’ may be escaped using a backslash; 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
-<code class="env">HISTIGNORE</code>.
+<code class="env">HISTIGNORE</code>, if the first line was saved.
+If the first line was not saved, the second and subsequent lines of
+the command are not saved, either.
The pattern matching honors the setting of the <code class="code">extglob</code> shell
option.
</p>
-<p><code class="env">HISTIGNORE</code> subsumes the function of <code class="env">HISTCONTROL</code>. A
-pattern of ‘<samp class="samp">&</samp>’ is identical to <code class="code">ignoredups</code>, and a
+<p><code class="env">HISTIGNORE</code> subsumes some of the function of <code class="env">HISTCONTROL</code>.
+A pattern of ‘<samp class="samp">&</samp>’ is identical to <code class="code">ignoredups</code>, and a
pattern of ‘<samp class="samp">[ ]*</samp>’ is identical to <code class="code">ignorespace</code>.
Combining these two patterns, separating them with a colon,
provides the functionality of <code class="code">ignoreboth</code>.
<dd><p>If this variable is set and not null, its value is used as a format string
for <code class="code">strftime</code>(3) to print the time stamp associated with each history
entry displayed by the <code class="code">history</code> builtin.
-If this variable is set, time stamps are written to the history file so
+If this variable is set, the shell writes time stamps to the history file so
they may be preserved across shell sessions.
This uses the history comment character to distinguish timestamps from
other history lines.
</dd>
<dt><a id="index-IGNOREEOF"></a><span><code class="code">IGNOREEOF</code><a class="copiable-link" href="#index-IGNOREEOF"> ¶</a></span></dt>
<dd><p>Controls the action of the shell on receipt of an <code class="code">EOF</code> character
-as the sole input. If set, the value denotes the number
+as the sole input.
+If set, the value is the number
of consecutive <code class="code">EOF</code> characters that can be read as the
-first character on an input line
-before the shell will exit. If the variable exists but does not
-have a numeric value, or has no value, then the default is 10.
-If the variable does not exist, then <code class="code">EOF</code> signifies the end of
-input to the shell. This is only in effect for interactive shells.
+first character on an input line before Bash exits.
+If the variable is set but does not have a numeric value,
+or the value is null, then the default is 10.
+If the variable is unset, then <code class="code">EOF</code> signifies the end of
+input to the shell.
+This is only in effect for interactive shells.
</p>
</dd>
<dt><a id="index-INPUTRC"></a><span><code class="code">INPUTRC</code><a class="copiable-link" href="#index-INPUTRC"> ¶</a></span></dt>
</dd>
<dt><a id="index-LINENO"></a><span><code class="code">LINENO</code><a class="copiable-link" href="#index-LINENO"> ¶</a></span></dt>
<dd><p>The line number in the script or shell function currently executing.
+Line numbers start with 1.
+When not in a script or function, the value is not
+guaranteed to be meaningful.
If <code class="env">LINENO</code>
is unset, it loses its special properties, even if it is
subsequently reset.
<dt><a id="index-OPTERR"></a><span><code class="code">OPTERR</code><a class="copiable-link" href="#index-OPTERR"> ¶</a></span></dt>
<dd><p>If set to the value 1, Bash displays error messages
generated by the <code class="code">getopts</code> builtin command.
+<code class="env">OPTERR</code>
+is initialized to 1 each time the shell is invoked.
</p>
</dd>
<dt><a id="index-OSTYPE"></a><span><code class="code">OSTYPE</code><a class="copiable-link" href="#index-OSTYPE"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-PPID"></a><span><code class="code">PPID</code><a class="copiable-link" href="#index-PPID"> ¶</a></span></dt>
-<dd><p>The process <small class="sc">ID</small> of the shell’s parent process. This variable
-is readonly.
+<dd><p>The process <small class="sc">ID</small> of the shell’s parent process.
+This variable is readonly.
</p>
</dd>
<dt><a id="index-PROMPT_005fCOMMAND"></a><span><code class="code">PROMPT_COMMAND</code><a class="copiable-link" href="#index-PROMPT_005fCOMMAND"> ¶</a></span></dt>
<dt><a id="index-RANDOM"></a><span><code class="code">RANDOM</code><a class="copiable-link" href="#index-RANDOM"> ¶</a></span></dt>
<dd><p>Each time this parameter is referenced, it expands to a random integer
between 0 and 32767. Assigning a value to this
-variable seeds the random number generator.
+variable initializes (seeds) the random number generator.
+Seeding the random number generator with the same constant value will
+produce the same sequence of values.
If <code class="env">RANDOM</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><a id="index-REPLY"></a><span><code class="code">REPLY</code><a class="copiable-link" href="#index-REPLY"> ¶</a></span></dt>
-<dd><p>The default variable for the <code class="code">read</code> builtin.
+<dd><p>The default variable for the <code class="code">read</code> builtin;
+set to the line read when <code class="code">read</code> is not supplied a variable name
+argument.
</p>
</dd>
<dt><a id="index-SECONDS"></a><span><code class="code">SECONDS</code><a class="copiable-link" href="#index-SECONDS"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-SHELLOPTS"></a><span><code class="code">SHELLOPTS</code><a class="copiable-link" href="#index-SHELLOPTS"> ¶</a></span></dt>
-<dd><p>A colon-separated list of enabled shell options. Each word in
-the list is a valid argument for the <samp class="option">-o</samp> option to the
-<code class="code">set</code> builtin command (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+<dd><p>A colon-separated list of enabled shell options.
+Each word in the list is a valid argument for the <samp class="option">-o</samp> option
+to the <code class="code">set</code> builtin command (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
The options appearing in <code class="env">SHELLOPTS</code> are those reported
as ‘<samp class="samp">on</samp>’ by ‘<samp class="samp">set -o</samp>’.
If this variable is in the environment when Bash
-starts up, each shell option in the list will be enabled before
-reading any startup files. This variable is readonly.
+starts up, the shell enables each option in the list before
+reading any startup files.
+This variable is readonly.
</p>
</dd>
<dt><a id="index-SHLVL"></a><span><code class="code">SHLVL</code><a class="copiable-link" href="#index-SHLVL"> ¶</a></span></dt>
-<dd><p>Incremented by one each time a new instance of Bash is started. This is
-intended to be a count of how deeply your Bash shells are nested.
+<dd><p>Incremented by one each time a new instance of Bash is started.
+This is intended to be a count of how deeply your Bash shells are nested.
</p>
</dd>
<dt><a id="index-SRANDOM"></a><span><code class="code">SRANDOM</code><a class="copiable-link" href="#index-SRANDOM"> ¶</a></span></dt>
<dd><p>This variable expands to a 32-bit pseudo-random number each time it is
-referenced. The random number generator is not linear on systems that
+referenced.
+The random number generator is not linear on systems that
support <samp class="file">/dev/urandom</samp> or <code class="code">arc4random</code>, so each returned number
has no relationship to the numbers preceding it.
The random number generator cannot be seeded, so assignments to this
<p>The optional <var class="var">p</var> is a digit specifying the precision, the number of
fractional digits after a decimal point.
A value of 0 causes no decimal point or fraction to be output.
-At most six places after the decimal point may be specified;
+<code class="code">time</code> will print at most six digits after the decimal point;
values of <var class="var">p</var> greater than 6 are changed to 6.
-If <var class="var">p</var> is not specified, the value 3 is used.
+If <var class="var">p</var> is not specified,
+<code class="code">time</code> prints three digits after the decimal point.
</p>
<p>The optional <code class="code">l</code> specifies a longer format, including minutes, of
the form <var class="var">MM</var>m<var class="var">SS</var>.<var class="var">FF</var>s.
</p>
</dd>
<dt><a id="index-TMOUT"></a><span><code class="code">TMOUT</code><a class="copiable-link" href="#index-TMOUT"> ¶</a></span></dt>
-<dd><p>If set to a value greater than zero, <code class="code">TMOUT</code> is treated as the
-default timeout for the <code class="code">read</code> builtin (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+<dd><p>If set to a value greater than zero, the <code class="code">read</code> builtin uses the
+value as its
+default timeout (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
The <code class="code">select</code> command (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>) terminates
if input does not arrive after <code class="code">TMOUT</code> seconds when input is coming
from a terminal.
<p>In an interactive shell, the value is interpreted as
the number of seconds to wait for a line of input after issuing
the primary prompt.
-Bash
-terminates after waiting for that number of seconds if a complete
-line of input does not arrive.
+Bash terminates after waiting for that number of seconds if a
+complete line of input does not arrive.
</p>
</dd>
<dt><a id="index-TMPDIR"></a><span><code class="code">TMPDIR</code><a class="copiable-link" href="#index-TMPDIR"> ¶</a></span></dt>
<p>All of the single-character options used with the <code class="code">set</code> builtin
(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>) can be used as options when the shell is invoked.
In addition, there are several multi-character
-options that you can use. These options must appear on the command
+options that you can use.
+These options must appear on the command
line before the single-character options to be recognized.
</p>
<dl class="table">
<dt><code class="code">--debugger</code></dt>
-<dd><p>Arrange for the debugger profile to be executed before the shell
-starts. Turns on extended debugging mode (see <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>
+<dd><p>Arrange for the debugger profile to be executed before the shell starts.
+Turns on extended debugging mode (see <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>
for a description of the <code class="code">extdebug</code> option to the <code class="code">shopt</code>
builtin).
</p>
</dd>
<dt><code class="code">--dump-po-strings</code></dt>
-<dd><p>A list of all double-quoted strings preceded by ‘<samp class="samp">$</samp>’
-is printed on the standard output
+<dd><p>Print a list of all double-quoted strings preceded by ‘<samp class="samp">$</samp>’
+on the standard output
in the <small class="sc">GNU</small> <code class="code">gettext</code> PO (portable object) file format.
Equivalent to <samp class="option">-D</samp> except for the output format.
</p>
</dd>
<dt><code class="code">--norc</code></dt>
<dd><p>Don’t read the <samp class="file">~/.bashrc</samp> initialization file in an
-interactive shell. This is on by default if the shell is
-invoked as <code class="code">sh</code>.
+interactive shell.
+This is on by default if the shell is invoked as <code class="code">sh</code>.
</p>
</dd>
<dt><code class="code">--posix</code></dt>
<dd><p>Change the behavior of Bash where the default operation differs
-from the <small class="sc">POSIX</small> standard to match the standard. This
-is intended to make Bash behave as a strict superset of that
-standard. See <a class="xref" href="#Bash-POSIX-Mode">Bash and POSIX</a>, for a description of the Bash
-<small class="sc">POSIX</small> mode.
+from the <small class="sc">POSIX</small> standard to match the standard.
+This is intended to make Bash behave as a strict superset of that
+standard.
+See <a class="xref" href="#Bash-POSIX-Mode">Bash and POSIX</a>, for a description of the Bash <small class="sc">POSIX</small> mode.
</p>
</dd>
<dt><code class="code">--restricted</code></dt>
</p>
</dd>
<dt><code class="code">--verbose</code></dt>
-<dd><p>Equivalent to <samp class="option">-v</samp>. Print shell input lines as they’re read.
+<dd><p>Equivalent to <samp class="option">-v</samp>.
+Print shell input lines as they’re read.
</p>
</dd>
<dt><code class="code">--version</code></dt>
</p>
</dd>
<dt><code class="code">-i</code></dt>
-<dd><p>Force the shell to run interactively. Interactive shells are
-described in <a class="ref" href="#Interactive-Shells">Interactive Shells</a>.
+<dd><p>Force the shell to run interactively.
+Interactive shells are described in <a class="ref" href="#Interactive-Shells">Interactive Shells</a>.
</p>
</dd>
<dt><code class="code">-l</code></dt>
<dd><p>Make this shell act as if it had been directly invoked by login.
When the shell is interactive, this is equivalent to starting a
login shell with ‘<samp class="samp">exec -l bash</samp>’.
-When the shell is not interactive, the login shell startup files will
-be executed.
+When the shell is not interactive, it will read and execute the login
+shell startup files.
‘<samp class="samp">exec bash -l</samp>’ or ‘<samp class="samp">exec bash --login</samp>’
will replace the current shell with a Bash login shell.
See <a class="xref" href="#Bash-Startup-Files">Bash Startup Files</a>, for a description of the special behavior
</dd>
<dt><code class="code">-s</code></dt>
<dd><p>If this option is present, or if no arguments remain after option
-processing, then commands are read from the standard input.
+processing, then Bash reads commands from the standard input.
This option allows the positional parameters to be set
when invoking an interactive shell or when reading input
through a pipe.
</p>
</dd>
<dt><code class="code">-D</code></dt>
-<dd><p>A list of all double-quoted strings preceded by ‘<samp class="samp">$</samp>’
-is printed on the standard output.
+<dd><p>Print a list of all double-quoted strings preceded by ‘<samp class="samp">$</samp>’
+on the standard output.
These are the strings that
are subject to language translation when the current locale
is not <code class="code">C</code> or <code class="code">POSIX</code> (see <a class="pxref" href="#Locale-Translation">Locale-Specific Translation</a>).
<code class="code">shopt</code> builtin (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
If <var class="var">shopt_option</var> is present, <samp class="option">-O</samp> sets the value of that option;
<samp class="option">+O</samp> unsets it.
-If <var class="var">shopt_option</var> is not supplied, the names and values of the shell
-options accepted by <code class="code">shopt</code> are printed on the standard output.
+If <var class="var">shopt_option</var> is not supplied, Bash
+prints the names and values of the shell
+options accepted by <code class="code">shopt</code> on the standard output.
If the invocation option is <samp class="option">+O</samp>, the output is displayed in a format
that may be reused as input.
</p>
</p>
<a class="index-entry-id" id="index-interactive-shell"></a>
<p>An <em class="emph">interactive</em> shell is one started without non-option arguments,
-unless <samp class="option">-s</samp> is specified,
-without specifying the <samp class="option">-c</samp> option, and whose input and output are both
+unless <samp class="option">-s</samp> is specified, without specifying the <samp class="option">-c</samp> option,
+and whose input and output (using the standard error) are both
connected to terminals (as determined by <code class="code">isatty(3)</code>), or one
-started with the <samp class="option">-i</samp> option. See <a class="xref" href="#Interactive-Shells">Interactive Shells</a>, for more
-information.
+started with the <samp class="option">-i</samp> option.
+See <a class="xref" href="#Interactive-Shells">Interactive Shells</a>, for more information.
</p>
<p>If arguments remain after option processing, and neither the
<samp class="option">-c</samp> nor the <samp class="option">-s</samp>
are set to the remaining arguments.
Bash reads and executes commands from this file, then exits.
Bash’s exit status is the exit status of the last command executed
-in the script. If no commands are executed, the exit status is 0.
+in the script.
+If no commands are executed, the exit status is 0.
</p>
<hr>
</div>
</p>
<h4 class="subsubheading" id="Invoked-as-an-interactive-non_002dlogin-shell"><span>Invoked as an interactive non-login shell<a class="copiable-link" href="#Invoked-as-an-interactive-non_002dlogin-shell"> ¶</a></span></h4>
-<p>When an interactive shell that is not a login shell is started, Bash
+<p>When Bash runs as an interactive shell that is not a login shell, it
reads and executes commands from <samp class="file">~/.bashrc</samp>, if that file exists.
This may be inhibited by using the <samp class="option">--norc</samp> option.
-The <samp class="option">--rcfile <var class="var">file</var></samp> option will
-cause Bash to
+The <samp class="option">--rcfile <var class="var">file</var></samp> option
+causes Bash to
use <var class="var">file</var> instead of <samp class="file">~/.bashrc</samp>.
</p>
<p>So, typically, your <samp class="file">~/.bash_profile</samp> contains the line
<p>When Bash is started non-interactively, to run a shell script,
for example, it looks for the variable <code class="env">BASH_ENV</code> in the environment,
expands its value if it appears there, and uses the expanded value as
-the name of a file to read and execute. Bash behaves as if the
-following command were executed:
+the name of a file to read and execute.
+Bash behaves as if the following command were executed:
</p><div class="example">
<pre class="example-preformatted"><code class="code">if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi</code>
</pre></div>
-<p>but the value of the <code class="env">PATH</code> variable is not used to search for the
+<p>but does not the value of the <code class="env">PATH</code> variable to search for the
filename.
</p>
<p>As noted above, if a non-interactive shell is invoked with the
and execute commands from <samp class="file">/etc/profile</samp> and <samp class="file">~/.profile</samp>, in
that order.
The <samp class="option">--noprofile</samp> option may be used to inhibit this behavior.
-When invoked as an interactive shell with the name <code class="code">sh</code>, Bash
+</p>
+<p>When invoked as an interactive shell with the name <code class="code">sh</code>, Bash
looks for the variable <code class="env">ENV</code>, expands its value if it is defined,
and uses the expanded value as the name of a file to read and execute.
Since a shell invoked as <code class="code">sh</code> does not attempt to read and execute
commands from any other startup files, the <samp class="option">--rcfile</samp> option has
no effect.
-A non-interactive shell invoked with the name <code class="code">sh</code> does not attempt
+</p>
+<p>A non-interactive shell invoked with the name <code class="code">sh</code> does not attempt
to read any other startup files.
</p>
<p>When invoked as <code class="code">sh</code>, Bash enters <small class="sc">POSIX</small> mode after
<samp class="option">--posix</samp> command line option, it follows the <small class="sc">POSIX</small> standard
for startup files.
In this mode, interactive shells expand the <code class="env">ENV</code> variable
-and commands are read and executed from the file whose name is the
+and read and execute commands from the file whose name is the
expanded value.
No other startup files are read.
</p>
<p>Bash attempts to determine when it is being run with its standard input
connected to a network connection, as when executed by
-the historical remote shell daemon, usually <code class="code">rshd</code>,
+the historical and rarely-seen remote shell daemon, usually <code class="code">rshd</code>,
or the secure shell daemon <code class="code">sshd</code>.
If Bash
determines it is being run non-interactively in this fashion,
terminal.
</p>
<p>The <samp class="option">-s</samp> invocation option may be used to set the positional parameters
-when an interactive shell is started.
+when an interactive shell starts.
</p>
<hr>
</div>
<p>To determine within a startup script whether or not Bash is
running interactively,
test the value of the ‘<samp class="samp">-</samp>’ special parameter.
-It contains <code class="code">i</code> when the shell is interactive. For example:
+It contains <code class="code">i</code> when the shell is interactive.
+For example:
</p>
<div class="example">
<pre class="example-preformatted">case "$-" in
<p>Alternatively, startup scripts may examine the variable
<code class="env">PS1</code>; it is unset in non-interactive shells, and set in
-interactive shells. Thus:
+interactive shells.
+Thus:
</p>
<div class="example">
<pre class="example-preformatted">if [ -z "$PS1" ]; then
several ways.
</p>
<ol class="enumerate">
-<li> Startup files are read and executed as described in <a class="ref" href="#Bash-Startup-Files">Bash Startup Files</a>.
+<li> Bash reads and executes startup files as described in <a class="ref" href="#Bash-Startup-Files">Bash Startup Files</a>.
-</li><li> Job Control (see <a class="pxref" href="#Job-Control">Job Control</a>) is enabled by default. When job
-control is in effect, Bash ignores the keyboard-generated job control
-signals <code class="code">SIGTTIN</code>, <code class="code">SIGTTOU</code>, and <code class="code">SIGTSTP</code>.
+</li><li> Job Control (see <a class="pxref" href="#Job-Control">Job Control</a>) is enabled by default.
+When job control is in effect, Bash ignores the keyboard-generated
+job control signals <code class="code">SIGTTIN</code>, <code class="code">SIGTTOU</code>, and <code class="code">SIGTSTP</code>.
+
+</li><li> Bash executes the values of the set elements of the <code class="env">PROMPT_COMMAND</code>
+array variable as commands before printing the primary prompt, <code class="env">$PS1</code>
+(see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
</li><li> Bash expands and displays <code class="env">PS1</code> before reading the first line
of a command, and expands and displays <code class="env">PS2</code> before reading the
See <a class="ref" href="#Controlling-the-Prompt">Controlling the Prompt</a>, for a complete list of prompt
string escape sequences.
-</li><li> Bash executes the values of the set elements of the <code class="env">PROMPT_COMMAND</code>
-array variable as commands before printing the primary prompt, <code class="env">$PS1</code>
-(see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
-
-</li><li> Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) is used to read commands from
+</li><li> Bash uses Readline (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) to read commands from
the user’s terminal.
</li><li> Bash inspects the value of the <code class="code">ignoreeof</code> option to <code class="code">set -o</code>
instead of exiting immediately when it receives an <code class="code">EOF</code> on its
standard input when reading a command (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
-</li><li> Command history (see <a class="pxref" href="#Bash-History-Facilities">Bash History Facilities</a>)
+</li><li> Bash enables Command history (see <a class="pxref" href="#Bash-History-Facilities">Bash History Facilities</a>)
and history expansion (see <a class="pxref" href="#History-Interaction">History Expansion</a>)
-are enabled by default.
-Bash will save the command history to the file named by <code class="env">$HISTFILE</code>
-when a shell with history enabled exits.
+by default.
+When a shell with history enabled exits,
+Bash saves the command history to the file named by <code class="env">$HISTFILE</code>.
</li><li> Alias expansion (see <a class="pxref" href="#Aliases">Aliases</a>) is performed by default.
</li><li> An interactive login shell sends a <code class="code">SIGHUP</code> to all jobs on exit
if the <code class="code">huponexit</code> shell option has been enabled (see <a class="pxref" href="#Signals">Signals</a>).
-</li><li> The <samp class="option">-n</samp> invocation option is ignored, and ‘<samp class="samp">set -n</samp>’ has
-no effect (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+</li><li> The <samp class="option">-n</samp> option has no effect, whether at invocation or when
+using ‘<samp class="samp">set -n</samp>’ (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
</li><li> Bash will check for mail periodically, depending on the values of the
<code class="env">MAIL</code>, <code class="env">MAILPATH</code>, and <code class="env">MAILCHECK</code> shell variables
(see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
-</li><li> Expansion errors due to references to unbound shell variables after
-‘<samp class="samp">set -u</samp>’ has been enabled will not cause the shell to exit
-(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+</li><li> The shell will not exit on
+expansion errors due to references to unbound shell variables after
+‘<samp class="samp">set -u</samp>’ has been enabled (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
-</li><li> The shell will not exit on expansion errors caused by <var class="var">var</var> being unset
-or null in <code class="code">${<var class="var">var</var>:?<var class="var">word</var>}</code> expansions
+</li><li> The shell will not exit on
+expansion errors caused by <var class="var">var</var> being unset or null in
+<code class="code">${<var class="var">var</var>:?<var class="var">word</var>}</code> expansions
(see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>).
</li><li> Redirection errors encountered by shell builtins will not cause the
command-specific actions.
</p>
<p>Expressions may be unary or binary,
-and are formed from the following primaries.
-Unary expressions are often used to examine the status of a file.
-There are string operators and numeric comparison operators as well.
-Bash handles several filenames specially when they are used in
+and are formed from the 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 file attribute
+comparisons.
+</p>
+<p>Bash handles several filenames specially when they are used in
expressions.
If the operating system on which Bash is running provides these
special files, Bash will use them; otherwise it will emulate them
</p>
</dd>
<dt><code class="code">-N <var class="var">file</var></code></dt>
-<dd><p>True if <var class="var">file</var> exists and has been modified since it was last read.
+<dd><p>True if <var class="var">file</var> exists and has been modified since it was last
+accessed.
</p>
</dd>
<dt><code class="code">-O <var class="var">file</var></code></dt>
greater than, or greater than or equal to <var class="var">arg2</var>,
respectively. <var class="var">Arg1</var> and <var class="var">arg2</var>
may be positive or negative integers.
-When used with the <code class="code">[[</code> command, <var class="var">Arg1</var> and <var class="var">Arg2</var>
+When used with the <code class="code">[[</code> command, <var class="var">arg1</var> and <var class="var">arg2</var>
are evaluated as arithmetic expressions (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>).
</p></dd>
</dl>
<a class="index-entry-id" id="index-arithmetic-evaluation"></a>
<p>The shell allows arithmetic expressions to be evaluated, as one of
-the shell expansions or by using the <code class="code">((</code> compound command, the
-<code class="code">let</code> builtin, or the <samp class="option">-i</samp> option to the <code class="code">declare</code> builtin.
-</p>
-<p>Evaluation is done in fixed-width integers with no check for overflow,
+the shell expansions or by using the <code class="code">((</code> compound command,
+the <code class="code">let</code> and <code class="code">declare</code> builtins,
+the arithmetic <code class="code">for</code> command,
+the <code class="code">[[</code> conditional command,
+or the <samp class="option">-i</samp> option to the <code class="code">declare</code> builtin.
+</p>
+<p>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 values
are the same as in the C language.
performed before the expression is evaluated.
Within an expression, shell variables may also be referenced by name
without using the parameter expansion syntax.
+This means you can use
+.Q x ,
+where \fIx\fP is a shell variable name, in an arithmetic expression,
+and the shell will evaluate its value as an expression and use the
+result.
A shell variable that is null or unset evaluates to 0 when referenced
-by name without using the parameter expansion syntax.
-The value of a variable is evaluated as an arithmetic expression
+by name in an expression.
+</p>
+<p>The value of a variable is evaluated as an arithmetic expression
when it is referenced, or when a variable which has been given the
<code class="code">integer</code> attribute using ‘<samp class="samp">declare -i</samp>’ is assigned a value.
A null value evaluates to 0.
letters may be used interchangeably to represent numbers between 10
and 35.
</p>
-<p>Operators are evaluated in order of precedence. Sub-expressions in
-parentheses are evaluated first and may override the precedence
-rules above.
+<p>Operators are evaluated in precedence order.
+Sub-expressions in parentheses are evaluated first
+and may override the precedence rules above.
</p>
<hr>
</div>
(see <a class="pxref" href="#Shell-Builtin-Commands">Shell Builtin Commands</a>).
</p>
<p>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
+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 characters following the word before
replacement text.
</p>
<p>If the last character of the alias value is a
-<code class="code">blank</code>, then the next command word following the
-alias is also checked for alias expansion.
+<code class="code">blank</code>, then the shell checks
+the next command word following the alias for alias expansion.
</p>
<p>Aliases are created and listed with the <code class="code">alias</code>
command, and removed with the <code class="code">unalias</code> command.
<code class="code">shopt</code> (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>).
</p>
<p>The rules concerning the definition and use of aliases are
-somewhat confusing. Bash
-always reads at least one complete line of input,
+somewhat confusing.
+Bash 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
+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 next line of input is read.
+command does not take effect until the shell reads the next line of input.
The commands following the alias definition
on that line are not affected by the new alias.
This behavior is also an issue when functions are executed.
Aliases are expanded when a function definition is read,
not when the function is executed, because a function definition
-is itself a command. As a consequence, aliases
+is itself a command.
+As a consequence, aliases
defined in a function are not available until after that
function is executed. To be safe, always put
alias definitions on a separate line, and do not use <code class="code">alias</code>
</pre></div>
<p>The <var class="var">subscript</var>
-is treated as an arithmetic expression that must evaluate to a number.
+is treated as an arithmetic expression that must evaluate to a number
+greater than or equal to zero.
To explicitly declare an array, use
</p><div class="example">
<pre class="example-preformatted">declare -a <var class="var">name</var>
<p>Attributes may be
specified for an array variable using the <code class="code">declare</code> and
-<code class="code">readonly</code> builtins. Each attribute applies to all members of
-an array.
+<code class="code">readonly</code> builtins.
+Each attribute applies to all members of an array.
</p>
-<p>Arrays are assigned to using compound assignments of the form
+<p>Arrays are assigned using compound assignments of the form
</p><div class="example">
<pre class="example-preformatted"><var class="var">name</var>=(<var class="var">value1</var> <var class="var">value2</var> ... )
</pre></div>
<p>where each
<var class="var">value</var> may be of the form <code class="code">[<var class="var">subscript</var>]=</code><var class="var">string</var>.
Indexed array assignments do not require anything but <var class="var">string</var>.
-When assigning to indexed arrays, if
-the optional subscript is 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.
</p>
<p>Each <var class="var">value</var> in the list undergoes the shell expansions
described above (see <a class="pxref" href="#Shell-Expansions">Shell Expansions</a>),
brace expansion and word splitting, as with individual
variable assignments.
</p>
+<p>When assigning to indexed arrays, if
+the optional subscript is 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.
+</p>
<p>When assigning to an associative array, the words in a compound assignment
may be either assignment statements, for which the subscript is required,
or a list of words that is interpreted as a sequence of alternating keys
a final missing value is treated like the empty string.
</p>
<p>This syntax is also accepted by the <code class="code">declare</code>
-builtin. Individual array elements may be assigned to using the
+builtin.
+Individual array elements may be assigned to using the
<code class="code"><var class="var">name</var>[<var class="var">subscript</var>]=<var class="var">value</var></code> syntax introduced above.
</p>
<p>When assigning to an indexed array, if <var class="var">name</var>
<p>The ‘<samp class="samp">+=</samp>’ operator will append to an array variable when assigning
using the compound assignment syntax; see <a class="ref" href="#Shell-Parameters">Shell Parameters</a> above.
</p>
-<p>Any element of an array may be referenced using
+<p>An array element is referenced using
<code class="code">${<var class="var">name</var>[<var class="var">subscript</var>]}</code>.
The braces are required to avoid
-conflicts with the shell’s filename expansion operators. If the
-<var class="var">subscript</var> is ‘<samp class="samp">@</samp>’ or ‘<samp class="samp">*</samp>’, the word expands to all members
+conflicts with the shell’s filename expansion operators.
+If the <var class="var">subscript</var> is ‘<samp class="samp">@</samp>’ or ‘<samp class="samp">*</samp>’,
+the word expands to all members
of the array <var class="var">name</var>, unless otherwise noted in the description of a
builtin or word expansion.
These subscripts differ only when the word
<code class="code">${<var class="var">name</var>[*]}</code> expands to a single word with
the value of each array member separated by the first character of the
<code class="env">IFS</code> variable, and <code class="code">${<var class="var">name</var>[@]}</code> expands each element of
-<var class="var">name</var> to a separate word. When there are no array members,
-<code class="code">${<var class="var">name</var>[@]}</code> 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 original
-word, and the expansion of the last parameter is joined with the last
-part of the original word.
+<var class="var">name</var> to a separate word.
+When there are no array members, <code class="code">${<var class="var">name</var>[@]}</code> 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 ‘<samp class="samp">@</samp>’ and ‘<samp class="samp">*</samp>’.
-<code class="code">${#<var class="var">name</var>[<var class="var">subscript</var>]}</code> expands to the length of
+</p>
+<p><code class="code">${#<var class="var">name</var>[<var class="var">subscript</var>]}</code> expands to the length of
<code class="code">${<var class="var">name</var>[<var class="var">subscript</var>]}</code>.
-If <var class="var">subscript</var> is ‘<samp class="samp">@</samp>’ or
-‘<samp class="samp">*</samp>’, the expansion is the number of elements in the array.
-If the <var class="var">subscript</var>
+If <var class="var">subscript</var> is ‘<samp class="samp">@</samp>’ or ‘<samp class="samp">*</samp>’,
+the expansion is the number of elements in the array.
+</p>
+<p>If the <var class="var">subscript</var>
used to reference an element of an indexed array
evaluates to a number less than zero, it is
interpreted as relative to one greater than the maximum index of the array,
Bash will create an array if necessary.
</p>
<p>An array variable is considered set if a subscript has been assigned a
-value. The null string is a valid value.
+value.
+The null string is a valid value.
</p>
<p>It is possible to obtain the keys (indices) of an array as well as the values.
${!<var class="var">name</var>[@]} and ${!<var class="var">name</var>[*]} expand to the indices
</p>
<p>The <code class="code">unset</code> builtin is used to destroy arrays.
<code class="code">unset <var class="var">name</var>[<var class="var">subscript</var>]</code>
-destroys the array element at index <var class="var">subscript</var>.
+unsets the array element at index <var class="var">subscript</var>.
Negative subscripts to indexed arrays are interpreted as described above.
Unsetting the last element of an array variable does not unset the variable.
<code class="code">unset <var class="var">name</var></code>, where <var class="var">name</var> is an array, removes the
entire array.
<code class="code">unset <var class="var">name</var>[<var class="var">subscript</var>]</code> behaves differently
-depending on the array type when given a
-subscript of ‘<samp class="samp">*</samp>’ or ‘<samp class="samp">@</samp>’.
+depending on the array type when
+<var class="var">subscript</var> is ‘<samp class="samp">*</samp>’ or ‘<samp class="samp">@</samp>’.
When <var class="var">name</var> is an associative array, it removes the element with key
‘<samp class="samp">*</samp>’ or ‘<samp class="samp">@</samp>’.
If <var class="var">name</var> is an indexed array, <code class="code">unset</code> removes all of the elements,
</p>
<p>When using a variable name with a subscript as an argument to a command,
such as with <code class="code">unset</code>, without using the word expansion syntax
-described above, the argument is subject to the shell’s filename expansion.
-If filename expansion is not desired, the argument should be quoted.
+described above (e.g., unset a[4]),
+the argument is subject to the shell’s filename expansion.
+Quote the argument if pathname expansion is not desired
+(e.g., unset ’a[4]’).
</p>
<p>The <code class="code">declare</code>, <code class="code">local</code>, and <code class="code">readonly</code>
builtins each accept a <samp class="option">-a</samp> option to specify an indexed
individual array elements. The <code class="code">set</code> and <code class="code">declare</code>
builtins display array values in a way that allows them to be
reused as input.
+Other builtins accept array name arguments as well
+(e.g., <code class="code">mapfile</code>); see the descriptions
+of individual builtins for details.
+The shell provides a number of builtin array variables.
</p>
<hr>
</div>
<pre class="example-preformatted">dirs [-clpv] [+<var class="var">N</var> | -<var class="var">N</var>]
</pre></div>
-<p>Display the list of currently remembered directories. Directories
-are added to the list with the <code class="code">pushd</code> command; the
-<code class="code">popd</code> command removes directories from the list.
+<p>Without options, display the list of currently remembered directories.
+Directories are added to the list with the <code class="code">pushd</code> command;
+the <code class="code">popd</code> command removes directories from the list.
The current directory is always the first directory in the stack.
</p>
+<p>Options, if supplied, have the following meanings:
+</p>
<dl class="table">
<dt><code class="code">-c</code></dt>
<dd><p>Clears the directory stack by deleting all of the elements.
<pre class="example-preformatted">popd [-n] [+<var class="var">N</var> | -<var class="var">N</var>]
</pre></div>
-<p>Removes elements from the directory stack.
+<p>Remove elements from the directory stack.
The elements are numbered from 0 starting at the first directory
listed by <code class="code">dirs</code>;
that is, <code class="code">popd</code> is equivalent to <code class="code">popd +0</code>.
</p>
-<p>When no arguments are given, <code class="code">popd</code>
-removes the top directory from the stack and changes to
-the new top directory.
+<p>When no arguments are given, <code class="code">popd</code> removes the top directory
+from the stack and changes to the new top directory.
</p>
<p>Arguments, if supplied, have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-n</code></dt>
-<dd><p>Suppresses the normal change of directory when removing directories
-from the stack, so that only the stack is manipulated.
+<dd><p>Suppress the normal change of directory when removing directories
+from the stack, only manipulate the stack.
</p></dd>
<dt><code class="code">+<var class="var">N</var></code></dt>
-<dd><p>Removes the <var class="var">N</var>th directory (counting from the left of the
+<dd><p>Remove the <var class="var">N</var>th directory (counting from the left of the
list printed by <code class="code">dirs</code>), starting with zero, from the stack.
</p></dd>
<dt><code class="code">-<var class="var">N</var></code></dt>
-<dd><p>Removes the <var class="var">N</var>th directory (counting from the right of the
+<dd><p>Remove the <var class="var">N</var>th directory (counting from the right of the
list printed by <code class="code">dirs</code>), starting with zero, from the stack.
</p></dd>
</dl>
If the <code class="code">cd</code> fails, <code class="code">popd</code> returns a non-zero value.
</p>
<p>Otherwise, <code class="code">popd</code> returns an unsuccessful status if
-an invalid option is encountered, the directory stack
-is empty, or a non-existent directory stack entry is specified.
+an invalid option is specified, the directory stack
+is empty, or <var class="var">N</var> specifies a non-existent directory stack entry.
</p>
<p>If the <code class="code">popd</code> command is successful,
Bash runs <code class="code">dirs</code> to show the final contents of the directory stack,
<pre class="example-preformatted">pushd [-n] [<var class="var">+N</var> | <var class="var">-N</var> | <var class="var">dir</var>]
</pre></div>
-<p>Adds a directory to the top of the directory stack, or rotates
+<p>Add a directory to the top of the directory stack, or rotate
the stack, making the new top of the stack the current working
directory.
With no arguments, <code class="code">pushd</code> exchanges the top two elements
</p>
<dl class="table">
<dt><code class="code">-n</code></dt>
-<dd><p>Suppresses the normal change of directory when rotating or
-adding directories to the stack, so that only the stack is manipulated.
+<dd><p>Suppress the normal change of directory when rotating or
+adding directories to the stack, only manipulate the stack.
</p></dd>
<dt><code class="code">+<var class="var">N</var></code></dt>
-<dd><p>Brings the <var class="var">N</var>th directory (counting from the left of the
-list printed by <code class="code">dirs</code>, starting with zero) to the top of
-the list by rotating the stack.
+<dd><p>Rotate the stack so that
+the <var class="var">N</var>th directory (counting from the left of the
+list printed by <code class="code">dirs</code>, starting with zero) is at the top.
</p></dd>
<dt><code class="code">-<var class="var">N</var></code></dt>
-<dd><p>Brings the <var class="var">N</var>th directory (counting from the right of the
-list printed by <code class="code">dirs</code>, starting with zero) to the top of
-the list by rotating the stack.
+<dd><p>Rotate the stack so that
+the <var class="var">N</var>th directory (counting from the right of the
+list printed by <code class="code">dirs</code>, starting with zero) is at the top.
</p></dd>
<dt><code class="code"><var class="var">dir</var></code></dt>
-<dd><p>Makes <var class="var">dir</var> be the top of the stack.
+<dd><p>Make <var class="var">dir</var> be the top of the stack.
</p></dd>
</dl>
directory at the top of the stack.
If the <code class="code">cd</code> fails, <code class="code">pushd</code> returns a non-zero value.
</p>
-<p>Otherwise, if no arguments are supplied, <code class="code">pushd</code> returns 0 unless the
-directory stack is empty.
-When rotating the directory stack, <code class="code">pushd</code> returns 0 unless
-the directory stack is empty or a non-existent directory stack element
-is specified.
+<p>Otherwise, if no arguments are supplied, <code class="code">pushd</code> returns zero
+unless the directory stack is empty.
+When rotating the directory stack, <code class="code">pushd</code> returns zero unless
+the directory stack is empty or <var class="var">N</var> specifies a non-existent
+directory stack element.
</p>
<p>If the <code class="code">pushd</code> command is successful,
Bash runs <code class="code">dirs</code> to show the final contents of the directory stack.
<h3 class="section" id="Controlling-the-Prompt-1"><span>6.9 Controlling the Prompt<a class="copiable-link" href="#Controlling-the-Prompt-1"> ¶</a></span></h3>
<a class="index-entry-id" id="index-prompting"></a>
-<p>Bash examines the value of the array variable <code class="env">PROMPT_COMMAND</code> just before
-printing each primary prompt.
-If any elements in <code class="env">PROMPT_COMMAND</code> are set and non-null, Bash
-executes each value, in numeric order,
-just as if it had been typed on the command line.
-</p>
<p>In addition, the following table describes the special characters which
can appear in the prompt variables <code class="env">PS0</code>, <code class="env">PS1</code>, <code class="env">PS2</code>, and
<code class="env">PS4</code>:
<dt><code class="code">\D{<var class="var">format</var>}</code></dt>
<dd><p>The <var class="var">format</var> is passed to <code class="code">strftime</code>(3) and the result is inserted
into the prompt string; an empty <var class="var">format</var> results in a locale-specific
-time representation. The braces are required.
+time representation.
+The braces are required.
</p></dd>
<dt><code class="code">\e</code></dt>
<dd><p>An escape character.
</p></dd>
<dt><code class="code">\h</code></dt>
-<dd><p>The hostname, up to the first ‘.’.
+<dd><p>The hostname, up to the first ‘<samp class="samp">.</samp>’.
</p></dd>
<dt><code class="code">\H</code></dt>
<dd><p>The hostname.
<dd><p>The number of jobs currently managed by the shell.
</p></dd>
<dt><code class="code">\l</code></dt>
-<dd><p>The basename of the shell’s terminal device name.
+<dd><p>The basename of the shell’s terminal device name (e.g., "ttys0").
</p></dd>
<dt><code class="code">\n</code></dt>
<dd><p>A newline.
<dd><p>A carriage return.
</p></dd>
<dt><code class="code">\s</code></dt>
-<dd><p>The name of the shell, the basename of <code class="code">$0</code> (the portion
+<dd><p>The name of the shell: the basename of <code class="code">$0</code> (the portion
following the final slash).
</p></dd>
<dt><code class="code">\t</code></dt>
<dd><p>The username of the current user.
</p></dd>
<dt><code class="code">\v</code></dt>
-<dd><p>The version of Bash (e.g., 2.00)
+<dd><p>The Bash version (e.g., 2.00).
</p></dd>
<dt><code class="code">\V</code></dt>
-<dd><p>The release of Bash, version + patchlevel (e.g., 2.00.0)
+<dd><p>The Bash release, version + patchlevel (e.g., 2.00.0).
</p></dd>
<dt><code class="code">\w</code></dt>
<dd><p>The value of the <code class="code">PWD</code> shell variable (<code class="env">$PWD</code>),
<samp class="option">--restricted</samp>
or
<samp class="option">-r</samp>
-option is supplied at invocation, the shell becomes restricted.
+option is supplied at invocation, the shell becomes <var class="var">restricted</var>.
A restricted shell is used to
set up an environment more controlled than the standard shell.
A restricted shell behaves identically to <code class="code">bash</code>
</li><li>Specifying command names containing slashes.
</li><li>Specifying a filename containing a slash as an argument to the <code class="code">.</code>
builtin command.
+</li><li>Using the <samp class="option">-p</samp> option to the <code class="code">.</code> builtin command
+to specify a search path.
</li><li>Specifying a filename containing a slash as an argument to the <code class="code">history</code>
builtin command.
</li><li>Specifying a filename containing a slash as an argument to the <samp class="option">-p</samp>
currently maintained by the Austin Group (a joint working group of the
IEEE, The Open Group and ISO/IEC SC22/WG15).
Today the Shell and Utilities are a volume within the set of documents that
-make up IEEE Std 1003.1-2017, and thus the former POSIX.2 (from 1992)
+make up IEEE Std 1003.1-2024, and thus the former POSIX.2 (from 1992)
is now part of the current unified <small class="sc">POSIX</small> standard.
</p>
<p>The Shell and Utilities volume concentrates on the command
interpreter interface and utility programs commonly executed from
the command line or by other programs.
The standard is freely available on the web at
-<a class="url" href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html">https://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html</a>.
+<a class="url" href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/contents.html">https://pubs.opengroup.org/onlinepubs/9799919799/utilities/contents.html</a>.
</p>
<p>Bash is concerned with the aspects of the shell’s behavior defined
-by the <small class="sc">POSIX</small> Shell and Utilities volume. The shell command
+by the <small class="sc">POSIX</small> Shell and Utilities volume.
+The shell command
language has of course been standardized, including the basic flow
control and program execution constructs, I/O redirection and
pipelines, argument handling, variable expansion, and quoting.
POSIX also specifies aspects of the shell’s interactive
behavior, including job control and command
line editing.
-Only vi-style line editing commands have been
-standardized; emacs editing commands were left out due to
-objections.
+Only vi-style line editing commands have been standardized;
+emacs editing commands were left out due to objections.
</p>
</div>
<div class="subsection-level-extent" id="Bash-POSIX-Mode-1">
specification, there are areas where the Bash default behavior
differs from the specification.
The Bash <em class="dfn">posix mode</em> changes the Bash
-behavior in these areas so that it conforms to the standard more closely.
+behavior in these areas so that it conforms more closely
+to the standard.
</p>
<p>Starting Bash with the <samp class="option">--posix</samp> command-line option or executing
‘<samp class="samp">set -o posix</samp>’ while Bash is running will cause Bash to conform more
<ol class="enumerate">
<li> Bash ensures that the <code class="env">POSIXLY_CORRECT</code> variable is set.
-</li><li> When a command in the hash table no longer exists, Bash will re-search
-<code class="env">$PATH</code> to find the new location. This is also available with
-‘<samp class="samp">shopt -s checkhash</samp>’.
-
-</li><li> Bash will not insert a command without the execute bit set into the
-command hash table, even if it returns it as a (last-ditch) result
-from a <code class="env">$PATH</code> search.
-
-</li><li> The message printed by the job control code and builtins when a job
-exits with a non-zero status is ‘Done(status)’.
-
-</li><li> The message printed by the job control code and builtins when a job
-is stopped is ‘Stopped(<var class="var">signame</var>)’, where <var class="var">signame</var> is, for
-example, <code class="code">SIGTSTP</code>.
+</li><li> Bash reads and executes the <small class="sc">POSIX</small> startup files
+(<code class="env">$ENV</code>) rather than
+the normal Bash files (see <a class="pxref" href="#Bash-Startup-Files">Bash Startup Files</a>.
</li><li> Alias expansion is always enabled, even in non-interactive shells.
do not undergo alias expansion.
</li><li> Alias expansion is performed when initially parsing a command substitution.
-The default mode generally defers it, when enabled, until the command
-substitution is executed. This means that command substitution will not
+The default (non-posix)
+mode generally defers it, when enabled, until the command
+substitution is executed.
+This means that command substitution will not
expand aliases that are defined after the command substitution is initially
parsed (e.g., as part of a function definition).
-</li><li> The <small class="sc">POSIX</small> <code class="env">PS1</code> and <code class="env">PS2</code> expansions of ‘<samp class="samp">!</samp>’ to
-the history number and ‘<samp class="samp">!!</samp>’ to ‘<samp class="samp">!</samp>’ are enabled,
-and parameter expansion is performed on the values of <code class="env">PS1</code> and
-<code class="env">PS2</code> regardless of the setting of the <code class="code">promptvars</code> option.
+</li><li> The <code class="code">time</code> reserved word may be used by itself as a simple command.
+When used in this way, it displays timing statistics for the shell
+and its completed children.
+The <code class="env">TIMEFORMAT</code> variable controls the format of the timing information.
-</li><li> The <small class="sc">POSIX</small> startup files are executed (<code class="env">$ENV</code>) rather than
-the normal Bash files.
+</li><li> The parser does not recognize <code class="code">time</code> as a reserved word if the next
+token begins with a ‘<samp class="samp">-</samp>’.
-</li><li> Tilde expansion is only performed on assignments preceding a command
-name, rather than on all assignment statements on the line.
+</li><li> When parsing and expanding a ${…} expansion that appears within
+double quotes, single quotes are no longer special and cannot be used to
+quote a closing brace or other special character, unless the operator is
+one of those defined to perform pattern removal.
+In this case, they do not have to appear as matched pairs.
-</li><li> The default history file is <samp class="file">~/.sh_history</samp> (this is the
-default value the shell assigns to <code class="env">$HISTFILE</code>).
</li><li> Redirection operators do not perform filename expansion on the word
-in the redirection unless the shell is interactive.
+in a redirection unless the shell is interactive.
-</li><li> Redirection operators do not perform word splitting on the word in the
+</li><li> Redirection operators do not perform word splitting on the word in a
redirection.
-</li><li> Function names must be valid shell <code class="code">name</code>s. That is, they may not
+</li><li> Function names must be valid shell <code class="code">name</code>s.
+That is, they may not
contain characters other than letters, digits, and underscores, and
-may not start with a digit. Declaring a function with an invalid name
-causes a fatal syntax error in non-interactive shells.
+may not start with a digit.
+Declaring a function with an invalid name in a non-interactive shell
+is a fatal syntax error.
</li><li> Function names may not be the same as one of the <small class="sc">POSIX</small> special
builtins.
-</li><li> Even if a shell function whose name contains a slash was defined before
-entering <small class="sc">POSIX</small> mode, the shell will not execute a function whose name
-contains one or more slashes.
+</li><li> Tilde expansion is only performed on assignments preceding a command
+name, rather than on all assignment statements on the line.
-</li><li> <small class="sc">POSIX</small> special builtins are found before shell functions
-during command lookup, including output printed by the <code class="code">type</code>
-and <code class="code">command</code> builtins.
+</li><li> While variable indirection is available, it may not be applied to the
+‘<samp class="samp">#</samp>’ and ‘<samp class="samp">?</samp>’ special parameters.
-</li><li> When printing shell function definitions (e.g., by <code class="code">type</code>), Bash does
-not print the <code class="code">function</code> keyword.
+</li><li> Expanding the ‘<samp class="samp">*</samp>’ special parameter in a pattern context where the
+expansion is double-quoted does not treat the <code class="code">$*</code> as if it were
+double-quoted.
+
+</li><li> A double quote character (‘<samp class="samp">"</samp>’) is treated specially when it appears
+in a backquoted command substitution in the body of a here-document that
+undergoes expansion.
+That means, for example, that a backslash preceding a double quote
+character will escape it and the backslash will be removed.
+
+</li><li> Command substitutions don’t set the ‘<samp class="samp">?</samp>’ special parameter.
+The exit
+status of a simple command without a command word is still the exit status
+of the last command substitution that occurred while evaluating the variable
+assignments and redirections in that command, but that does not happen until
+after all of the assignments and redirections.
</li><li> Literal tildes that appear as the first character in elements of
the <code class="env">PATH</code> variable are not expanded as described above
under <a class="ref" href="#Tilde-Expansion">Tilde Expansion</a>.
-</li><li> The <code class="code">time</code> reserved word may be used by itself as a command. When
-used in this way, it displays timing statistics for the shell and its
-completed children. The <code class="env">TIMEFORMAT</code> variable controls the format
-of the timing information.
+</li><li> Command lookup finds <small class="sc">POSIX</small> special builtins before shell functions,
+including output printed by the <code class="code">type</code> and <code class="code">command</code> builtins.
-</li><li> When parsing and expanding a ${…} expansion that appears within
-double quotes, single quotes are no longer special and cannot be used to
-quote a closing brace or other special character, unless the operator is
-one of those defined to perform pattern removal. In this case, they do
-not have to appear as matched pairs.
+</li><li> Even if a shell function whose name contains a slash was defined before
+entering <small class="sc">POSIX</small> mode, the shell will not execute a function whose name
+contains one or more slashes.
-</li><li> The parser does not recognize <code class="code">time</code> as a reserved word if the next
-token begins with a ‘<samp class="samp">-</samp>’.
+</li><li> When a command in the hash table no longer exists, Bash will re-search
+<code class="env">$PATH</code> to find the new location.
+This is also available with ‘<samp class="samp">shopt -s checkhash</samp>’.
+</li><li> Bash will not insert a command without the execute bit set into the
+command hash table, even if it returns it as a (last-ditch) result
+from a <code class="env">$PATH</code> search.
-</li><li> The ‘<samp class="samp">!</samp>’ character does not introduce history expansion within a
-double-quoted string, even if the <code class="code">histexpand</code> option is enabled.
+</li><li> The message printed by the job control code and builtins when a job
+exits with a non-zero status is ‘Done(status)’.
-</li><li> If a <small class="sc">POSIX</small> special builtin returns an error status, a
-non-interactive shell exits. The fatal errors are those listed in
-the <small class="sc">POSIX</small> standard, and include things like passing incorrect options,
-redirection errors, variable assignment errors for assignments preceding
-the command name, and so on.
+</li><li> The message printed by the job control code and builtins when a job
+is stopped is ‘Stopped(<var class="var">signame</var>)’, where <var class="var">signame</var> is, for
+example, <code class="code">SIGTSTP</code>.
-</li><li> The <code class="code">unset</code> builtin with the <samp class="option">-v</samp> option specified returns a
-fatal error if it attempts to unset a <code class="code">readonly</code> or <code class="code">non-unsettable</code>
-variable, or encounters a variable name argument that is an invalid identifier,
-which causes a non-interactive shell to exit.
+</li><li> If the shell is interactive, Bash does not perform job notifications
+between executing commands in lists separated by ‘<samp class="samp">;</samp>’ or newline.
+Non-interactive shells print status messages after a foreground job
+in a list completes.
-</li><li> When asked to unset a variable that appears in an assignment statement
-preceding the command, the <code class="code">unset</code> builtin attempts to unset a variable
-of the same name in the current or previous scope as well.
-This implements the required "if an assigned variable is further modified
-by the utility, the modifications made by the utility shall persist" behavior.
+</li><li> If the shell is interactive, Bash waits until the next prompt before
+printing the status of a background job that changes status or a foreground
+job that terminates due to a signal.
+Non-interactive shells print status messages after a foreground job
+completes.
+
+</li><li> Bash permanently removes jobs from the jobs table after notifying the
+user of their termination via the <code class="code">wait</code> or <code class="code">jobs</code> builtins.
+
+</li><li> The <code class="code">vi</code> editing mode will invoke the <code class="code">vi</code> editor directly when
+the ‘<samp class="samp">v</samp>’ command is run, instead of checking <code class="code">$VISUAL</code> and
+<code class="code">$EDITOR</code>.
+
+</li><li> Prompt expansion enables the
+<small class="sc">POSIX</small> <code class="env">PS1</code> and <code class="env">PS2</code> expansions of ‘<samp class="samp">!</samp>’ to
+the history number and ‘<samp class="samp">!!</samp>’ to ‘<samp class="samp">!</samp>’,
+and Bash performs parameter expansion on the values of <code class="env">PS1</code> and
+<code class="env">PS2</code> regardless of the setting of the <code class="code">promptvars</code> option.
+
+</li><li> The default history file is <samp class="file">~/.sh_history</samp> (this is the
+default value the shell assigns to <code class="env">$HISTFILE</code>).
+
+</li><li> The ‘<samp class="samp">!</samp>’ character does not introduce history expansion within a
+double-quoted string, even if the <code class="code">histexpand</code> option is enabled.
+
+</li><li> When printing shell function definitions (e.g., by <code class="code">type</code>), Bash does
+not print the <code class="code">function</code> keyword.
+
+</li><li> Non-interactive shells exit if a syntax error in an arithmetic expansion
+results in an invalid expression.
+
+</li><li> Non-interactive shells exit if a parameter expansion error occurs.
+
+</li><li> If a <small class="sc">POSIX</small> special builtin returns an error status, a
+non-interactive shell exits.
+The fatal errors are those listed in
+the <small class="sc">POSIX</small> standard, and include things like passing incorrect options,
+redirection errors, variable assignment errors for assignments preceding
+the command name, and so on.
</li><li> A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
</li><li> A non-interactive shell exits with an error status if a variable
assignment error occurs in an assignment statement preceding a special
-builtin, but not with any other simple command. For any other simple
+builtin, but not with any other simple command.
+For any other simple
command, the shell aborts execution of that command, and execution continues
at the top level ("the shell shall not perform any further processing of the
command in which the error occurred").
</li><li> Non-interactive shells exit if <var class="var">filename</var> in <code class="code">.</code> <var class="var">filename</var>
is not found.
-</li><li> Non-interactive shells exit if a syntax error in an arithmetic expansion
-results in an invalid expression.
-
-</li><li> Non-interactive shells exit if a parameter expansion error occurs.
-
</li><li> Non-interactive shells exit if there is a syntax error in a script read
with the <code class="code">.</code> or <code class="code">source</code> builtins, or in a string processed by
the <code class="code">eval</code> builtin.
-</li><li> While variable indirection is available, it may not be applied to the
-‘<samp class="samp">#</samp>’ and ‘<samp class="samp">?</samp>’ special parameters.
-
-</li><li> Expanding the ‘<samp class="samp">*</samp>’ special parameter in a pattern context where the
-expansion is double-quoted does not treat the <code class="code">$*</code> as if it were
-double-quoted.
+</li><li> Non-interactive shells exit
+if the <code class="code">export</code>, <code class="code">readonly</code> or <code class="code">unset</code>
+builtin commands get an argument
+that is not a valid identifier, and they are not operating on shell
+functions.
+These errors force an exit because these are special builtins.
</li><li> Assignment statements preceding <small class="sc">POSIX</small> special builtins
persist in the shell environment after the builtin completes.
</li><li> The <code class="code">command</code> builtin does not prevent builtins that take assignment
statements as arguments from expanding them as assignment statements;
-when not in <small class="sc">POSIX</small> mode, assignment builtins lose their assignment
+when not in <small class="sc">POSIX</small> mode, declaration commands lose their assignment
statement expansion properties when preceded by <code class="code">command</code>.
-</li><li> The <code class="code">bg</code> builtin uses the required format to describe each job placed
-in the background, which does not include an indication of whether the job
-is the current or previous job.
-
-</li><li> The output of ‘<samp class="samp">kill -l</samp>’ prints all the signal names on a single line,
-separated by spaces, without the ‘<samp class="samp">SIG</samp>’ prefix.
-
-</li><li> The <code class="code">kill</code> builtin does not accept signal names with a ‘<samp class="samp">SIG</samp>’
-prefix.
-
-</li><li> The <code class="code">export</code> and <code class="code">readonly</code> builtin commands display their
-output in the format required by <small class="sc">POSIX</small>.
-
-</li><li> If the <code class="code">export</code> and <code class="code">readonly</code> builtin commands get an argument
-that is not a valid identifier, and they are not operating on shell
-functions, they return an error.
-This will cause a non-interactive shell to exit because these are
-special builtins.
-
-</li><li> The <code class="code">trap</code> builtin displays signal names without the leading
-<code class="code">SIG</code>.
-
-</li><li> The <code class="code">trap</code> builtin doesn’t check the first argument for a possible
-signal specification and revert the signal handling to the original
-disposition if it is, unless that argument consists solely of digits and
-is a valid signal number. If users want to reset the handler for a given
-signal to the original disposition, they should use ‘<samp class="samp">-</samp>’ as the
-first argument.
-
-</li><li> <code class="code">trap -p</code> without arguments displays signals whose dispositions are
-set to SIG_DFL and those that were ignored when the shell started, not
-just trapped signals.
-
-</li><li> The <code class="code">.</code> and <code class="code">source</code> builtins do not search the current directory
-for the filename argument if it is not found by searching <code class="env">PATH</code>.
-
</li><li> Enabling <small class="sc">POSIX</small> mode has the effect of setting the
<code class="code">inherit_errexit</code> option, so
subshells spawned to execute command substitutions inherit the value of
that exceed the number of positional parameters will result in an
error message.
+</li><li> Enabling <small class="sc">POSIX</small> mode has the effect of setting the
+<code class="code">interactive_comments</code> option (see <a class="pxref" href="#Comments">Comments</a>).
+
+</li><li> The <code class="code">.</code> and <code class="code">source</code> builtins do not search the current directory
+for the filename argument if it is not found by searching <code class="env">PATH</code>.
+
</li><li> When the <code class="code">alias</code> builtin displays alias definitions, it does not
display them with a leading ‘<samp class="samp">alias </samp>’ unless the <samp class="option">-p</samp> option
is supplied.
-</li><li> When the <code class="code">set</code> builtin is invoked without options, it does not display
-shell function names and definitions.
-
-</li><li> When the <code class="code">set</code> builtin is invoked without options, it displays
-variable values without quotes, unless they contain shell metacharacters,
-even if the result contains nonprinting characters.
+</li><li> The <code class="code">bg</code> builtin uses the required format to describe each job placed
+in the background, which does not include an indication of whether the job
+is the current or previous job.
</li><li> When the <code class="code">cd</code> builtin is invoked in logical mode, and the pathname
constructed from <code class="code">$PWD</code> and the directory name supplied as an argument
exceeds <code class="code">PATH_MAX</code> when canonicalized, <code class="code">cd</code> will
attempt to use the supplied directory name.
-</li><li> The <code class="code">pwd</code> builtin verifies that the value it prints is the same as the
-current directory, even if it is not asked to check the file system with the
-<samp class="option">-P</samp> option.
+</li><li> When the <code class="code">xpg_echo</code> option is enabled, Bash does not attempt to
+interpret any arguments to <code class="code">echo</code> as options.
+<code class="code">echo</code> displays each argument after converting escape sequences.
+
+</li><li> The <code class="code">export</code> and <code class="code">readonly</code> builtin commands display their
+output in the format required by <small class="sc">POSIX</small>.
</li><li> When listing the history, the <code class="code">fc</code> builtin does not include an
indication of whether or not a history entry has been modified.
</li><li> If there are too many arguments supplied to <code class="code">fc -s</code>, <code class="code">fc</code> prints
an error message and returns failure.
-</li><li> The <code class="code">type</code> and <code class="code">command</code> builtins will not report a non-executable
-file as having been found, though the shell will attempt to execute such a
-file if it is the only so-named file found in <code class="code">$PATH</code>.
-
-</li><li> The <code class="code">vi</code> editing mode will invoke the <code class="code">vi</code> editor directly when
-the ‘<samp class="samp">v</samp>’ command is run, instead of checking <code class="code">$VISUAL</code> and
-<code class="code">$EDITOR</code>.
+</li><li> The output of ‘<samp class="samp">kill -l</samp>’ prints all the signal names on a single line,
+separated by spaces, without the ‘<samp class="samp">SIG</samp>’ prefix.
-</li><li> When the <code class="code">xpg_echo</code> option is enabled, Bash does not attempt to interpret
-any arguments to <code class="code">echo</code> as options. Each argument is displayed, after
-escape characters are converted.
+</li><li> The <code class="code">kill</code> builtin does not accept signal names with a ‘<samp class="samp">SIG</samp>’
+prefix.
-</li><li> The <code class="code">ulimit</code> builtin uses a block size of 512 bytes for the <samp class="option">-c</samp>
-and <samp class="option">-f</samp> options.
+</li><li> The <code class="code">printf</code> builtin uses <code class="code">double</code> (via <code class="code">strtod</code>) to convert
+arguments corresponding to floating point conversion specifiers, instead of
+<code class="code">long double</code> if it’s available.
+The ‘<samp class="samp">L</samp>’ length modifier forces
+<code class="code">printf</code> to use <code class="code">long double</code> if it’s available.
-</li><li> The arrival of <code class="code">SIGCHLD</code> when a trap is set on <code class="code">SIGCHLD</code> does
-not interrupt the <code class="code">wait</code> builtin and cause it to return immediately.
-The trap command is run once for each child that exits.
+</li><li> The <code class="code">pwd</code> builtin verifies that the value it prints is the same as the
+current directory, even if it is not asked to check the file system with the
+<samp class="option">-P</samp> option.
</li><li> The <code class="code">read</code> builtin may be interrupted by a signal for which a trap
has been set.
If Bash receives a trapped signal while executing <code class="code">read</code>, the trap
handler executes and <code class="code">read</code> returns an exit status greater than 128.
-</li><li> The <code class="code">printf</code> builtin uses <code class="code">double</code> (via <code class="code">strtod</code>) to convert
-arguments corresponding to floating point conversion specifiers, instead of
-<code class="code">long double</code> if it’s available. The ‘<samp class="samp">L</samp>’ length modifier forces
-<code class="code">printf</code> to use <code class="code">long double</code> if it’s available.
-
-</li><li> Bash removes an exited background process’s status from the list of such
-statuses after the <code class="code">wait</code> builtin is used to obtain it.
+</li><li> When the <code class="code">set</code> builtin is invoked without options, it does not display
+shell function names and definitions.
-</li><li> A double quote character (‘<samp class="samp">"</samp>’) is treated specially when it appears
-in a backquoted command substitution in the body of a here-document that
-undergoes expansion.
-That means, for example, that a backslash preceding a double quote
-character will escape it and the backslash will be removed.
+</li><li> When the <code class="code">set</code> builtin is invoked without options, it displays
+variable values without quotes, unless they contain shell metacharacters,
+even if the result contains nonprinting characters.
</li><li> The <code class="code">test</code> builtin compares strings using the current locale when
-processing the ‘<samp class="samp"><</samp>’ and ‘<samp class="samp">></samp>’ binary operators.
+evaluating the ‘<samp class="samp"><</samp>’ and ‘<samp class="samp">></samp>’ binary operators.
</li><li> The <code class="code">test</code> builtin’s <samp class="option">-t</samp> unary primary requires an argument.
Historical versions of <code class="code">test</code> made the argument optional in certain
cases, and Bash attempts to accommodate those for backwards compatibility.
-</li><li> Command substitutions don’t set the ‘<samp class="samp">?</samp>’ special parameter. The exit
-status of a simple command without a command word is still the exit status
-of the last command substitution that occurred while evaluating the variable
-assignments and redirections in that command, but that does not happen until
-after all of the assignments and redirections.
+</li><li> The <code class="code">trap</code> builtin displays signal names without the leading
+<code class="code">SIG</code>.
+
+</li><li> The <code class="code">trap</code> builtin doesn’t check the first argument for a possible
+signal specification and revert the signal handling to the original
+disposition if it is, unless that argument consists solely of digits and
+is a valid signal number.
+If users want to reset the handler for a given
+signal to the original disposition, they should use ‘<samp class="samp">-</samp>’ as the
+first argument.
+
+</li><li> <code class="code">trap -p</code> without arguments displays signals whose dispositions are
+set to SIG_DFL and those that were ignored when the shell started, not
+just trapped signals.
+
+</li><li> The <code class="code">type</code> and <code class="code">command</code> builtins will not report a non-executable
+file as having been found, though the shell will attempt to execute such a
+file if it is the only so-named file found in <code class="code">$PATH</code>.
+
+</li><li> The <code class="code">ulimit</code> builtin uses a block size of 512 bytes for the <samp class="option">-c</samp>
+and <samp class="option">-f</samp> options.
+
+</li><li> The <code class="code">unset</code> builtin with the <samp class="option">-v</samp> option specified returns a
+fatal error if it attempts to unset a <code class="code">readonly</code> or <code class="code">non-unsettable</code>
+variable,
+which causes a non-interactive shell to exit.
+
+</li><li> When asked to unset a variable that appears in an assignment statement
+preceding the command, the <code class="code">unset</code> builtin attempts to unset a variable
+of the same name in the current or previous scope as well.
+This implements the required "if an assigned variable is further modified
+by the utility, the modifications made by the utility shall persist" behavior.
+
+</li><li> The arrival of <code class="code">SIGCHLD</code> when a trap is set on <code class="code">SIGCHLD</code> does
+not interrupt the <code class="code">wait</code> builtin and cause it to return immediately.
+The trap command is run once for each child that exits.
+
+</li><li> Bash removes an exited background process’s status from the list of such
+statuses after the <code class="code">wait</code> builtin is used to obtain it.
</li></ol>
<ol class="enumerate">
<li> The <code class="code">fc</code> builtin checks <code class="code">$EDITOR</code> as a program to edit history
entries if <code class="code">FCEDIT</code> is unset, rather than defaulting directly to
-<code class="code">ed</code>. <code class="code">fc</code> uses <code class="code">ed</code> if <code class="code">EDITOR</code> is unset.
+<code class="code">ed</code>.
+<code class="code">fc</code> uses <code class="code">ed</code> if <code class="code">EDITOR</code> is unset.
-</li><li> A non-interactive shell does not exit if a variable assignment preceding
-the <code class="code">command</code> builtin or another non-special builtin fails.
</li><li> As noted above, Bash requires the <code class="code">xpg_echo</code> option to be enabled for
the <code class="code">echo</code> builtin to be fully conformant.
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 solution.
+while they migrate scripts to use current features and behavior.
+It’s intended to be a temporary solution.
</p>
<p>This section does not mention behavior that is standard for a particular
-version (e.g., setting <code class="code">compat32</code> means that quoting the rhs of the regexp
+version (e.g., setting <code class="code">compat32</code> 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 versions).
</p>
corresponding to the <code class="code">compat</code><var class="var">NN</var> option, like 42) determines the
compatibility level.
</p>
-<p>Starting with bash-4.4, Bash has begun deprecating older compatibility
+<p>Starting with bash-4.4, Bash began deprecating older compatibility
levels.
Eventually, the options will be removed in favor of <code class="env">BASH_COMPAT</code>.
</p>
-<p>Bash-5.0 was the final version for which there will be an individual shopt
+<p>Bash-5.0 was the final version for which there was an individual shopt
option for the previous version.
-Users should control the compatibility level with <code class="env">BASH_COMPAT</code>.
+<code class="env">BASH_COMPAT</code> is the only mechanism to control the compatibility level
+in versions newer than bash-5.0.
</p>
<p>The following table describes the behavior changes controlled by each
compatibility level setting.
<dl class="table">
<dt><code class="code">compat31</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>quoting the rhs of the <code class="code">[[</code> command’s regexp matching operator (=~)
+<li>Quoting the rhs of the <code class="code">[[</code> command’s regexp matching operator (=~)
has no special effect
</li></ul>
</dd>
<dt><code class="code">compat40</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>the ‘<samp class="samp"><</samp>’ and ‘<samp class="samp">></samp>’ operators to the <code class="code">[[</code> command do not
+<li>The ‘<samp class="samp"><</samp>’ and ‘<samp class="samp">></samp>’ operators to the <code class="code">[[</code> command do not
consider the current locale when comparing strings; they use ASCII
ordering.
Bash versions prior to bash-4.1 use ASCII collation and strcmp(3);
</dd>
<dt><code class="code">compat41</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>in posix mode, <code class="code">time</code> may be followed by options and still be
-recognized as a reserved word (this is <small class="sc">POSIX</small> interpretation 267)
-</li><li>in posix mode, the parser requires that an even number of single
+<li>In posix mode, <code class="code">time</code> may be followed by options and still be
+recognized as a reserved word (this is <small class="sc">POSIX</small> interpretation 267).
+</li><li>In posix mode, the parser requires that an even number of single
quotes occur in the <var class="var">word</var> portion of a double-quoted ${…}
parameter expansion and treats them specially, so that characters within
the single quotes are considered quoted
-(this is <small class="sc">POSIX</small> interpretation 221)
+(this is <small class="sc">POSIX</small> interpretation 221).
</li></ul>
</dd>
<dt><code class="code">compat42</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>the replacement string in double-quoted pattern substitution does not
-undergo quote removal, as it does in versions after bash-4.2
-</li><li>in posix mode, single quotes are considered special when expanding
+<li>The replacement string in double-quoted pattern substitution does not
+undergo quote removal, as it does in versions after bash-4.2.
+</li><li>In posix mode, single quotes are considered special when expanding
the <var class="var">word</var> portion of a double-quoted ${…} parameter expansion
and can be used to quote a closing brace or other special character
(this is part of <small class="sc">POSIX</small> interpretation 221);
in later versions, single quotes
-are not special within double-quoted word expansions
+are not special within double-quoted word expansions.
</li></ul>
</dd>
<dt><code class="code">compat43</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>word expansion errors are considered non-fatal errors that cause the
+<li>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)
-</li><li>when executing a shell function, the loop state (while/until/etc.)
+to exit).
+</li><li>When executing a shell function, the loop state (while/until/etc.)
is not reset, so <code class="code">break</code> or <code class="code">continue</code> in that function will break
-or continue loops in the calling context. Bash-4.4 and later reset
-the loop state to prevent this
+or continue loops in the calling context.
+Bash-4.4 and later reset the loop state to prevent this.
</li></ul>
</dd>
<dt><code class="code">compat44</code></dt>
<dd><ul class="itemize mark-bullet">
-<li>the shell sets up the values used by <code class="env">BASH_ARGV</code> and <code class="env">BASH_ARGC</code>
+<li>The shell sets up the values used by <code class="env">BASH_ARGV</code> and <code class="env">BASH_ARGC</code>
so they can expand to the shell’s positional parameters even if extended
-debugging mode is not enabled
-</li><li>a subshell inherits loops from its parent context, so <code class="code">break</code>
+debugging mode is not enabled.
+</li><li>A subshell inherits loops from its parent context, so <code class="code">break</code>
or <code class="code">continue</code> will cause the subshell to exit.
-Bash-5.0 and later reset the loop state to prevent the exit
-</li><li>variable assignments preceding builtins like <code class="code">export</code> and <code class="code">readonly</code>
+Bash-5.0 and later reset the loop state to prevent the exit.
+</li><li>Variable assignments preceding builtins like <code class="code">export</code> and <code class="code">readonly</code>
that set attributes continue to affect variables with the same
name in the calling environment even if the shell is not in posix
-mode
+mode.
</li></ul>
</dd>
<dt><code class="code">compat50 (set using BASH_COMPAT)</code></dt>
<dd><ul class="itemize mark-bullet">
<li>Bash-5.1 changed the way <code class="code">$RANDOM</code> is generated to introduce slightly
-more randomness. If the shell compatibility level is set to 50 or
-lower, it reverts to the method from bash-5.0 and previous versions,
+more randomness.
+If the shell compatibility level is set to 50 or lower, it reverts to
+the method from bash-5.0 and previous versions,
so seeding the random number generator by assigning a value to
-<code class="env">RANDOM</code> will produce the same sequence as in bash-5.0
+<code class="env">RANDOM</code> will produce the same sequence as in bash-5.0.
</li><li>If the command hash table is empty, Bash versions prior to bash-5.1
printed an informational message to that effect, even when producing
-output that can be reused as input. Bash-5.1 suppresses that message
-when the <samp class="option">-l</samp> option is supplied.
+output that can be reused as input.
+Bash-5.1 suppresses that message when the <samp class="option">-l</samp> option is supplied.
</li></ul>
</dd>
<li>The <code class="code">unset</code> builtin will unset the array <code class="code">a</code> given an argument like
‘<samp class="samp">a[@]</samp>’.
Bash-5.2 will unset an element with key ‘<samp class="samp">@</samp>’ (associative arrays)
-or remove all the elements without unsetting the array (indexed arrays)
-</li><li>arithmetic commands ( ((...)) ) and the expressions in an arithmetic for
-statement can be expanded more than once
-</li><li>expressions used as arguments to arithmetic operators in the <code class="code">[[</code>
-conditional command can be expanded more than once
-</li><li>the expressions in substring parameter brace expansion can be
-expanded more than once
-</li><li>the expressions in the $(( ... )) word expansion can be expanded
-more than once
-</li><li>arithmetic expressions used as indexed array subscripts can be
-expanded more than once
+or remove all the elements without unsetting the array (indexed arrays).
+</li><li>Arithmetic commands ( ((...)) ) and the expressions in an arithmetic for
+statement can be expanded more than once.
+</li><li>Expressions used as arguments to arithmetic operators in the <code class="code">[[</code>
+conditional command can be expanded more than once.
+</li><li>The expressions in substring parameter brace expansion can be
+expanded more than once.
+</li><li>The expressions in the $(( ... )) word expansion can be expanded
+more than once.
+</li><li>Arithmetic expressions used as indexed array subscripts can be
+expanded more than once.
</li><li><code class="code">test -v</code>, when given an argument of ‘<samp class="samp">A[@]</samp>’, where <var class="var">A</var> is
an existing associative array, will return true if the array has any set
elements.
-Bash-5.2 will look for and report on a key named ‘<samp class="samp">@</samp>’
+Bash-5.2 will look for and report on a key named ‘<samp class="samp">@</samp>’.
</li><li>the ${<var class="var">parameter</var>[:]=<var class="var">value</var>} word expansion will return
<var class="var">value</var>, before any variable-specific transformations have been
performed (e.g., converting to lowercase).
as bindable command names, and
displays any key sequences bound to those commands, instead of treating
the arguments as key sequences to bind.
+</li><li>Interactive shells will notify the user of completed jobs while sourcing a
+script.
+Newer versions defer notification until script execution completes.
</li></ul>
</dd>
<p>The shell learns immediately whenever a job changes state.
Normally, Bash waits until it is about to print a prompt
before reporting changes in a job’s status so as to not interrupt
-any other output.
+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 command.
If the <samp class="option">-b</samp> option to the <code class="code">set</code> builtin is enabled,
Bash reports such changes immediately (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
Any trap on <code class="code">SIGCHLD</code> is executed for each child process
</pre></div>
<p>Resume the job <var class="var">jobspec</var> in the foreground and make it the current job.
-If <var class="var">jobspec</var> is not supplied, the current job is used.
+If <var class="var">jobspec</var> is not supplied, resume the current job.
The return status is that of the command placed into the foreground,
or non-zero if run when job control is disabled or, when run with
job control enabled, <var class="var">jobspec</var> does not specify a valid job or
jobs -x <var class="var">command</var> [<var class="var">arguments</var>]
</pre></div>
-<p>The first form lists the active jobs. The options have the
-following meanings:
+<p>The first form lists the active jobs.
+The options have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-l</code></dt>
</p></dd>
</dl>
-<p>If <var class="var">jobspec</var> is given,
-output is restricted to information about that job.
-If <var class="var">jobspec</var> is not supplied, the status of all jobs is
-listed.
+<p>If <var class="var">jobspec</var> is supplied,
+<code class="code">jobs</code> restricts output to information about that job.
+If <var class="var">jobspec</var> is not supplied, <code class="code">jobs</code> lists the status of all jobs.
</p>
<p>If the <samp class="option">-x</samp> option is supplied, <code class="code">jobs</code> replaces any
<var class="var">jobspec</var> found in <var class="var">command</var> or <var class="var">arguments</var> with the
<var class="var">sigspec</var> is either a case-insensitive signal name such as
<code class="code">SIGINT</code> (with or without the <code class="code">SIG</code> prefix)
or a signal number; <var class="var">signum</var> is a signal number.
-If <var class="var">sigspec</var> and <var class="var">signum</var> are not present, <code class="code">SIGTERM</code> is used.
-The <samp class="option">-l</samp> option lists the signal names.
-If any arguments are supplied when <samp class="option">-l</samp> is given, the names of the
+If <var class="var">sigspec</var> and <var class="var">signum</var> are not present, <code class="code">kill</code>
+sends <code class="code">SIGTERM</code>.
+</p>
+<p>The <samp class="option">-l</samp> option lists the signal names.
+If any arguments are supplied when <samp class="option">-l</samp> is supplied, the names of the
signals corresponding to the arguments are listed, and the return status
is zero.
<var class="var">exit_status</var> is a number specifying a signal number or the exit
status of a process terminated by a signal.
The <samp class="option">-L</samp> option is equivalent to <samp class="option">-l</samp>.
-The return status is zero if at least one signal was successfully sent,
+</p>
+<p>The return status is zero if at least one signal was successfully sent,
or non-zero if an error occurs or an invalid option is encountered.
</p>
</dd>
<p>Wait until the child process specified by each <var class="var">id</var> exits and
return the exit status of the last <var class="var">id</var>.
Each <var class="var">id</var> may be a <var class="var">pid</var> or job specification <var class="var">jobspec</var>;
-if a job spec is given, <code class="code">wait</code> waits for all processes in the job.
+if a job spec is supplied, <code class="code">wait</code> waits for all processes in the job.
</p>
<p>If no options or <var class="var">id</var>s are supplied,
<code class="code">wait</code> waits for all running background jobs and
<p>If the <samp class="option">-p</samp> option is supplied, the process or job identifier
of the job for which the exit status is returned is assigned to the
variable <var class="var">varname</var> named by the option argument.
-The variable will be unset initially, before any assignment.
+The variable,
+which cannot be readonly,
+will be unset initially, before any assignment.
This is useful only when the <samp class="option">-n</samp> option is supplied.
</p>
<p>Supplying the <samp class="option">-f</samp> option, when job control is enabled,
</dd>
<dt><a id="index-disown"></a><span><code class="code">disown</code><a class="copiable-link" href="#index-disown"> ¶</a></span></dt>
<dd><div class="example">
-<pre class="example-preformatted">disown [-ar] [-h] [<var class="var">jobspec</var> ... | <var class="var">pid</var> ... ]
+<pre class="example-preformatted">disown [-ar] [-h] [<var class="var">id</var> ...]
</pre></div>
-<p>Without options, remove each <var class="var">jobspec</var> from the table of
+<p>Without options, remove each <var class="var">id</var> from the table of
active jobs.
-If the <samp class="option">-h</samp> option is given, the job is not removed from the table,
+Each <var class="var">id</var> may be a <var class="var">pid</var> or job specification <var class="var">jobspec</var>;
+if <var class="var">id</var> is a <var class="var">pid</var>,
+<code class="code">disown</code> uses the job containing <var class="var">pid</var>.
+If the <samp class="option">-h</samp> option is supplied, the job is not removed from the table,
but is marked so that <code class="code">SIGHUP</code> is not sent to the job if the shell
receives a <code class="code">SIGHUP</code>.
-If <var class="var">jobspec</var> is not present, and neither the <samp class="option">-a</samp> nor the
-<samp class="option">-r</samp> option is supplied, the current job is used.
-If no <var class="var">jobspec</var> is supplied, the <samp class="option">-a</samp> option means to remove or
-mark all jobs; the <samp class="option">-r</samp> option without a <var class="var">jobspec</var>
+If <var class="var">id</var> is not present, and neither the <samp class="option">-a</samp> nor the
+<samp class="option">-r</samp> option is supplied, <code class="code">disown</code> removes the current job.
+</p>
+<p>If no <var class="var">id</var> is supplied, the <samp class="option">-a</samp> option means to remove or
+mark all jobs; the <samp class="option">-r</samp> option without an <var class="var">id</var>
argument restricts operation to running jobs.
</p>
+<p>The return value is 0 unless an <var class="var">id</var>
+does not specify a valid job.
+</p>
</dd>
<dt><a id="index-suspend"></a><span><code class="code">suspend</code><a class="copiable-link" href="#index-suspend"> ¶</a></span></dt>
<dd><div class="example">
<p>Suspend the execution of this shell until it receives a
<code class="code">SIGCONT</code> signal.
-A login shell,
-or a shell without job control enabled,
+A login shell, or a shell without job control enabled,
cannot be suspended; the <samp class="option">-f</samp>
-option can be used to override this and force the suspension.
+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
<dl class="vtable">
<dt><a id="index-auto_005fresume"></a><span><code class="code">auto_resume</code><a class="copiable-link" href="#index-auto_005fresume"> ¶</a></span></dt>
<dd><p>This variable controls how the shell interacts with the user and
-job control. If this variable exists then single word simple
+job control.
+If this variable exists then single-word simple
commands without redirections are treated as candidates for resumption
-of an existing job. There is no ambiguity allowed; if there is
-more than one job beginning with the string typed, then
-the most recently accessed job will be selected.
+of an existing job.
+There is no ambiguity allowed; if there is more than one job
+beginning with the string typed, then
+the most recently accessed job is selected.
The name of a stopped job, in this context, is the command line
-used to start it. If this variable is set to the value ‘<samp class="samp">exact</samp>’,
+used to start it.
+If this variable is set to the value ‘<samp class="samp">exact</samp>’,
the string supplied must match the name of a stopped job exactly;
if set to ‘<samp class="samp">substring</samp>’,
the string supplied needs to match a substring of the name of a
-stopped job. The ‘<samp class="samp">substring</samp>’ value provides functionality
+stopped job.
+The ‘<samp class="samp">substring</samp>’ value provides functionality
analogous to the ‘<samp class="samp">%?</samp>’ job <small class="sc">ID</small> (see <a class="pxref" href="#Job-Control-Basics">Job Control Basics</a>).
If set to any other value, the supplied string must
be a prefix of a stopped job’s name; this provides functionality
unless the <samp class="option">--noediting</samp> option is supplied at shell invocation.
Line editing is also used when using the <samp class="option">-e</samp> option to the
<code class="code">read</code> builtin command (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-By default, the line editing commands are similar to those of Emacs.
-A vi-style line editing interface is also available.
+By default, the line editing commands are similar to those of Emacs;
+a vi-style line editing interface is also available.
Line editing can be enabled at any time using the <samp class="option">-o emacs</samp> or
<samp class="option">-o vi</samp> options to the <code class="code">set</code> builtin command
(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>), or disabled using the <samp class="option">+o emacs</samp> or
</p>
<p>The text <kbd class="kbd">M-k</kbd> is read as ‘Meta-K’ and describes the character
produced when the Meta key (if you have one) is depressed, and the <kbd class="key">k</kbd>
-key is pressed.
+key is pressed (a <em class="dfn">meta character</em>).
The Meta key is labeled <kbd class="key">ALT</kbd> on many keyboards.
On keyboards with two keys labeled <kbd class="key">ALT</kbd> (usually to either side of
the space bar), the <kbd class="key">ALT</kbd> on the left side is generally set to
Meta key or may be configured as some other modifier, such as a
Compose key for typing accented characters.
</p>
+<p>On some keyboards, the Meta key modifier produces meta characters with
+the eighth bit (0200) set.
+You can use the <code class="code">enable-meta-key</code> 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 <kbd class="key">ESC</kbd> as described in the
+next paragraph.
+</p>
<p>If you do not have a Meta or <kbd class="key">ALT</kbd> key, or another key working as
-a Meta key, the identical keystroke can be generated by typing <kbd class="key">ESC</kbd>
+a Meta key, you can generally achieve the latter effect by typing <kbd class="key">ESC</kbd>
<em class="emph">first</em>, and then typing <kbd class="key">k</kbd>.
-Either process is known as <em class="dfn">metafying</em> the <kbd class="key">k</kbd> key.
+The <kbd class="key">ESC</kbd> character is known as the <em class="dfn">meta prefix</em>).
+</p>
+<p>Either process is known as <em class="dfn">metafying</em> the <kbd class="key">k</kbd> key.
+</p>
+<p>If your Meta key produces a key sequence with the <kbd class="key">ESC</kbd> meta prefix,
+you can make <kbd class="kbd">M-key</kbd> key bindings you specify
+(see <code class="code">Key Bindings</code> in <a class="ref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>)
+do the same thing by setting the <code class="code">force-meta-prefix</code> variable.
</p>
<p>The text <kbd class="kbd">M-C-k</kbd> is read as ‘Meta-Control-k’ and describes the
-character produced by <em class="dfn">metafying</em> <kbd class="kbd">C-k</kbd>.
+character produced by metafying <kbd class="kbd">C-k</kbd>.
</p>
-<p>In addition, several keys have their own names. Specifically,
+<p>In addition, several keys have their own names.
+Specifically,
<kbd class="key">DEL</kbd>, <kbd class="key">ESC</kbd>, <kbd class="key">LFD</kbd>, <kbd class="key">SPC</kbd>, <kbd class="key">RET</kbd>, and <kbd class="key">TAB</kbd> all
stand for themselves when seen in this text, or in an init file
(see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
If your keyboard lacks a <kbd class="key">LFD</kbd> key, typing <kbd class="key">C-j</kbd> will
-produce the desired character.
+output the appropriate character.
The <kbd class="key">RET</kbd> key may be labeled <kbd class="key">Return</kbd> or <kbd class="key">Enter</kbd> on
some keyboards.
</p>
<a class="index-entry-id" id="index-interaction_002c-readline"></a>
<p>Often during an interactive session you type in a long line of text,
-only to notice that the first word on the line is misspelled. The
-Readline library gives you a set of commands for manipulating the text
+only to notice that the first word on the line is misspelled.
+The Readline library gives you a set of commands for manipulating the text
as you type it in, allowing you to just fix your typo, and not forcing
-you to retype the majority of the line. Using these editing commands,
+you to retype the majority of the line.
+Using these editing commands,
you move the cursor to the place that needs correction, and delete or
-insert the text of the corrections. Then, when you are satisfied with
-the line, you simply press <kbd class="key">RET</kbd>. You do not have to be at the
+insert the text of the corrections.
+Then, when you are satisfied with the line, you simply press <kbd class="key">RET</kbd>.
+You do not have to be at the
end of the line to press <kbd class="key">RET</kbd>; the entire line is accepted
regardless of the location of the cursor within the line.
</p>
<a class="index-entry-id" id="index-command-editing"></a>
<a class="index-entry-id" id="index-editing-command-lines"></a>
-<p>In order to enter characters into the line, simply type them. The typed
+<p>In order to enter characters into the line, simply type them.
+The typed
character appears where the cursor was, and then the cursor moves one
-space to the right. If you mistype a character, you can use your
+space to the right.
+If you mistype a character, you can use your
erase character to back up and delete the mistyped character.
</p>
<p>Sometimes you may mistype a character, and
-not notice the error until you have typed several other characters. In
-that case, you can type <kbd class="kbd">C-b</kbd> to move the cursor to the left, and then
-correct your mistake. Afterwards, you can move the cursor to the right
-with <kbd class="kbd">C-f</kbd>.
+not notice the error until you have typed several other characters.
+In that case, you can type <kbd class="kbd">C-b</kbd> to move the cursor to the left,
+and then correct your mistake.
+Afterwards, you can move the cursor to the right with <kbd class="kbd">C-f</kbd>.
</p>
<p>When you add text in the middle of a line, you will notice that characters
to the right of the cursor are ‘pushed over’ to make room for the text
-that you have inserted. Likewise, when you delete text behind the cursor,
+that you have inserted.
+Likewise, when you delete text behind the cursor,
characters to the right of the cursor are ‘pulled back’ to fill in the
-blank space created by the removal of the text. A list of the bare
-essentials for editing the text of an input line follows.
+blank space created by the removal of the text.
+These are the bare
+essentials for editing the text of an input line:
</p>
<dl class="table">
<dt><kbd class="kbd">C-b</kbd></dt>
<dd><p>Insert the character into the line at the cursor.
</p></dd>
<dt><kbd class="kbd">C-_</kbd> or <kbd class="kbd">C-x C-u</kbd></dt>
-<dd><p>Undo the last editing command. You can undo all the way back to an
-empty line.
+<dd><p>Undo the last editing command.
+You can undo all the way back to an empty line.
</p></dd>
</dl>
-<p>(Depending on your configuration, the <kbd class="key">Backspace</kbd> key might be set to
+<p>Depending on your configuration, the <kbd class="key">Backspace</kbd> key might be set to
delete the character to the left of the cursor and the <kbd class="key">DEL</kbd> key set
to delete the character underneath the cursor, like <kbd class="kbd">C-d</kbd>, rather
-than the character to the left of the cursor.)
+than the character to the left of the cursor.
</p>
<hr>
</div>
</div>
<h4 class="subsection" id="Readline-Movement-Commands-1"><span>8.2.2 Readline Movement Commands<a class="copiable-link" href="#Readline-Movement-Commands-1"> ¶</a></span></h4>
-
<p>The above table describes the most basic keystrokes that you need
-in order to do editing of the input line. For your convenience, many
-other commands have been added in addition to <kbd class="kbd">C-b</kbd>, <kbd class="kbd">C-f</kbd>,
-<kbd class="kbd">C-d</kbd>, and <kbd class="key">DEL</kbd>. Here are some commands for moving more rapidly
-about the line.
+in order to do editing of the input line.
+For your convenience, many other commands are available in
+addition to <kbd class="kbd">C-b</kbd>, <kbd class="kbd">C-f</kbd>, <kbd class="kbd">C-d</kbd>, and <kbd class="key">DEL</kbd>.
+Here are some commands for moving more rapidly within the line.
</p>
<dl class="table">
<dt><kbd class="kbd">C-a</kbd></dt>
</dl>
<p>Notice how <kbd class="kbd">C-f</kbd> moves forward a character, while <kbd class="kbd">M-f</kbd> moves
-forward a word. It is a loose convention that control keystrokes
+forward a word.
+It is a loose convention that control keystrokes
operate on characters while meta keystrokes operate on words.
</p>
<hr>
</p>
<p>When you use a kill command, the text is saved in a <em class="dfn">kill-ring</em>.
Any number of consecutive kills save all of the killed text together, so
-that when you yank it back, you get it all. The kill
-ring is not line specific; the text that you killed on a previously
+that when you yank it back, you get it all.
+The kill ring is not line specific; the text that you killed on a previously
typed line is available to be yanked back later, when you are typing
another line.
<a class="index-entry-id" id="index-kill-ring"></a>
</p>
</dd>
<dt><kbd class="kbd">C-w</kbd></dt>
-<dd><p>Kill from the cursor to the previous whitespace. This is different than
+<dd><p>Kill from the cursor to the previous whitespace.
+This is different than
<kbd class="kbd">M-<kbd class="key">DEL</kbd></kbd> because the word boundaries differ.
</p>
</dd>
</dl>
<p>Here is how to <em class="dfn">yank</em> the text back into the line. Yanking
-means to copy the most-recently-killed text from the kill buffer.
+means to copy the most-recently-killed text from the kill buffer
+into the line at the current cursor position.
</p>
<dl class="table">
<dt><kbd class="kbd">C-y</kbd></dt>
</p>
</dd>
<dt><kbd class="kbd">M-y</kbd></dt>
-<dd><p>Rotate the kill-ring, and yank the new top. You can only do this if
-the prior command is <kbd class="kbd">C-y</kbd> or <kbd class="kbd">M-y</kbd>.
+<dd><p>Rotate the kill-ring, and yank the new top.
+You can only do this if the prior command is <kbd class="kbd">C-y</kbd> or <kbd class="kbd">M-y</kbd>.
</p></dd>
</dl>
</div>
<h4 class="subsection" id="Readline-Arguments-1"><span>8.2.4 Readline Arguments<a class="copiable-link" href="#Readline-Arguments-1"> ¶</a></span></h4>
-<p>You can pass numeric arguments to Readline commands. Sometimes the
+<p>You can pass numeric arguments to Readline commands.
+Sometimes the
argument acts as a repeat count, other times it is the <i class="i">sign</i> of the
-argument that is significant. If you pass a negative argument to a
+argument that is significant.
+If you pass a negative argument to a
command which normally acts in a forward direction, that command will
-act in a backward direction. For example, to kill text back to the
+act in a backward direction.
+For example, to kill text back to the
start of the line, you might type ‘<samp class="samp">M-- C-k</samp>’.
</p>
<p>The general way to pass numeric arguments to a command is to type meta
-digits before the command. If the first ‘digit’ typed is a minus
-sign (‘<samp class="samp">-</samp>’), then the sign of the argument will be negative. Once
-you have typed one meta digit to get the argument started, you can type
-the remainder of the digits, and then the command. For example, to give
+digits before the command.
+If the first ‘digit’ typed is a minus
+sign (‘<samp class="samp">-</samp>’), then the sign of the argument will be negative.
+Once you have typed one meta digit to get the argument started, you can
+type the remainder of the digits, and then the command.
+For example, to give
the <kbd class="kbd">C-d</kbd> command an argument of 10, you could type ‘<samp class="samp">M-1 0 C-d</samp>’,
which will delete the next ten characters on the input line.
</p>
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.
-To search backward in the history for a particular string, type
-<kbd class="kbd">C-r</kbd>. Typing <kbd class="kbd">C-s</kbd> searches forward through the history.
+When using emacs editing mode, type <kbd class="kbd">C-r</kbd>
+to search backward in the history for a particular string.
+Typing <kbd class="kbd">C-s</kbd> searches forward through the history.
The characters present in the value of the <code class="code">isearch-terminators</code> variable
are used to terminate an incremental search.
If that variable has not been assigned a value, the <kbd class="key">ESC</kbd> and
a new search string, Readline uses any remembered search string.
</p>
<p>Non-incremental searches read the entire search string before starting
-to search for matching history lines.
+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.
</p>
keybindings installed by default, it is possible to use a different set
of keybindings.
Any user can customize programs that use Readline by putting
-commands in an <em class="dfn">inputrc</em> file,
-conventionally in their home directory.
-The name of this
-file is taken from the value of the shell variable <code class="env">INPUTRC</code>. If
-that variable is unset, the default is <samp class="file">~/.inputrc</samp>. If that
-file does not exist or cannot be read, the ultimate default is
+commands in an <em class="dfn">inputrc</em> file, conventionally in their home directory.
+The name of this file is taken from the value of the
+shell variable <code class="env">INPUTRC</code>.
+If that variable is unset, the default is <samp class="file">~/.inputrc</samp>.
+If that file does not exist or cannot be read, readline looks for
<samp class="file">/etc/inputrc</samp>.
The <code class="code">bind</code><!-- /@w --> builtin command can also be used to set Readline
keybindings and variables.
See <a class="xref" href="#Bash-Builtins">Bash Builtin Commands</a>.
</p>
-<p>When a program which uses the Readline library starts up, the
-init file is read, and the key bindings are set.
+<p>When a program which uses the Readline library starts up, Readline reads
+the init file and sets any variables and key bindings it contains.
</p>
<p>In addition, the <code class="code">C-x C-r</code> command re-reads this init file, thus
incorporating any changes that you might have made to it.
<h4 class="subsection" id="Readline-Init-File-Syntax-1"><span>8.3.1 Readline Init File Syntax<a class="copiable-link" href="#Readline-Init-File-Syntax-1"> ¶</a></span></h4>
<p>There are only a few basic constructs allowed in the
-Readline init file. Blank lines are ignored.
+Readline init file.
+Blank lines are ignored.
Lines beginning with a ‘<samp class="samp">#</samp>’ are comments.
Lines beginning with a ‘<samp class="samp">$</samp>’ indicate conditional
-constructs (see <a class="pxref" href="#Conditional-Init-Constructs">Conditional Init Constructs</a>). Other lines
-denote variable settings and key bindings.
+constructs (see <a class="pxref" href="#Conditional-Init-Constructs">Conditional Init Constructs</a>).
+Other lines denote variable settings and key bindings.
</p>
<dl class="table">
<dt>Variable Settings</dt>
<pre class="example-preformatted">set editing-mode vi
</pre></div>
-<p>Variable names and values, where appropriate, are recognized without regard
-to case.
+<p>Variable names and values, where appropriate, are recognized without
+regard to case.
Unrecognized variable names are ignored.
</p>
<p>Boolean variables (those that can be set to on or off) are set to on if
</dd>
<dt><a id="index-bell_002dstyle"></a><span><code class="code">bell-style</code><a class="copiable-link" href="#index-bell_002dstyle"> ¶</a></span></dt>
<dd><p>Controls what happens when Readline wants to ring the terminal bell.
-If set to ‘<samp class="samp">none</samp>’, Readline never rings the bell. If set to
-‘<samp class="samp">visible</samp>’, Readline uses a visible bell if one is available.
+If set to ‘<samp class="samp">none</samp>’, Readline never rings the bell.
+If set to ‘<samp class="samp">visible</samp>’, Readline uses a visible bell if one is available.
If set to ‘<samp class="samp">audible</samp>’ (the default), Readline attempts to ring
the terminal’s bell.
</p>
</dd>
<dt><a id="index-blink_002dmatching_002dparen"></a><span><code class="code">blink-matching-paren</code><a class="copiable-link" href="#index-blink_002dmatching_002dparen"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline attempts to briefly move the cursor to an
-opening parenthesis when a closing parenthesis is inserted. The default
-is ‘<samp class="samp">off</samp>’.
+opening parenthesis when a closing parenthesis is inserted.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-colored_002dcompletion_002dprefix"></a><span><code class="code">colored-completion-prefix</code><a class="copiable-link" href="#index-colored_002dcompletion_002dprefix"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-comment_002dbegin"></a><span><code class="code">comment-begin</code><a class="copiable-link" href="#index-comment_002dbegin"> ¶</a></span></dt>
-<dd><p>The string to insert at the beginning of the line when the
-<code class="code">insert-comment</code> command is executed. The default value
-is <code class="code">"#"</code>.
+<dd><p>The string to insert at the beginning of the line by the
+<code class="code">insert-comment</code> command.
+The default value is <code class="code">"#"</code>.
</p>
</dd>
<dt><a id="index-completion_002ddisplay_002dwidth"></a><span><code class="code">completion-display-width</code><a class="copiable-link" href="#index-completion_002ddisplay_002dwidth"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-completion_002dprefix_002ddisplay_002dlength"></a><span><code class="code">completion-prefix-display-length</code><a class="copiable-link" href="#index-completion_002dprefix_002ddisplay_002dlength"> ¶</a></span></dt>
-<dd><p>The 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, common prefixes longer than this value are
-replaced with an ellipsis when displaying possible completions.
+<dd><p>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, readline
+replaces common prefixes longer than this value
+with an ellipsis when displaying possible completions.
</p>
</dd>
<dt><a id="index-completion_002dquery_002ditems"></a><span><code class="code">completion-query-items</code><a class="copiable-link" href="#index-completion_002dquery_002ditems"> ¶</a></span></dt>
-<dd><p>The number of possible completions that determines when the user is
-asked whether the list of possibilities should be displayed.
-If the number of possible completions is greater than or equal to this value,
-Readline will ask whether or not the user wishes to view them;
-otherwise, they are simply listed.
+<dd><p>The number of possible completions that determines when the user is asked
+whether the list of possibilities should be displayed.
+If the number of possible completions is greater than
+or equal to this value, Readline will ask whether or not
+the user wishes to view them;
+otherwise, Readline simply lists the completions.
This variable must be set to an integer value greater than or equal to zero.
-A zero value means Readline should never ask; negative values are
-treated as zero.
+A zero value means Readline should never ask; negative
+values are treated as zero.
The default limit is <code class="code">100</code>.
</p>
</dd>
<dt><a id="index-convert_002dmeta"></a><span><code class="code">convert-meta</code><a class="copiable-link" href="#index-convert_002dmeta"> ¶</a></span></dt>
-<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will convert characters with the
-eighth bit set to an <small class="sc">ASCII</small> key sequence by stripping the eighth
-bit and prefixing an <kbd class="key">ESC</kbd> character, converting them to a
-meta-prefixed key sequence.
-The default value is ‘<samp class="samp">on</samp>’, but
-will be set to ‘<samp class="samp">off</samp>’ if the locale is one that contains
-eight-bit characters.
+<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will convert characters it reads
+that have the eighth bit set to an <small class="sc">ASCII</small> key sequence by
+clearing the eighth bit and prefixing an <kbd class="key">ESC</kbd> character,
+converting them to a meta-prefixed key sequence.
+The default value is ‘<samp class="samp">on</samp>’, but Readline will set it to ‘<samp class="samp">off</samp>’
+if the locale contains
+characters whose encodings may include bytes with the eighth bit set.
This variable is dependent on the <code class="code">LC_CTYPE</code> locale category, and
-may change if the locale is changed.
+may change if the locale changes.
+This variable also affects key bindings;
+see the description of <code class="code">force-meta-prefix</code> below.
</p>
</dd>
<dt><a id="index-disable_002dcompletion"></a><span><code class="code">disable-completion</code><a class="copiable-link" href="#index-disable_002dcompletion"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">On</samp>’, Readline will inhibit word completion.
-Completion characters will be inserted into the line as if they had
-been mapped to <code class="code">self-insert</code>. The default is ‘<samp class="samp">off</samp>’.
+Completion characters will be inserted into the line as if they
+had been mapped to <code class="code">self-insert</code>.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-echo_002dcontrol_002dcharacters"></a><span><code class="code">echo-control-characters</code><a class="copiable-link" href="#index-echo_002dcontrol_002dcharacters"> ¶</a></span></dt>
<dd><p>When set to ‘<samp class="samp">on</samp>’, on operating systems that indicate they support it,
Readline echoes a character corresponding to a signal generated from the
-keyboard. The default is ‘<samp class="samp">on</samp>’.
+keyboard.
+The default is ‘<samp class="samp">on</samp>’.
</p>
</dd>
<dt><a id="index-editing_002dmode"></a><span><code class="code">editing-mode</code><a class="copiable-link" href="#index-editing_002dmode"> ¶</a></span></dt>
-<dd><p>The <code class="code">editing-mode</code> variable controls which default set of
-key bindings is used. By default, Readline starts up in Emacs editing
-mode, where the keystrokes are most similar to Emacs. This variable can be
-set to either ‘<samp class="samp">emacs</samp>’ or ‘<samp class="samp">vi</samp>’.
+<dd><p>The <code class="code">editing-mode</code> variable controls the default set of
+key bindings.
+By default, Readline starts up in emacs editing mode, where
+the keystrokes are most similar to Emacs.
+This variable can be set to either ‘<samp class="samp">emacs</samp>’ or ‘<samp class="samp">vi</samp>’.
</p>
</dd>
<dt><a id="index-emacs_002dmode_002dstring"></a><span><code class="code">emacs-mode-string</code><a class="copiable-link" href="#index-emacs_002dmode_002dstring"> ¶</a></span></dt>
<dd><p>If the <var class="var">show-mode-in-prompt</var> 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
+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.
-Use the ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes to begin and end sequences of
+The ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes begin and end sequences of
non-printing characters, which can be used to embed a terminal control
sequence into the mode string.
The default is ‘<samp class="samp">@</samp>’.
</p>
</dd>
-<dt><a id="index-enable_002dactive_002dregion"></a><span><code class="code">enable-active-region</code><a class="copiable-link" href="#index-enable_002dactive_002dregion"> ¶</a></span></dt>
-<dd><p>The <em class="dfn">point</em> is the current cursor position, and <em class="dfn">mark</em> refers
-to a saved cursor position (see <a class="pxref" href="#Commands-For-Moving">Commands For Moving</a>).
+<dt><a id="index-enable_002dactive_002dregion-The"></a><span><code class="code">enable-active-region</code><a class="copiable-link" href="#index-enable_002dactive_002dregion-The"> ¶</a></span></dt>
+<dd><p><em class="dfn">point</em> is the current cursor position, and <em class="dfn">mark</em> refers to a
+saved cursor position (see <a class="pxref" href="#Commands-For-Moving">Commands For Moving</a>).
The text between the point and mark is referred to as the <em class="dfn">region</em>.
When this variable is set to ‘<samp class="samp">On</samp>’, Readline allows certain commands
to designate the region as <em class="dfn">active</em>.
When the region is active, Readline highlights the text in the region using
the value of the <code class="code">active-region-start-color</code>, which defaults to the
-string that enables
-the terminal’s standout mode.
+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.
+matching text found by incremental and non-incremental history searches.
The default is ‘<samp class="samp">On</samp>’.
</p>
</dd>
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 putting the terminal into <em class="dfn">bracketed paste mode</em>;
-it prevents Readline from executing any editing commands bound to key
-sequences appearing in the pasted text.
-The default is ‘<samp class="samp">On</samp>’.
+it prevents Readline from executing any editing commands bound
+to key sequences appearing in the pasted text.
+The default is ‘<samp class="samp">On</samp>’.
</p>
</dd>
<dt><a id="index-enable_002dkeypad"></a><span><code class="code">enable-keypad</code><a class="copiable-link" href="#index-enable_002dkeypad"> ¶</a></span></dt>
<dd><p>When set to ‘<samp class="samp">on</samp>’, Readline will try to enable the application
-keypad when it is called. Some systems need this to enable the
-arrow keys. The default is ‘<samp class="samp">off</samp>’.
+keypad when it is called.
+Some systems need this to enable the arrow keys.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
-<dt><code class="code">enable-meta-key</code></dt>
-<dd><p>When set to ‘<samp class="samp">on</samp>’, Readline will try to enable any meta modifier
-key the terminal claims to support when it is called. On many terminals,
-the meta key is used to send eight-bit characters.
+<dt><a id="index-enable_002dmeta_002dkey"></a><span><code class="code">enable-meta-key</code><a class="copiable-link" href="#index-enable_002dmeta_002dkey"> ¶</a></span></dt>
+<dd><p>When set to ‘<samp class="samp">on</samp>’, Readline will try to enable any meta
+modifier key the terminal claims to support when it is called.
+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 enable 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).
The default is ‘<samp class="samp">on</samp>’.
</p>
</dd>
<dt><a id="index-expand_002dtilde"></a><span><code class="code">expand-tilde</code><a class="copiable-link" href="#index-expand_002dtilde"> ¶</a></span></dt>
-<dd><p>If set to ‘<samp class="samp">on</samp>’, tilde expansion is performed when Readline
-attempts word completion. The default is ‘<samp class="samp">off</samp>’.
+<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline attempts tilde expansion when it
+attempts word completion.
+The default is ‘<samp class="samp">off</samp>’.
+</p>
+</dd>
+<dt><a id="index-force_002dmeta_002dprefix"></a><span><code class="code">force-meta-prefix</code><a class="copiable-link" href="#index-force_002dmeta_002dprefix"> ¶</a></span></dt>
+<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline modifies its behavior when binding key
+sequences containing <kbd class="kbd">\M-</kbd> or <code class="code">Meta-</code>
+(see <code class="code">Key Bindings</code> in <a class="ref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>)
+by converting a key sequence of the form
+<kbd class="kbd">\M-</kbd><var class="var">C</var> or <code class="code">Meta-</code><var class="var">C</var> to the two-character sequence
+<kbd class="kbd">ESC</kbd><var class="var">C</var> (adding the meta prefix).
+If <code class="code">force-meta-prefix</code> is set to ‘<samp class="samp">off</samp>’ (the default),
+Readline uses the value of the <code class="code">convert-meta</code> variable to determine
+whether to perform this conversion:
+if <code class="code">convert-meta</code> is ‘<samp class="samp">on</samp>’,
+Readline performs the conversion described above;
+if it is ‘<samp class="samp">off</samp>’, Readline converts <var class="var">C</var> to a meta character by
+setting the eighth bit (0200).
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-history_002dpreserve_002dpoint"></a><span><code class="code">history-preserve-point</code><a class="copiable-link" href="#index-history_002dpreserve_002dpoint"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, the history code attempts to place the point (the
current cursor position) at the
same location on each history line retrieved with <code class="code">previous-history</code>
-or <code class="code">next-history</code>. The default is ‘<samp class="samp">off</samp>’.
+or <code class="code">next-history</code>.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-history_002dsize"></a><span><code class="code">history-size</code><a class="copiable-link" href="#index-history_002dsize"> ¶</a></span></dt>
are saved.
If set to a value less than zero, the number of history entries is not
limited.
-By default, the number of history entries is not limited.
-If an attempt is made to set <var class="var">history-size</var> to a non-numeric value,
+By default, Bash sets the the maximum number of history entries to
+the value of the <code class="code">HISTSIZE</code> shell variable.
+If you try to set <var class="var">history-size</var> to a non-numeric value,
the maximum number of history entries will be set to 500.
</p>
</dd>
<dt><a id="index-horizontal_002dscroll_002dmode"></a><span><code class="code">horizontal-scroll-mode</code><a class="copiable-link" href="#index-horizontal_002dscroll_002dmode"> ¶</a></span></dt>
-<dd><p>This variable can be set to either ‘<samp class="samp">on</samp>’ or ‘<samp class="samp">off</samp>’. Setting it
-to ‘<samp class="samp">on</samp>’ means that the text of the lines being edited will scroll
-horizontally on a single screen line when they are longer than the width
-of the screen, instead of wrapping onto a new screen line.
+<dd><p>Setting this variable to ‘<samp class="samp">on</samp>’ means that the text of the lines
+being edited will scroll horizontally on a single screen line when
+the lines are longer than the width of the screen, instead of wrapping
+onto a new screen line.
This variable is automatically set to ‘<samp class="samp">on</samp>’ for terminals of height 1.
By default, this variable is set to ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a class="index-entry-id" id="index-meta_002dflag"></a>
<a id="index-input_002dmeta"></a><span><code class="code">input-meta</code><a class="copiable-link" href="#index-input_002dmeta"> ¶</a></span></dt>
-<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will enable eight-bit input (it
+<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will enable eight-bit input (that is, it
will not clear the eighth bit in the characters it reads),
-regardless of what the terminal claims it can support. The
-default value is ‘<samp class="samp">off</samp>’, but Readline will set it to ‘<samp class="samp">on</samp>’ if the
-locale contains eight-bit characters.
-The name <code class="code">meta-flag</code> is a synonym for this variable.
+regardless of what the terminal claims it can support.
+The default value is ‘<samp class="samp">off</samp>’, but Readline will set it to ‘<samp class="samp">on</samp>’
+if the locale contains characters whose encodings may include bytes
+with the eighth bit set.
This variable is dependent on the <code class="code">LC_CTYPE</code> locale category, and
-may change if the locale is changed.
+its value may change if the locale changes.
+The name <code class="code">meta-flag</code> is a synonym for <code class="code">input-meta</code>.
</p>
</dd>
<dt><a id="index-isearch_002dterminators"></a><span><code class="code">isearch-terminators</code><a class="copiable-link" href="#index-isearch_002dterminators"> ¶</a></span></dt>
<code class="code">vi</code> is equivalent to <code class="code">vi-command</code> (<code class="code">vi-move</code> is also a
synonym); <code class="code">emacs</code> is equivalent to <code class="code">emacs-standard</code>.
Applications may add additional names.
-The default value is <code class="code">emacs</code>.
-The value of the <code class="code">editing-mode</code> variable also affects the
+The default value is <code class="code">emacs</code>;
+the value of the <code class="code">editing-mode</code> variable also affects the
default keymap.
</p>
</dd>
<dt><code class="code">keyseq-timeout</code></dt>
-<dd><p>Specifies the duration Readline 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 no input is received within the timeout, Readline will use the shorter
-but complete key sequence.
+<dd><p>Specifies the duration Readline 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 Readline doesn’t receive any input within the timeout, it will use the
+shorter but complete key sequence.
Readline uses this value to determine whether or not input is
available on the current input source (<code class="code">rl_instream</code> by default).
The value is specified in milliseconds, so a value of 1000 means that
</p>
</dd>
<dt><code class="code">mark-directories</code></dt>
-<dd><p>If set to ‘<samp class="samp">on</samp>’, completed directory names have a slash
-appended. The default is ‘<samp class="samp">on</samp>’.
+<dd><p>If set to ‘<samp class="samp">on</samp>’, completed directory names have a slash appended.
+The default is ‘<samp class="samp">on</samp>’.
</p>
</dd>
<dt><a id="index-mark_002dmodified_002dlines"></a><span><code class="code">mark-modified-lines</code><a class="copiable-link" href="#index-mark_002dmodified_002dlines"> ¶</a></span></dt>
-<dd><p>This variable, when set to ‘<samp class="samp">on</samp>’, causes Readline to display an
+<dd><p>When this variable is set to ‘<samp class="samp">on</samp>’, Readline will to display an
asterisk (‘<samp class="samp">*</samp>’) at the start of history lines which have been modified.
This variable is ‘<samp class="samp">off</samp>’ by default.
</p>
</dd>
<dt><a id="index-mark_002dsymlinked_002ddirectories"></a><span><code class="code">mark-symlinked-directories</code><a class="copiable-link" href="#index-mark_002dsymlinked_002ddirectories"> ¶</a></span></dt>
-<dd><p>If set to ‘<samp class="samp">on</samp>’, completed names which are symbolic links
-to directories have a slash appended (subject to the value of
-<code class="code">mark-directories</code>).
+<dd><p>If set to ‘<samp class="samp">on</samp>’, completed names which are symbolic links to directories
+have a slash appended, subject to the value of <code class="code">mark-directories</code>.
The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-menu_002dcomplete_002ddisplay_002dprefix"></a><span><code class="code">menu-complete-display-prefix</code><a class="copiable-link" href="#index-menu_002dcomplete_002ddisplay_002dprefix"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, menu completion displays the common prefix of the
list of possible completions (which may be empty) before cycling through
-the list. The default is ‘<samp class="samp">off</samp>’.
+the list.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-output_002dmeta"></a><span><code class="code">output-meta</code><a class="copiable-link" href="#index-output_002dmeta"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will display characters with the
eighth bit set directly rather than as a meta-prefixed escape
sequence.
-The default is ‘<samp class="samp">off</samp>’, but Readline will set it to ‘<samp class="samp">on</samp>’ if the
-locale contains eight-bit characters.
+The default is ‘<samp class="samp">off</samp>’, but Readline will set it to ‘<samp class="samp">on</samp>’
+if the locale contains characters whose encodings may include
+bytes with the eighth bit set.
This variable is dependent on the <code class="code">LC_CTYPE</code> locale category, and
-may change if the locale is changed.
+its value may change if the locale changes.
</p>
</dd>
<dt><a id="index-page_002dcompletions"></a><span><code class="code">page-completions</code><a class="copiable-link" href="#index-page_002dcompletions"> ¶</a></span></dt>
This variable is ‘<samp class="samp">on</samp>’ by default.
</p>
</dd>
+<dt><code class="code">prefer-visible-bell</code></dt>
+<dd><p>See <code class="code">bell-style</code>.
+</p>
+</dd>
<dt><code class="code">print-completions-horizontally</code></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will display completions with matches
sorted horizontally in alphabetical order, rather than down the screen.
</dd>
<dt><a id="index-revert_002dall_002dat_002dnewline"></a><span><code class="code">revert-all-at-newline</code><a class="copiable-link" href="#index-revert_002dall_002dat_002dnewline"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, Readline will undo all changes to history lines
-before returning when <code class="code">accept-line</code> is executed. By default,
+before returning when executing <code class="code">accept-line</code>.
+By default,
history lines may be modified and retain individual undo lists across
-calls to <code class="code">readline()</code>. The default is ‘<samp class="samp">off</samp>’.
+calls to <code class="code">readline()</code>.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dt><a id="index-search_002dignore_002dcase"></a><span><code class="code">search-ignore-case</code><a class="copiable-link" href="#index-search_002dignore_002dcase"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-show_002dall_002dif_002dambiguous"></a><span><code class="code">show-all-if-ambiguous</code><a class="copiable-link" href="#index-show_002dall_002dif_002dambiguous"> ¶</a></span></dt>
-<dd><p>This alters the default behavior of the completion functions. If
-set to ‘<samp class="samp">on</samp>’,
+<dd><p>This alters the default behavior of the completion functions.
+If set to ‘<samp class="samp">on</samp>’,
words which have more than one possible completion cause the
matches to be listed immediately instead of ringing the bell.
The default value is ‘<samp class="samp">off</samp>’.
</dd>
<dt><a id="index-skip_002dcompleted_002dtext"></a><span><code class="code">skip-completed-text</code><a class="copiable-link" href="#index-skip_002dcompleted_002dtext"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, 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, Readline
-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.
+inserting a single match into the line.
+It’s only active when performing completion in the middle of a word.
+If enabled, readline 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.
For instance, if this is enabled, attempting completion when the cursor
-is after the ‘<samp class="samp">e</samp>’ in ‘<samp class="samp">Makefile</samp>’ will result in ‘<samp class="samp">Makefile</samp>’
-rather than ‘<samp class="samp">Makefilefile</samp>’, assuming there is a single possible
-completion.
+is after the first ‘<samp class="samp">e</samp>’ in ‘<samp class="samp">Makefile</samp>’ will result in
+‘<samp class="samp">Makefile</samp>’ rather than ‘<samp class="samp">Makefilefile</samp>’,
+assuming there is a single possible completion.
The default value is ‘<samp class="samp">off</samp>’.
</p>
</dd>
<dd><p>If the <var class="var">show-mode-in-prompt</var> 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 is expanded like a
-key binding, so the standard set of meta- and control prefixes and
-backslash escape sequences is available.
-Use the ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes to begin and end sequences of
+The value is expanded like a key binding, so the standard set of
+meta- and control- prefixes and backslash escape sequences is available.
+The ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes begin and end sequences of
non-printing characters, which can be used to embed a terminal control
sequence into the mode string.
The default is ‘<samp class="samp">(cmd)</samp>’.
<dd><p>If the <var class="var">show-mode-in-prompt</var> 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.
-Use the ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes to begin and end sequences of
+The value is expanded like a key binding, so the standard set of
+meta- and control- prefixes and backslash escape sequences is available.
+The ‘<samp class="samp">\1</samp>’ and ‘<samp class="samp">\2</samp>’ escapes begin and end sequences of
non-printing characters, which can be used to embed a terminal control
sequence into the mode string.
The default is ‘<samp class="samp">(ins)</samp>’.
<dt><a id="index-visible_002dstats"></a><span><code class="code">visible-stats</code><a class="copiable-link" href="#index-visible_002dstats"> ¶</a></span></dt>
<dd><p>If set to ‘<samp class="samp">on</samp>’, a character denoting a file’s type
is appended to the filename when listing possible
-completions. The default is ‘<samp class="samp">off</samp>’.
+completions.
+The default is ‘<samp class="samp">off</samp>’.
</p>
</dd>
</dl>
</dd>
<dt>Key Bindings</dt>
-<dd><p>The syntax for controlling key bindings in the init file is
-simple. First you need to find the name of the command that you
-want to change. The following sections contain tables of the command
+<dd><p>The syntax for controlling key bindings in the init file is simple.
+First you need to find the name of the command that you
+want to change.
+The following sections contain tables of the command
name, the default keybinding, if any, and a short description of what
the command does.
</p>
</p>
<p>In addition to command names, Readline allows keys to be bound
to a string that is inserted when the key is pressed (a <var class="var">macro</var>).
+The difference between a macro and a command is that a macro is
+enclosed in single or double quotes.
</p>
<p>The <code class="code">bind -p</code><!-- /@w --> command displays Readline function names and
bindings in a format that can be put directly into an initialization file.
</p>
<dl class="table">
<dt><var class="var">keyname</var>: <var class="var">function-name</var> or <var class="var">macro</var><!-- /@w --></dt>
-<dd><p><var class="var">keyname</var> is the name of a key spelled out in English. For example:
+<dd><p><var class="var">keyname</var> is the name of a key spelled out in English.
+For example:
</p><div class="example">
<pre class="example-preformatted">Control-u: universal-argument
Meta-Rubout: backward-kill-word
expressed on the right hand side (that is, to insert the text
‘<samp class="samp">> output</samp>’ into the line).
</p>
-<p>A number of symbolic character names are recognized while
-processing this key binding syntax:
+<p>This key binding syntax recognizes a number of symbolic character names:
<var class="var">DEL</var>,
<var class="var">ESC</var>,
<var class="var">ESCAPE</var>,
<dt>"<var class="var">keyseq</var>": <var class="var">function-name</var> or <var class="var">macro</var><!-- /@w --></dt>
<dd><p><var class="var">keyseq</var> differs from <var class="var">keyname</var> above in that strings
denoting an entire key sequence can be specified, by placing
-the key sequence in double quotes. Some <small class="sc">GNU</small> Emacs style key
-escapes can be used, as in the following example, but the
-special character names are not recognized.
+the key sequence in double quotes.
+Some <small class="sc">GNU</small> Emacs style key escapes can be used,
+as in the following example, but none of the
+special character names are recognized.
</p>
<div class="example">
<pre class="example-preformatted">"\C-u": universal-argument
</p>
<dl class="table">
<dt><code class="code"><kbd class="kbd">\C-</kbd></code></dt>
-<dd><p>control prefix
+<dd><p>A control prefix.
</p></dd>
<dt><code class="code"><kbd class="kbd">\M-</kbd></code></dt>
-<dd><p>meta prefix
+<dd><p>Adding the meta prefix or converting the following character to a meta
+character, as described above under <code class="code">force-meta-prefix</code>
+(see <code class="code">Variable Settings</code> in <a class="ref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>).
</p></dd>
<dt><code class="code"><kbd class="kbd">\e</kbd></code></dt>
-<dd><p>an escape character
+<dd><p>An escape character.
</p></dd>
<dt><code class="code"><kbd class="kbd">\\</kbd></code></dt>
-<dd><p>backslash
+<dd><p>Backslash.
</p></dd>
<dt><code class="code"><kbd class="kbd">\"</kbd></code></dt>
-<dd><p><kbd class="key">"</kbd>, a double quotation mark
+<dd><p><kbd class="key">"</kbd>, a double quotation mark.
</p></dd>
<dt><code class="code"><kbd class="kbd">\'</kbd></code></dt>
-<dd><p><kbd class="key">'</kbd>, a single quote or apostrophe
+<dd><p><kbd class="key">'</kbd>, a single quote or apostrophe.
</p></dd>
</dl>
<dd><p>vertical tab
</p></dd>
<dt><code class="code">\<var class="var">nnn</var></code></dt>
-<dd><p>the eight-bit character whose value is the octal value <var class="var">nnn</var>
-(one to three digits)
+<dd><p>The eight-bit character whose value is the octal value <var class="var">nnn</var>
+(one to three digits).
</p></dd>
<dt><code class="code">\x<var class="var">HH</var></code></dt>
-<dd><p>the eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
-(one or two hex digits)
+<dd><p>The eight-bit character whose value is the hexadecimal value <var class="var">HH</var>
+(one or two hex digits).
</p></dd>
</dl>
<p>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 function name.
-In the macro body, the backslash escapes described above are expanded.
+Tthe backslash escapes described above are expanded
+in the macro body.
Backslash will quote any other character in the macro text,
including ‘<samp class="samp">"</samp>’ and ‘<samp class="samp">'</samp>’.
For example, the following binding will make ‘<samp class="samp"><kbd class="kbd">C-x</kbd> \</samp>’
<p>Readline 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 used.
+of tests.
+There are four parser directives available.
</p>
<dl class="table">
<dt><code class="code">$if</code></dt>
<dd><p>The <code class="code">$if</code> construct allows bindings to be made based on the
editing mode, the terminal being used, or the application using
-Readline. The text of the test, after any comparison operator,
+Readline.
+The text of the test, after any comparison operator,
extends to the end of the line;
unless otherwise noted, no characters are required to isolate it.
</p>
<dt><code class="code">term</code></dt>
<dd><p>The <code class="code">term=</code> 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
-‘<samp class="samp">=</samp>’ is tested against both the full name of the terminal and
-the portion of the terminal name before the first ‘<samp class="samp">-</samp>’. This
-allows <code class="code">sun</code> to match both <code class="code">sun</code> and <code class="code">sun-cmd</code>,
-for instance.
+terminal’s function keys.
+The word on the right side of the
+‘<samp class="samp">=</samp>’
+is tested against both the full name of the terminal and the portion
+of the terminal name before the first ‘<samp class="samp">-</samp>’.
+This allows <code class="code">xterm</code> to match both <code class="code">xterm</code> and
+<code class="code">xterm-256color</code>, for instance.
</p>
</dd>
<dt><code class="code">version</code></dt>
and ‘<samp class="samp">></samp>’.
The version number supplied on the right side of the operator consists
of a major version number, an optional decimal point, and an optional
-minor version (e.g., ‘<samp class="samp">7.1</samp>’). If the minor version is omitted, it
-is assumed to be ‘<samp class="samp">0</samp>’.
+minor version (e.g., ‘<samp class="samp">7.1</samp>’).
+If the minor version is omitted, it
+defaults to ‘<samp class="samp">0</samp>’.
The operator may be separated from the string <code class="code">version</code> and
from the version number argument by whitespace.
The following example sets a variable if the Readline version being used
</dd>
<dt><code class="code">application</code></dt>
<dd><p>The <var class="var">application</var> construct is used to include
-application-specific settings. Each program using the Readline
+application-specific settings.
+Each program using the Readline
library sets the <var class="var">application name</var>, and you 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
+a specific program.
+For instance, the following command adds a
key sequence that quotes the current or previous word in Bash:
</p><div class="example">
<pre class="example-preformatted">$if Bash
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.
-Both string and boolean variables may be tested. Boolean variables must be
+String and boolean variables may be tested.
+Boolean variables must be
tested against the values <var class="var">on</var> and <var class="var">off</var>.
The following example is equivalent to the <code class="code">mode=emacs</code> test described
above:
</dd>
</dl>
-</dd>
-<dt><code class="code">$endif</code></dt>
-<dd><p>This command, as seen in the previous example, terminates an
-<code class="code">$if</code> command.
-</p>
</dd>
<dt><code class="code">$else</code></dt>
<dd><p>Commands in this branch of the <code class="code">$if</code> directive are executed if
the test fails.
</p>
</dd>
+<dt><code class="code">$endif</code></dt>
+<dd><p>This command, as seen in the previous example, terminates an
+<code class="code">$if</code> command.
+</p>
+</dd>
<dt><code class="code">$include</code></dt>
<dd><p>This directive takes a single filename as an argument and reads commands
-and bindings from that file.
+and key bindings from that file.
For example, the following directive reads from <samp class="file">/etc/inputrc</samp>:
</p><div class="example">
<pre class="example-preformatted">$include /etc/inputrc
position, and <em class="dfn">mark</em> refers to a cursor position saved by the
<code class="code">set-mark</code> command.
The text between the point and mark is referred to as the <em class="dfn">region</em>.
+Readline has the concept of an <em class="emph">active region</em>:
+when the region is active, Readline redisplay uses the
+value of the <code class="code">active-region-start-color</code> variable
+to denote the region.
+Several commands set the region to active; those are noted below.
</p>
<ul class="mini-toc">
<li><a href="#Commands-For-Moving" accesskey="1">Commands For Moving</a></li>
</dd>
<dt><a id="index-previous_002dscreen_002dline-_0028_0029"></a><span><code class="code">previous-screen-line ()</code><a class="copiable-link" href="#index-previous_002dscreen_002dline-_0028_0029"> ¶</a></span></dt>
<dd><p>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
+physical screen line.
+This will not have the desired effect if the current
Readline 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.
</p>
</dd>
<dt><a id="index-next_002dscreen_002dline-_0028_0029"></a><span><code class="code">next-screen-line ()</code><a class="copiable-link" href="#index-next_002dscreen_002dline-_0028_0029"> ¶</a></span></dt>
<dd><p>Attempt to move point to the same physical screen column on the next
-physical screen line. This will not have the desired effect if the current
+physical screen line.
+This will not have the desired effect if the current
Readline line does not take up more than one physical line or if the length
of the current Readline line is not greater than the length of the prompt
plus the screen width.
</dd>
<dt><a id="index-reverse_002dsearch_002dhistory-_0028C_002dr_0029"></a><span><code class="code">reverse-search-history (C-r)</code><a class="copiable-link" href="#index-reverse_002dsearch_002dhistory-_0028C_002dr_0029"> ¶</a></span></dt>
<dd><p>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 mark.
+the history as necessary.
+This is an incremental search.
+This command sets the region to the matched text and activates the region.
</p>
</dd>
<dt><a id="index-forward_002dsearch_002dhistory-_0028C_002ds_0029"></a><span><code class="code">forward-search-history (C-s)</code><a class="copiable-link" href="#index-forward_002dsearch_002dhistory-_0028C_002ds_0029"> ¶</a></span></dt>
<dd><p>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 mark.
+the history as necessary.
+This is an incremental search.
+This command sets the region to the matched text and activates the region.
</p>
</dd>
<dt><a id="index-non_002dincremental_002dreverse_002dsearch_002dhistory-_0028M_002dp_0029"></a><span><code class="code">non-incremental-reverse-search-history (M-p)</code><a class="copiable-link" href="#index-non_002dincremental_002dreverse_002dsearch_002dhistory-_0028M_002dp_0029"> ¶</a></span></dt>
the second word on the previous line) at point.
With an argument <var class="var">n</var>,
insert the <var class="var">n</var>th word from the previous command (the words
-in the previous command begin with word 0). A negative argument
-inserts the <var class="var">n</var>th word from the end of the previous command.
-Once the argument <var class="var">n</var> is computed, the argument is extracted
-as if the ‘<samp class="samp">!<var class="var">n</var></samp>’ history expansion had been specified.
+in the previous command begin with word 0).
+A negative argument inserts the <var class="var">n</var>th word from the end of
+the previous command.
+Once the argument <var class="var">n</var> is computed,
+this uses the history expansion facilities to extract the
+<var class="var">n</var>th word, as if the
+‘<samp class="samp">!<var class="var">n</var></samp>’ history expansion had been specified.
</p>
</dd>
<dt><a id="index-yank_002dlast_002darg-_0028M_002d_002e-or-M_002d_005f_0029"></a><span><code class="code">yank-last-arg (M-. or M-_)</code><a class="copiable-link" href="#index-yank_002dlast_002darg-_0028M_002d_002e-or-M_002d_005f_0029"> ¶</a></span></dt>
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).
-The history expansion facilities are used to extract the last argument,
-as if the ‘<samp class="samp">!$</samp>’ history expansion had been specified.
+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
+‘<samp class="samp">!$</samp>’ history expansion had been specified.
</p>
</dd>
<dt><a id="index-operate_002dand_002dget_002dnext-_0028C_002do_0029"></a><span><code class="code">operate-and-get-next (C-o)</code><a class="copiable-link" href="#index-operate_002dand_002dget_002dnext-_0028C_002do_0029"> ¶</a></span></dt>
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.
+A numeric argument, if supplied, specifies the history entry
+to use instead of the current line.
</p>
</dd>
<dt><a id="index-fetch_002dhistory-_0028_0029"></a><span><code class="code">fetch-history ()</code><a class="copiable-link" href="#index-fetch_002dhistory-_0028_0029"> ¶</a></span></dt>
<dl class="ftable">
<dt><a id="index-end_002dof_002dfile-_0028usually-C_002dd_0029"></a><span><code class="code"><i class="i">end-of-file</i> (usually C-d)</code><a class="copiable-link" href="#index-end_002dof_002dfile-_0028usually-C_002dd_0029"> ¶</a></span></dt>
<dd><p>The character indicating end-of-file as set, for example, by
-<code class="code">stty</code>. If this character is read when there are no characters
+<code class="code">stty</code>.
+If this character is read when there are no characters
on the line, and point is at the beginning of the line, Readline
interprets it as the end of input and returns <small class="sc">EOF</small>.
</p>
</dd>
<dt><a id="index-delete_002dchar-_0028C_002dd_0029"></a><span><code class="code">delete-char (C-d)</code><a class="copiable-link" href="#index-delete_002dchar-_0028C_002dd_0029"> ¶</a></span></dt>
-<dd><p>Delete the character at point. If this function is bound to the
+<dd><p>Delete the character at point.
+If this function is bound to the
same character as the tty <small class="sc">EOF</small> character, as <kbd class="kbd">C-d</kbd>
commonly is, see above for the effects.
</p>
</dd>
<dt><a id="index-backward_002ddelete_002dchar-_0028Rubout_0029"></a><span><code class="code">backward-delete-char (Rubout)</code><a class="copiable-link" href="#index-backward_002ddelete_002dchar-_0028Rubout_0029"> ¶</a></span></dt>
-<dd><p>Delete the character behind the cursor. A numeric argument means
-to kill the characters instead of deleting them.
+<dd><p>Delete the character behind the cursor.
+A numeric argument means
+to kill the characters, saving them on the kill ring,
+instead of deleting them.
</p>
</dd>
<dt><a id="index-forward_002dbackward_002ddelete_002dchar-_0028_0029"></a><span><code class="code">forward-backward-delete-char ()</code><a class="copiable-link" href="#index-forward_002dbackward_002ddelete_002dchar-_0028_0029"> ¶</a></span></dt>
<dd><p>Delete the character under the cursor, unless the cursor is at the
end of the line, in which case the character behind the cursor is
-deleted. By default, this is not bound to a key.
+deleted.
+By default, this is not bound to a key.
</p>
</dd>
<dt><a id="index-quoted_002dinsert-_0028C_002dq-or-C_002dv_0029"></a><span><code class="code">quoted-insert (C-q or C-v)</code><a class="copiable-link" href="#index-quoted_002dinsert-_0028C_002dq-or-C_002dv_0029"> ¶</a></span></dt>
-<dd><p>Add the next character typed to the line verbatim. This is
-how to insert key sequences like <kbd class="kbd">C-q</kbd>, for example.
+<dd><p>Add the next character typed to the line verbatim.
+This is how to insert key sequences like <kbd class="kbd">C-q</kbd>, for example.
</p>
</dd>
<dt><a id="index-self_002dinsert-_0028a_002c-b_002c-A_002c-1_002c-_0021_002c-_2026_0029"></a><span><code class="code">self-insert (a, b, A, 1, !, …)</code><a class="copiable-link" href="#index-self_002dinsert-_0028a_002c-b_002c-A_002c-1_002c-_0021_002c-_2026_0029"> ¶</a></span></dt>
-<dd><p>Insert yourself.
+<dd><p>Insert the character typed.
</p>
</dd>
<dt><a id="index-bracketed_002dpaste_002dbegin-_0028_0029"></a><span><code class="code">bracketed-paste-begin ()</code><a class="copiable-link" href="#index-bracketed_002dpaste_002dbegin-_0028_0029"> ¶</a></span></dt>
<dd><p>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 Readline to insert the pasted text as a single unit without treating
-each character as if it had been read from the keyboard. The characters
+each character as if it had been read from the keyboard.
+The characters
are inserted as if each one was bound to <code class="code">self-insert</code> instead of
executing any editing commands.
</p>
<p>Bracketed paste sets the region (the characters between point and the mark)
-to the inserted text. It uses the concept of an <em class="emph">active mark</em>: when the
-mark is active, Readline redisplay uses the terminal’s standout mode to
-denote the region.
+to the inserted text.
+It sets the <em class="emph">active region</em>.
</p>
</dd>
<dt><a id="index-transpose_002dchars-_0028C_002dt_0029"></a><span><code class="code">transpose-chars (C-t)</code><a class="copiable-link" href="#index-transpose_002dchars-_0028C_002dt_0029"> ¶</a></span></dt>
<dd><p>Drag the character before the cursor forward over
the character at the cursor, moving the
-cursor forward as well. If the insertion point
+cursor forward as well.
+If the insertion point
is at the end of the line, then this
transposes the last two characters of the line.
Negative arguments have no effect.
</p>
</dd>
<dt><a id="index-upcase_002dword-_0028M_002du_0029"></a><span><code class="code">upcase-word (M-u)</code><a class="copiable-link" href="#index-upcase_002dword-_0028M_002du_0029"> ¶</a></span></dt>
-<dd><p>Uppercase the current (or following) word. With a negative argument,
+<dd><p>Uppercase the current (or following) word.
+With a negative argument,
uppercase the previous word, but do not move the cursor.
</p>
</dd>
<dt><a id="index-downcase_002dword-_0028M_002dl_0029"></a><span><code class="code">downcase-word (M-l)</code><a class="copiable-link" href="#index-downcase_002dword-_0028M_002dl_0029"> ¶</a></span></dt>
-<dd><p>Lowercase the current (or following) word. With a negative argument,
+<dd><p>Lowercase the current (or following) word.
+With a negative argument,
lowercase the previous word, but do not move the cursor.
</p>
</dd>
<dt><a id="index-capitalize_002dword-_0028M_002dc_0029"></a><span><code class="code">capitalize-word (M-c)</code><a class="copiable-link" href="#index-capitalize_002dword-_0028M_002dc_0029"> ¶</a></span></dt>
-<dd><p>Capitalize the current (or following) word. With a negative argument,
+<dd><p>Capitalize the current (or following) word.
+With a negative argument,
capitalize the previous word, but do not move the cursor.
</p>
</dd>
<dt><a id="index-overwrite_002dmode-_0028_0029"></a><span><code class="code">overwrite-mode ()</code><a class="copiable-link" href="#index-overwrite_002dmode-_0028_0029"> ¶</a></span></dt>
-<dd><p>Toggle overwrite mode. With an explicit positive numeric argument,
-switches to overwrite mode. With an explicit non-positive numeric
-argument, switches to insert mode. This command affects only
-<code class="code">emacs</code> mode; <code class="code">vi</code> mode does overwrite differently.
+<dd><p>Toggle overwrite mode.
+With an explicit positive numeric argument, switches to overwrite mode.
+With an explicit non-positive numeric argument, switches to insert mode.
+This command affects only <code class="code">emacs</code> mode;
+<code class="code">vi</code> mode does overwrite differently.
Each call to <code class="code">readline()</code> starts in insert mode.
</p>
<p>In overwrite mode, characters bound to <code class="code">self-insert</code> replace
<dl class="ftable">
<dt><a id="index-kill_002dline-_0028C_002dk_0029"></a><span><code class="code">kill-line (C-k)</code><a class="copiable-link" href="#index-kill_002dline-_0028C_002dk_0029"> ¶</a></span></dt>
-<dd><p>Kill the text from point to the end of the line.
+<dd><p>Kill the text from point to the end of the current line.
With a negative numeric argument, kill backward from the cursor to the
-beginning of the current line.
+beginning of the line.
</p>
</dd>
<dt><a id="index-backward_002dkill_002dline-_0028C_002dx-Rubout_0029"></a><span><code class="code">backward-kill-line (C-x Rubout)</code><a class="copiable-link" href="#index-backward_002dkill_002dline-_0028C_002dx-Rubout_0029"> ¶</a></span></dt>
<dd><p>Kill backward from the cursor to the beginning of the current line.
With a negative numeric argument, kill forward from the cursor to the
-end of the current line.
+end of the line.
</p>
</dd>
<dt><a id="index-unix_002dline_002ddiscard-_0028C_002du_0029"></a><span><code class="code">unix-line-discard (C-u)</code><a class="copiable-link" href="#index-unix_002dline_002ddiscard-_0028C_002du_0029"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-unix_002dword_002drubout-_0028C_002dw_0029"></a><span><code class="code">unix-word-rubout (C-w)</code><a class="copiable-link" href="#index-unix_002dword_002drubout-_0028C_002dw_0029"> ¶</a></span></dt>
-<dd><p>Kill the word behind point, using white space as a word boundary.
-The killed text is saved on the kill-ring.
+<dd><p>Kill the word behind point, using white space as a word boundary,
+saving the killed text on the kill-ring.
</p>
</dd>
<dt><a id="index-unix_002dfilename_002drubout-_0028_0029"></a><span><code class="code">unix-filename-rubout ()</code><a class="copiable-link" href="#index-unix_002dfilename_002drubout-_0028_0029"> ¶</a></span></dt>
<dd><p>Kill the word behind point, using white space and the slash character
-as the word boundaries.
-The killed text is saved on the kill-ring.
+as the word boundaries,
+saving the killed text on the kill-ring.
</p>
</dd>
<dt><a id="index-delete_002dhorizontal_002dspace-_0028_0029"></a><span><code class="code">delete-horizontal-space ()</code><a class="copiable-link" href="#index-delete_002dhorizontal_002dspace-_0028_0029"> ¶</a></span></dt>
-<dd><p>Delete all spaces and tabs around point. By default, this is unbound.
+<dd><p>Delete all spaces and tabs around point.
+By default, this is unbound.
</p>
</dd>
<dt><a id="index-kill_002dregion-_0028_0029"></a><span><code class="code">kill-region ()</code><a class="copiable-link" href="#index-kill_002dregion-_0028_0029"> ¶</a></span></dt>
</dd>
<dt><a id="index-copy_002dregion_002das_002dkill-_0028_0029"></a><span><code class="code">copy-region-as-kill ()</code><a class="copiable-link" href="#index-copy_002dregion_002das_002dkill-_0028_0029"> ¶</a></span></dt>
<dd><p>Copy the text in the region to the kill buffer, so it can be yanked
-right away. By default, this command is unbound.
+right away.
+By default, this command is unbound.
</p>
</dd>
<dt><a id="index-copy_002dbackward_002dword-_0028_0029"></a><span><code class="code">copy-backward-word ()</code><a class="copiable-link" href="#index-copy_002dbackward_002dword-_0028_0029"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-yank_002dpop-_0028M_002dy_0029"></a><span><code class="code">yank-pop (M-y)</code><a class="copiable-link" href="#index-yank_002dpop-_0028M_002dy_0029"> ¶</a></span></dt>
-<dd><p>Rotate the kill-ring, and yank the new top. You can only do this if
+<dd><p>Rotate the kill-ring, and yank the new top.
+You can only do this if
the prior command is <code class="code">yank</code> or <code class="code">yank-pop</code>.
</p></dd>
</dl>
<dl class="ftable">
<dt><a id="index-digit_002dargument-_0028M_002d0_002c-M_002d1_002c-_2026-M_002d_002d_0029"></a><span><code class="code">digit-argument (<kbd class="kbd">M-0</kbd>, <kbd class="kbd">M-1</kbd>, … <kbd class="kbd">M--</kbd>)</code><a class="copiable-link" href="#index-digit_002dargument-_0028M_002d0_002c-M_002d1_002c-_2026-M_002d_002d_0029"> ¶</a></span></dt>
<dd><p>Add this digit to the argument already accumulating, or start a new
-argument. <kbd class="kbd">M--</kbd> starts a negative argument.
+argument.
+<kbd class="kbd">M--</kbd> starts a negative argument.
</p>
</dd>
<dt><a id="index-universal_002dargument-_0028_0029"></a><span><code class="code">universal-argument ()</code><a class="copiable-link" href="#index-universal_002dargument-_0028_0029"> ¶</a></span></dt>
<dt><a id="index-complete-_0028TAB_0029"></a><span><code class="code">complete (<kbd class="key">TAB</kbd>)</code><a class="copiable-link" href="#index-complete-_0028TAB_0029"> ¶</a></span></dt>
<dd><p>Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
-Bash attempts completion treating the text as a variable (if the
-text begins with ‘<samp class="samp">$</samp>’), username (if the text begins with
-‘<samp class="samp">~</samp>’), hostname (if the text begins with ‘<samp class="samp">@</samp>’), or
-command (including aliases and functions) in turn. If none
-of these produces a match, filename completion is attempted.
+Bash attempts completion by first checking for any programmable
+completions for the command word (see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>),
+otherwise treating the text as a
+variable (if the text begins with ‘<samp class="samp">$</samp>’),
+username (if the text begins with ‘<samp class="samp">~</samp>’),
+hostname (if the text begins with ‘<samp class="samp">@</samp>’), or
+command (including aliases, functions, and builtins) in turn.
+If none of these produces a match, it falls back to filename completion.
</p>
</dd>
<dt><a id="index-possible_002dcompletions-_0028M_002d_003f_0029"></a><span><code class="code">possible-completions (M-?)</code><a class="copiable-link" href="#index-possible_002dcompletions-_0028M_002d_003f_0029"> ¶</a></span></dt>
</dd>
<dt><a id="index-insert_002dcompletions-_0028M_002d_002a_0029"></a><span><code class="code">insert-completions (M-*)</code><a class="copiable-link" href="#index-insert_002dcompletions-_0028M_002d_002a_0029"> ¶</a></span></dt>
<dd><p>Insert all completions of the text before point that would have
-been generated by <code class="code">possible-completions</code>.
+been generated by <code class="code">possible-completions</code>,
+separated by a space.
</p>
</dd>
<dt><a id="index-menu_002dcomplete-_0028_0029"></a><span><code class="code">menu-complete ()</code><a class="copiable-link" href="#index-menu_002dcomplete-_0028_0029"> ¶</a></span></dt>
<dd><p>Similar to <code class="code">complete</code>, but replaces the word to be completed
with a single match from the list of possible completions.
-Repeated execution of <code class="code">menu-complete</code> steps through the list
+Repeatedly executing <code class="code">menu-complete</code> steps through the list
of possible completions, inserting each match in turn.
-At the end of the list of completions, the bell is rung
+At the end of the list of completions,
+<code class="code">menu-complete</code> rings the bell
(subject to the setting of <code class="code">bell-style</code>)
-and the original text is restored.
+and restores the original text.
An argument of <var class="var">n</var> moves <var class="var">n</var> positions forward in the list
-of matches; a negative argument may be used to move backward
-through the list.
+of matches; a negative argument moves backward through the list.
This command is intended to be bound to <kbd class="key">TAB</kbd>, but is unbound
by default.
</p>
<dd><p>Identical to <code class="code">menu-complete</code>, but moves backward through the list
of possible completions, as if <code class="code">menu-complete</code> had been given a
negative argument.
+This command is unbound by default.
</p>
</dd>
<dt><a id="index-delete_002dchar_002dor_002dlist-_0028_0029"></a><span><code class="code">delete-char-or-list ()</code><a class="copiable-link" href="#index-delete_002dchar_002dor_002dlist-_0028_0029"> ¶</a></span></dt>
<dd><p>Deletes the character under the cursor if not at the beginning or
end of the line (like <code class="code">delete-char</code>).
-If at the end of the line, behaves identically to
-<code class="code">possible-completions</code>.
+At the end of the line, it behaves identically to <code class="code">possible-completions</code>.
This command is unbound by default.
</p>
</dd>
</dd>
<dt><a id="index-complete_002dcommand-_0028M_002d_0021_0029"></a><span><code class="code">complete-command (M-!)</code><a class="copiable-link" href="#index-complete_002dcommand-_0028M_002d_0021_0029"> ¶</a></span></dt>
<dd><p>Attempt completion on the text before point, treating
-it as a command name. Command completion attempts to
+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.
</dd>
<dt><a id="index-dynamic_002dcomplete_002dhistory-_0028M_002dTAB_0029"></a><span><code class="code">dynamic-complete-history (M-<kbd class="key">TAB</kbd>)</code><a class="copiable-link" href="#index-dynamic_002dcomplete_002dhistory-_0028M_002dTAB_0029"> ¶</a></span></dt>
<dd><p>Attempt completion on the text before point, comparing
-the text against lines from the history list for possible
+the text against history list entries for possible
completion matches.
</p>
</dd>
</p>
</dd>
<dt><a id="index-prefix_002dmeta-_0028ESC_0029"></a><span><code class="code">prefix-meta (<kbd class="key">ESC</kbd>)</code><a class="copiable-link" href="#index-prefix_002dmeta-_0028ESC_0029"> ¶</a></span></dt>
-<dd><p>Metafy the next character typed. This is for keyboards
-without a meta key. Typing ‘<samp class="samp"><kbd class="key">ESC</kbd> f</samp>’ is equivalent to typing
-<kbd class="kbd">M-f</kbd>.
+<dd><p>Metafy the next character typed.
+Typing ‘<samp class="samp"><kbd class="key">ESC</kbd> f</samp>’ is equivalent to typing <kbd class="kbd">M-f</kbd>.
</p>
</dd>
<dt><a id="index-undo-_0028C_002d_005f-or-C_002dx-C_002du_0029"></a><span><code class="code">undo (C-_ or C-x C-u)</code><a class="copiable-link" href="#index-undo-_0028C_002d_005f-or-C_002dx-C_002du_0029"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-revert_002dline-_0028M_002dr_0029"></a><span><code class="code">revert-line (M-r)</code><a class="copiable-link" href="#index-revert_002dline-_0028M_002dr_0029"> ¶</a></span></dt>
-<dd><p>Undo all changes made to this line. This is like executing the <code class="code">undo</code>
-command enough times to get back to the beginning.
+<dd><p>Undo all changes made to this line.
+This is like executing the <code class="code">undo</code>
+command enough times to get back to the initial state.
</p>
</dd>
<dt><a id="index-tilde_002dexpand-_0028M_002d_0026_0029"></a><span><code class="code">tilde-expand (M-&)</code><a class="copiable-link" href="#index-tilde_002dexpand-_0028M_002d_0026_0029"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-set_002dmark-_0028C_002d_0040_0029"></a><span><code class="code">set-mark (C-@)</code><a class="copiable-link" href="#index-set_002dmark-_0028C_002d_0040_0029"> ¶</a></span></dt>
-<dd><p>Set the mark to the point. If a
-numeric argument is supplied, the mark is set to that position.
+<dd><p>Set the mark to the point.
+If a numeric argument is supplied, set the mark to that position.
</p>
</dd>
<dt><a id="index-exchange_002dpoint_002dand_002dmark-_0028C_002dx-C_002dx_0029"></a><span><code class="code">exchange-point-and-mark (C-x C-x)</code><a class="copiable-link" href="#index-exchange_002dpoint_002dand_002dmark-_0028C_002dx-C_002dx_0029"> ¶</a></span></dt>
-<dd><p>Swap the point with the mark. The current cursor position is set to
-the saved position, and the old cursor position is saved as the mark.
+<dd><p>Swap the point with the mark.
+Set the current cursor position to the saved position,
+then set the mark to the old cursor position.
</p>
</dd>
<dt><a id="index-character_002dsearch-_0028C_002d_005d_0029"></a><span><code class="code">character-search (C-])</code><a class="copiable-link" href="#index-character_002dsearch-_0028C_002d_005d_0029"> ¶</a></span></dt>
-<dd><p>A character is read and point is moved to the next occurrence of that
-character. A negative argument searches for previous occurrences.
+<dd><p>Read a character and move point to the next occurrence of that character.
+A negative argument searches for previous occurrences.
</p>
</dd>
<dt><a id="index-character_002dsearch_002dbackward-_0028M_002dC_002d_005d_0029"></a><span><code class="code">character-search-backward (M-C-])</code><a class="copiable-link" href="#index-character_002dsearch_002dbackward-_0028M_002dC_002d_005d_0029"> ¶</a></span></dt>
-<dd><p>A character is read and point is moved to the previous occurrence
-of that character. A negative argument searches for subsequent
-occurrences.
+<dd><p>Read a character and move point to the previous occurrence of that character.
+A negative argument searches for subsequent occurrences.
</p>
</dd>
<dt><a id="index-skip_002dcsi_002dsequence-_0028_0029"></a><span><code class="code">skip-csi-sequence ()</code><a class="copiable-link" href="#index-skip_002dcsi_002dsequence-_0028_0029"> ¶</a></span></dt>
<dd><p>Read enough characters to consume a multi-key sequence such as those
-defined for keys like Home and End. Such sequences begin with a
-Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
-bound to "\e[", keys producing such sequences will have no effect
+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 Readline command, instead of inserting
-stray characters into the editing buffer. This is unbound by default,
-but usually bound to ESC-[.
+stray characters into the editing buffer.
+This is unbound by default, but usually bound to ESC-[.
</p>
</dd>
<dt><a id="index-insert_002dcomment-_0028M_002d_0023_0029"></a><span><code class="code">insert-comment (M-#)</code><a class="copiable-link" href="#index-insert_002dcomment-_0028M_002d_0023_0029"> ¶</a></span></dt>
-<dd><p>Without a numeric argument, the value of the <code class="code">comment-begin</code>
-variable is inserted at the beginning of the current line.
+<dd><p>Without a numeric argument, insert the value of the <code class="code">comment-begin</code>
+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 <code class="code">comment-begin</code>, the value is inserted, otherwise
-the characters in <code class="code">comment-begin</code> are deleted from the beginning of
-the line.
+of <code class="code">comment-begin</code>, insert the value; otherwise delete
+the characters in <code class="code">comment-begin</code> from the beginning of the line.
In either case, the line is accepted as if a newline had been typed.
The default value of <code class="code">comment-begin</code> causes this command
to make the current line a shell comment.
</p>
</dd>
<dt><a id="index-dump_002dfunctions-_0028_0029"></a><span><code class="code">dump-functions ()</code><a class="copiable-link" href="#index-dump_002dfunctions-_0028_0029"> ¶</a></span></dt>
-<dd><p>Print all of the functions and their key bindings to the
-Readline output stream. If a numeric argument is supplied,
+<dd><p>Print all of the functions and their key bindings
+to the Readline output stream.
+If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
-of an <var class="var">inputrc</var> file. This command is unbound by default.
+of an <var class="var">inputrc</var> file.
+This command is unbound by default.
</p>
</dd>
<dt><a id="index-dump_002dvariables-_0028_0029"></a><span><code class="code">dump-variables ()</code><a class="copiable-link" href="#index-dump_002dvariables-_0028_0029"> ¶</a></span></dt>
-<dd><p>Print all of the settable variables and their values to the
-Readline output stream. If a numeric argument is supplied,
+<dd><p>Print all of the settable variables and their values
+to the Readline output stream.
+If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
-of an <var class="var">inputrc</var> file. This command is unbound by default.
+of an <var class="var">inputrc</var> file.
+This command is unbound by default.
</p>
</dd>
<dt><a id="index-dump_002dmacros-_0028_0029"></a><span><code class="code">dump-macros ()</code><a class="copiable-link" href="#index-dump_002dmacros-_0028_0029"> ¶</a></span></dt>
<dd><p>Print all of the Readline key sequences bound to macros and the
-strings they output. If a numeric argument is supplied,
+strings they output
+to the Readline output stream.
+If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
-of an <var class="var">inputrc</var> file. This command is unbound by default.
+of an <var class="var">inputrc</var> file.
+This command is unbound by default.
+</p>
+</dd>
+<dt><a id="index-execute_002dnamed_002dcommand-_0028M_002dx_0029"></a><span><code class="code">execute-named-command (M-x)</code><a class="copiable-link" href="#index-execute_002dnamed_002dcommand-_0028M_002dx_0029"> ¶</a></span></dt>
+<dd><p>Read a bindable readline 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 supplied with a numeric argument, it passes that
+argument to the function it executes.
</p>
</dd>
<dt><a id="index-spell_002dcorrect_002dword-_0028C_002dx-s_0029"></a><span><code class="code">spell-correct-word (C-x s)</code><a class="copiable-link" href="#index-spell_002dcorrect_002dword-_0028C_002dx-s_0029"> ¶</a></span></dt>
</p>
</dd>
<dt><a id="index-glob_002dcomplete_002dword-_0028M_002dg_0029"></a><span><code class="code">glob-complete-word (M-g)</code><a class="copiable-link" href="#index-glob_002dcomplete_002dword-_0028M_002dg_0029"> ¶</a></span></dt>
-<dd><p>The word before point is treated as a pattern for pathname expansion,
-with an asterisk implicitly appended. This pattern is used to
+<dd><p>Treat the word before point as a pattern for pathname expansion,
+with an asterisk implicitly appended, then use the pattern to
generate a list of matching file names for possible completions.
</p>
</dd>
<dt><a id="index-glob_002dexpand_002dword-_0028C_002dx-_002a_0029"></a><span><code class="code">glob-expand-word (C-x *)</code><a class="copiable-link" href="#index-glob_002dexpand_002dword-_0028C_002dx-_002a_0029"> ¶</a></span></dt>
-<dd><p>The word before point is treated as a pattern for pathname expansion,
-and the list of matching file names is inserted, replacing the word.
-If a numeric argument is supplied, a ‘<samp class="samp">*</samp>’ is appended before
+<dd><p>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 ‘<samp class="samp">*</samp>’ before
pathname expansion.
</p>
</dd>
<dt><a id="index-glob_002dlist_002dexpansions-_0028C_002dx-g_0029"></a><span><code class="code">glob-list-expansions (C-x g)</code><a class="copiable-link" href="#index-glob_002dlist_002dexpansions-_0028C_002dx-g_0029"> ¶</a></span></dt>
-<dd><p>The list of expansions that would have been generated by
-<code class="code">glob-expand-word</code> is displayed, and the line is redrawn.
-If a numeric argument is supplied, a ‘<samp class="samp">*</samp>’ is appended before
+<dd><p>Display the list of expansions that would have been generated by
+<code class="code">glob-expand-word</code>, and redisplay the line.
+If a numeric argument is supplied, append a ‘<samp class="samp">*</samp>’ before
pathname expansion.
</p>
</dd>
-<dt><a id="index-display_002dshell_002dversion-_0028C_002dx-C_002dv_0029"></a><span><code class="code">display-shell-version (C-x C-v)</code><a class="copiable-link" href="#index-display_002dshell_002dversion-_0028C_002dx-C_002dv_0029"> ¶</a></span></dt>
-<dd><p>Display version information about the current instance of Bash.
-</p>
-</dd>
<dt><a id="index-shell_002dexpand_002dline-_0028M_002dC_002de_0029"></a><span><code class="code">shell-expand-line (M-C-e)</code><a class="copiable-link" href="#index-shell_002dexpand_002dline-_0028M_002dC_002de_0029"> ¶</a></span></dt>
<dd><p>Expand the line by performing shell word expansions.
This performs alias and history expansion,
<code class="code">$VISUAL</code>, <code class="code">$EDITOR</code>, and <code class="code">emacs</code>
as the editor, in that order.
</p>
-
-
</dd>
-<dt><a id="index-execute_002dnamed_002dcommand-_0028M_002dx_0029"></a><span><code class="code">execute-named-command (M-x)</code><a class="copiable-link" href="#index-execute_002dnamed_002dcommand-_0028M_002dx_0029"> ¶</a></span></dt>
-<dd><p>Read a bindable readline 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 supplied with a numeric argument, it passes that
-argument to the function it executes.
+<dt><a id="index-display_002dshell_002dversion-_0028C_002dx-C_002dv_0029"></a><span><code class="code">display-shell-version (C-x C-v)</code><a class="copiable-link" href="#index-display_002dshell_002dversion-_0028C_002dx-C_002dv_0029"> ¶</a></span></dt>
+<dd><p>Display version information about the current instance of Bash.
</p>
+
+
</dd>
</dl>
<p>While the Readline library does not have a full set of <code class="code">vi</code>
editing functions, it does contain enough to allow simple editing
-of the line. The Readline <code class="code">vi</code> mode behaves as specified in
-the <small class="sc">POSIX</small> standard.
-</p>
-<p>In order to switch interactively between <code class="code">emacs</code> and <code class="code">vi</code>
-editing modes, use the ‘<samp class="samp">set -o emacs</samp>’ and ‘<samp class="samp">set -o vi</samp>’
-commands (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+of the line.
+The Readline <code class="code">vi</code> mode behaves as specified in the
+<code class="code">sh</code> description in the <small class="sc">POSIX</small> standard.
+</p>
+<p>You can use the ‘<samp class="samp">set -o emacs</samp>’ and ‘<samp class="samp">set -o vi</samp>’
+commands (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>)
+to switch interactively between <code class="code">emacs</code> and <code class="code">vi</code>
+editing modes,
The Readline default is <code class="code">emacs</code> mode.
</p>
<p>When you enter a line in <code class="code">vi</code> mode, you are already placed in
<h3 class="section" id="Programmable-Completion-1"><span>8.6 Programmable Completion<a class="copiable-link" href="#Programmable-Completion-1"> ¶</a></span></h3>
<a class="index-entry-id" id="index-programmable-completion"></a>
-<p>When word completion is attempted for an argument to a command for
-which a completion specification (a <var class="var">compspec</var>) has been defined
+<p>When the user attempts word completion for an argument to a command for
+which a completion specification (a <em class="dfn">compspec</em>) has been defined
using the <code class="code">complete</code> builtin (see <a class="pxref" href="#Programmable-Completion-Builtins">Programmable Completion Builtins</a>),
-the programmable completion facilities are invoked.
+\fBreadline\fP invokes the programmable completion facilities.
</p>
-<p>First, the command name is identified.
+<p>First, Bash identifies the command name.
If a compspec has been defined 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), any compspec defined with
-the <samp class="option">-E</samp> option to <code class="code">complete</code> is used.
-If the command word is a full pathname, a compspec for the full
-pathname is searched for first.
-If no compspec is found for the full pathname, an attempt is made to
+beginning of an empty line), Bash uses any compspec defined with
+the <samp class="option">-E</samp> option to <code class="code">complete</code>.
+If the command word is a full pathname, Bash
+searches for a compspec for the full pathname first.
+If there is no compspec for the full pathname, Bash 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 <samp class="option">-D</samp> option to <code class="code">complete</code> is used as the default.
If there is no default compspec, Bash 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
+for the command word from any successful expansion.
</p>
-<p>Once a compspec has been found, it is used to generate the list of
-matching words.
-If a compspec is not found, the default Bash completion
-described above (see <a class="pxref" href="#Commands-For-Completion">Letting Readline Type For You</a>) is performed.
+<p>If a compspec is not found, Bash performs its default completion
+described above (see <a class="pxref" href="#Commands-For-Completion">Letting Readline Type For You</a>).
+Otherwise, once a compspec has been found, Bash uses it to generate
+the list of matching words.
</p>
-<p>First, the actions specified by the compspec are used.
+<p>First, Bash performs the <var class="var">actions</var> specified by the compspec.
Only matches which are prefixed by the word being completed are
returned.
When the <samp class="option">-f</samp> or <samp class="option">-d</samp> option is used for filename or
-directory name completion, the shell variable <code class="env">FIGNORE</code> is
-used to filter the matches.
+directory name completion, Bash uses shell the variable <code class="env">FIGNORE</code>
+to filter the matches.
See <a class="xref" href="#Bash-Variables">Bash Variables</a>, for a description of <code class="env">FIGNORE</code>.
</p>
<p>Any completions specified by a filename expansion pattern to the
<samp class="option">-G</samp> option are generated next.
The words generated by the pattern need not match the word being completed.
-The <code class="env">GLOBIGNORE</code> shell variable is not used to filter the matches,
-but the <code class="env">FIGNORE</code> shell variable is used.
+Bash uses the <code class="env">FIGNORE</code>
+variable to filter the matches, but does not use the
+<code class="env">GLOBIGNORE</code> shell variable.
</p>
-<p>Next, the string specified as the argument to the <samp class="option">-W</samp> option
-is considered.
+<p>Next, completion considers
+the string specified as the argument to the <samp class="option">-W</samp> option.
The string is first split using the characters in the <code class="env">IFS</code>
special variable as delimiters.
Shell quoting is honored within the string, in order to provide a
The results are split using the rules described above
(see <a class="pxref" href="#Word-Splitting">Word Splitting</a>).
The results of the expansion are prefix-matched against the word being
-completed, and the matching words become the possible completions.
+completed, and the matching words become possible completions.
</p>
-<p>After these matches have been generated, any shell function or command
-specified with the <samp class="option">-F</samp> and <samp class="option">-C</samp> options is invoked.
+<p>After these matches have been generated,
+Bash executes any shell function or command
+any shell function or command
+specified with the <samp class="option">-F</samp> and <samp class="option">-C</samp> options.
When the command or function is invoked, the <code class="env">COMP_LINE</code>,
<code class="env">COMP_POINT</code>, <code class="env">COMP_KEY</code>, and <code class="env">COMP_TYPE</code> variables are
assigned values as described above (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
If a shell function is being invoked, the <code class="env">COMP_WORDS</code> and
<code class="env">COMP_CWORD</code> variables are also set.
-When the function or command is invoked, the first argument ($1) is the
-name of the command whose arguments are being completed, the
-second argument ($2) is the word being completed, and the third argument
-($3) is the word preceding the word being completed on the current command
-line.
-No filtering of the generated completions against the word being completed
-is performed; the function or command has complete freedom in generating
-the matches.
+When the function or command is invoked,
+the first argument ($1) is the name of the command whose arguments
+are being completed,
+the second argument ($2) is the word being completed,
+and the third argument ($3) 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 function or command has complete freedom in generating the matches.
</p>
<p>Any function specified with <samp class="option">-F</samp> is invoked first.
The function may use any of the shell facilities, including the
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.
</p>
<p>After all of the possible completions are generated, any filter
specified with the <samp class="option">-X</samp> option is applied to the list.
</p>
<p>Finally, any prefix and suffix specified with the <samp class="option">-P</samp> and <samp class="option">-S</samp>
options are added to each member of the completion list, and the result is
-returned to the Readline completion code as the list of possible
-completions.
+returned to Readline as the list of possible completions.
</p>
<p>If the previously-applied actions do not generate any matches, and the
<samp class="option">-o dirnames</samp> option was supplied to <code class="code">complete</code> when the
-compspec was defined, directory name completion is attempted.
+compspec was defined, Bash attempts directory name completion.
</p>
<p>If the <samp class="option">-o plusdirs</samp> option was supplied to <code class="code">complete</code> when
-the compspec was defined, directory name completion is attempted and any
-matches are added to the results of the other actions.
+the compspec was defined, Bash attempts directory name completion
+and adds any matches to the set of possible completions.
</p>
<p>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 Bash completions are not attempted, and the Readline default
-of filename completion is disabled.
+The default Bash completions and the Readline default
+of filename completion are disabled.
If the <samp class="option">-o bashdefault</samp> option was supplied to <code class="code">complete</code> when
-the compspec was defined, the default Bash completions are attempted
-if the compspec generates no matches.
+the compspec was defined, if the compspec generates no matches,
+Bash attempts its default completions.
If the <samp class="option">-o default</samp> option was supplied to <code class="code">complete</code> when the
-compspec was defined, Readline’s default completion will be performed
+compspec was defined, programmable completion will perform
+Readline’s default completion
if the compspec (and, if attempted, the default Bash completions)
generate no matches.
</p>
the value of the <var class="var">mark-directories</var> Readline variable, regardless
of the setting of the <var class="var">mark-symlinked-directories</var> Readline variable.
</p>
-<p>There is some support for dynamically modifying completions. This is
-most useful when used in combination with a default completion specified
-with <samp class="option">-D</samp>. It’s possible for shell functions executed as completion
-handlers to indicate that completion should be retried by returning an
-exit status of 124. If a shell function returns 124, and changes
+<p>There is some support for dynamically modifying completions.
+This is most useful when used in combination with a default completion
+specified with <samp class="option">-D</samp>.
+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 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 than
-being loaded all at once.
+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.
</p>
<p>For instance, assuming that there is a library of compspecs, each kept in a
file corresponding to the name of the command, the following default
completion code had generated them directly from a completion specification
with the same flags.
If <var class="var">word</var> is specified, only those completions matching <var class="var">word</var>
-will be displayed.
+will be displayed or stored.
</p>
<p>The return value is true unless an invalid option is supplied, or no
matches were generated.
</pre></div>
<p>Specify how arguments to each <var class="var">name</var> should be completed.
-If the <samp class="option">-p</samp> option is supplied, or if no options or <var class="var">name</var>s
-are supplied, existing
-completion specifications are printed in a way that allows them to be
-reused as input.
+</p>
+<p>If the <samp class="option">-p</samp> option is supplied, or if no options or <var class="var">name</var>s
+are supplied, print existing completion specifications
+in a way that allows them to be reused as input.
The <samp class="option">-r</samp> option removes a completion specification for
each <var class="var">name</var>, or, if no <var class="var">name</var>s are supplied, all
completion specifications.
-The <samp class="option">-D</samp> option indicates that other supplied options and actions should
+</p>
+<p>The <samp class="option">-D</samp> option indicates that other supplied options and actions should
apply to the “default” command completion; that is, completion attempted
on a command for which no completion has previously been defined.
The <samp class="option">-E</samp> option indicates that other supplied options and actions should
should be quoted to protect them from expansion before the
<code class="code">complete</code> builtin is invoked.
</p>
-
<dl class="table">
<dt><code class="code">-o <var class="var">comp-option</var></code></dt>
<dd><p>The <var class="var">comp-option</var> controls several aspects of the compspec’s behavior
</p>
</dd>
<dt><code class="code">filenames</code></dt>
-<dd><p>Tell Readline that the compspec generates filenames, so it can perform any
-filename-specific processing (like adding a slash to directory names,
+<dd><p>Tell Readline that the compspec generates filenames, so it can perform
+any filename-specific processing (such as adding a slash to directory names,
quoting special characters, or suppressing trailing spaces).
This option is intended to be used with shell functions specified
with <samp class="option">-F</samp>.
</p>
</dd>
<dt><code class="code">plusdirs</code></dt>
-<dd><p>After any matches defined by the compspec are generated,
-directory name completion is attempted and any
-matches are added to the results of the other actions.
-</p>
-</dd>
+<dd><p>After generating any matches defined by the compspec,
+attempt directory name completion and add any
+matches to the results of the other actions.
+</p></dd>
</dl>
</dd>
</p>
<dl class="table">
<dt><code class="code">alias</code></dt>
-<dd><p>Alias names. May also be specified as <samp class="option">-a</samp>.
+<dd><p>Alias names.
+May also be specified as <samp class="option">-a</samp>.
</p>
</dd>
<dt><code class="code">arrayvar</code></dt>
</p>
</dd>
<dt><code class="code">builtin</code></dt>
-<dd><p>Names of shell builtin commands. May also be specified as <samp class="option">-b</samp>.
+<dd><p>Names of shell builtin commands.
+May also be specified as <samp class="option">-b</samp>.
</p>
</dd>
<dt><code class="code">command</code></dt>
-<dd><p>Command names. May also be specified as <samp class="option">-c</samp>.
+<dd><p>Command names.
+May also be specified as <samp class="option">-c</samp>.
</p>
</dd>
<dt><code class="code">directory</code></dt>
-<dd><p>Directory names. May also be specified as <samp class="option">-d</samp>.
+<dd><p>Directory names.
+May also be specified as <samp class="option">-d</samp>.
</p>
</dd>
<dt><code class="code">disabled</code></dt>
</p>
</dd>
<dt><code class="code">export</code></dt>
-<dd><p>Names of exported shell variables. May also be specified as <samp class="option">-e</samp>.
+<dd><p>Names of exported shell variables.
+May also be specified as <samp class="option">-e</samp>.
</p>
</dd>
<dt><code class="code">file</code></dt>
-<dd><p>File names. May also be specified as <samp class="option">-f</samp>.
+<dd><p>File names.
+May also be specified as <samp class="option">-f</samp>.
</p>
</dd>
<dt><code class="code">function</code></dt>
</p>
</dd>
<dt><code class="code">group</code></dt>
-<dd><p>Group names. May also be specified as <samp class="option">-g</samp>.
+<dd><p>Group names.
+May also be specified as <samp class="option">-g</samp>.
</p>
</dd>
<dt><code class="code">helptopic</code></dt>
</p>
</dd>
<dt><code class="code">job</code></dt>
-<dd><p>Job names, if job control is active. May also be specified as <samp class="option">-j</samp>.
+<dd><p>Job names, if job control is active.
+May also be specified as <samp class="option">-j</samp>.
</p>
</dd>
<dt><code class="code">keyword</code></dt>
-<dd><p>Shell reserved words. May also be specified as <samp class="option">-k</samp>.
+<dd><p>Shell reserved words.
+May also be specified as <samp class="option">-k</samp>.
</p>
</dd>
<dt><code class="code">running</code></dt>
</p>
</dd>
<dt><code class="code">service</code></dt>
-<dd><p>Service names. May also be specified as <samp class="option">-s</samp>.
+<dd><p>Service names.
+May also be specified as <samp class="option">-s</samp>.
</p>
</dd>
<dt><code class="code">setopt</code></dt>
</p>
</dd>
<dt><code class="code">user</code></dt>
-<dd><p>User names. May also be specified as <samp class="option">-u</samp>.
+<dd><p>User names.
+May also be specified as <samp class="option">-u</samp>.
</p>
</dd>
<dt><code class="code">variable</code></dt>
-<dd><p>Names of all shell variables. May also be specified as <samp class="option">-v</samp>.
+<dd><p>Names of all shell variables.
+May also be specified as <samp class="option">-v</samp>.
</p></dd>
</dl>
<dt><code class="code">-F <var class="var">function</var></code></dt>
<dd><p>The shell function <var class="var">function</var> is executed in the current shell
environment.
-When it is executed, $1 is the name of the command whose arguments are
-being completed, $2 is the word being completed, and $3 is the word
-preceding the word being completed, as described above
-(see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
-When it finishes, the possible completions are retrieved from the value
+When it is executed,
+the first argument ($1) is the name of the command whose arguments are
+being completed,
+the second argument ($2) is the word being completed, and
+the third argument ($3) is the word preceding the word being completed,
+as described above (see <a class="pxref" href="#Programmable-Completion">Programmable Completion</a>).
+When <code class="code">function</code> finishes,
+programmable completion retrieves
+the possible completions from the value
of the <code class="env">COMPREPLY</code> array variable.
</p>
</dd>
<dt><code class="code">-G <var class="var">globpat</var></code></dt>
-<dd><p>The filename expansion pattern <var class="var">globpat</var> is expanded to generate
+<dd><p>Expand the filename expansion pattern <var class="var">globpat</var> to generate
the possible completions.
</p>
</dd>
<dt><code class="code">-P <var class="var">prefix</var></code></dt>
-<dd><p><var class="var">prefix</var> is added at the beginning of each possible completion
+<dd><p>Add <var class="var">prefix</var> to the beginning of each possible completion
after all other options have been applied.
</p>
</dd>
<dt><code class="code">-S <var class="var">suffix</var></code></dt>
-<dd><p><var class="var">suffix</var> is appended to each possible completion
+<dd><p>Append <var class="var">suffix</var> to each possible completion
after all other options have been applied.
</p>
</dd>
<dt><code class="code">-W <var class="var">wordlist</var></code></dt>
-<dd><p>The <var class="var">wordlist</var> is split using the characters in the
-<code class="env">IFS</code> special variable as delimiters, and each resultant word
-is expanded.
+<dd><p>Split the <var class="var">wordlist</var> using the characters in the
+<code class="env">IFS</code> special variable as delimiters, and expand
+each resulting word.
+Shell quoting is honored within <var class="var">wordlist</var>
+in order to provide a
+mechanism for the words to contain shell metacharacters or characters
+in the value of <code class="env">IFS</code>.
The possible completions are the members of the resultant list which
-match the word being completed.
+match a prefix of the word being completed.
</p>
</dd>
<dt><code class="code">-X <var class="var">filterpat</var></code></dt>
<var class="var">name</var> or the current completion.
The possible values of <var class="var">option</var> are those valid for the <code class="code">complete</code>
builtin described above.
-The <samp class="option">-D</samp> option indicates that other supplied options should
-apply to the “default” command completion; that is, completion attempted
-on a command for which no completion has previously been defined.
-The <samp class="option">-E</samp> option indicates that other supplied options should
-apply to “empty” command completion; that is, completion attempted on a
-blank line.
-The <samp class="option">-I</samp> option indicates that other supplied options should
-apply to completion on the initial non-assignment word on the line, or after a
-command delimiter such as ‘<samp class="samp">;</samp>’ or ‘<samp class="samp">|</samp>’, which is usually command
-name completion.
+</p>
+<p>The <samp class="option">-D</samp> option indicates that other supplied options should
+apply to the “default” command completion;
+the <samp class="option">-E</samp> option indicates that other supplied options should
+apply to “empty” command completion; and
+the <samp class="option">-I</samp> option indicates that other supplied options should
+apply to completion on the initial word on the line.
+These are determined in the same way as the \fBcomplete\fP builtin.
</p>
<p>If multiple options are supplied, the <samp class="option">-D</samp> option takes precedence
over <samp class="option">-E</samp>, and both take precedence over <samp class="option">-I</samp>
<p>The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a <var class="var">name</var> for which no completion
specification exists, or an output error occurs.
-</p>
-</dd>
+</p></dd>
</dl>
<hr>
</p>
<p>The following function provides completions for the <code class="code">cd</code> builtin.
It is a reasonably good example of what shell functions must do when
-used for completion. This function uses the word passed as <code class="code">$2</code>
-to determine the directory name to complete. You can also use the
+used for completion.
+This function uses the word passed as <code class="code">$2</code> to determine the
+directory name to complete.
+You can also use the
<code class="code">COMP_WORDS</code> array variable; the current word is indexed by the
<code class="code">COMP_CWORD</code> variable.
</p>
<code class="code">compgen</code> prints the possible completions it generates one per line.
</p>
<p>Possible completions go into the <var class="var">COMPREPLY</var> array variable, one
-completion per array element. The programmable completion system retrieves
+completion per array element.
+The programmable completion system retrieves
the completions from there when the function returns.
</p>
<div class="example">
via <var class="var">CDPATH</var>: Readline can’t tell those completions are directories).
The <samp class="option">-o nospace</samp> option tells Readline to not append a space
character to the directory name, in case we want to append to it.
-The <samp class="option">-o bashdefault</samp> option brings in the rest of the "Bash default"
+The <samp class="option">-o bashdefault</samp> option brings in the rest of the “Bash default”
completions – possible completions that Bash adds to the default Readline
set.
These include things like command name completion, variable completion
the shell provides access to the <em class="dfn">command history</em>,
the list of commands previously typed.
The value of the <code class="env">HISTSIZE</code> shell variable is used as the
-number of commands to save in a history list.
-The text of the last <code class="env">$HISTSIZE</code>
-commands (default 500) is saved.
+number of commands to save in a history list:
+the shell saves the text of the last <code class="env">$HISTSIZE</code>
+commands (default 500).
The shell stores each command in the history list prior to
parameter and variable expansion
but after history expansion is performed, subject to the
values of the shell variables
<code class="env">HISTIGNORE</code> and <code class="env">HISTCONTROL</code>.
</p>
-<p>When the shell starts up, the history is initialized from the
+<p>When the shell starts up, Bash initializes the history list
+by reading history entries from the
file named by the <code class="env">HISTFILE</code> variable (default <samp class="file">~/.bash_history</samp>).
-The file named by the value of <code class="env">HISTFILE</code> is truncated, if
-necessary, to contain no more than the number of lines specified by
-the value of the <code class="env">HISTFILESIZE</code> variable.
-When a shell with history enabled exits, the last
-<code class="env">$HISTSIZE</code> lines are copied from the history list to the file
+This is referred to as the <em class="dfn">history file</em>.
+The history file is truncated, if necessary,
+to contain no more than the number of history entries
+specified by the value of the <code class="env">HISTFILESIZE</code> variable.
+If <code class="env">HISTFILESIZE</code> is unset, or set to null, a non-numeric value,
+or a numeric value less than zero, the history file is not truncated.
+</p>
+<p>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.
+These timestamps are optionally displayed depending on the value of the
+<code class="env">HISTTIMEFORMAT</code> variable (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
+When present, history timestamps delimit history entries, making
+multi-line entries possible.
+</p>
+<p>When a shell with history enabled exits, Bash copies the last
+<code class="env">$HISTSIZE</code> entries from the history list to the file
named by <code class="env">$HISTFILE</code>.
If the <code class="code">histappend</code> shell option is set (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>),
-the lines are appended to the history file,
-otherwise the history file is overwritten.
+Bash appends the entries to the history file,
+otherwise it overwrites the history file.
If <code class="env">HISTFILE</code> is unset or null,
or if the history file is unwritable, the history is not saved.
-After saving the history, the history file is truncated
-to contain no more than <code class="env">$HISTFILESIZE</code> lines.
-If <code class="env">HISTFILESIZE</code> is unset, or set to null, a non-numeric value, or
-a numeric value less than zero, the history file is not truncated.
-</p>
-<p>If the <code class="env">HISTTIMEFORMAT</code> is set, the time stamp information
-associated with each history entry is written to the history file,
-marked with the history comment character.
-When the history file is read, lines beginning with the history
-comment character followed immediately by a digit are interpreted
-as timestamps for the following history entry.
-</p>
-<p>The <code class="code">fc</code> builtin command may be used to list or edit and re-execute
-a portion of the history list.
-The <code class="code">history</code> builtin may be used to display or modify the history
-list and manipulate the history file.
+After saving the history, Bash truncates the history file
+to contain no more than <code class="env">$HISTFILESIZE</code>
+lines as described above.
+</p>
+<p>If the <code class="env">HISTTIMEFORMAT</code>
+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.
+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.
+As above, when using <code class="env">HISTTIMEFORMAT</code>,
+the timestamps delimit multi-line history entries.
+</p>
+<p>The <code class="code">fc</code> builtin command will list or edit and re-execute a
+portion of the history list.
+The <code class="code">history</code> builtin can display or
+modify the history list and manipulate the history file.
When using command-line editing, search commands
are available in each editing mode that provide access to the
-history list (see <a class="pxref" href="#Commands-For-History">Commands For Manipulating The History</a>).
+history list (see <a class="pxref" href="#Commands-For-History">Commands For Manipulating The History</a>).
</p>
-<p>The shell allows control over which commands are saved on the history
-list.
+<p>The shell allows control over which commands are saved on the history list.
The <code class="env">HISTCONTROL</code> and <code class="env">HISTIGNORE</code>
-variables are used to cause the shell to save only a subset of the
-commands entered.
-The <code class="code">cmdhist</code>
-shell option, if enabled, causes the shell to attempt to save each
+variables are used to save only a subset of the commands entered.
+If the <code class="code">cmdhist</code> shell option is
+enabled, 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 <code class="code">lithist</code>
-shell option causes the shell to save the command with embedded newlines
-instead of semicolons.
+shell option modifies <code class="code">cmdhist</code> by saving
+the command with embedded newlines instead of semicolons.
The <code class="code">shopt</code> builtin is used to set these options.
See <a class="xref" href="#The-Shopt-Builtin">The Shopt Builtin</a>, for a description of <code class="code">shopt</code>.
</p>
<code class="code">fc -s [<var class="var">pat</var>=<var class="var">rep</var>] [<var class="var">command</var>]</code>
</pre></div>
-<p>The first form selects a range of commands from <var class="var">first</var> to
-<var class="var">last</var> from the history list and displays or edits and re-executes
-them.
+<p>The first form selects a range of commands from
+<var class="var">first</var> to <var class="var">last</var>
+from the history list and displays or edits and re-executes them.
Both <var class="var">first</var> and
<var class="var">last</var> may be specified as a string (to locate the most recent
command beginning with that string) or as a number (an index into the
otherwise 0 is equivalent to -1 and -0 is invalid.
</p>
<p>If <var class="var">last</var> is not specified, it is set to
-<var class="var">first</var>. If <var class="var">first</var> is not specified, it is set to the previous
-command for editing and −16 for listing. If the <samp class="option">-l</samp> flag is
-given, the commands are listed on standard output. The <samp class="option">-n</samp> flag
-suppresses the command numbers when listing. The <samp class="option">-r</samp> flag
-reverses the order of the listing. Otherwise, the editor given by
-<var class="var">ename</var> is invoked on a file containing those commands. If
-<var class="var">ename</var> is not given, the value of the following variable expansion
-is used: <code class="code">${FCEDIT:-${EDITOR:-vi}}</code>. This says to use the
+the current command for listing and to <var class="var">first</var> otherwise.
+If <var class="var">first</var> is not specified, it is set to the previous
+command for editing and −16 for listing.
+</p>
+<p>If the <samp class="option">-l</samp> flag is supplied,
+the commands are listed on standard output.
+The <samp class="option">-n</samp> flag suppresses the command numbers when listing.
+The <samp class="option">-r</samp> flag reverses the order of the listing.
+</p>
+<p>Otherwise, <code class="code">fc</code> invokes the editor named by
+<var class="var">ename</var> on a file containing those commands.
+If <var class="var">ename</var> is not supplied, <code class="code">fc</code> uses the value of the following
+variable expansion: <code class="code">${FCEDIT:-${EDITOR:-vi}}</code>.
+This says to use the
value of the <code class="env">FCEDIT</code> variable if set, or the value of the
<code class="env">EDITOR</code> variable if that is set, or <code class="code">vi</code> if neither is set.
-When editing is complete, the edited commands are echoed and executed.
+When editing is complete, <code class="code">fc</code> reads the file of edited commands
+and echoes and executes them.
</p>
-<p>In the second form, <var class="var">command</var> is re-executed after each instance
-of <var class="var">pat</var> in the selected command is replaced by <var class="var">rep</var>.
+<p>In the second form, <code class="code">fc</code> re-executes <var class="var">command</var> after
+replacing each instance of <var class="var">pat</var> in the selected command with <var class="var">rep</var>.
<var class="var">command</var> is interpreted the same as <var class="var">first</var> above.
</p>
<p>A useful alias to use with the <code class="code">fc</code> command is <code class="code">r='fc -s'</code>, so
that typing ‘<samp class="samp">r cc</samp>’ runs the last command beginning with <code class="code">cc</code>
and typing ‘<samp class="samp">r</samp>’ re-executes the last command (see <a class="pxref" href="#Aliases">Aliases</a>).
</p>
+<p>If the first form is used, the return value is zero unless an invalid
+option is encountered or <var class="var">first</var> or <var class="var">last</var>
+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 executed
+or failure if an error occurs with the temporary file.
+If the second form is used, the return status
+is that of the re-executed command, unless
+<var class="var">command</var> does not specify a valid history entry, in which case
+<code class="code">fc</code> returns a non-zero status.
+</p>
</dd>
<dt><a id="index-history"></a><span><code class="code">history</code><a class="copiable-link" href="#index-history"> ¶</a></span></dt>
<dd><div class="example">
history -ps <var class="var">arg</var>
</pre></div>
-<p>With no options, display the history list with line numbers.
-Lines prefixed with a ‘<samp class="samp">*</samp>’ have been modified.
-An argument of <var class="var">n</var> lists only the last <var class="var">n</var> lines.
+<p>With no options, display the history list with numbers.
+Entries prefixed with a ‘<samp class="samp">*</samp>’ have been modified.
+An argument of <var class="var">n</var> lists only the last <var class="var">n</var> entries.
If the shell variable <code class="env">HISTTIMEFORMAT</code> is set and not null,
it is used as a format string for <code class="code">strftime</code>(3) to display
the time stamp associated with each displayed history entry.
-No intervening blank is printed between the formatted time stamp
-and the history line.
+If <code class="code">history</code> uses <code class="env">HISTTIMEFORMAT</code>, it does not print an
+intervening space between the formatted time stamp and the history entry.
</p>
<p>Options, if supplied, have the following meanings:
</p>
<dl class="table">
<dt><code class="code">-c</code></dt>
-<dd><p>Clear the history list. This may be combined
-with the other options to replace the history list completely.
+<dd><p>Clear the history list.
+This may be combined with the other options to replace the history list.
</p>
</dd>
<dt><code class="code">-d <var class="var">offset</var></code></dt>
</p>
</dd>
<dt><code class="code">-a</code></dt>
-<dd><p>Append the new history lines to the history file.
+<dd><p>Append the "new" history lines to the history file.
These are history lines entered since the beginning of the current
Bash session, but not already appended to the history file.
</p>
</dd>
<dt><code class="code">-n</code></dt>
-<dd><p>Append the history lines not already read from the history file
-to the current history list. These are lines appended to the history
+<dd><p>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 Bash session.
</p>
</dd>
<dt><code class="code">-r</code></dt>
-<dd><p>Read the history file and append its contents to
-the history list.
+<dd><p>Read the history file and append its contents to the history list.
</p>
</dd>
<dt><code class="code">-w</code></dt>
-<dd><p>Write out the current history list to the history file.
+<dd><p>Write the current history list to the history file, overwriting
+the history file.
</p>
</dd>
<dt><code class="code">-p</code></dt>
</p>
</dd>
<dt><code class="code">-s</code></dt>
-<dd><p>The <var class="var">arg</var>s are added to the end of
-the history list as a single entry.
+<dd><p>Add the <var class="var">arg</var>s to the end of the history list as a single entry.
+The last command in the history list is removed before adding the <var class="var">arg</var>s.
</p>
</dd>
</dl>
<p>If a <var class="var">filename</var> argument is supplied
-when any of the <samp class="option">-w</samp>, <samp class="option">-r</samp>, <samp class="option">-a</samp>, or <samp class="option">-n</samp> options
-is used, Bash uses <var class="var">filename</var> as the history file.
-If not, then the value of the <code class="env">HISTFILE</code> variable is used.
+with any of the <samp class="option">-w</samp>, <samp class="option">-r</samp>, <samp class="option">-a</samp>, or <samp class="option">-n</samp>
+options, Bash uses <var class="var">filename</var> as the history file.
+If not, it uses the value of the <code class="env">HISTFILE</code> variable.
If <code class="env">HISTFILE</code> is unset or null, these options have no effect.
</p>
+<p>If the <code class="env">HISTTIMEFORMAT</code>
+variable is set, <code class="code">history</code> writes the time stamp information
+associated with each history entry to the history file,
+marked with the history comment character as described 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.
+</p>
<p>The return value is 0 unless an invalid option is encountered, an
error occurs while reading or writing the history file, an invalid
<var class="var">offset</var> or range is supplied as an argument to <samp class="option">-d</samp>, or the
<h3 class="section" id="History-Expansion"><span>9.3 History Expansion<a class="copiable-link" href="#History-Expansion"> ¶</a></span></h3>
<a class="index-entry-id" id="index-history-expansion"></a>
-<p>The History library provides a history expansion feature that is similar
-to the history expansion provided by <code class="code">csh</code>. This section
-describes the syntax used to manipulate the history information.
+<p>The shell
+provides a history expansion feature that is similar
+to the history expansion provided by <code class="code">csh</code>
+(also referred to as history substitution where appropriate).
+This section describes the syntax used to manipulate the
+history information.
+</p>
+<p>History expansion is enabled by default for interactive shells,
+and can be disabled using the <samp class="option">+H</samp> option to the <code class="code">set</code>
+builtin command (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+Non-interactive shells do not perform history expansion by default,
+but it can be enabled with <code class="code">set -H</code>.
</p>
<p>History expansions introduce words from the history list into
the input stream, making it easy to repeat commands, insert the
</p>
<p>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. Bash attempts to inform the history
+on each line individually.
+Bash attempts to inform the history
expansion functions about quoting still in effect from previous lines.
</p>
-<p>History expansion takes place in two parts. The first is to determine
-which line from the history list should be used during substitution.
-The second is to select portions of that line for inclusion into the
+<p>History expansion takes place in two parts.
+The first is to determine
+which entry from the history list should be used during substitution.
+The second is to select portions of that entry to include into the
current one.
</p>
-<p>The line selected from the history is called the <em class="dfn">event</em>,
-and the portions of that line that are acted upon are called <em class="dfn">words</em>.
-The line is broken into words in the same fashion
-that Bash does, so that several words
-surrounded by quotes are considered one word.
+<p>The entry selected from the history is called the <em class="dfn">event</em>,
+and the portions of that entry that are acted upon are <em class="dfn">words</em>.
+Various <em class="dfn">modifiers</em> are available to manipulate the selected words.
+The entry is split into words in the same fashion that Bash
+does when reading input,
+so that several words surrounded by quotes are considered one word.
The <em class="dfn">event designator</em> selects the event, the optional
<em class="dfn">word designator</em> selects words from the event, and
various optional <em class="dfn">modifiers</em> are available to manipulate the
also treated as quoted if it immediately precedes the closing double quote
in a double-quoted string.
</p>
+<p>Several characters inhibit history expansion if found immediately
+following the history expansion character, even if it is unquoted:
+space, tab, newline, carriage return, ‘<samp class="samp">=</samp>’,
+and the other shell metacharacters.
+</p>
<p>There is a special abbreviation for substitution, active when the
-<var class="var">quick substitution</var> character (default ‘<samp class="samp">^</samp>’)
+<var class="var">quick substitution</var> character
+(described above under <code class="code">histchars</code>)
is the first character on the line.
It selects the previous history list entry, using an event designator
equivalent to <code class="code">!!</code>,
-and substitutes one string for another in that line.
+and substitutes one string for another in that entry.
It is described below (see <a class="pxref" href="#Event-Designators">Event Designators</a>).
This is the only history expansion that does not begin with the history
expansion character.
</p>
<p>Several shell options settable with the <code class="code">shopt</code>
-builtin (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>) may be used to tailor
-the behavior of history expansion. If the
-<code class="code">histverify</code> shell option is enabled, and Readline
+builtin (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>)
+will modify history expansion behavior
+If the <code class="code">histverify</code> shell option is enabled, and Readline
is being used, history substitutions are not immediately passed to
the shell parser.
Instead, the expanded line is reloaded into the Readline
editing buffer for further modification.
If Readline is being used, and the <code class="code">histreedit</code>
-shell option is enabled, a failed history expansion will be
+shell option is enabled, a failed history expansion is
reloaded into the Readline editing buffer for correction.
-The <samp class="option">-p</samp> option to the <code class="code">history</code> builtin command
-may be used to see what a history expansion will do before using it.
+</p>
+<p>The <samp class="option">-p</samp> option to the <code class="code">history</code> builtin command
+shows what a history expansion will do before using it.
The <samp class="option">-s</samp> option to the <code class="code">history</code> builtin may be used to
add commands to the end of the history list without actually executing
them, so that they are available for subsequent recall.
</p>
<p>The shell allows control of the various characters used by the
history expansion mechanism with the <code class="code">histchars</code> variable,
-as explained above (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>). The shell uses
-the history comment character to mark history timestamps when
-writing the history file.
+as explained above (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
+The shell uses the history comment character to mark history
+timestamps when writing the history file.
</p>
<ul class="mini-toc">
<h4 class="subsection" id="Event-Designators-1"><span>9.3.1 Event Designators<a class="copiable-link" href="#Event-Designators-1"> ¶</a></span></h4>
<a class="index-entry-id" id="index-event-designators"></a>
-<p>An event designator is a reference to a command line entry in the
-history list.
-Unless the reference is absolute, events are relative to the current
-position in the history list.
+<p>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 one is present, or the end of the word.
+Unless the reference is absolute, events are relative to the current
+position in the history list.
<a class="index-entry-id" id="index-history-events"></a>
</p>
<dl class="table">
</p>
</dd>
<dt><code class="code">!<var class="var">n</var></code></dt>
-<dd><p>Refer to command line <var class="var">n</var>.
+<dd><p>Refer to history list entry <var class="var">n</var>.
</p>
</dd>
<dt><code class="code">!-<var class="var">n</var></code></dt>
-<dd><p>Refer to the command <var class="var">n</var> lines back.
+<dd><p>Refer to the history entry minus <var class="var">n</var>.
</p>
</dd>
<dt><code class="code">!!</code></dt>
-<dd><p>Refer to the previous command. This is a synonym for ‘<samp class="samp">!-1</samp>’.
+<dd><p>Refer to the previous entry.
+This is a synonym for ‘<samp class="samp">!-1</samp>’.
</p>
</dd>
<dt><code class="code">!<var class="var">string</var></code></dt>
The trailing
‘<samp class="samp">?</samp>’ may be omitted if the <var class="var">string</var> is followed immediately by
a newline.
-If <var class="var">string</var> is missing, the string from the most recent search is used;
+If <var class="var">string</var> is missing, this uses
+the string from the most recent search;
it is an error if there is no previous search string.
</p>
</dd>
<dt><code class="code">^<var class="var">string1</var>^<var class="var">string2</var>^</code></dt>
-<dd><p>Quick Substitution. Repeat the last command, replacing <var class="var">string1</var>
-with <var class="var">string2</var>. Equivalent to
-<code class="code">!!:s^<var class="var">string1</var>^<var class="var">string2</var>^</code>.
+<dd><p>Quick Substitution.
+Repeat the last command, replacing <var class="var">string1</var> with <var class="var">string2</var>.
+Equivalent to <code class="code">!!:s^<var class="var">string1</var>^<var class="var">string2</var>^</code>.
</p>
</dd>
<dt><code class="code">!#</code></dt>
<p>Word designators are used to select desired words from the event.
They are optional; if the word designator isn’t supplied, the history
expansion uses the entire event.
-A ‘<samp class="samp">:</samp>’ separates the event specification from the word designator. It
-may be omitted if the word designator begins with a ‘<samp class="samp">^</samp>’, ‘<samp class="samp">$</samp>’,
-‘<samp class="samp">*</samp>’, ‘<samp class="samp">-</samp>’, or ‘<samp class="samp">%</samp>’. Words are numbered from the beginning
-of the line, with the first word being denoted by 0 (zero). Words are
-inserted into the current line separated by single spaces.
+A ‘<samp class="samp">:</samp>’ separates the event specification from the word designator.
+It may be omitted if the word designator begins with a ‘<samp class="samp">^</samp>’, ‘<samp class="samp">$</samp>’,
+‘<samp class="samp">*</samp>’, ‘<samp class="samp">-</samp>’, or ‘<samp class="samp">%</samp>’.
+Words are numbered from the beginning of the line,
+with the first word being denoted by 0 (zero).
+Words are inserted into the current line separated by single spaces.
</p>
<p>For example,
</p>
<dl class="table">
<dt><code class="code">!!</code></dt>
-<dd><p>designates the preceding command. When you type this, the preceding
-command is repeated in toto.
+<dd><p>designates the preceding command.
+When you type this, the preceding command is repeated in toto.
</p>
</dd>
<dt><code class="code">!!:$</code></dt>
-<dd><p>designates the last argument of the preceding command. This may be
-shortened to <code class="code">!$</code>.
+<dd><p>designates the last argument of the preceding command.
+This may be shortened to <code class="code">!$</code>.
</p>
</dd>
<dt><code class="code">!fi:2</code></dt>
</dl>
<p>Here are the word designators:
-</p>
+</p>
<dl class="table">
<dt><code class="code">0 (zero)</code></dt>
-<dd><p>The <code class="code">0</code>th word. For many applications, this is the command word.
+<dd><p>The <code class="code">0</code>th word.
+For the shell, and many other, applications, this is the command word.
</p>
</dd>
<dt><code class="code"><var class="var">n</var></code></dt>
</p>
</dd>
<dt><code class="code">^</code></dt>
-<dd><p>The first argument; that is, word 1.
+<dd><p>The first argument: word 1.
</p>
</dd>
<dt><code class="code">$</code></dt>
-<dd><p>The last argument.
+<dd><p>The last word.
+This is usually the last argument, but will expand to the
+zeroth word if there is only one word in the line.
</p>
</dd>
<dt><code class="code">%</code></dt>
</p>
</dd>
<dt><code class="code">*</code></dt>
-<dd><p>All of the words, except the <code class="code">0</code>th. This is a synonym for ‘<samp class="samp">1-$</samp>’.
+<dd><p>All of the words, except the <code class="code">0</code>th.
+This is a synonym for ‘<samp class="samp">1-$</samp>’.
It is not an error to use ‘<samp class="samp">*</samp>’ if there is just one word in the event;
-the empty string is returned in that case.
+it expands to the empty string in that case.
</p>
</dd>
<dt><code class="code"><var class="var">x</var>*</code></dt>
-<dd><p>Abbreviates ‘<samp class="samp"><var class="var">x</var>-$</samp>’
+<dd><p>Abbreviates ‘<samp class="samp"><var class="var">x</var>-$</samp>’.
</p>
</dd>
<dt><code class="code"><var class="var">x</var>-</code></dt>
</dl>
<p>If a word designator is supplied without an event specification, the
-previous command is used as the event.
+previous command is used as the event, equivalent to <code class="code">!!</code>.
</p>
<hr>
</div>
</p>
<dl class="table">
<dt><code class="code">h</code></dt>
-<dd><p>Remove a trailing pathname component, leaving only the head.
+<dd><p>Remove a trailing filename component, leaving only the head.
</p>
</dd>
<dt><code class="code">t</code></dt>
-<dd><p>Remove all leading pathname components, leaving the tail.
+<dd><p>Remove all leading filename components, leaving the tail.
</p>
</dd>
<dt><code class="code">r</code></dt>
<dt><code class="code">x</code></dt>
<dd><p>Quote the substituted words as with ‘<samp class="samp">q</samp>’,
but break into words at spaces, tabs, and newlines.
-The ‘<samp class="samp">q</samp>’ and ‘<samp class="samp">x</samp>’ modifiers are mutually exclusive; the last one
-supplied is used.
+The ‘<samp class="samp">q</samp>’ and ‘<samp class="samp">x</samp>’ modifiers are mutually exclusive;
+expansion uses the last one supplied.
</p>
</dd>
<dt><code class="code">s/<var class="var">old</var>/<var class="var">new</var>/</code></dt>
event line.
Any character may be used as the delimiter in place of ‘<samp class="samp">/</samp>’.
The delimiter may be quoted in <var class="var">old</var> and <var class="var">new</var>
-with a single backslash. If ‘<samp class="samp">&</samp>’ appears in <var class="var">new</var>,
-it is replaced by <var class="var">old</var>. A single backslash will quote
-the ‘<samp class="samp">&</samp>’.
+with a single backslash.
+If ‘<samp class="samp">&</samp>’ appears in <var class="var">new</var>, it is replaced with <var class="var">old</var>.
+A single backslash will quote the ‘<samp class="samp">&</samp>’ in <var class="var">old</var> and <var class="var">new</var>.
If <var class="var">old</var> is null, it is set to the last <var class="var">old</var>
substituted, or, if no previous history substitutions took place,
the last <var class="var">string</var>
</dd>
<dt><code class="code">g</code></dt>
<dt><code class="code">a</code></dt>
-<dd><p>Cause changes to be applied over the entire event line. Used in
-conjunction with ‘<samp class="samp">s</samp>’, as in <code class="code">gs/<var class="var">old</var>/<var class="var">new</var>/</code>,
+<dd><p>Cause changes to be applied over the entire event line.
+This is used in conjunction with
+‘<samp class="samp">s</samp>’, as in <code class="code">gs/<var class="var">old</var>/<var class="var">new</var>/</code>,
or with ‘<samp class="samp">&</samp>’.
</p>
</dd>
<h2 class="chapter" id="Installing-Bash-1"><span>10 Installing Bash<a class="copiable-link" href="#Installing-Bash-1"> ¶</a></span></h2>
<p>This chapter provides basic instructions for installing Bash on
-the various supported platforms. The distribution supports the
+the various supported platforms.
+The distribution supports the
<small class="sc">GNU</small> operating systems, nearly every version of Unix, and several
non-Unix systems such as BeOS and Interix.
-Other independent ports exist for
-<small class="sc">MS-DOS</small>, <small class="sc">OS/2</small>, and Windows platforms.
+Other independent ports exist for Windows platforms.
</p>
<ul class="mini-toc">
</p>
<ol class="enumerate">
<li> <code class="code">cd</code> to the directory containing the source code and type
-‘<samp class="samp">./configure</samp>’ to configure Bash for your system. If you’re
-using <code class="code">csh</code> on an old version of System V, you might need to
-type ‘<samp class="samp">sh ./configure</samp>’ instead to prevent <code class="code">csh</code> from trying
-to execute <code class="code">configure</code> itself.
+‘<samp class="samp">./configure</samp>’ to configure Bash for your system.
+If you’re using <code class="code">csh</code> on an old version of System V, you might
+need to type ‘<samp class="samp">sh ./configure</samp>’ instead to prevent <code class="code">csh</code>
+from trying to execute <code class="code">configure</code> itself.
<p>Running <code class="code">configure</code> takes some time.
While running, it prints messages telling which features it is
builtin commands, and a set of header files for developing loadable
builtins.
You may need additional privileges to install <code class="code">bash</code> to your
-desired destination, so ‘<samp class="samp">sudo make install</samp>’ might be required.
+desired destination, which may require ‘<samp class="samp">sudo make install</samp>’.
More information about controlling the locations where <code class="code">bash</code> and
other files are installed is below (see <a class="pxref" href="#Installation-Names">Installation Names</a>).
</li></ol>
<p>The <code class="code">configure</code> shell script attempts to guess correct
-values for various system-dependent variables used during
-compilation. It uses those values to create a <samp class="file">Makefile</samp> in
+values for various system-dependent variables used during compilation.
+It uses those values to create a <samp class="file">Makefile</samp> in
each directory of the package (the top directory, the
<samp class="file">builtins</samp>, <samp class="file">doc</samp>, <samp class="file">po</samp>, and <samp class="file">support</samp> directories,
-each directory under <samp class="file">lib</samp>, and several others). It also creates a
+each directory under <samp class="file">lib</samp>, and several others).
+It also creates a
<samp class="file">config.h</samp> file containing system-dependent definitions.
Finally, it creates a shell script named <code class="code">config.status</code> that you
can run in the future to recreate the current configuration, a
</p>
<p>If you want to build Bash in a directory separate from the source
directory – to build for multiple architectures, for example –
-just use the full path to the configure script. The following commands
+just use the full path to the configure script.
+The following commands
will build Bash in a directory under <samp class="file">/usr/local/build</samp> from
the source code in <samp class="file">/usr/local/src/bash-4.4</samp>:
</p>
newer.
</p>
<p>You can remove the program binaries and object files from the
-source code directory by typing ‘<samp class="samp">make clean</samp>’. To also remove the
+source code directory by typing ‘<samp class="samp">make clean</samp>’.
+To also remove the
files that <code class="code">configure</code> created (so you can compile Bash for
a different kind of computer), type ‘<samp class="samp">make distclean</samp>’.
</p>
<h3 class="section" id="Compilers-and-Options-1"><span>10.2 Compilers and Options<a class="copiable-link" href="#Compilers-and-Options-1"> ¶</a></span></h3>
<p>Some systems require unusual options for compilation or linking
-that the <code class="code">configure</code> script does not know about. You can
-give <code class="code">configure</code> initial values for variables by setting
-them in the environment. Using a Bourne-compatible shell, you
-can do that on the command line like this:
+that the <code class="code">configure</code> script does not know about.
+You can give <code class="code">configure</code> initial values for variables by setting
+them in the environment.
+Using a Bourne-compatible shell, you can do that on the command line
+like this:
</p>
<div class="example">
<pre class="example-preformatted">CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
<p>You can compile Bash for more than one kind of computer at the
same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of <code class="code">make</code> that
+own directory.
+To do this, you must use a version of <code class="code">make</code> that
supports the <code class="code">VPATH</code> variable, such as GNU <code class="code">make</code>.
<code class="code">cd</code> to the
directory where you want the object files and executables to go and run
the <code class="code">configure</code> script from the source directory
(see <a class="pxref" href="#Basic-Installation">Basic Installation</a>).
You may need to
-supply the <samp class="option">--srcdir=PATH</samp> argument to tell <code class="code">configure</code> where the
-source files are. <code class="code">configure</code> automatically checks for the
+supply the <samp class="option">--srcdir=PATH</samp> argument to tell <code class="code">configure</code>
+where the source files are.
+<code class="code">configure</code> automatically checks for the
source code in the directory that <code class="code">configure</code> is in and in ‘..’.
</p>
<p>If you have to use a <code class="code">make</code> that does not support the <code class="code">VPATH</code>
variable, you can compile Bash for one architecture at a
-time in the source code directory. After you have installed
+time in the source code directory.
+After you have installed
Bash for one architecture, use ‘<samp class="samp">make distclean</samp>’ before
reconfiguring for another architecture.
</p>
<p>Alternatively, if your system supports symbolic links, you can use the
<samp class="file">support/mkclone</samp> script to create a build tree which has
-symbolic links back to each file in the source directory. Here’s an
+symbolic links back to each file in the source directory.
+Here’s an
example that creates a build directory in the current directory from a
source directory <samp class="file">/usr/gnu/src/bash-2.0</samp>:
</p>
</p>
<p>If you want to see the files Bash will install and where it will install
them without changing anything on your system, specify the variable
-<code class="env">DESTDIR</code> as an argument to <code class="code">make</code>. Its value should be the
-absolute directory path you’d like to use as the root of your sample
-installation tree. For example,
+<code class="env">DESTDIR</code> as an argument to <code class="code">make</code>.
+Its value should be the absolute directory path you’d like to use as the
+root of your sample installation tree.
+For example,
</p>
<div class="example">
<pre class="example-preformatted">mkdir /fs1/bash-install
<p>There may be some features <code class="code">configure</code> can not figure out
automatically, but needs to determine by the type of host Bash
-will run on. Usually <code class="code">configure</code> can figure that
+will run on.
+Usually <code class="code">configure</code> can figure that
out, but if it prints a message saying it can not guess the host
-type, give it the <samp class="option">--host=TYPE</samp> option. ‘<samp class="samp">TYPE</samp>’ can
+type, give it the <samp class="option">--host=TYPE</samp> option.
+‘<samp class="samp">TYPE</samp>’ can
either be a short name for the system type, such as ‘<samp class="samp">sun4</samp>’,
or a canonical name with three fields: ‘<samp class="samp">CPU-COMPANY-SYSTEM</samp>’
(e.g., ‘<samp class="samp">i386-unknown-freebsd4.2</samp>’).
<p>If you want to set default values for <code class="code">configure</code> scripts to
share, you can create a site shell script called
<code class="code">config.site</code> that gives default values for variables like
-<code class="code">CC</code>, <code class="code">cache_file</code>, and <code class="code">prefix</code>. <code class="code">configure</code>
+<code class="code">CC</code>, <code class="code">cache_file</code>, and <code class="code">prefix</code>.
+<code class="code">configure</code>
looks for <samp class="file">PREFIX/share/config.site</samp> if it exists, then
-<samp class="file">PREFIX/etc/config.site</samp> if it exists. Or, you can set the
+<samp class="file">PREFIX/etc/config.site</samp> if it exists.
+Or, you can set the
<code class="code">CONFIG_SITE</code> environment variable to the location of the site
-script. A warning: the Bash <code class="code">configure</code> looks for a site script,
+script.
+A warning: the Bash <code class="code">configure</code> looks for a site script,
but not all <code class="code">configure</code> scripts do.
</p>
<hr>
<dl class="table">
<dt><code class="code">--cache-file=<var class="var">file</var></code></dt>
<dd><p>Use and save the results of the tests in
-<var class="var">file</var> instead of <samp class="file">./config.cache</samp>. Set <var class="var">file</var> to
-<samp class="file">/dev/null</samp> to disable caching, for debugging
-<code class="code">configure</code>.
+<var class="var">file</var> instead of <samp class="file">./config.cache</samp>.
+Set <var class="var">file</var> to <samp class="file">/dev/null</samp> to disable caching,
+for debugging <code class="code">configure</code>.
</p>
</dd>
<dt><code class="code">--help</code></dt>
</p>
</dd>
<dt><code class="code">--srcdir=<var class="var">dir</var></code></dt>
-<dd><p>Look for the Bash source code in directory <var class="var">dir</var>. Usually
-<code class="code">configure</code> can determine that directory automatically.
+<dd><p>Look for the Bash source code in directory <var class="var">dir</var>.
+Usually <code class="code">configure</code> can determine that directory automatically.
</p>
</dd>
<dt><code class="code">--version</code></dt>
</dl>
<p><code class="code">configure</code> also accepts some other, not widely used, boilerplate
-options. ‘<samp class="samp">configure --help</samp>’ prints the complete list.
+options.
+‘<samp class="samp">configure --help</samp>’ prints the complete list.
</p>
<hr>
</div>
<p>The Bash <code class="code">configure</code> has a number of <samp class="option">--enable-<var class="var">feature</var></samp>
options, where <var class="var">feature</var> indicates an optional part of Bash.
There are also several <samp class="option">--with-<var class="var">package</var></samp> options,
-where <var class="var">package</var> is something like ‘<samp class="samp">bash-malloc</samp>’ or ‘<samp class="samp">purify</samp>’.
+where <var class="var">package</var> is something like ‘<samp class="samp">bash-malloc</samp>’ or ‘<samp class="samp">afs</samp>’.
To turn off the default use of a package, use
-<samp class="option">--without-<var class="var">package</var></samp>. To configure Bash without a feature
+<samp class="option">--without-<var class="var">package</var></samp>.
+To configure Bash without a feature
that is enabled by default, use <samp class="option">--disable-<var class="var">feature</var></samp>.
</p>
-<p>Here is a complete list of the <samp class="option">--enable-</samp> and
-<samp class="option">--with-</samp> options that the Bash <code class="code">configure</code> recognizes.
+<p>Here is a complete list of the <samp class="option">--enable-</samp> and <samp class="option">--with-</samp>
+options that the Bash <code class="code">configure</code> recognizes.
</p>
<dl class="table">
<dt><code class="code">--with-afs</code></dt>
</dd>
<dt><code class="code">--with-bash-malloc</code></dt>
<dd><p>Use the Bash version of
-<code class="code">malloc</code> in the directory <samp class="file">lib/malloc</samp>. This is not the same
-<code class="code">malloc</code> that appears in <small class="sc">GNU</small> libc, but an older version
-originally derived from the 4.2 <small class="sc">BSD</small> <code class="code">malloc</code>. This <code class="code">malloc</code>
-is very fast, but wastes some space on each allocation.
+<code class="code">malloc</code> in the directory <samp class="file">lib/malloc</samp>.
+This is not the same
+<code class="code">malloc</code> that appears in <small class="sc">GNU</small> libc, but a custom version
+originally derived from the 4.2 <small class="sc">BSD</small> <code class="code">malloc</code>.
+This <code class="code">malloc</code> is very fast, but wastes some space on each allocation,
+though it uses several techniques to minimize the waste.
This option is enabled by default.
The <samp class="file">NOTES</samp> file contains a list of systems for
which this should be turned off, and <code class="code">configure</code> disables this
</p>
</dd>
<dt><code class="code">--with-curses</code></dt>
-<dd><p>Use the curses library instead of the termcap library. This should
-be supplied if your system has an inadequate or incomplete termcap
-database.
+<dd><p>Use the curses library instead of the termcap library.
+<code class="code">configure</code> usually chooses this automatically, since most systems
+include the termcap functions in the curses library.
</p>
</dd>
<dt><code class="code">--with-gnu-malloc</code></dt>
</dd>
<dt><code class="code">--with-installed-readline[=<var class="var">PREFIX</var>]</code></dt>
<dd><p>Define this to make Bash link with a locally-installed version of Readline
-rather than the version in <samp class="file">lib/readline</samp>. This works only with
-Readline 5.0 and later versions. If <var class="var">PREFIX</var> is <code class="code">yes</code> or not
+rather than the version in <samp class="file">lib/readline</samp>.
+This works only with Readline 5.0 and later versions.
+If <var class="var">PREFIX</var> is <code class="code">yes</code> or not
supplied, <code class="code">configure</code> uses the values of the make variables
<code class="code">includedir</code> and <code class="code">libdir</code>, which are subdirectories of <code class="code">prefix</code>
by default, to find the installed version of Readline if it is not in
the installed version of Readline in subdirectories of that directory
(include files in <var class="var">PREFIX</var>/<code class="code">include</code> and the library in
<var class="var">PREFIX</var>/<code class="code">lib</code>).
+The Bash default is to link with a static library built in the
+<samp class="file">lib/readline</samp> subdirectory of the build directory.
</p>
</dd>
<dt><code class="code">--with-libintl-prefix[=<var class="var">PREFIX</var>]</code></dt>
</dd>
<dt><code class="code">--with-libiconv-prefix[=<var class="var">PREFIX</var>]</code></dt>
<dd><p>Define this to make Bash look for libiconv in <var class="var">PREFIX</var> instead of the
-standard system locations. There is no version included with Bash.
+standard system locations.
+The Bash distribution does not include this library.
</p>
</dd>
<dt><code class="code">--enable-minimal-config</code></dt>
-<dd><p>This produces a shell with minimal features, close to the historical
+<dd><p>This produces a shell with minimal features, closer to the historical
Bourne shell.
</p></dd>
</dl>
<dl class="table">
<dt><code class="code">--enable-largefile</code></dt>
<dd><p>Enable support for <a class="url" href="http://www.unix.org/version2/whatsnew/lfs20mar.html">large files</a> if the operating system requires special compiler options
-to build programs which can access large files. This is enabled by
+to build programs which can access large files.
+This is enabled by
default, if the operating system provides large file support.
</p>
</dd>
(see <a class="pxref" href="#History-Interaction">History Expansion</a>).
</p>
</dd>
+<dt><code class="code">--enable-bash-source-fullpath-default</code></dt>
+<dd><p>Set the default value of the <code class="code">bash_source_fullpath</code> shell option
+described above under <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a> to be enabled.
+This controls how filenames are assigned to the <code class="code">BASH_SOURCE</code>
+array variable.
+</p>
+</dd>
<dt><code class="code">--enable-brace-expansion</code></dt>
<dd><p>Include <code class="code">csh</code>-like brace expansion
( <code class="code">b{a,b}c</code> → <code class="code">bac bbc</code> ).
</dd>
<dt><code class="code">--enable-casemod-attributes</code></dt>
<dd><p>Include support for case-modifying attributes in the <code class="code">declare</code> builtin
-and assignment statements. Variables with the <code class="code">uppercase</code> attribute,
+and assignment statements.
+Variables with the <code class="code">uppercase</code> attribute,
for example, will have their values converted to uppercase upon assignment.
</p>
</dd>
<dd><p>Include support for recognizing <code class="code">time</code> as a reserved word and for
displaying timing statistics for the pipeline following <code class="code">time</code>
(see <a class="pxref" href="#Pipelines">Pipelines</a>).
-This allows pipelines as well as shell builtins and functions to be timed.
+This allows timing pipelines, shell compound commands, shell builtins,
+and shell functions, which an external command cannot do easily.
</p>
</dd>
<dt><code class="code">--enable-cond-command</code></dt>
</dd>
<dt><code class="code">--enable-function-import</code></dt>
<dd><p>Include support for importing function definitions exported by another
-instance of the shell from the environment. This option is enabled by
-default.
+instance of the shell from the environment.
+This option is enabled by default.
</p>
</dd>
<dt><code class="code">--enable-glob-asciiranges-default</code></dt>
<dt><code class="code">--enable-prompt-string-decoding</code></dt>
<dd><p>Turn on the interpretation of a number of backslash-escaped characters
in the <code class="env">$PS0</code>, <code class="env">$PS1</code>, <code class="env">$PS2</code>, and <code class="env">$PS4</code> prompt
-strings. See <a class="ref" href="#Controlling-the-Prompt">Controlling the Prompt</a>, for a complete list of prompt
+strings.
+See <a class="ref" href="#Controlling-the-Prompt">Controlling the Prompt</a>, for a complete list of prompt
string escape sequences.
</p>
</dd>
</p>
</dd>
<dt><code class="code">--enable-restricted</code></dt>
-<dd><p>Include support for a <em class="dfn">restricted shell</em>. If this is enabled, Bash,
-when called as <code class="code">rbash</code>, enters a restricted mode. See
-<a class="ref" href="#The-Restricted-Shell">The Restricted Shell</a>, for a description of restricted mode.
+<dd><p>Include support for a <em class="dfn">restricted shell</em>.
+If this is enabled,
+Bash enters a restricted mode when called as <code class="code">rbash</code>.
+See <a class="ref" href="#The-Restricted-Shell">The Restricted Shell</a>, for a description of restricted mode.
</p>
</dd>
<dt><code class="code">--enable-select</code></dt>
-<dd><p>Include the <code class="code">select</code> compound command, which allows the generation of
+<dd><p>Include the <code class="code">select</code> compound command, which allows generation of
simple menus (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>).
</p>
</dd>
<dt><code class="code">--enable-single-help-strings</code></dt>
<dd><p>Store the text displayed by the <code class="code">help</code> builtin as a single string for
-each help topic. This aids in translating the text to different languages.
+each help topic.
+This aids in translating the text to different languages.
You may need to disable this if your compiler cannot handle very long string
literals.
</p>
But first, you should
make sure that it really is a bug, and that it appears in the latest
version of Bash.
-The latest version of Bash is always available for FTP from
+The latest released version of Bash is always available for FTP from
<a class="uref" href="ftp://ftp.gnu.org/pub/gnu/bash/">ftp://ftp.gnu.org/pub/gnu/bash/</a> and from
<a class="uref" href="http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz">http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz</a>.
</p>
<p>Bash implements essentially the same grammar, parameter and
variable expansion, redirection, and quoting as the Bourne Shell.
Bash uses the <small class="sc">POSIX</small> standard as the specification of
-how these features are to be implemented. There are some
+how these features are to be implemented and how they should behave.
+There are some
differences between the traditional Bourne shell and Bash; this
-section quickly details the differences of significance. A
-number of these differences are explained in greater depth in
+section quickly details the differences of significance.
+A number of these differences are explained in greater depth in
previous sections.
This section uses the version of <code class="code">sh</code> included in SVR4.2 (the
last version of the historical Bourne shell) as the baseline reference.
</li><li>Bash has multi-character invocation options (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>).
+</li><li>The Bash restricted mode is more useful (see <a class="pxref" href="#The-Restricted-Shell">The Restricted Shell</a>);
+the SVR4.2 shell restricted mode is too limited.
+
</li><li>Bash has command-line editing (see <a class="pxref" href="#Command-Line-Editing">Command Line Editing</a>) and
the <code class="code">bind</code> builtin.
<code class="code">complete</code>, <code class="code">compgen</code>, and <code class="code">compopt</code>, to
manipulate it.
+</li><li>Bash decodes a number of backslash-escape sequences in the prompt string
+variables (<code class="code">PS0</code>, <code class="code">PS1</code>, <code class="code">PS2</code>, and <code class="code">PS4</code>)
+(see <a class="pxref" href="#Controlling-the-Prompt">Controlling the Prompt</a>).
+
+</li><li>Bash expands and displays the <code class="code">PS0</code> prompt string variable.
+
+</li><li>Bash runs commands from the <code class="code">PROMPT_COMMAND</code> array variable before
+issuing each primary prompt.
+
</li><li>Bash has command history (see <a class="pxref" href="#Bash-History-Facilities">Bash History Facilities</a>) and the
<code class="code">history</code> and <code class="code">fc</code> builtins to manipulate it.
The Bash history list maintains timestamp information and uses the
</li><li>Bash implements <code class="code">csh</code>-like history expansion
(see <a class="pxref" href="#History-Interaction">History Expansion</a>).
-</li><li>Bash has one-dimensional array variables (see <a class="pxref" href="#Arrays">Arrays</a>), and the
-appropriate variable expansions and assignment syntax to use them.
-Several of the Bash builtins take options to act on arrays.
-Bash provides a number of built-in array variables.
+</li><li>Bash supports the <code class="code">$'…'</code> quoting syntax, which expands ANSI-C
+backslash-escaped characters in the text between the single quotes
+(see <a class="pxref" href="#ANSI_002dC-Quoting">ANSI-C Quoting</a>).
-</li><li>The <code class="code">$'…'</code> quoting syntax, which expands ANSI-C
-backslash-escaped characters in the text between the single quotes,
-is supported (see <a class="pxref" href="#ANSI_002dC-Quoting">ANSI-C Quoting</a>).
-
-</li><li>Bash supports the <code class="code">$"…"</code> quoting syntax to do
+</li><li>Bash supports the <code class="code">$"…"</code> quoting syntax and performs
locale-specific translation of the characters between the double
-quotes. The <samp class="option">-D</samp>, <samp class="option">--dump-strings</samp>, and <samp class="option">--dump-po-strings</samp>
+quotes.
+The <samp class="option">-D</samp>, <samp class="option">--dump-strings</samp>, and <samp class="option">--dump-po-strings</samp>
invocation options list the translatable strings found in a script
(see <a class="pxref" href="#Locale-Translation">Locale-Specific Translation</a>).
+</li><li>Bash includes brace expansion (see <a class="pxref" href="#Brace-Expansion">Brace Expansion</a>) and tilde
+expansion (see <a class="pxref" href="#Tilde-Expansion">Tilde Expansion</a>).
+
+</li><li>Bash implements command aliases and the <code class="code">alias</code> and <code class="code">unalias</code>
+builtins (see <a class="pxref" href="#Aliases">Aliases</a>).
+
</li><li>Bash implements the <code class="code">!</code> keyword to negate the return value of
a pipeline (see <a class="pxref" href="#Pipelines">Pipelines</a>).
-Very useful when an <code class="code">if</code> statement needs to act only if a test fails.
+This is very useful when an <code class="code">if</code> statement needs to act only if a
+test fails.
The Bash ‘<samp class="samp">-o pipefail</samp>’ option to <code class="code">set</code> will cause a pipeline to
-return a failure status if any command fails.
+return a failure status if any command fails
+(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
</li><li>Bash has the <code class="code">time</code> reserved word and command timing (see <a class="pxref" href="#Pipelines">Pipelines</a>).
The display of the timing statistics may be controlled with the
<code class="env">TIMEFORMAT</code> variable.
+</li><li>Bash provides coprocesses and the <code class="code">coproc</code> reserved word
+(see <a class="pxref" href="#Coprocesses">Coprocesses</a>).
+
</li><li>Bash implements the <code class="code">for (( <var class="var">expr1</var> ; <var class="var">expr2</var> ; <var class="var">expr3</var> ))</code>
arithmetic for command, similar to the C language (see <a class="pxref" href="#Looping-Constructs">Looping Constructs</a>).
optional regular expression matching.
</li><li>Bash provides optional case-insensitive matching for the <code class="code">case</code> and
-<code class="code">[[</code> constructs.
-
-</li><li>Bash includes brace expansion (see <a class="pxref" href="#Brace-Expansion">Brace Expansion</a>) and tilde
-expansion (see <a class="pxref" href="#Tilde-Expansion">Tilde Expansion</a>).
+<code class="code">[[</code> constructs (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>).
-</li><li>Bash implements command aliases and the <code class="code">alias</code> and <code class="code">unalias</code>
-builtins (see <a class="pxref" href="#Aliases">Aliases</a>).
+</li><li>Bash provides additional <code class="code">case</code> statement action list terminators:
+‘<samp class="samp">;&</samp>’ and ‘<samp class="samp">;;&</samp>’ (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>).
-</li><li>Bash provides shell arithmetic, the <code class="code">((</code> compound command
-(see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>),
+</li><li>Bash provides shell arithmetic,
+the <code class="code">((</code> compound command (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>),
+the <code class="code">let</code> builtin,
and arithmetic expansion (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>).
+</li><li>Bash has one-dimensional array variables (see <a class="pxref" href="#Arrays">Arrays</a>), and the
+appropriate variable expansions and assignment syntax to use them.
+Several of the Bash builtins take options to act on arrays.
+Bash provides a number of built-in array variables.
+
</li><li>Variables present in the shell’s initial environment are automatically
-exported to child processes. The Bourne shell does not normally do
+exported to child processes (see <a class="pxref" href="#Command-Execution-Environment">Command Execution Environment</a>).
+The Bourne shell does not normally do
this unless the variables are explicitly marked using the <code class="code">export</code>
command.
+</li><li>Bash can expand positional parameters beyond <code class="code">$9</code> using
+<code class="code">${<var class="var">num</var>}</code> (see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>).
+
</li><li>Bash supports the ‘<samp class="samp">+=</samp>’ assignment operator, which appends to the value
-of the variable named on the left hand side.
+of the variable named on the left hand side
+(see <a class="pxref" href="#Shell-Parameters">Shell Parameters</a>).
</li><li>Bash includes the <small class="sc">POSIX</small> pattern removal ‘<samp class="samp">%</samp>’, ‘<samp class="samp">#</samp>’, ‘<samp class="samp">%%</samp>’
and ‘<samp class="samp">##</samp>’ expansions to remove leading or trailing substrings from
(see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>) and implements the <code class="code">nameref</code>
variable attribute for automatic indirect variable expansion.
-</li><li>Bash can expand positional parameters beyond <code class="code">$9</code> using
-<code class="code">${<var class="var">num</var>}</code>.
-
</li><li>Bash includes a set of parameter transformation word expansions of the
-form <code class="code">${var@X}</code>, where ‘<samp class="samp">X</samp>’ specifies the transformation.
+form <code class="code">${var@X}</code>, where ‘<samp class="samp">X</samp>’ specifies the transformation
+(see <a class="pxref" href="#Shell-Parameter-Expansion">Shell Parameter Expansion</a>).
</li><li>The <small class="sc">POSIX</small> <code class="code">$()</code> form of command substitution
is implemented (see <a class="pxref" href="#Command-Substitution">Command Substitution</a>),
is also implemented for backwards compatibility).
</li><li>Bash implements a variant of command substitution that runs the enclosed
-command in the current shell execution environment
-(<code class="code">${ <var class="var">command</var>;}</code>).
+command in the current shell execution environment:
+<code class="code">${ <var class="var">command</var>;}</code> or <code class="code">${|<var class="var">command</var>;}</code>
+(see <a class="pxref" href="#Command-Substitution">Command Substitution</a>).
</li><li>Bash has process substitution (see <a class="pxref" href="#Process-Substitution">Process Substitution</a>).
</li><li>Bash uses many variables to provide functionality and customize shell
behavior that the Bourne shell does not.
Examples include <code class="env">RANDOM</code>, <code class="env">SRANDOM</code>, <code class="env">EPOCHSECONDS</code>,
-<code class="env">GLOBSORT</code>, <code class="env">TIMEFORMAT</code>, <code class="env">BASHPID</code>, <code class="env">BASH_XTRACEFD</code>,
+<code class="env">EPOCHREALTIME</code>,
+<code class="env">TIMEFORMAT</code>, <code class="env">BASHPID</code>, <code class="env">BASH_XTRACEFD</code>,
<code class="env">GLOBIGNORE</code>, <code class="env">HISTIGNORE</code>, and <code class="env">BASH_VERSION</code>.
See <a class="xref" href="#Bash-Variables">Bash Variables</a>, for a complete list.
-</li><li>The <code class="env">IFS</code> variable is used to split only the results of expansion,
+</li><li>Bash uses the <code class="code">GLOBSORT</code> shell variable to control how to sort
+the results of filename expansion (see <a class="pxref" href="#Filename-Expansion">Filename Expansion</a>).
+
+</li><li>Bash uses the <code class="env">IFS</code> variable to split only the results of expansion,
not all words (see <a class="pxref" href="#Word-Splitting">Word Splitting</a>).
This closes a longstanding shell security hole.
</li><li>The filename expansion bracket expression code uses ‘<samp class="samp">!</samp>’ and ‘<samp class="samp">^</samp>’
-to negate the set of characters between the brackets.
+to negate the set of characters between the brackets
+(see <a class="pxref" href="#Filename-Expansion">Filename Expansion</a>).
The Bourne shell uses only ‘<samp class="samp">!</samp>’.
</li><li>Bash implements the full set of <small class="sc">POSIX</small> filename expansion operators,
</li><li>Bash implements extended pattern matching features when the <code class="code">extglob</code>
shell option is enabled (see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
+</li><li>The <code class="code">globstar</code> shell option extends filename expansion to recursively
+scan directories and subdirectories for matching filenames
+(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>).
+
</li><li>It is possible to have a variable and a function with the same name;
<code class="code">sh</code> does not separate the two name spaces.
</li><li>Bash functions are permitted to have local variables using the
-<code class="code">local</code> builtin, and thus useful recursive functions may be written
+<code class="code">local</code> builtin, and thus users can write useful recursive functions
(see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-</li><li>Variable assignments preceding commands affect only that command, even
-builtins and functions (see <a class="pxref" href="#Environment">Environment</a>).
-In <code class="code">sh</code>, all variable assignments
-preceding commands are global unless the command is executed from the
-file system.
-
</li><li>Bash performs filename expansion on filenames specified as operands
to input and output redirection operators (see <a class="pxref" href="#Redirections">Redirections</a>).
</li><li>Bash treats a number of filenames specially when they are
used in redirection operators (see <a class="pxref" href="#Redirections">Redirections</a>).
+</li><li>Bash provides the {<var class="var">var</var>}<<var class="var">word</var> capability to have the
+shell allocate file descriptors for redirections and assign them
+to <var class="var">var</var> (see <a class="pxref" href="#Redirections">Redirections</a>).
+This works with multiple redirection operators.
+
</li><li>Bash can open network connections to arbitrary machines and services
with the redirection operators (see <a class="pxref" href="#Redirections">Redirections</a>).
files with output redirection (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
The ‘<samp class="samp">>|</samp>’ redirection operator may be used to override <code class="code">noclobber</code>.
-</li><li>The Bash <code class="code">cd</code> and <code class="code">pwd</code> builtins (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
-each take <samp class="option">-L</samp> and <samp class="option">-P</samp> options to switch between logical and
-physical modes.
+</li><li>Variable assignments preceding commands affect only that command, even
+builtins and functions (see <a class="pxref" href="#Environment">Environment</a>).
+In <code class="code">sh</code>, all variable assignments
+preceding commands are global unless the command is executed from the
+file system.
+
+</li><li>Bash includes a number of features to support a separate debugger for
+shell scripts:
+variables (<code class="code">BASH_ARGC</code>, <code class="code">BASH_ARGV</code>, <code class="code">BASH_LINENO</code>,
+<code class="code">BASH_SOURCE</code>),
+the <code class="code">DEBUG</code>, <code class="code">RETURN</code>, and <code class="code">ERR</code> traps,
+‘<samp class="samp">declare -F</samp>’,
+and
+the <code class="code">caller</code> builtin.
+
+</li><li>Bash implements a <code class="code">csh</code>-like directory stack, and provides the
+<code class="code">pushd</code>, <code class="code">popd</code>, and <code class="code">dirs</code> builtins to manipulate it
+(see <a class="pxref" href="#The-Directory-Stack">The Directory Stack</a>).
+Bash also makes the directory stack visible as the value of the
+<code class="env">DIRSTACK</code> shell variable.
</li><li>Bash allows a function to override a builtin with the same name, and provides
access to that builtin’s functionality within the function via the
<code class="code">builtin</code> and <code class="code">command</code> builtins (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-</li><li>Bash implements support for dynamically loading builtin commands from
-shared objects.
+</li><li>Bash includes the <code class="code">caller</code> builtin
+(see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>), which displays the context of
+any active subroutine call (a shell function or a script executed with
+the <code class="code">.</code> or <code class="code">source</code> builtins).
+This supports the Bash debugger.
+
+</li><li>The Bash <code class="code">cd</code> and <code class="code">pwd</code> builtins (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
+each take <samp class="option">-L</samp> and <samp class="option">-P</samp> options to switch between logical and
+physical modes.
+
+</li><li>The <code class="code">command</code> builtin allows selectively skipping shell functions
+when performing command lookup (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-</li><li>The <code class="code">command</code> builtin allows selective disabling of functions
-when command lookup is performed (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+</li><li>Bash uses the <code class="code">declare</code> builtin to modify the full set of variable
+and function attributes, and to assign values to variables.
-</li><li>Individual builtins may be enabled or disabled using the <code class="code">enable</code>
-builtin (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+</li><li>The <code class="code">disown</code> builtin can remove a job from the internal shell
+job table (see <a class="pxref" href="#Job-Control-Builtins">Job Control Builtins</a>) or suppress sending
+<code class="code">SIGHUP</code> to a job when the shell exits as the result of a
+<code class="code">SIGHUP</code>.
+
+</li><li>The <code class="code">enable</code> builtin (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>) can enable or disable
+individual builtins
+and implements support for dynamically loading
+builtin commands from shared objects.
</li><li>The Bash <code class="code">exec</code> builtin takes additional options that allow users
to control the contents of the environment passed to the executed
</li><li>Shell functions may be exported to children via the environment
using <code class="code">export -f</code> (see <a class="pxref" href="#Shell-Functions">Shell Functions</a>).
-</li><li>Bash decodes a number of backslash-escape sequences in the prompt string
-variables (<code class="code">PS0</code>, <code class="code">PS1</code>, <code class="code">PS2</code>, and <code class="code">PS4</code>).
-
-</li><li>Bash expands and displays the <code class="code">PS0</code> prompt string variable.
-
-</li><li>Bash runs commands from the <code class="code">PROMPT_COMMAND</code> array variable before
-issuing each primary prompt.
-
-</li><li>Bash decodes a number of backslash-escaped characters
-</li><li>The Bash <code class="code">export</code>, <code class="code">readonly</code>, and <code class="code">declare</code> builtins can
+</li><li>The Bash <code class="code">export</code> and <code class="code">readonly</code> builtins
+(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a> can
take a <samp class="option">-f</samp> option to act on shell functions, a <samp class="option">-p</samp> option to
display variables with various attributes set in a format that can be
used as shell input, a <samp class="option">-n</samp> option to remove various variable
facilities (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
</li><li>Bash includes the <code class="code">mapfile</code> builtin to quickly read the contents
-of a file into an indexed array variable.
+of a file into an indexed array variable (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
</li><li>The <code class="code">printf</code> builtin is available to display formatted output
-(see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+(see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>),
+and has additional custom format specifiers and an option to assign
+the formatted output directly to a shell variable.
</li><li>The Bash <code class="code">read</code> builtin (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>)
will read a line ending in ‘<samp class="samp">\</samp>’ with
the <samp class="option">-r</samp> option, and will use the <code class="env">REPLY</code> variable as a
default if no non-option arguments are supplied.
-The Bash <code class="code">read</code> builtin
-also accepts a prompt string with the <samp class="option">-p</samp> option and will use
+
+</li><li>The <code class="code">read</code> builtin (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>)
+accepts a prompt string with the <samp class="option">-p</samp> option and will use
Readline to obtain the line when given the <samp class="option">-e</samp> or <samp class="option">-E</samp>
-options.
+options,
+with the ability to insert text into the line using the <samp class="option">-i</samp>
+option.
The <code class="code">read</code> builtin also has additional options to control input:
the <samp class="option">-s</samp> option will turn off echoing of input characters as
they are read, the <samp class="option">-t</samp> option will allow <code class="code">read</code> to time out
executed with the <code class="code">.</code> or <code class="code">source</code> builtins
(see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
-</li><li>Bash includes the <code class="code">shopt</code> builtin, for finer control of shell
-optional capabilities (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>), and allows these options
-to be set and unset at shell invocation (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>).
-
</li><li>Bash has much more optional behavior controllable with the <code class="code">set</code>
builtin (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
simple commands when performing an execution trace
(see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
+</li><li>Bash includes the <code class="code">shopt</code> builtin, for finer control of shell
+optional capabilities (see <a class="pxref" href="#The-Shopt-Builtin">The Shopt Builtin</a>), and allows these options
+to be set and unset at shell invocation (see <a class="pxref" href="#Invoking-Bash">Invoking Bash</a>).
+
</li><li>The <code class="code">test</code> builtin (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>)
is slightly different, as it implements the <small class="sc">POSIX</small> algorithm,
which specifies the behavior based on the number of arguments.
-</li><li>The Bash <code class="code">wait</code> builtin has a <samp class="option">-n</samp> option to wait for the
-next child to exit, possibly selecting from a list of supplied jobs,
-and the <samp class="option">-p</samp> option to store information about a terminated
-child process in a shell variable.
-
-</li><li>Bash includes the <code class="code">caller</code> builtin, which displays the context of
-any active subroutine call (a shell function or a script executed with
-the <code class="code">.</code> or <code class="code">source</code> builtins). This supports the Bash
-debugger.
-
</li><li>The <code class="code">trap</code> builtin (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>) allows a
<code class="code">DEBUG</code> pseudo-signal specification, similar to <code class="code">EXIT</code>.
Commands specified with a <code class="code">DEBUG</code> trap are executed before every
</li><li>The Bash <code class="code">type</code> builtin is more extensive and gives more information
about the names it finds (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-</li><li>The Bash <code class="code">umask</code> builtin permits a <samp class="option">-p</samp> option to cause
-the output to be displayed in the form of a <code class="code">umask</code> command
-that may be reused as input (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
+</li><li>The <code class="code">ulimit</code> builtin provides control over many more per-process
+resources (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
-</li><li>Bash implements a <code class="code">csh</code>-like directory stack, and provides the
-<code class="code">pushd</code>, <code class="code">popd</code>, and <code class="code">dirs</code> builtins to manipulate it
-(see <a class="pxref" href="#The-Directory-Stack">The Directory Stack</a>).
-Bash also makes the directory stack visible as the value of the
-<code class="env">DIRSTACK</code> shell variable.
-
-</li><li>Bash interprets special backslash-escaped characters in the prompt
-strings when interactive (see <a class="pxref" href="#Controlling-the-Prompt">Controlling the Prompt</a>).
-
-</li><li>The Bash restricted mode is more useful (see <a class="pxref" href="#The-Restricted-Shell">The Restricted Shell</a>);
-the SVR4.2 shell restricted mode is too limited.
+</li><li>The Bash <code class="code">umask</code> builtin uses the <samp class="option">-p</samp> option to display
+the output in the form of a <code class="code">umask</code> command
+that may be reused as input (see <a class="pxref" href="#Bourne-Shell-Builtins">Bourne Shell Builtins</a>).
-</li><li>The <code class="code">disown</code> builtin can remove a job from the internal shell
-job table (see <a class="pxref" href="#Job-Control-Builtins">Job Control Builtins</a>) or suppress the sending
-of <code class="code">SIGHUP</code> to a job when the shell exits as the result of a
-<code class="code">SIGHUP</code>.
+</li><li>The Bash <code class="code">wait</code> builtin has a <samp class="option">-n</samp> option to wait for the
+next child to exit, possibly selecting from a list of supplied jobs,
+and the <samp class="option">-p</samp> option to store information about a terminated
+child process in a shell variable.
-</li><li>Bash includes a number of features to support a separate debugger for
-shell scripts.
+</li><li>The SVR4.2 shell behaves differently when invoked as <code class="code">jsh</code>
+(it turns on job control).
</li><li>The SVR4.2 shell has two privilege-related builtins
(<code class="code">mldmode</code> and <code class="code">priv</code>) not present in Bash.
<p>More features unique to Bash may be found in <a class="ref" href="#Bash-Features">Bash Features</a>.
</p>
-
<ul class="mini-toc">
<li><a href="#Implementation-Differences-From-The-SVR4_002e2-Shell" accesskey="1">Implementation Differences From The SVR4.2 Shell</a></li>
</ul>
a script only if one of the <small class="sc">POSIX</small> special builtins fails, and
only for certain failures, as enumerated in the <small class="sc">POSIX</small> standard.
-</li><li>The SVR4.2 shell behaves differently when invoked as <code class="code">jsh</code>
-(it turns on job control).
-
</li><li>If the <code class="code">lastpipe</code> option is enabled, and job control is not active,
Bash runs the last element of a pipeline in the current shell execution
environment.
<tr><td></td><td class="printindex-index-entry"><a href="#index-editing_002dmode"><code>editing-mode</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-EMACS"><code>EMACS</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-emacs_002dmode_002dstring"><code>emacs-mode-string</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
-<tr><td></td><td class="printindex-index-entry"><a href="#index-enable_002dactive_002dregion"><code>enable-active-region</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-enable_002dactive_002dregion-The"><code>enable-active-region The</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-enable_002dbracketed_002dpaste"><code>enable-bracketed-paste</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-enable_002dkeypad"><code>enable-keypad</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-enable_002dmeta_002dkey"><code>enable-meta-key</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-ENV"><code>ENV</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-EPOCHREALTIME"><code>EPOCHREALTIME</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-EPOCHSECONDS"><code>EPOCHSECONDS</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><th id="Variable-Index_vr_letter-F">F</th></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-FCEDIT"><code>FCEDIT</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-FIGNORE"><code>FIGNORE</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-force_002dmeta_002dprefix"><code>force-meta-prefix</code></a></td><td class="printindex-index-section"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-FUNCNAME"><code>FUNCNAME</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-FUNCNEST"><code>FUNCNEST</code></a></td><td class="printindex-index-section"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Concept-Index_cp_letter-D">D</th></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-stack">directory stack</a></td><td class="printindex-index-section"><a href="#The-Directory-Stack">The Directory Stack</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dollar_002dsingle-quote-quoting">dollar-single quote quoting</a></td><td class="printindex-index-section"><a href="#ANSI_002dC-Quoting">ANSI-C Quoting</a></td></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Concept-Index_cp_letter-E">E</th></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-editing-command-lines">editing command lines</a></td><td class="printindex-index-section"><a href="#Readline-Bare-Essentials">Readline Bare Essentials</a></td></tr>
%!PS-Adobe-2.0
%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
%%Title: bashref.dvi
-%%CreationDate: Tue Aug 13 19:30:17 2024
-%%Pages: 203
+%%CreationDate: Fri Oct 11 13:00:34 2024
+%%Pages: 210
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2024.08.13:1530
+%DVIPSSource: TeX output 2024.10.11:0900
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
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
744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
-5C7018E5F1DFB86B739C4749DDCFB2F40529E1F15174DF4AE9833958B66ED869
-920CFB9524F05AB2FA84A4AC41A02490699F277A3B4ECC3C31ACF79E884B979C
-AEFF660A8EEF118C79F8DA266F89F32078B1C333DFA5264D6B64371276ED4DBD
-5A2DF213D85A56B1CA85DEA53ED0299C1FA48D463B11FC9A0751C986CAABB184
-829B1133CA8422DC11C6CEAAD463FEB468FC7AA2DDBE2E708D27D89164B12BD8
-B9A71A1D06D2FA9ED0B02168B32F6CC0FE765F2AF8A19C7196EE55648E642184
-BDF993C99EF7C10AD2A7962DB9B7851E6EE24A0C53475186BB44083AE18254B9
-F1CEA0B66A6581C81DE19DA8EEC9330A030F3384C1DF8216E5A25FB38C1B94F3
-403C3541593A016CB5FD306F41F40E82D4561EBCBF76153BDFCF338284348755
-0208360C5842FCD6B2D614387575B6E49F4B5A4DA281A352ABE8B76CFCD94A00
-1C586D19B68D965BD8D7EF0DC87271478CB4D0D1633676A2FC51B36876002A9B
-F5D632ED778BA9EA1C3741FFCC15AEEC11C8E1544DA7358473325812E50C2135
-84ECE7DCE281956681179C09C0E8DBAC5E4424AAD00FDA269BCD6412F1D6DCE0
-2BC7CABF85AE803D620F5140C63DAC4B0E5F7896343973FBB99486B93B6DB58F
-38ACBE8868CC58B3918C1AB4406FBCC7BE8496C78C9D628716BF1E306AA802D4
-5FAC522B1EE90448387DB8E85235FFAAF3754E2317B693D567A488753993B8C5
-DA3C8FA50A35202958FD0BF2900A6CE175920C2EC7CD449D4DB189A50958BF17
-644345CC38250088A694CF0F482ECC55ADCD02E17B3CCE66213A6163B8B44C9A
-89068E3B5301D2364F85BF9DF7C77342796363A7B6B294CE26DBB9179DC15756
-E1B32CE919AF44BC79A3AA8FDF6118345B2AE03F3B11D57D9AF50EBCF7152E37
-15510FBF60F16756FC674E2BF58E88CAB2CA2E8B47F50096C51179684331FD61
-8B34520C9C7D01E1511C924FA76B3CAF79501E0AA2C6E1EC6F00CB6CE24B4123
-F493B149B5A5147EF6BF1EF3CD21A76945B95082E1FB3C5A150D8AF793348E8C
-A988354FA46E3775486A6999E022EBE293E8396C8F9416929607730606CFA772
-BC8388BA5D64B79E52DD2048ABF21661121A001E6A75731B5DC43CE040396BD7
-B85603C8A0F37E522FD0CBA63C454B12960451CE65A69F98FB2FDBAE725C0999
-05FB68B4C1D320F5F3D61FA8446BE6F8BC46AD9CFA5674A3EC73B8F3419AF9EF
-7A1A3C9EDE3BD6359902D4B5F3AB4E3FF9CB2E1937937AFA182C651985703F20
-FB70E37AADED6345EF4E83CB140FF92310BACFBDA11F2CD5AD93AA7563D7426B
-0D4B6CF9B669F9A702956CA845E3814E4B5491E58F8C89714229942165A6E8E6
-58982D89C4FA7BC557214BF9ACE2C63AD88F2D1B18A04F510211687C35AA1F7F
-D2003D4E60400B95E70422024A7111D926F1B5A77074910710594B95680CFC4D
-911FC16B928D9644340A9D2382767FE6AD453E8E4CBF19F77D3DA2934B11FC95
-A6900C3CA3F2B6AE4290A005F908305CB37700680D76C4999AFE509B18305D28
-88C36292D6DA208A8D42F8B81FDEA7E93EE59D6AF3F1A3522EE91BE71BC655B9
-79C49B033A036E1FCD94FC581AE732A224F055503CFC69FBCDEA39CB00DC8A0B
-4BEFED99CFC4E44ED51DEDF9EA825FF6BB97D316726531CB4BA083B033C0B69B
-8068D5D3E3E31DED5F6267439F149549A6E12B00BA85818AEB491978364D9F7D
-7375CBD6C5511CC846D0058BD2CE5467EBCEACE5CBEB2D33AC8E12A84CA620EA
-99A0ED916B7770A056F6A9C361CD5118B5DDB10A5A4E643FFB8FC5DCBACDCB28
-696E26D030C5918548AD8B87E21E1B4BAA91AF23663CDE350A21C2CEEFD28947
-BC07BB49404FA39F251E36B95B7338EF03F2E63FBE0E023452097F21931A2599
-4EBA7BFA669EBEDC0F5B33375DFE6DB1638D19D4B5112B5338B14C93F707D340
-056B2B75AFE418EAF9CD57ED842F7B5FFF037B3A4B369C63E4DF9F0BDB4E39C6
-C5BE8EDA628F1C6FEEBC9D9886DBE502CCAA86092646094118069757DAC25C38
-2CA53CBA27577BAF2C57196489CBA54B96C650A1C130184A4444CDE2D0CB1A49
-FADCAF1FE3A66334F85FAFB00F142F28AF2D8FEFC29FE8E0FDA448F181040BF1
-62EA7AE75100BA46B49EF30F596CD9091164AF70666E254938BF6A44F01BBD2C
-4160164FD89FCD358E48908BEFBAAC4411B52390CEED6B46D729698CCA8E164C
-F77CEBB50C5254F81570E414B1E9E79269D3B2575E161620CC732C0405A29ED7
-1E5A6597D35B11EE08DC09FC9C27F0126C22C73A0EED657D7F91790777E7D8B1
-EBAFB0EC9ADAEFEF7F6A91A1028E46D76289EB1BC15D3597CFCD78D88B633759
-93CB4477596E28A1E413BE25D513BA611757C994AE812C5A6D9AD3F770499252
-C7F53E585E03B2FF056EECFB7ABAC474A981D757AB3B6F2815E7AA8AF8BBA42D
-4D83EF8A0FE21CA5EBC295042AE5D74E6D05BECCEFDC74ACDD0A59AFDAD3E94F
-141E4BFA04ABEF7E6C43418A5EC54C6E8CCEA1C34DDFAC9CC87DD5E9D4BEE705
-F11B003956DB37B145DDEF022C645C19329E6C04E1EDCDB5F6A33AF1EDB9A17F
-79066B1C3579E70B2D43DD89D1F5FD2B2015FA5009D612781CF4916DD8C7B1B5
-21FF0CFAFCE882A106D356D8851F73635A4E7C81FE0BF6378DC2219BC883E3A8
-23290969A2ACC06A77866A8AB83B39289EB14B4F67511FC97F3BE410B4DE91C3
-54876DEB96AB3C60D1FB17D29172F96E98D3FA77B772C69D17A757B6CE32D2C1
-67182DC41B5E19F31F669A886DD4D08092AFAE132C0E0FF810FCBF937EB3AF0F
-5AF1416C11508EBDE0C0EC1C618CB6F66658D9CA3793D523D224F8C9A8ADF6B8
-16CE7D210FD4771ADCFEF08809C0E9A37170F0C02A9C9907FE38DF8795C6093E
-0DD464FC59313CA7EEF4658A498CFDA9458AA1A86B2A0933182954BFEC58E9AB
-3BF65DEF9BE5289826A7AE0AB0E93D83178049CCF8BADDAA7BCBCCA47F983E22
-3CCBB9D2D522DA2A5EDF409A862A52297FAC35CE11176A8B89671BE758CEA324
-5BD245937C46D52F15241E22F803F77E7B5ED83B6395F5387EA7CA46E1DB1F8D
-239374BE3F4640A6FE06CE65A07123B722523AB913DA6EA385F524940432DC0D
-CE2A2A50539C42DC0942ACC30D372BACF8192645F9943391A602A019EDD69241
-BB0EF67C1C367344D82F5669A75D5234A3FE9312EB4C6BE310722AF8065835F7
-E55443034F04E4B41F321B7CF95EF163231979A8D7D2E7B982D6DE774E8F4CCD
-D846A38D9029028C50A99ECE834C67F7CA30F39F4D1803B3CDF4D19FBC3D1FED
-EA3F72427D13D6C51FB97E417D38E4AD86E93498AC245EA17317EEE503D11C60
-E6981F07798D11364ACCAA0F06E6D748584EEC92720F50B71157AB2887406B13
-491C79A0054F145417D7E4902CBB38AF4DFAB4F84E25985A6FBF308D974457D0
-8FACC57B056749382FD35F7D9CFC58B2616D205CA0328294C7F47AB9EB50E1D3
-56B4AA213B1605985939AA68DEBCA1F50407136AE16196EA910089D913A4DDA8
-079F046AAD1DFBBD36DF39C43CF356E40972D8AE3F044F31320A3567520331CD
-67227812DF611C31DF6C7B420A170B43A478D0678F615AE88B94646F0F1A400D
-3E6FE22E584B1197B373FF2A0CA5C90CCF064A5C8A08170269E967DA2833840B
-BE87A26B8A5C80F8460100D97C17B62BB62F5F4DDF270DCE6C4F08A733EE750F
-6FA75D57A96F5EA3D089D5634FE7C29D6A3DD8206FFAC31EFD273484042313DC
-406A646C898E7FCAB097C6E362CE13741CC04549691C6BC246D9FA598AD671DE
-81A05E8D011A838E3B9F984676E03BB77EAA1B1256C04028801748155A2B5082
-57E9BFA74C3C18BBBDB7458B5AA3D484CA516A265A9132CA6A16A1C6A1E8F600
-9F9368F4E22AC348EBB52736035A4A4524BCD4B2EF54314007FC9AF134754FD2
-C20294DA556EF82639E26A3014F597955B8766C1E317D21E978A2ACEBAAFD25B
-6D27E861E254230360B34431BB58A0037C3372CFDF13DD806DC6ED6B0CA4C96F
-B7018FE26AA64C1D23879F117F9969FCBD649805FE66D5B439F6531E5D841B0F
-43D110BFE886A11CE54869E036D6480F6C6E0DDE33B40D605671D99A6D297C82
-65B1F442602A026AB0B73BCBCE1B098C423CC623D40D679E45052492E5129675
-F1CA105AE94D7BBF162E8B3CFECC63429E866ED4CBB69F25687DB74A330C7F5F
-9727BD3DCF5890FA9BEE5A7BD997433CDD1315850B490DD4EF503BC1A4F30F93
-F032E761C9B4A099ECB96F1DDCE4262FBD75620EDD89659CBC70EE3FEF7C50AE
-CB47D9BD8BDDFB7D5ADFCE11EF6871AB41369A582211BB5680DEE2BC141259C3
-08B73E26815015B99AC3683EDD9EBC880A5A64EA728DE0AD8B038D666955E6C4
-0CB961183309835A70BE28AC86A0C90EBCDE36B2C2F9DCF6E61B27845C048932
-1D9CD3F5E7EE7157A478A9B624C46E044AA050942FF1E15C8553321D36EA7586
-3D4A7CB9D971063AF089F6B2A288A83513B4EE3A0F3CF537633604E31FD22B04
-A7A63C54535D31129C4713E5561100F41F596A2771E3399A84C7798C187AC61D
-359E2181B61DEC7EBB1E38A5B188A85B9E0A4CC22E0AE4FDFCFE8DD776C703DF
-D581E9F3F68DC63B91B7CC430EAE05D7451345EE9928B18947D1EF0907138FE8
-EC9F98CEECEABDB91CE0DC993391632A2993E0F23EDB138C388ED74AA061F4AB
-A9879A48EF233D72C2CC6A976212801677FF31818CAA227205687600362634E6
-380A6FE49F7A3E111B50DC40B97D58A7138BEF9BF2D58633643715D96F09568F
-D192E619E4DF5BAD6E934C3AA1E29579E85127024193F3866F235C58A9A097F1
-56158AEDDC8A1B66777C28E798DFFD2404507A1E793E990ABEA01D772343B3C8
-0258461306AB5112B36455E39B024D544BC723C61AE4756B78B97566546201F4
-77EF79F142297609B74AAF54FBB44473197E0B5A706FF921C1D7B80CBFF03524
-C6C9B37BF5FF366B0D60026FBE01D9A213905B384449F62FFC7F872114C64F01
-1BD76FF84899641A793D10A504F0B56A7500354C748A68EA4396296F0EE9448C
-1997C351D262E9055D2265E4C467FBA11F97E80B6A862D398D341E46212B0389
-08BFCB93BB7ED61C0E4D3BAB05C9A620E78E19342F02A9433B97CF7ACB027528
-E70EA97389D55DDA0FE4BAF2BA8205D3ECD294BC8EC81293C9A11F79C87EEFC6
-C18A8AEEA8F0987BC183C9EED25A91F77408952DDBA65BA715018CDF4145B64A
-393ABA54A176F8DCF83A5238D538B3E7B569229F5C4CFAC3CC9827661AF20F1B
-44A7930D1DA6688FC1B11BAF855E3E994751E9FE7BF4D588816618A022E25673
-F9C2D9D9AD9C6A16CCC923BD9E94E9A916C6561E692724C499F0A49E13762197
-DE52122CCBF93E3505209FF7F66A36780C7492650F4534E5984642BC7844C69C
-0DC60DD6145A5B1662884BB82E4A97EFF6541D10D8799707CA86591BD8CD4CB8
-59BFD8D36AF4D1DCCA1433F20CDD724F3550D88875CDF3FFD49C6F1EA956576B
-A1C64746D10C0EE07644371CD7FA3388C308B0E20918061607730E92A11057C2
-27303C387E163212DA3C5EE8952BD9F7F328E35D7AD3CC0FB84943ADB0BAD7E9
-6B4426FA53EEA4F2155359CD3F8E8DD5F0A1FB0B6C8F6A83F5B8BB179FB57256
-57A3DB758AE0F7B0D3A636F09AD0A86BE31303A6F48F2B925B6EF764DE59C3E7
-C995C5422BB61BDD691A5980CCC3639234A7A48A351E67E7ED9F0314B2074210
-36725D5306BBA32DB24BCDBE3F989EC1BB9CFFFDC156280BE9A7F7253F7F4516
-0F368A18CA6B1DCAA5C99693B6B0F593400D09AB18EC8F741091A32E5B5F9BE6
-B628F840E28643A9BF7E24D37E9C39A05BB70479AE6C9905E9B763F23E546A54
-8231D1A6009C658AEA37CA6FD5D2A36604370262583DE5CE3568999E594E5A3F
-4D665BBE80C7109A6FF96A856B511F4251555B7FCFA55FB1F739922F7E62F396
-482ED48EFC10B10E6D68148DE88308307BB7643999890BBBAAF2D11484425A43
-B41A4F2F076CA8D187074F3621C0E4326F7B48D5F582A91763A02CAA769947C6
-A424FA57F87E92EB9B199A540A05D4C65D121321BDD09F99EFFD4D43536EC180
-2A2DA1672CA05956D8737D514B088DCAB5D09C633A75BFD6CD35105A9DE88968
-F46E049EB38822AABEFC6EFC14A693555A7D35BD96764D7B915E6A1153A9F5B3
-84A79D547CA8DFFCC4D1F1C168EB6EF6450DC470DBE0A72D1264EDD2375C69AE
-554AB2DCC7F966F013F0A76F0FBEA1CAACBCE1B372F098EB069DC35688E6A4AD
-6F29454E371DA51CEA13A8E8ACFE916389DBCB162CC81964B4ABE791BB71A27C
-51E24E7571CD8FD16BB862199B562E1B9965AD602A77A644E687129A6980F2F0
-F6C1CB584BB8FD1D1A1F8BAA3812CE8D051D23014622A8A508E4296541EE9846
-4A2551A843B6977091E90E9006ED40E62D487ABF2B48633F09080C6C06B390BA
-CEF77C69E858E23547FBF6F22BC51C1C5ECF5430588F006EF7B3DC6DC0B0356E
-CC8F8099721A5E3475857C1F906A11BDADD1FB27B3A8683FBE50BAF54CD4F4F9
-9EB56147DDDE5B5D861CC8B89DFF9502E088AF20947AE7F72BD6F427F617A7C4
-6A3062AF9029071BE53A25E8C329CD0EE5FD191FA2CC3DFD4D623217C5F6C82D
-5FC9661900C111EAD81C6A88FDD47AF5D4B72B0FF9C658139FA478A05EE75DEB
-83AD2C79BF78D9CA975BE573AFAAB5E5F0F01E0DD9ED868BEFFACB15DEF79237
-6E685CEEC76F5884B37F94D8FF36D3FE25A771CE4523D4F4D7D53904683BBF91
-18996F3FA2090CDDAFF660AD63D9B5CABFEBD576C0F8ADA93B13EEB8147C1976
-C0172D637ED71C995EDA78AB85C3654D1441DCB41083C4EF1A123980F96FDD80
-6D4190183B4153BC8BE62232A0D6493D7A17C1644057A21E1AFE7322406F27C3
-94E714925202996554228981A8C39EF9AFB30F5EBCEDDF39DEEE3824D78C6437
-FA7FEE75F3B2280DAC4D76339F99F5848B0BB425B127DCC6EB20C1CA50A5233C
-793276BFA23F8B2CC4E061BD5797563ABCD7DDF79BF0957436A26D32723EE772
-AA63FC5F282FB238676439B1868946D59ABA007C5C5A2100A0878AE07DEA3CBB
-B14FF6E4F69F2A443D7551A6BEBA2C1654E3A8F3058DA2DC0A26CA05C8724013
-39D3B730E70893F0AB453F43DD2E802A46CF66A3E67CAAAB0C4357F167FFC174
-A9BF4E1BEBCF56DFAE9C5A76577FE0AEB09A738E6BED9E62BDF7BCF5B624312F
-E48B9DE428BAF38EF9AF8F450CF90E8BCF452D1888C42CEF8BBF2A75953E1F64
-AE35EE604F03199852323AFCCC72CCB2C20C489F2514BF347BBB5930BD425888
-6FF69321A007E21D77F57367F9D41E5D0E01171E96EECA01175F3F85A946C621
-9531EE5570189773AEC2E9D9F2AE5E4CEF742E80FBF22B0A3D4C56D825689D81
-6F6186E00B39E9054559F4C05D35EEA024C8B2AD71F0573BCD1B781F31BB44E6
-FDCE0787C66554093121FB5DCFBF83F06092DFF4E1FD10E6195ED375F9B4AF57
-0186238CFBC277EADC64675C7A9F2F2E17BB2652024C2E9AFBB0D9852D6D4B15
-2ED2EE3374436C58A78EAA552617F8694F123FDA2ED16E7E2D4C45593E0EB4B6
-3257A22F303D0D0AFF77A320967E5FBCCE40BA0FEBB14DCD0649B63A68C6F78E
-53DB018C87D8FF4FD1DD789159E76F50CAE880AAB7850FFD309B0B929A641DE0
-FBA51339C4ED5D050398A37EEAAF4D84EB7223D3557E846123462EB60CB8C35F
-8B5A628A16692B1EDDEF9ADA7C53FC1BFC1159A2290682ABA5888506482FC7C5
-26A27CDAE23C5D7079FCFE42CB1BCAF8358886B08585872528C6699442358D53
-FDA54CBF9A6D5AFA19450A5D394D209570C970679BB11806423E7A451D7811AD
-6284843A4CBB0B7591646B650BDB39E17C6344F846A2F3318CABA7BE6BEE67D4
-712AABD80A4623DB2D797B9D109B7403C46659EA299C8274CB49E9D31A0A9889
-5747621182A9986751141890719C900A785C4DD03C8476C2A3DDF1FC85441D6D
-089C7C126A72D8950A453C8C40CF92FBF4107DCC4653E836264BD29F584E1B73
-47B9234FDAEBF0768968BB1F75871DBC0C39CED01611F823B6A17742FF4C407F
-6E514DA20DAB72B53D3752B3F2CB8AA720A3F1A4E71938DEE47821E16E97E0F5
-32C9F57335B12B0CEF6B20917C1CC06F035E23F93B6376BE83467C23F0B3A687
-57D9616B932D6BBBF181B6DF116B3D88E5B6B4327F84A16DBABC9ECF4562A96E
-D89A445409AB5599175743E559E9C642361DA758611C0D56ADBEE0B686AF487A
-EF7EC4FA9CD87239886968B7FC3144313F5F9B90D1A76E45718DB65D2F44D123
-81189F26088D950335E085EB3BB1BDAC3AEE5F5A1AD7C44BD119D04693454422
-CFC2855C6667E64CD8FCC76088F3DB888DA386CB77A060B52930576B80E6CCE1
-D393E689AD64D9A3A3BB37C0EC3CF9286488CFAB18D656E1A0F1B078BC8F5D63
-4B56A82578844BE89201880C0863BBF7F35F1983FBC70C5D6372E298B877E6D9
-89B3A60FFCD876C5372605CF2B5C6E3EB4642D14C75DE75DB264111AD783D49E
-F63C3CA3B6D27A2BDA9C9593E6AA5C0A851CA1B8420249B8A3294664BB8025E1
-EF9246BA8D12186C6EBFF3EAE52B4169832CD1E95EFC52F70F0AC1C4AD47E661
-80997CAE243FD5F4B924C597F32E0FE4E32BE29C6063F4813DDCBB96F25955AE
-2E691AE1A7268B0592C934FF2AC5B6F7F54C8858406D1204EF17B09C3CFA171C
-5FD08034D00EF30FE2276F9E1C0788FF3CFA161EA1B9F233991B949E21942DA0
-B1026B5EF71B85BF1393E114FEDFD47189BA3DD480D3633A8A208DCA897150A3
-C47EAA87B8789E7D57543973497D119AD04F4E3FBFC5DC7741FD7645CEA76742
-8F2F551AD179A45C361D5B314692CE4C4E5A571583804F35D3A45A941C46E168
-68844DD4CD99284F2580E45DA23300B47C10B666E1F7B5C25B8BC054ACD1DC44
-12668056ED2E045E777D11836A5BFBF6B1C79AF48659C57910472C8232C37447
-328185C6FFF6CE1E24EB9D29D0B21E6F40BFA843E2FC6DB59A3A576EA7C26F0D
-9275663D03ED3AF206727909CF6E82B1916FED911C5390D4089E33E01D3A3580
-EE8A6D35421297812C7250FAFA6B333655B2A249BA8489146EF66CD31BB734F8
-EC289D5B6541A15D423BA486E7D173676282FA6A12DFAB03FB706DBF0A2C0332
-DAE3E859146D2ADCC1EEDF29AB5E98A4B4085F8F312CE94E5448F93653A44AEB
-1DB10210A1EA1597064BF3BDC2BF8BE227B8E0321884DC1B2C1F426370929D30
-22D72F8329C8DEF5D80E6DECD597158968F60F4B5F910537749E1963C161DBD8
-83D94CC3C7A334722545D617B9A8586489D5B866429D9130E785AFF3DB7F5AA6
-571A01DEF40E75570CC9F48C4BDD044C5D9412683C282406BF2C5DA0B0661528
-7834CECCAF019ACA31D27C4865A11BB664EA1BE6377A972E76A05F12E697569E
-2C400B018F1EB7BB747BD91DE1557E8B85F890A983D5459EEC773DC0CE99B403
-B15CBA9EED2EA4887C7961E8B62C566CAEE124F329F21BAD56E8CA6ECE16A249
-6256504DDF5C84F5D1222076B4DFA6FB430D2142ECD3765B65DF8A6C87278435
-45E4C826C1922E357DF688EB6F4A6AFB6438D94F7E3C444C0372B7C7CD26AAF5
-6C7B8A44EBE6DD58CE6F878747F7E59FFE8F680661EFDD36DFC4771EECE0403C
-F83B20412E006F32870ECF167167974906F99BA655BB23E5E26288535A4AE670
-D3D087F96E076E060AE6A3544570264FC780DA250805993A69D237712BFFE3AD
-E587B70D2970692918D3F80E38A769697E98EF5D034C9CFF6D8387D95E16AF89
-4B558561839DD96439349C745BA98D28DE129BA9334EF36994171DB9F358A41E
-C1E7CEE3DB6B8CA16E93ED1DABD8C89AB3BA454C20F201D24895D2F2186B9079
-B15430E6742BCD6DBF54A4915CA100B043B341B489F9AB72F5AAB8546E1B2704
-E4E8D752DC3E90B1B153A78CD30E00B87B9E812693BB5F8A72BE121FE861DEC2
-EFBC76D20201C0357C93662F6243AB7C003D51B1B3E4C94830361C81B606C747
-6FE16472E5FF087A25540E66BDB10A7B23641E893396A1BE38C102EB4C391648
-DD50D074BC2B3A10AE6E3A2732C5A94DE40547D21B7F9DC11635B8D6D6AC72AB
-4048758EA9F043295973B44B0917B14A8FDDB152D47E92731762B5FBE7E2D424
-A9BCEF2D296B3D8F41E724B6FA037540C465A087037AC77F1AA11A8AFA6B6E1C
-8960CDB46F764CED85F36A34D12AAB1B6722910A9233134C1544DFFB42B98D2F
-83A97B3898EC57DC07EC4BD53D01E467AAFE50DCFF7135DE13ABF0B826558D66
-5B4FC5862C48A5ED474B3F7BE7EFAB84D141BC92EA5AC299AAA26A6AB4C1DE9A
-AF8EF838CBB14C4959BEE5928DC77A84786A0DE55B91B86290651481CB528085
-AECE1722541CC470971F6A2DE7F4B116667189630CA8CBB78541807DBECDE55A
-D5CACBC8BF7AE4100130E499ADA3521C7D59FFF2ADC8826FB85A4B8A7F6A7B5B
-ED19E9C421D8873270FF623B39A4DB33ED21A32A6A282597595C1FF9E849CC85
-F7AEE01F8CBB21F75660B5520501226CD6B872E116BBB746FB9DDD3B3C545175
-0F4661041FA2A8F5EC7601C145AFE3DF783F676291A3BFE672C743CE2254677A
-646CCF082F592F8A2B074ED57BDD4AF9A5DD8D11C86694CFF16A0C67D1FA1C92
-6653A957054357BB9EAEA4C8988599D7B0EB635C03ACD63463EB8F449FDDEC80
-EA43FDD1B6CAB14E3D9B0C2AD3E118E0A0BEBACE1F893939E2DFABE6BD99BAC7
-96083DFF40B552F469AF20D34A434E48EA180BFC8E900F20992601761DA723C6
-1C37176DE8455D0D9D563CD165FF48348F3B5401A5F192F9FED4321E5E765DDD
-824ED3671F21A449D9A623264174B5D64904CC1B10C10AA482E25100F764D76E
-E73A630AC8A559DE6C260965DC16BA31B46517ABC20C5C3D89FC6FC187D0303A
-516C7A2C1C5462E313DAC0C11EAD5D7E771B42B468AB101F284BB94A82432278
-D77E799D2E8F968EA055EB2512EBB67607569173BD75F5154BD3E8BC74B1991E
-5224C3930CBE1E222A4568A043C508FDA7B3A9FC07C994D90DA667C78D28EDF5
-2CD2CE44DDBD236316CB70DFD53D179A78A01F3A0243A88B94B69CE85588A85C
-FFD9A23A0156293DF9A3F5FD01DB8E1674D691E7ECE78E5767271185C231EBC4
-5D91DE1ADFA89EC1A8FE743062D934120AEDB02006FE70DE82F5EE24B36E829B
-0BF2BB312BE578CC81F4F4DA811E6F25DA2D82173620AC20966C9AAEA2819AF9
-0EDE7FD2EA43F7C02A52DBC4E3E91F287D115B835646E53627A041F700D5B631
-1C9236501F2717B2BADA21C20CD9BA48F7BAC488913DF34E5B8679CC4BA71F87
-0FA9968E9D00C5D0CF8AA0FEE7DFF80131C8F5736361C016BDFCD85E28DF8239
-8DE792BC87B0886EFF1D313EFA13D6486478E6A52F5B6383CE563FF948DF4B8C
-33F95133650F966B3D38E9AC0C61C47527193CCFA54EC6368542691480DEF9EF
-0B74E4382CD2D7EAC72D0DDCF86F9FADED7F2E11C10F992BFD6C74A1AA8A1013
-D317438AFC7F22DD3C7EB64AEB8C8F267FA73F398BAA4434254B993FB12E1922
-EEF8515BE3CDF0BD57C1F0433F9ED466963E0136644C0A4280902C1BE9A86656
-729343D578E0E335407B7D73B9E6657E28675941D76836073E1BDF1768E657E8
-9A06266FED44EB127C0A20650528E3FB33D5771EE49F579C7A70E8231E093A59
-4B8390600524F0198C313F2E6AD936B382098C1BC7FB228F5A647E7EFC382F93
-AF398A0640C5999880057A5619AEAD4CD6BC34F70E7F8B9D5EA6BFCF432C6BBA
-8A23510A0C306C5EA0BB33407C56ADC76892EB7407110CD7D2B2B063F870AFE8
-B1ED86BF1593426FF9CFAB3082CB3ECE1BC3F103E0006B2BA846DEB0A0ADC549
-1AA0D92AA01094F8F5CEFA6C86FD432B40D010C148EFADCB035BEC296A4D6F38
-12406270DE9046C76E80FF56FEE665465BE12AC6FA74C2F4C648D29164248CE5
-8831C4BE49DABD324754CF75DCD125F59948B2B1D1F0E116DF84BD02A99E5803
-1D3309C72875BEF544DC1BD37F4AF566745A2BE93CAD7E55EEF5DB17BA290B5E
-DA86BFE145591C2034BF045006BB8D59AC0B1C585959AAD12B0B50C2A6175093
-3CB5F54B957712912FC0B2BEB6033012D928859F510312EEB5374ED10CFD5C19
-8749731A97AB9DA6A2A63C44A399A1FD09FF17AF1DFE301232A8383A6AC2F797
-40A188F69CD72FFC973B0BA64F7BA901DAFD00F28F986582D9AFE5DA387714E3
-41B60BF69D803539F0A1B0D3D42896D449DF4411348A00C05C38ED31265DD53B
-967427E22F0089F357B5A39B81C1281248214FDD1148F92E75761D4D7D5E8982
-95CDBFE275FE44399FF05DC34245C4BDC38C4F7D265A4F3C1E11717A6F3FCE2E
-720FC5142AF5CEAA75CC1868D172425A72253EE3EF7CB99A09D1E46609E3A935
-0F39505442E1A756FB0AAE7D30BA8D3DDD938D0AB9D746E65349D5705B36F60B
-335DBD91662CD5A12983EE0161F8C4338336575EF6C9C6842E0611331EBB34B4
-DC778CA9FE0CAB8839FD80D19AB95CF070A73CFB99467256F91D37BB669A470F
-C5E25FE5342423A2969CEAB12CCBA86DB276A8ABF9BCDBF377C187CA63BA2087
-FF862833B9F03FFF0132E790064B08913C625E7CEE675C1D4226AD06B75C49CD
-DB8CB63A2D32C57031959F177AC8720313569A540BFD5B31E92EB12A923B7329
-A128E58C06A6A0A056FF16F02B37270C9BC345B8459A7A66E1BBDBAAE72547A1
-D4D7571BD1D23FBA973C096C0ECB08E93EF56EAB20D009C7A1A9F396151964FA
-57DD810E1784731BDCFAC8868F84C666009FEBE9452934099E7DC25EBEDCA33E
-A81D7D49A1FFC7839AEC3A6F621C7170C6BB0F13A2FECBE5A1590A6EA8934E1F
-7396AB950A313852EE08A87B98F103C9E67AB7FBD9641DC4D63B0708B2401D9A
-D2A864D1DB420628B35A9908E9AD019245C30312E8E64819C1D221B964CEA54B
-A195B12E517CF48AE685D2B50D34CB38B685370E762E95455ED521B4D2D9D441
-AD04B19E87CEE1E101E0F6258B66E470A0068EA4ED6AC706D7BB0A4B7A9F56D7
-E166CEB698465FFA3FDD7F63CB9C2F07AA7221BAF32E8066E1608D5CBBC0F1AC
-D7A8460668E59A7C8DF2AD01851199D997CD10496D687413D05E934BBD028721
-EDB1CBB81993265D6547FA78E7BD9D01FF60FA333F90AEAC3B6944D629F5E9FB
-5F8FD93E49E4DE564F9441B83BD8D93D6121C76F8AB0DFE84E62F21C34585514
-CE0C80F8BBCA8E5472404DE3D990015828187F7BDA1D66C324F9217A3AE1C9D8
-6F5AAAA20A7F6AB652BA36971B40C4F0A90D762864F8E2AB4F5327CAB2CD70C6
-F5020B01155F908799EE5B906487A3BAF15579C814D94BA8A38EC38515582A40
-439F347A516379BB54F9770E1449D08F89717E1EC32C305C2D6CDDC35D0D5F8A
-8189D3378D09D6B333C6D5B83CA36C7029FA7795C9DF09EA6DE61362AF79A5FD
-38EA53024DD44FB8E53BDB29EB2BB60A7A284EA01B429DFC9BBD5421C8DF7EA1
-93665459A202289AB7217576CB845E2A1D83EC6693FD3CDE809A0AAB042E3778
-F9506DBA544E1032F690F0C783CD4E7CAA58228247DB04F1FD4B90F3305B0B21
-002737BF3F1DC28217AB98D7632B6F966D9CFDAEF72C2973FF3EFF17E02AD8B2
-1084C5E4DFBCC76B3E1EB7762B965D2D8844A771F08434253A0364120634AE38
-54CE24483F46388CD94601F361FF3FE78A304C549B82F178D204C5E4BE9B2485
-8A39D1D0CE1AF954AEC6B2982EEBDF8A0FADECC33733CBC144576FCA8F58D0EC
-77431B64BE9C9D3744E26BE5FEBF912DA0B16AF22EFDFD92526E9A65431D70DB
-547D241269D266DE9EAF67A24B1EC9E329310DFC31E23EBCBE7FE8DBC78AB553
-6A257514969808E1E79E5AE3C6C24FA363E4F616F52B4724291996DEB52D8E74
-391357477DFD2A594A0B1F10B2831579F4C526B234BEB990A4223F0E5AE15A59
-ADD7112BDE6E257EA454C9E0D439D24E6412520CA5CDD3D5B85EB35934EE5E92
-404C808346B7C97C61CB21908AC35347545F7F426B363175D50AEC231460BD2C
-035BD4A94C40B213D13654E2C778277EE429444F098B2C81D37DF81EF898C799
-E645375E86DE4F00D18B26F303C3102B4E8EFBA1DD6B64E49EA81FB5FF52E94A
-281C8AD2733339FD58E207D80F6E225D53ED62F1BB2FFFE2764F35B80CDFF711
-A3B84DBF388EADE65A4F7E38D6AFAE2DD00E3A161F85F68B79DE87CE4CD5D77A
-73641E1B8E6B355A84740D5CA4E74EB3B245C261F6F769E789C855BC6985090F
-564FAECE25C11FC509D63C661A8E6A8FF1FBE8AAEEB3759CD25FAC35BBEF23BA
-745FE0A1ABA7A477C8FB63968B8AD3F7DA8E248CDA0AD67445B9D6F6FC034B99
-792BE166BBB0781BB3B5BE5B9EF6B3EBD02C01A4BB1AB7FC048A71F0C429B78A
-182BF84D462645F2A11A2A41CB1C94CFEBF17ADBBB9063B4F5D0FA9CDEAEFD14
-FB9E03BD6D5A7737FA1CBF6A7387F84178453B2419CCE7018184E0EAD5F40981
-55A1D215AEB571A861A1F12DFF84A17B142925582709DC5BFB6237C7D37D5ADB
-706179768BB1EAA959137401AB9DF46CD54314F93E31A4CBEC0E1C589134F6D1
-C3D3B273E947D09DEB0704A928571D1468C3CB347EB545040E07D3A670816D72
-764998EC7988C5A25E6D2403382866FE5408037BEAEE7EA98BD8EE300B957965
-5B79E8F4BC6F84E4CB037270D4D9FCBC0008408485D855E67D3CB8ADCF7380A9
-09350593ED80A9BE9CF77DE6D1D4A170DAFE7583CF6851970B14219A3A2B4684
-A8010B4F7B422DD699C167BEE110E3890699D710148550482CBF2BD5CEFBA8A5
-C1B45320C9D0C8838546474830316E1E238CE2704C12D43211639333E9AEB018
-68C7068212A440912FB4E58124325DCC233A8BAE6D634C9E47DBDF449974F42D
-1D346C206E452F1C1AAF76852A3FD5F156AE0FE1DC777E460DFF136FB94A6879
-54F0E6D4825AC0C6F72A71DBCEBBE355BCF1D0A336043325BE80D780DD21992B
-5240312D13CD85C2C2C9F236CCED4F364ACEB22B8712BC0598B75E565BD05A9E
-B579CD12D262FF8114D93BFE09D1EBE2B38C6856938C0224D6D900EA9E3C033E
-18F7C4E9D4954BBF699B4F7BF5424EFBC36C9DAD6A54C1304A425DA7BF3CC236
-CC82139A00874BA953C4581ABC1B6B06567CDCDF78247C090644C8101E0454F7
-37B42EEAA2743D855C90D03A0DCE75EC28AE7765A5AC7888B477AEE2922C1121
-FBAD4188E125B110C216A7AAF048F41AA81E7F32ABBF1A3F597069561BB6470C
-1FA96B179FED4D6781C6F70A343A9CA3D757AD37E73D062970AFC4DD6B54304E
-A9D7F87154801D7DFD1C45E0717387EA331B8A5DB13DA5AFE56B341FE296A775
-EACD862B7D6987BAF4B73B04455341B07BB91830868639DA3FD78C0E570E8CF0
-4E85BA82CADB689E7E5DE5777D0200DBF1691AF7A44D0E3ACB9700B1829AE038
-50566EDDE5A9FDA33AAABD737E5F73FD76FB021805406F8E525EEF4FE985B6ED
-178570FA9B4453535E38C6D3472BD475A07DB82B0EAE3950D569F7D0C16C17B8
-3737B780DA66F50B7F678B8020527277E243001434176C6E8B9B9DAC87139FBC
-30F676E3621F59D2F8F0476FF8C528302C7748CBAEB2997645DC7724FA8588FF
-C2969DD8921AFE6E1773AD1135775DEFA1EFD197C113AD53A656D4B7BC1613F3
-8C56B27578F856FDDA30652F7D6DB38B819D1E536B2745421DAB8F5E21932B7E
-20412937F8668163EA41BF6D7855B884943179FFE4F2C0C3340C86ECFF4B6DBB
-F41CBF9DED39E7BFDABE6AD603FD6202A47536E5102E7181FD60166EB10D51EA
-5729F7FBDBCA979A65A8FE0A387F78A99CC7E41D87E0D791EEC0136BE1A077C0
-19FC4B16C601DED739DF6FE9CEFA9E48997624B7C768FD5259D0766A9C94B0BA
-9FC8336C05005DFEC39BF559A36962F16F21F208F2691705BB19FE25AA2FB0D1
-DB727839FA045A900A0BCC2717A35A2FF401D10B7E504FCE43C58769563D8289
-03EB34FF2A2C34107C0D2F8984ED
+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
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
650DDF28FC1AF21FA124C16EE8ABB98904F03E7F49E54348B1AF2211A1768768
D62E35EA2EF7F2756B58168F9FFB5785DAEAB324C90FDF6207E670DF277D6AB5
F0924B26BCF52CDA2980680320314F41244B73DA6367C434B5DCDB96B6F0F454
-89BE772F9A8B4DF72D83923C87D8DE5F9A34F4A221A0813168DA2140B74E415E
-E0D7776B86AFCA5C6A24927FEE493B0DEA861804ADEFDF7823EDE59940E2810C
-6AB44DFD9C2C79C5C4855B514C64A33EFC4411006D6E7F10A3A6869D5FD6DA0F
-CA39AF458C583D600D18C9AC9C8325A02139C24C634144862E1A07448BE8BA4F
-09030D39AA74BA631AF7370E3FC2F33FB9F19052D5418504BD590495996A3A13
-45AAE77F8A657FF1A41B3E2D9166743E3DAB549E89BBBF14FDBBD6BBAF24089A
-1878AF0758A56AB894D1232CBF429242B5A64EFFCA48D249E3FCCDAF57E7D159
-5C1502BDA4F4FB6611AD80E2F770C9937138B5BC0A55FB2211ABFEDB3E8592A8
-301DDA6ED93ECD673CD5A1AA3FBDBB62772313AD1C3A2B73C05D7202905F10A7
-6D295A07FCE97831B68BCAB081F0DF2BA97D425F409EFBAE2831CDEB299E353D
-BBDD7CE0041FB2DBF57E6F66EAEB0DA1A6AEBF50E78779440410764AB03A7100
-F491E92782B89A665B288A03846796394367C05A213E072A108BDD9D1D1763DE
-15CB12CA7984981AE8C05019D3AF855E37023E14012C2BA0DB768E37C3128EE0
-9C0DFE3D3B3BC42634AFAF4FCECE835689C49690222C5E2136E4843AA9E428EE
-990B46FBFF889F75D756D5D82D5D6772857997D4BA8258744C6665573E661A79
-73EAAA2BCDFA1A76AC5925A93CF052C766ED8B37806ABA24F37E50401799E2DD
-9DD1738F09EF3F2BC7029AE73B55991D89523B09FAE70671D22D0509CEEA68FE
-B5C14A412A3FB6F70A7BA5090CEB3923A17527AA7BE9B49105340C6A561DF3A5
-AAB7B43DD95461D1611D6D8BDA96F5578662BCEA3054CDA86033EECC7347B564
-BB034F230FDF4337703C156865E1EF00CA127816572A1DC5F341895256155CF4
-83848B1CC0C3B4B5DD2007A0FAE66FF9DB4DED11F1FD718CF6D2F186DE00C338
-DA4A895A31539C698ADBED03E308E2309BA867EE59AED836DDF6A19B96345E86
-BA48CC96CEBA702644952EAEABC4E9048961518C5C6DF396E7089AC7493B847D
-D4BAB5647316AD31A97D54E9EB5D292704FF8F43ED9F61C0BE5A7EC3E7C2B833
-73FFA3C78139D494B0ADA8B03414A2A5339BE9DC9AFADBF801CDAB652D68BB70
-85FF2F586F8202D534893B9B79F7AF2B27D46672C23E38903454FC2632CB3368
-D87397E13270EC8F7BB76074C39C26323042FBA8922455247EB620A4B42458F4
-D770E3E5A08DEA1FD34A862A4D8F8FFA5E31534CFDB5143E7D547E3A47655E05
-E2AE1C613F4D0195EABE455BE63FE2AFE2D6B514FAD44C86F3938511DC9EB590
-530E055F904A71C4FF15CACE3F59403B19344DB4809B558AA5F5640DB3E682AA
-307DDA3A46DFBA6A7AF82110519F8D51FB66C4F8D9F4A18BB9EEA39D6C637F0E
-765DC076740D8A210C91797AD069DF95DE0260F446C3A20A1C6434686DD99150
-6FBE2ED314B24B65B28C607AE3EA478BCFD62FF2FF5EDE5BE4BE0000E939B71F
-333AA8981A43024A509531E075E74594492A7121798BE5E5C4EA29F2744DC70B
-20EDB37953452FCE47CC55C9DF7F65DDAFFDF95D89C21F6879B6D292922D4D32
-241554B5EAF2DB8231E2655E9E3397E4A167B48BD93BC16C91D6B6C4B1696685
-ECCA2B198F1BCA5B38F97DABDF27C3A8323A581BD40FD2DAC5C9C06A229DA326
-ADC343604C50285CC6E45AAEB1054AB0973A5BD73573CC389A6606C3BAC40B9A
-E5F4A5685E04F91CC25B5C41A6231FA9EF82B3EE1FED2F1BB6D79096E2A775DA
-CCD42E4080EA17947BD80667E6564E47DD90C62CF0C5311C68AB72AD15E5E46C
-A2D38A95530827F5C5BF7C24ADA00F28CF981CF0CC80B473A9351EE28CD6841A
-84BA8CDFA125371ECECCECD50DFABF6EE5B5371A7E943C51AD3E8EDF018DE8EA
-B50D8A530B6C7ED32C07222B4D469155B85FC06401AA264A2160D058359F0718
-0B4AA76823BF3E55332876BAC15FB8A00E023B88222494C1814084719E931BE5
-AD8094E3BB1372543444E13C3B286FC981799FF55CF24842C9CBC772C17CB0A2
-67D927930E29A050F682EE612F51157B33671A195558D8CFD8DBC5480AA59372
-BC9C85BE5270EF8EBA5AC71B1B47386268786BA4A4737D11677BE0E6FEAC378B
-94F4A215C3D8E0EF94638F3C8C95CC59FE19665017756C82FFCCEC6F628846A3
-B88BDEE7D41840313891A2A53F9747AC96BDD710260010C3E6C882210860BDFB
-FD81FFA8A8D2657ED7C69759ED4415F5CBCDCDA031425E083C215FAE849758D3
-8C55E03A58B2646C16C49E29B612AD5D9610EB02C7415B2211F883CDCD498BEC
-F24F473F374A4DCC56050299361A8FA9BAE265F894118D3B702C360EBF6BD9F7
-A1CF799BE7F05284AB25328880B1E34D204D62F5415DBB13C272987BDD6C6D5D
-DDAEDB62BB850A78B386B3E7D343620188FA7C6FB8843C91FD4B1DAFCAE89624
-E298853990A9636B92FCDD7DCFEF07F933667B6109968C1C18555DD9D785D55A
-D2B809BDFA936E80B10E1B07A013FDF2FC7E262A7C450317936CB2E13EFD216F
-8D4BF87DF0B973061F6B735856A6D43724928D14433B258B92AE531CEA5C1B3C
-2681CBAD39D30225349BA5D63E8BE4455BDC1342363386E54F52C199DDC97669
-1DA0EFB51A0767DCC5A372C900F2255A048462D0F0889B94EFF8C268EA69C288
-DA43B3D6869990716907CB6FF064891F97BC35870C555DC449FB22884E878A9F
-775CBC50E1C7A0DDC1B8502EFD9D311AF1C6A3D41C9EA7AB9B43298381C2DA70
-5BB5A2EEA278EAEAF9145620395014AC2D072FA3C5840B774D6BBA087AF8E06C
-53FFCD7AB6457833E36A38D553F3DC2E26D3DB94BF895479E1B78AF5E28A0464
-E29DE61BD7F0159E446578F3DEFEAE202F0D61AF1B9B85834C21BE1AEE1BCEC0
-6B6E1EC00CA76D322AA6ABAA4F85AE991C1AFE4893C1C9CF09FC79FF5B6242BD
-5AAC4848860A6CBC20AFE3EF45730391313299D73A29BA4F73C4B9A1472DA8ED
-B37F1B834D4FEE2FD05DD8EE128667A0EE09287E0558055B6B07436D899EBCC0
-C26080CA3C3E3051AAC6BB3EC8B942B2E50B6BDD8BBC5104E32E985A67146491
-0ED84C3E46F213F63EBC56FF9D9C430D0C6283D4025AB4486422B6F7E5475A48
-0147B79C294A26A8A3DB778FAEFFFF86D656DA68F73B62755944D3E9C9DC7384
-BC6B6EA4D5FE33DD5F1C4036D6FD0BF96BD1E349C399BB8E5B26813CC04789EE
-41F8F69A52562925FA3BDB3DEB77E2533E400443601BC26FBC11633D6D1A0AE4
-F1EC279F562B01D16721CC35CBB026D55DC9284AB6B66E656F312CEEA139E222
-03C18DFD2394DE44C06D4F0CE1192446B0FB716E158977E4E2C4D5E3064D5DE1
-201AA823E48D802779749172B52C7BD0F5BECF500467F67D0EC28A90410377FD
-50AD0DE079F5075A277A8AA3D32BF8D6E10D21CA4799D173EC7252F37914BA64
-0134F63128085D5FDA5809546D8ECD3A472A8E6ECEF5716006FD6DA2CC2062E6
-A0D41CF2CA28DF02A15BD5346B6B127CDC043DDB44939B8C44656D7AE89E5379
-0F6CF55384D6F57EC48CE446B3201B818449D259F825132486DA1837058C1597
-D06F41CD17C93A0D84229C222646F3AFE6D1EB17FF0715EFD413E500CFEE5FAF
-B223BED993A34D4FA0021665FC990AFEDD7EF971F687F31525B5C4CF594328ED
-D41A3167EC7EE5245ADF14208506FDD9819BCF26CFFABF2FDFA439FECFE313CF
-4C56A01A57BB74DFDF0B6493B67B48EAAFFB0BBE085813F33B9422679E1FC5C9
-248A10352B308EECC3C858CDD48BA6122B34F4547A5784B8E1C9B7C1AC664C06
-E6BD693494EE6BA7B130A652A11006A5C61FA47A6F41B79A3C14C4C23658EA68
-B8D26062E8F12C96C206C6388183ABF24129418CAF9FB647548352117AAAEADA
-75C036583CA3A39276743268F4EF0D425650FAC75AFB7D7A2B55341077D14763
-82A5D676697652B1438BC41D5B5FFD93D32CF6B894F6D12BC4B2BDFE1B680F76
-198C9FF07A909421ABAB0E05752959DD7539AE8D79F1E8D4FBA3DD5364E227E9
-E1BF95734D934FA5C2D021F000BAA3B311F8BC7424BF7C4261626872D7538617
-C72354153521F52C4A989B46DAD27248484A640205680BB1876077A64CFB08F4
-498A69CC9B33816B4D74103B0034EB2DEB43A64E289E60CC6BEF125C9DBABD61
-DEA279ED18F3FD2B32872A2CF271F43B5A12DD65989C534BD1F5215C7B1D170E
-EAF5EB0D5071A3A0844BD7B6EB222EDC241DBD99F2A1A11C804681FBC0BEE05D
-EB30035AE38F24EC06567B12EE2362A08DD0DFDB03DAB756ECBE1A81D305EA46
-6DC12099132322BB2FB4765FE2380BE8DA45A7012E382F3A59EF5AE330186232
-7EAB71C1E2FDF7FE2FA8531DB7E051AB25698189AA3659BD3E51532537C0BC30
-5669514BDBC8017BA3920C2A8CD5029BF3C0E6AA862AB1EBBF30FA217F52F262
-6B10CF40E210EEBC25BCDEA43E3ACFCB72DCE26360F8C54A5C82D1EDDDA79C28
-E10F8EEB0B7AEF1681DBF55B60E579DFFA8456AC917C22F41A55A64C772465D4
-95972F119ACA2EB81DB5CF344EF39C543D6BCCDD366EF88EAD82B9205DEFD0E0
-76A18CD1D8DD304A792D8D5843674EA5327A63F0BE6F6296CA98854AF7543031
-A89A6840C939717FC6BB65EE10AF56128047CC1518772CFD320CD343167C81FF
-DEA338507E032C84BC963B425F9E548085E2B48D7F3EAA3EE388E78B3C312800
-D1C851E085BDB00C8ED6AA4BA9D86B8802721C3E802E0AF93B18F6B6C234C2F5
-A5D629C7635C35492706A7185E2058C0D64267794C96F6806D9816FF7D7E5A3D
-6DD863F9E390B4813B3CCF8C635928DF6A19073D699353B03AA949B91128DD18
-A3FBF6F99813E3A6F7848442992EBA3A50765666EB0230419CED3FB71596672D
-B32E281BF56A2E706FDFC43BAE9B1B6D29FC517739B2D4ED3213869B3C09DC3F
-D827192257DC30E43C035D047FCB8F2B19AAAE4371F10F77211ECE4C44AE734B
-44E8A97E9CA64664F67CCCBA2DC4E52F675DB203740442E9E51549007981A659
-1E7226503A65AFD6F87EADA9B8DCB79D8ADD2226D66C2DD96E4ACF400AC11BFE
-04DC3C1891FAB032E5F45E605E469A232EAFA81DED58C14B9B6533835EF3BDA6
-19C5454B73CF2661A200D1C56EE44A135C3F020909229A9E85B56D6FE5B58034
-DBF6E85203FE25390C7E1312DBAFAE6C9DDBCAA76D8FB0746F03A829573C8735
-986578F28B255E54E157FC97524A09A8D6F2BCE85B0BF1930B6A7466605D20A6
-98D8214A313BFE8F1165F386E9DF2FB0694D1ED7CC4BED2B93F4FEC32E82ADFF
-2F6EF8779C901AC0143226201EF7DAC8D41C468F3E12965FFC05F1711002E3EE
-FF96EF2664B70273460380CB944697B8F4110BEBFD4866694F971FA4CC4633FD
-F813DB6B2C71A93C78B1963410DA2FE24912529153CE564A5883771C3796D7B6
-5995EEFDE27ED81A490233978508C3D637C8B5A07617A06CF0BEAD995BF0A290
-C56252C65AA9CB6218A966554109773460A75844830627B93B07C2AD8CF7A6EF
-4CB1756E38E626AEE65F072CB64FAF64D992BF830E3A1FBC206E44CA3FB9FF50
-667ED7D62EDBA2B9E9EE705A60B9DEA4C19E17DDF5E0293E70BA0001A473BD9C
-7D0BC0D8BA2B250AD0DDA501E0CAEEEA9BFDA88023FBD8B8F3F1B14619A6AD76
-9FF76B5B87EFDF9BE1698AF0109C1065FE016E23742FB0F6EC764B73DE017D0F
-791C0DF32C47C7A7698494CC95F033939BB747916757ECAB30DE569BD04E127A
-6121FBAC36258B92B7CCA7ECCEF74377CABABE2D63497A1A7101208C83CD8A7A
-38FC478FC6C60741B5864F1C8081BADE071FA6EF22D9648FEC99DA1A91713A9F
-B4C1136FEC0F7D8C8DA93B6EC09D2A64B0C64075CE5FF8E71FAEE9E7ADBBC045
-7EDE9E815946B4DF9AA4543CBD257C23D82C8C36CA68E57B3D08895D15061D2E
-FA63C67490C80A7E9D54F4558D78672735CF1FAAF001F2E095885F8C579607EB
-22FB10F2E828F6F4B08C8598C5513E179893B25FD883751ADECF745538AC70F3
-442416D7BCC039DFC1A5A18DCFAC74FEB0C5F8E4DD19AB2443F90439610D9F7E
-83182C6DD2B8AB61F71E9F161F2CFD0F42934D99478C78EB5222A632EF5EAE5D
-6007C530A552A27D6AE331193186EA0CA4709FC021079DF090B9BAFDE32B07C1
-5325A8D10CAA9E2ED3C1B85D1BB9D1E80AA6F2CCA5C3031002831152CC0DC20A
-CB3528325CDFB0D14391DE9140B2854E6D204B3C5BE0E2E8214D10AB888D9339
-CFA1845B2A1B883C92CB7133D8E113BD39D5618D3B3F945542F0FF7AFF7ECB92
-F311159A844C2EC00D201E5624EE08A52C691CB3EB91D8D8ACA1B60FD4E3AC53
-9495E08CD4C0E4B660DCEB192F35080FB5B92A2DDA870AEB3A445E7F14D38A05
-8F82886134EDC37AAA82354EB1F28951B0A75D0EE6A2BA792C8A13CDA402FDEE
-FA72739015120DE1831EE5982A6D90812FEE47FBDA290EE2861FC3A936B874A6
-45448E6FF0512485F2220B41339F976D5143F34EAAB6F1A745560F67EA472377
-E4719EE4F3E1BC832A49EC4F61DDA52B4AC928B2E009970C530E4E581BECA627
-0F588824D9E73CD3383F19AC67295BBC1A9A20F455F284D7A8F363011D8CDBA0
-370F00677837B84DB119610D4BBE83948A99C4A66D86177AC2F1D4C0E36C980C
-BF2F6ACD8542848318D48F0D81B38C9B1BCCB53D987A62554D7819B3C5D7D43C
-5F77520EC4AC81F0E15FD159E6F6F1E96AA71C6C2C84638B4E88C43782DFD0BA
-909EC99E655AA9F4FF2191E50F5A9820ADD18B7514448295559D957121FE8BA7
-F5CED3EF7A921EC2586856D6AA832A0E4985C9CB52775050AFF46C984972256F
-7744DE681222988BC3B956C6302FF495819861605B05AFEAC0E27CBF4527A721
-BA6792305FB8FB4A358ED8B9EC3676C260CB525DCA241869C5F96AC847BD48D1
-9609052FCB15B567E7C7AF944DF27CFCAF8E8CBF87DCC92B43F24344A4FEB93B
-320E12CD54A9444420B5615BB82BDF7A82520B66FA9B6A60A101AA4F01E17F9D
-F084BE6CCC009AAE4960B31B431B266C956245679DC3B040223A772B9E5A7947
-A6D83B7C6A66B2FD7B33CCAC24CF43C62A059BD271E06E3E45115319ED235702
-202C8ED2CBBE2CDDBF6C01917487AB14CC0D66E3CDCFCB524DAF33A327599F72
-B053A0574AD54BCB4022D4B857BDF80DF4B1346AAA05C993D0E1FB71E36C03DB
-4F9975DBD6C6B348BEE9E3F901D02A80413FD64A8F597FB717D3E2F8133E9C03
-531DF16D119A9CE3385BB8D221E0A0A3F26C1B9F47B52DEBC694D110D8EA2865
-34070DAD3E9838C4E6E9A6884BFBAE752BAF2302252031BBD8681F1A5CC432DE
-74EC422D7CBA6004786840CAD84CA51E01780A2FA3EB08A3903AE646627FAF62
-A7451DFE75B640AA73BFBEAC5F9E2B990C40E6F964BFEC05B77E483BBFB242CE
-08CEC58A710B538105D36384DD4F51CB93580DDBF86987A58E5D19DD4C9452E0
-3BC91A68AE597B2C691B99B0D03635CEDCA10B215E7633ECC188A9B46CAACD65
-A0BA4D4E6CE707C3716CDA0939C574697DEB15D7641B80378DE496A4369E6B24
-64C01DE77D2B3D88EE1DF520B8E998C21C5B77F80BDA8607169471D6C04F7358
-DFC5BA5DEB5F996670C02E72D880261371CC877838534C34A0D336E9EC878197
-2DEC6D4E3A5D9B158C28C7417EBD7205751322C4233E3AF4E38A9E72F3E94949
-79027216C3DD9D7FF25F0727A54977132049343B2B6532DA14AB5E591A703B7E
-B7A985A0B761A8D57395174ADBE75FB1F28918850B417E9A693DEF61BE9209BC
-224F37EAC6A5475670D56CF7822452D725C25321A5B6E026963A67CA801E145F
-DDAEBB7B09BF3B766A63704BD7DC45A1D930DD1AD0616E888FD321282984BAC7
-D947DD040AE7AD9D50A4574F802A0D58ACB2AB0B6D522734A085084BFD5F9038
-FE00BDB4ECA2B75019B5884652358D600CEC18A0BB95FEEB3ABC2A9D6A272162
-4B55A4DA79BC13003F0AB91237C00351FD4BD78E1B9ED3A4BD7E8D7A38F967A5
-A5487967651603CABF755F666C91950D783A24F95BD0EFFDCDF3A7836DF0B4BE
-7547C6525123B0E6B9C7A17FC65C1B475AC392F02913A2423586EB9F8EB7C6A6
-2A10E5E893F5144107C6530E26217ED4E9B4D4A2233BEC2027314F9D81B0D718
-3FE48CA222D864B9B443DE6B936E7CAF71BD8BE99A553C98633E9085213506C0
-7DA55260AA119796E2AD6E45A7619ABCA9C172AB771A74EB93E3059DD4D8DF97
-1F0416CEEF4A37D0F02BE9E1E40C49BDAE7800FE82468FA222E277E8D51CCE08
-0F32BE536BA3F095E73B03FACB39319C3A8AC8E85538DBA8E308B1E36830B5AC
-E8431EEF33AC58DEF2BFCA90FD0C0274459F52E8EC1B1AC3DD9DA078559A15FE
-172B5F766E0EBD83FDC1C74FE599D98F899CDFC73417B43FBBB0B98C8C70214A
-B1162B4F7F83617349B6A131890D957CC31688C203C691E1C602C79B774C0618
-C9AC9175AB581A76DACD630C444521CC1A84F4D8229E7C50FC135F154A77ECC0
-75BB336761CEF3D88F363D31A4AAE6846C6281E420FE51A7CF0166631A642B7B
-BBFB3C7CFD27316DD73FE8145C1DC72F361CB75A44BCB0796A261BEEBE8C6D08
-55B16FA0DCD515E1B0D189330FBF11177772757A5E24F244AF0C973D99A17855
-EA5119D29ED78C075CD6752EB437C170AFDD16714E634E359FF52916991A14D1
-7F5136DD09FF06F72A316701FDBC6CD8D8028FD3EF5DB08AFDDD3E1B78BBC187
-FB297B951444C8BB4BD0CC7D914A7F5372EF12ADF6A9225E7186FBED2EE59FD6
-B4C7EFFF37D22AB6CC6D784C9904F1654E7A7577199110A84C5205D306A43285
-0685C0A84E3738D058770AAF0CB0E70CAA236A899467D72A1E9DEE26E4C60EC9
-7D124D3416FD92E7430484FD18562403F15B70CD61C8CF7AA8DEBB89E4B18962
-9AD8C10B03705654C7EB81DAAC4D7F615C1AB94056F80EA25BD532BB7D2EB4C6
-4E028BBC4292A87921293EE1AB403F182F1D7066F8AD2D1C130079F356A7715D
-EF1371C749261B681FFE1DAA837A5BF5C71A556503B3A0720C43849C44C0087E
-76686D319B23396A3C16ECA8FAEB5D5091638888DA3494B64A568D262373A938
-EE557F2EBA817EBCEDB7C4BFFC78BF8F5337ACFADE220CF5898FD3429FA8951A
-97655B025A3C5871042AA23803191751FBD4C706629607C77F85FA6139EB28EB
-A2771645638494E8B616DD3837310D68AAB5FCFE13EA16DAB4C91E55DCEF892E
-8014B2987E74D14B68E6D98625693C4F1AE693BA4F1BA4CCB55EEA74AE792A78
-6C94E95272C813013BCCE1BD59D50FC9127BC04D7A65B0A56B707651C576E1F0
-1C8E12068C4333207F3B2D7E4770510D017B7AEDEA544FAFC0C37261FC788E1C
-AF7CFEE16CF006603D02996561746BA4496348F3CC822FBEA3992BF970EFB0C9
-9DCEEB3DAB4478784F3A707285699782E3E6982B61EE62EA72A743F47D6C9A72
-9B005199DF0D7A4A7A8563FBF852CFAE26E6014A992FFDB0581A11B83D6C63AE
-8FC9CCA3A6013F78BFF3760F5FA35BCD76A9D7D4C52FA8D632CA507664B9A544
-8A56107B270DDDBE65DEA2BC8A59C817628CFF21BBB97B88D6CD97AA44F13F2C
-648734B7734EAFFA7253B5AFABB7A027A5321A63A3C4FBD3C56A8D0E8B6A8B1F
-B652EB69A6A9BA7A168AF5BBBBA8C7B7F8B7DADC828A2FCE014A49317FEAB0C9
-FA424EBC3FB814CEA7D41CF656A7BFD7B8C5AA1D45258C273D6C91813B4FA20A
-A88D3E42E899E91D353D2D578A2038FA0AF031F97485B2C284887FB9BAB4D076
-A5581C85C7C71FE5D54628F0D1156040EDE09D917B50A9CBDCCC8F61135E235B
-CADB00DBE972966C980F56A27335EAB4FA9457F82B0DC22D424202F2C69BF864
-B7AD34B6D9283FE4513DEB326E337F23C2EEBAF1170388C9D4B9B257263B6B07
-0C2B8090519BD36D8AB8769C0D9FCA0F97A0831338EB459AB8C7CDC5B3E0A526
-052CF077A303A0328F650F4E0860DD42FF4C2BB08C6CA5A85B93153DE5B90EFF
-C52684DBD8BF9C9B0327BEAADEE8EF556C7506DFF53C9A2AEC612828D2D29F59
-3FDA64C441183204568565E8A614936BC6C55CE716DB232CF42BFD5FC0D8EB7F
-2F920BB6C2CCFAC26D91B45872E0C2851523645A80760931F59ABB4DF1C86378
-E9F88053B558FDFC6896EF32B98F07C113764E3B436DC1A23612952E010B9775
-9C346120E7F2A1414089867606F0B8DFFFB3EECAC0FB0B1A8779A010811AC35E
-734F91135EC6ABD75BA415BD22BF091F7E7E9F36F3E56E7BE8EC5D9B4E0CA026
-1B579657C0D4912FBE36A2FC25F1515FFC60D0231ABDBC0E9A0E35328C163839
-632BA4AAF97BBA8743F08B9B9CC0DA2401FD039661E52BBC685C1ED685C6BA19
-3DA98A683762BC5583DA32EA4C023200A759CE5ACE4CBC38B23B7502824B4AB2
-3DF208A588CE704A4A97BEF6253B8124
+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
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 45 /hyphen put
dup 47 /slash put
-dup 50 /two put
dup 97 /a put
dup 98 /b put
dup 99 /c 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
686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F
D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8
EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6
-3088F8D19CF2364A329162D39E166AC728B15800222E54C40FDA8B73C48CE82B
-B2B3E7EF15157FB4510BCDD7EEBBE3FDDF708EA08540D94827AF3EA1B210446C
-DEA9EE0EE9B4758863AA33FC296740F0DD9B42A45861516AAE6208F189D8CB8E
-BBBDDBCC34B65A7D17B8BE932148C39084A9C71516582BCE25EBF7C1E0D84314
-45B273AF903055D53313DBD159BB698038A397AEF418B4446739318E8D273642
-095B1E04CC60718A2DC2BCD99B34202878786A58AE7C2F43D985874AB8A3F204
-4DBD4B9240EE96F0487CB687830972BF302F262C6381B2C79773EEB152B712E9
-34E8229E0B59788EB9B9FC1AC1E123751D1FF032610410F0847E6B9B9A575306
-53FC00ED82D0BDA8EB008F2380FDBA06D2F8C0210A261508BA95DD600436E0BF
-5E8A00CE3C92859961557763D413E79CDD37FDB07131FDC420EF525CC0B5377F
-9772D3876DBFDB57FE6275D187832F2B7A635967B201E70B532E85838ED3874B
-82B36AB9EAB7DD4D2B5C4140419CA04E87316E802CC93DE6336C22FEBE80C3A5
-D43A0F808E5E6A17F7BCF812FF5EE5AC1959E07F36B24C9192E375FCA3C0A84C
-1D1DD2093D4F151B9FEFBA90DB4E94A1D68E49DF5A715A5BE04E7B7D8C384D61
-5DDD71F057FEF51DE7D002AB3BFE0096C47EB3AAC7B89EEEB9E2F9CFC6BCDFD9
-A438C1097D5253E49DC0DE5B6E8F976AE8894914BF8CAB5236C8A3BB2A437CE6
-374D96AFC592F1238357817E1F2836EA763A3C0DEA2DD3F7D758BA61307C21F4
-796A18638504797DD9A5131EC48DB0D23FC9A3E069B2FECA5B36A2260C6FED2E
-6EBDE3AED119EDFA96B837C56202ADF7F7747291A43CDDED6EB7DB5B9373CB78
-F6FA0B92BB2C17AD8DA549E878D8DEA681028539E5E2A223E2F9BA4CA09A6FF4
-EA195F1EAE62CC33F2282888962B9032D1C83EC4EDD832866A472426EBA6080A
-75E02F39CE0421C5C06B9D593022C23D675D7BE879FCE0B20A9CBB394F9D3815
-9C847518BB8DDBF3A89D699C1FA84E704B02BC85D61ADA5E548CD8DBE269A3E7
-03626A0FEE75E116F95B5D31C73BC852C5FDCF524542BFD9D05D8EB4B2A114E0
-C2FFCE282CBD87D82C1D4E64772B0492068B139B1795E287899CED7791EF5C8F
-E77391C51552FF08DAA85BC8B9896CB5C792C3E1C4D44E3CAC1EAEC02E4B986F
-E5059463613DD3643F8DCE2264FA66D712A0DACCF86DDAB315393219F5EBD18E
-E220AD61CE3C67664615A5F9734421152382E8EA9CBED8269ACFFC37873BA329
-20649A6F684D31BF37194952496E8B962B75B83CEDE72F0DAAB761120B710677
-F3AECF2A67F512F7C423B1DA012D0D0D44F009346C4953447950F514731830D1
-59D01BFF4511CD0257D5ECC2CC4A859E0ED92627F659547C8F137DC0F49F06D6
-02F624EEBDBC779FBECB1816A88F02B3565A9C3D42E919F755F3D80F6FAB681B
-585B5A49F62581EDE1D1DF1906007A8926932FE74FA2A94B92026DE9D678EA3B
-ABC3C2EE5A3757317AD5F5CD361A511F4019CAF77C46C8FFE4615CD6CFDF7F8C
-8CD06F1A2DDBD3BBA03FBBF8DCC898EE71E7D19CDE66971150359310D0BB68B8
-65F3E41D34C8D063A71C27B6C0F27753A9E35D291477858E5B734D72C40C4573
-203C5529340CB56BC00EA0E02B3DB54173E6480D29D957E6735146163980F0A8
-CA4086192E6095F411939DD3FF19854F8F58B39A23D3ABA22BEAE05C4B6B6845
-98968C08559A037DE955F77359FC39249C1149BC4634D10DAABB086A23D9A37A
-73A61EAB63BE3B1A8D8E76ED94E731169E892B469056757EC885D8AC4FF50E5C
-1D80EFE20E40E26006953C53D765B3BCB4C5396646DB3AEF01F939BD163ADD87
-FEB1E55A73722A0866DEC922EFF8B06AFDF2FC742EB1CA422822BB378310A994
-794062BE62D5BC4D44C25655C902F4FB4FA63CE21E095E4DF3723CFE7D2D961F
-10A715B194ED855942588BDA460A28F1B5D849A34D85756CC8CE874E2384AD9F
-3A1C348996EA94927BCE9715A8B229C0D7FCC2C07592052796D7BAE23DF895DA
-1CF991E912EAC97601FD79F35616A1F23D82647BCB49C360740CF010CA4E8ADF
-97A9CAC032D12919CC167CA4C2E6C60EBB4AB87C8F2BDF71E28E91A9BC96056F
-5D905902AE964E5336CFDACC8C5CFC5607D75CA5F364AB8E9A65FD372BF15FA9
-0CE1519CD7DBF31F92D2A078754E4BF90F3121F6F698DEC238404EDDD4EEA153
-0335941E4EB8F08DE0104FD8633BE277E9ED26FC65D28FC1D604D8504B2F788A
-11E2206ACE8AB33D14CE9D4CFC917008D44AFA2B1877C3D42455593889867784
-7CE696EABDEF95872F065DAFEFAC253F367D47127CE76FCB85BBF0684DD1663C
-876E68EC35B21593A10EA5553311880B8EF744014CD1ACFC067FDFD46978BA23
-C86FBA05CEB66E67621680BEE0ABF82364D4E3235A20033437C6B84A71FB34E6
-F8A160AC477A1302B4F98D00FDDB2A35ED9B315700669D9D8A3D254F786316AF
-882CAC6555A766281A0836CD45D8CD8245CA69729260D54C11DB43032A0FAC0B
-05869ED0A432CEF854FE665BACB0F780C9123B4DA1E1895F8717DDE4A58BD3FD
-D214195066D4587463E839EDF667E475BC04EEDAEC41422AC9BC27C238E88318
-7DFFED5D04AAFB1F63AC651B1A4113B7CE9838ABAF75632EDA8B5EE0C8474678
-58898AD595ACD99029DC34EB4BADE834C04444941C3D8280B93951A9E8554EF9
-5F0FAA218DD8224B94807CE2D8DF7E4A5E2B28C44A551DB0708B5D6D5F000B96
-0422A8E953233296B6E5EA698921F1EEEBDF0C5CC72263663895940B4C1EA28E
-E0E3AF21698D5430D6495E32E0D5F5E538EF835FBCF4A96DAD8F011B145584EF
-1C33809372DF602D1FB3D80A4EAB65897F672642E4317926DF178BAB6F9851C7
-63613B3DB11FF07F9C7582592B620C7767D005D7B0C28AF2D309E6CAC222055F
-2C20A58AC1B407641B483D571B9E959A3AE0DEF316EFF7A4514D5313C47AAFBE
-82CC583BEB32F20E4C3A5650B58812EF357B68F26882D30A6BBEBDE64E2FD910
-AB8D974CE5C968C7D34390529F4714A9F1D2373DB1D912D418225932541FB250
-9C74346749DE9C5662B1C40437E783A78A283AD6EF43B2C111DEFBEECEB17ED7
-3630AE404B310F1148C82F4969A794D945CA5E1C18F39BB6F9C46EDC8BC3C88B
-FAC2116B2338E1AF9C975ECC8474BCA351E3FDF89ED4352FF6A3D6C7EF7A7BDC
-DD4B2DA9E7C77F8A6623B670963D2B9B9A80F8445E17B85194AD45E02FF10484
-85E0A700BDE9F574487F9494B424646D48999EA67D469A22B9CB72123F31EA5E
-51C07370BFB1C5EDB4ADE75E7111A0116C212920F1362353BF58F33D7E8EE680
-DBF8085B46AFC40ED9FFD7AE756CB267D0F321FDB71F2DD35FBD3003E91E2758
-3DED65748BE5CD0D2D244E8FA187749FED44ED0C71056AD954FCF656DE28E70B
-93A79EB4D7BD59E92911EC64EA794732A79B9908B7C6DD42C99BDF07AAA06E07
-5CD6497C489BC56B09E44D22D0FE69521A9BA20ACBFDAB8EE718625711BF479E
-512FEC4A8F9EC7CF66D4CC44E2D0EA1235BF17C3D0AD6859385CECA3D4A640B0
-762D325D3A449BF7115CE8469A493C494721D6636BCB9C55ACF1D0F3489E5534
-4A76A8F3E3AD6252D8CBD3EDFDAC890A7B497286241AFE35B2261B66018A1523
-4B9FD31AE07A6CCA6B91A176BC38BC03F97D71F80270E14B83B012FA5270B7B4
-73F889DED2D4BFB24536E495F96BDF408E3840AF1567E9960A4F22F0B749749B
-C156336BD7F349F2F82CE54B459462CB7C9846CC090E752DCDC871FF0873076E
-8885B0AEF490DB0C9FA98A8FDF84EDFD52AB0F992EEB236A79FB8FB52718EBA6
-E0D586512F81079D468A75336540163B966670B437304F3272CF6E49252662C6
-419E8B2B14D240A1DB0CF6EF14E024F9D8C6882F865D7E007B46DB65E2E6AB1A
-22C5F096B255E91CABA7C441A3149FFB4E19BA97E5D43779C2A80208E279A91E
-8B8A281C079B819BBB6A5B1A62F34D59B7223D9FBB5F5E96F0D9AFEBD3CE3D57
-A4C4D2345776FCA140EA95242C8AF1EE7B93D2676209B750ABFCFC8CAF50F578
-4C364CF8BC46839A4379624D56B7B917743E9D6A284E7B315D461ED66B262413
-A9AE1741C633A92061DF92AAF78A18586CDCA41248C586F7D272378F9CA76980
-202A391CC9FD46794140F06CC75AF2F4986D690939E083CDF9B96D066B1EC8F3
-DE3B68AC8FAB84970B1A199B3F3AA5BE27ED8119F306CC5F26230C16E9D9FB31
-1EE9D3F5175E4D4D7A8A2945000C37BC73816AEDE6F2AC0F09B788C9988BA69B
-82CF336482F490F05725696EB080E460FC03B3E28C1B3613C8E5FE3DEA048D97
-4AC72C9955FDE282FA8C8385B30E3A7EFE247B48B370DCB439FA721BED19AF4C
-FDC3D3543A25A4E0273419B6CDD7209FB336C1542BA56257E5D31B70529C12D7
-524617868F4F3B49799322EDF504750D1BAAE307ABC4843704B64ED8AD4996B7
-5193CEA660390527734BF1448AC09998E70FF15BD70F8B6388B0A987CBC783FC
-990F7A5EA016EBC024F12BC9812C7C4DD6E991DB89415A49D0B265E453732F4D
-2B6BB50E995E719B00DEBE74E7D1E291A739C4EAB39B5A61763DDB65BDA6E1C9
-17C49BF1A76546BE0EDAAA17310AB2D01BDF059B066263C8FFBDA53281C882DA
-E2DA35ECE5B4454C8031DBECD8675B60E54261A7D1F70560C6D8CBAB436EF058
-5A0189426AF00AD7EB43FBD13976D8D769ED2639ACBF613A308C941CDB5A632F
-F76E14224909A8E7E45B9B5A47BDC9B7B3E3616AEC4DEEAF2899A59B6E144802
-534109EB0E3ECD270E417B2E9CD8D27DE637AC798ED5CCF791061297A0B218A6
-1188C03BAC8DD8DD783BBBF8C4C9AE98E8F1EFC4684CA4BEE6D533458BB229ED
-4E31392DC4591DF2D2D07632EBEC0A5FA2C4508C1FD48D56EE871EAF4A84AC07
-A1E34CA2CD81ED369043998A23DD01301D41C582963F07EC3417F09ABF45844E
-A74F386BA813F0AC462FE268407B9D2A8813FFCA604C342CE82493DAF631B2B3
-B6D3E9F3398761C4B958569F0D833D27973B07F9DA9D84AC512C284844C04866
-74A325E4ED894F640B8F802097B7C6C4F04BBBC8A7BC6EAECC60EBBF4E676A30
-4A5D0DE4AB45D0C913CCEEB8032D1946A35928BFB0FD76AE324E7E3CEB5B99C9
-0A0A6EBAA6F6D8E4292F9C5408D3859CFDEBFC9413032FA1A6E194C5F616A3D6
-FB0FEB8966534CCC9E6D67DFCA105E8994810D8EE414DAFC80B8A95CAFA254CA
-CCAA72B84130B5E485529013A35040074072A8A63B2F4384D976BBFA0A743C5A
-0A079A2CD15E598801AD121303CC37A2FD3942776FD1AA0805BED2B646D4D1CD
-9DE65CB859735EDC177C5A4D1A54C3E8BE7A91BCA91AB93A9DACAC90204CC207
-8432E95B2C47654DA02EC1664566E2137860F16F798E0A1EFFC819F4304B0FE2
-AA54AFE0AF6CC26D417B0CC9E3F5F6B9BD6DDDE6A2D7FC4C840E4AEF73452D16
-241FF01413DF2125BA3563B3A49EECC8EC4D0BF06283B3C8242F362A546E71B6
-21F3C6DA63882992A14E295926387D66EA6D9F296455276D4FEF0CDC706FBC25
-57169AAF546A1BC72114A3A6DC3A1A76CE001962D771C267864A987188BF6087
-183573E3E9DED10D7023965D29F19C8950B6B9B83E680010995360E54911AAAB
-44D07524518EE59F58E49485E885F56FF2CF8D30FC5779770685C305AEC4262C
-B8C0C194C26F5E122DF5E4153316C971460C3B3B336C1B72
+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
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 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
0E1EE5212AB1671DD7A2AB5AF2373B60B3353C22FF8128198A5245F9C701B6E9
80E92AB14A77AE7BA217D33ABDED222EEE9B5888AC6653459EA8738703FF7423
8391380AF83E56A3BDFD3AD43F2F00E87DB9153D99A3B358A38313A7E6D6B43B
-07804A9929FE01EE112C0B1960B286C97E7F563D552250DEB189F3467ADE8491
-9C25A473EC8D590BC6EE6E7F340991D4317F1F0E29737ED93D18BA4DEF6A6C0C
-F9A71EFDDBE489F1A5E27699F8C120DDBC96C4F3F3F2F90AC5014F78AF6517F3
-3C8E2B548C7BD7CA91ABC4E71930761D5C609CCB41B7CE490389C7CA6B1A7B34
-7130074DADA12806475998153EC604A5FD7A04AF35D00DA9564123A384E39126
-B228353532842504229FD646A0FA1C24AC462A75A119743C17071D0F3C370D04
-2FBBB8155EC868014066C6EFEA257752846195C4158AF9DF215C8B20AE276F50
-67AB636CF7A49D34B26435233460DFF6F728E91F1FC4224A7AB1C991C94D3224
-E75B5764642BF2972C9F72A347861CA23B78BD37E0902CE7E3776E347AB20388
-2F97386F31D1D41B43B5A1F52C11C908155E7C3AD9C818BD5F8AB022FE979EFC
-695DB2B79BE6264EF7DEBC936048FF17E81408CC701C0B1C742B11F6D9442E4D
-2BE899B3D354D07CDD71FB19ED3972363ACB918BF229ECDF8C5D6F9ABD5263A1
-81A0BB786D0A859C53BBEEF61872E24BB550FDEF14A66FB0C09836F4677DD4FF
-26FB82FFD120F2F8947B51B0A38F47E65A8019C88A1C343E144F7CCDD1E9C541
-640452BFC800ACD27D181077E8F59E12CFFD7C67DF26CD9DE94B87A16BCA14D5
-9EC57D1963A82E2E1667BA64E7C10015A22C4C6FA06B9D76A9CF591FBD2003C9
-116043C62347D68F99214E90E01E80D140B1D3E8AF7526C17AC8A2056B63E192
-031101D44760E5679C4FFA2FF739CBA5A80AE9F95DDD80973F32D0411F9A43A3
-887CB08E116C823DF5921C157390E1568C76B82DD9A7C69FC76501712D2F24DE
-7478B1FF5F7C648754860E394340F17D90865DF0D75A1A7770C177ED1052E10A
-2A60B370A9DE3A6876B9E102A6706E464A91DFF642F498162C9BDB4F0827AA54
-0D1F36557B76DC6FAB62E52078C40F608CBE6C447CCD32A29C9751C53ED48951
-3E2466B2BC8C28CF21A439CF54B50E6DEA50761A23333E8E96233215BE86B870
-461D46D227790B1E65198B0C32C44F9861B94EDC731836D157B0B3419AB6AA9F
-41BEF201D3637F1F6C3F7DCB71BD670EC111B24C411D0AE3310DFC4C9279BCB8
-F5D936F0211B5FC10B7957259D2C3874724EDF11A646D951E79CD958B60EB6E8
-071CD06657B15B5D0BF492312911076FA5E74F7DD94729A1A17393FE5891280B
-D0BA2F31DFA6B3E01C0C0F662D02EF94590EDA84EDEFE9F28F5E7DE75B79D8F9
-4178ACBA78D1F147820EF76DB4850910C3249DCE6EA13C1161DA6EC36BC129FF
-E9C97EFAF481A1605F788CDD66DAC83A95BF09FA47850FA0D7A844AB7014D9C4
-95A1C6AF0D3AA8A0DBE08FAF4E4FF7D6039F6115845EF41EEBC31D1D6B2CA95C
-FB29A10E77935F79EC66A5D14FA898CF1347CA2502496BFC44DC1057AD6B00D9
-E22C8A982C04B48494C7B1C630FFB2FD1701F65B0558C5A2BE9C5A017B3788A4
-B9A22CA8E87600A54D570A6391D814FB95FCCA3631B123AD03A9EE0ECF9A8B6B
-A5C050A34767371D99220A3395B8EEE63067AD64C93F4323A1C33BAAB8ED8B85
-FB1F71CCB36B381463157A5F19F0CD76CA14C77839BE94271264F5B454044D8F
-4458AF7DC8A85ACD3EC014E424D102D2FED460A7AC342E23B960846056031213
-25CAE1315149CC2069E8963AB540265026F4B11BABD9C4711875217188D5B5DB
-6E9CC8E436A56D53B37809295276DC0A21F0CF2D50CD5FEA1AD417F1098A8999
-F4163AEA50ACBF468E0863C901DC518029692C076C5BBD7954DEE6504EBB39CE
-8F680420CEE573D8338DB67A5BB2B5361734D36D029812BF3AF22AE71CC4BE7C
-8C0E047CA409DA46AA3EF4E6B345A3E1A53A9892A1943BB32ECFD340439C1D52
-14BC35A77EE696CF792BC25DE49B75F3B04F09704B64C8B1EA9FF39E6E8D9B4C
-A39ADDE4B5B49E3FBE3A7F0AC51988057E46379173D5D3AB9E786EDF308B5F0A
-5B2DA6D030F881DFA0D479D8D6D97D66F3D25ED946128B38DECFD701E607221D
-EE1069CADB078D3434253AA89970029EADFE217FF24C825718F68575379A653A
-0024F720B6355DB4C7EA81077DC68DD6DC61F85C2AE59E28FE04234E7887A9DA
-E4E9E36FB0012C49B48F057C1E98380639744B5EF0B135596964BB2F020ADF92
-812966653E399B2EF9D5044A6F8E2C788EAEF6108AEB70166157E322EB549002
-12A5FC7F4DB295C0DC64BE331D154D07E49DB9090DA8194B941117326D763EA0
-4CCC8B7F97881190EA60F9D0B33BD2DFF04BA5AC81143068D66DBA61A08D3930
-439A0A87540C2CD06F56A3D732CA041DCA2F74DFB4CD05FBD76455E389095AEB
-4CE5ED7BE40BFE6003C9D6534F19D150FF8AF8DA936D0739EBE9128BCAD016BE
-70EAC25338227E83963F81AD1466C3618B8044AFA276879B9E621F00B96B0B67
-2E8C2D95E222EA6F4586EC05BE9768957AC121965B9BBF9481EA4C513BC092F9
-A4D44F4F949E5537C1F59F74B48AFAFA371F62823286B5E005EADCC936729DAC
-4817750D66C15D3508DAEF758FDFB5C84245DF6C040EC0A91B207A1377DEEC10
-5387A82D27199E8826C00B44A5C2A4DC784B1A8288769428FD632D7AF1C3508C
-C42FC3ECAE21E060637D961D448568FBF539B8E85B7AD60F1A573995C7857AD9
-9755535F9D04B4ADD5DF7EAAAA0819A5F21F111D9D9821089D071907307025F9
-B6E4C4DCB3E7F6F06492BA6EEF4F32B38393CB787BA9E00D8F60A8B4CC91B228
-0FADC305AC966F9C2547DAE80B4F60959658AEFBFF9F63B95F106EA226978D84
-C7863BEA1C71B13A5FDAC35FE9D7037758574081CB58AF6DDE2C80E90ABC48E6
-DC0716B13DD52ECE01079EE01A114E444C1F09AA1788356432E51806D996A99A
-BF169DFBE02DF5728D88FEC214B3B272CB1A7C9B9168F302B505C54584A0B428
-17CBA6046E0319FB5041FB9319E75E7F805232DBE8312E63C639F35CD679638A
-60E1B0BAE1F1F9D359A2786AB8838694270C368D7BC92E9D65D119BF317B8909
-7BFD7AF55533BCA289460558977CFC99E3E89D0C4A3B50C17DE43E2A7D7210E0
-96F0B6BA7A4C654A8C59DF2DD5881BE5AFACB64489FEC5B129ABFB10FA17B3A7
-426E2445778B53336CE63969C5F3567DC66DEF49A7D1A6C19C84EDE1C2FDDA4D
-4FA5854F4F15C7FC1AC8175587087D068E2150D05141970845D173E5312CAC9F
-8B9CAA28EC46FBDDF610B9371BAC2F577ACFF2F7CE3634CB13941BD437390F84
-ED894384E3130E663F5C0EE25C2C8096B7BF90F7783FE1B00F6EB78D92DC41D6
-BADF384149742D6B9CCF1BA890446599FD957258E9E3041201B958C2E5BA6842
-32176AB1367690BF1AE79B6075315D538C7D6634117A20DD82FD8067F5237B5C
-C93F4989D054A45FEA482AA961738EF0B9CA8D6711DA94A512BA132038866CF6
-E59012950C870598644FC143CB205494BB65EB649FDD6157FACC5814014C5B46
-1153221D8F2D3B3FAFEB01DFF0BEAA0C00353668793379A88FD7C9827277860C
-516724161906BE5B164E
+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
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 3[21 31[43 12[{}52 74.7198
+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
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 1[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[{}51 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
-42 1[28 1[42 1[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 68 47 2[27
-1[58 49 51 57 54 53 56 46[50 2[50 1[34 45[{}20 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 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 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
+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 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.)3252 1697 y(August)f(2024)150
+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
%%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(7)e(August)h
-(2024\).)150 4523 y(This)g(is)g(Edition)h(5.3,)h(last)f(up)s(dated)e(7)
-i(August)f(2024,)j(of)e Fr(The)e(GNU)j(Bash)e(Reference)h(Man)m(ual)p
-Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)c(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{2023)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
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(10)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
+(10)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
(:)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(10)399
+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(11)524 3315 y(3.2.5.2)93 b(Conditional)31 b(Constructs)25
+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
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(21)399 3973 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)8
+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(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(24)399 4411 y(3.5.2)93 b(Tilde)30 b(Expansion)18 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(25)399 4521 y(3.5.3)93
+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(26)399 4630 y(3.5.4)93
+(:)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(34)399 4740
+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(35)399 4849 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15
+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(35)399 4959 y(3.5.7)93 b(W)-8
+(:)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(36)399 5068 y(3.5.8)93 b(Filename)32 b(Expansion)22
+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(36)524 5178 y(3.5.8.1)93 b(P)m(attern)31
+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(37)399 5288 y(3.5.9)93
+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(39)p eop end
+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(39)399 193 y(3.6.1)93 b(Redirecting)31
+(:)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(40)399 302
+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(40)399 412 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)20
+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(40)399
+(:)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(41)399 631 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)h
+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(41)399 741 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)15
+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(41)399 850 y(3.6.7)93
+(:)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(42)399 960 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25
+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(42)399 1069 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d
+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(42)399 1179 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
+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(42)275 1289 y(3.7)92 b(Executing)31 b(Commands)24
+(:)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(43)399 1398 y(3.7.1)93
+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(43)399 1508 y(3.7.2)93 b(Command)29
+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(43)399 1617 y(3.7.3)93 b(Command)29 b(Execution)i(En)m
+28 b Fu(44)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(44)399
+(:)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(45)399 1836 y(3.7.5)93 b(Exit)31
+(:)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(45)399 1946 y(3.7.6)93 b(Signals)23 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)
+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(46)275
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(47)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(47)150 2306
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)25 b Fu(48)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(49)275 2443 y Fu(4.1)92 b(Bourne)30
+(:)h(:)f(:)h(:)f(:)27 b Fs(50)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(49)275 2553 y(4.2)92 b(Bash)30 b(Builtin)h(Commands)13
+b Fu(50)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(57)275 2663 y(4.3)92 b(Mo)s(difying)30
+(:)f(:)g(:)h(:)f(:)26 b Fu(59)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(69)399
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b Fu(71)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(69)399 2882 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)21
+f(:)g(:)27 b Fu(71)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(74)275 2991 y(4.4)92
+h(:)f(:)h(:)f(:)g(:)h(:)34 b Fu(76)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(80)150 3242 y Fs(5)135 b(Shell)45
+f(:)g(:)h(:)f(:)22 b Fu(82)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(81)275 3379 y Fu(5.1)92
+f(:)h(:)f(:)g(:)h(:)f(:)24 b Fs(84)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(81)275 3489 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)26
+23 b Fu(84)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(81)150 3739 y Fs(6)135 b(Bash)44 b(F)-11 b(eatures)32
+b Fu(85)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(94)275 3876 y Fu(6.1)92 b(In)m(v)m(oking)31 b(Bash)16
+44 b Fs(98)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(94)275 3986 y(6.2)92 b(Bash)30 b(Startup)g(Files)f
-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(:)f(:)h(:)f(:)41 b Fu(96)275
-4095 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)19 b Fn(:)d(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+b Fu(98)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(100)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(:)g(:)h(:)f(:)h(:)32 b Fu(98)399 4205 y(6.3.1)93
-b(What)31 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)25 b
-Fn(:)16 b(:)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(:)38
-b Fu(98)399 4315 y(6.3.2)93 b(Is)30 b(this)g(Shell)g(In)m(teractiv)m
-(e?)22 b Fn(:)d(:)c(:)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(:)35 b Fu(98)399 4424 y(6.3.3)93 b(In)m(teractiv)m(e)33
-b(Shell)d(Beha)m(vior)11 b Fn(:)17 b(:)e(:)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(:)24 b Fu(98)275 4534 y(6.4)92 b(Bash)30
-b(Conditional)h(Expressions)10 b Fn(:)k(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+h(:)f(:)g(:)h(:)30 b Fu(102)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(102)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(:)23 b Fu(99)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(101)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(103)275 4863 y(6.7)92 b(Arra)m(ys)23 b Fn(:)15 b(:)h(:)f(:)g(:)h
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(102)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(102)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(103)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(105)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(107)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(103)275 4972 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)14
+b Fu(108)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(105)399 5082 y(6.8.1)93
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)27 b Fu(110)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(106)275 5191
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)33 b Fu(110)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(107)275 5301 y(6.10)92 b(The)30 b(Restricted)h
+h(:)f(:)h(:)23 b Fu(111)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(109)p
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22 b Fu(113)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(109)399 193 y(6.11.1)93 b(What)31 b(is)g(POSIX?)22
+b Fu(114)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(109)399 302 y(6.11.2)93 b(Bash)31
+h(:)f(:)h(:)f(:)g(:)36 b Fu(114)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(110)275 412 y(6.12)92
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)31 b Fu(114)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(114)150 663 y Fs(7)135 b(Job)45 b(Con)l(trol)35
+b Fu(119)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(118)275 800 y Fu(7.1)92 b(Job)30 b(Con)m(trol)h(Basics)23
+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(118)275 909
+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(119)275 1019 y(7.3)92 b(Job)30 b(Con)m(trol)h(V)-8
+(:)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(121)150
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Fu(126)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(122)275 1406 y Fu(8.1)92 b(In)m(tro)s(duction)
+(:)g(:)h(:)f(:)h(:)k Fs(127)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(122)275 1516 y(8.2)92
+(:)h(:)f(:)g(:)h(:)f(:)h(:)25 b Fu(127)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(122)399 1626 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)13
+b Fu(127)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(123)399 1735 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
+b Fu(128)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(123)399 1845 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)24
+b Fu(128)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(124)399 1954 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)17
+b Fu(129)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(124)399 2064 y(8.2.5)93 b(Searc)m(hing)31
+(:)f(:)h(:)30 b Fu(129)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(124)275
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)28 b Fu(130)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(125)399 2283
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b Fu(130)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(125)399 2393 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)14
+b Fu(130)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(134)399 2502 y(8.3.3)93 b(Sample)30 b(Init)g(File)20
+b Fu(140)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(136)275 2612 y(8.4)92
+(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(141)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(139)399 2721 y(8.4.1)93
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)33 b Fu(144)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(139)399
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29 b Fu(144)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(140)399 2941 y(8.4.3)93 b(Commands)29 b(F)-8
+f(:)39 b Fu(145)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(142)399 3050 y(8.4.4)93 b(Killing)31
+h(:)f(:)23 b Fu(147)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(143)399
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)24 b Fu(148)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(145)399
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)39 b Fu(150)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(145)399 3379 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)9
+b Fu(150)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(147)399 3489 y(8.4.8)93
+h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(152)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(147)275 3598 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)e
+(:)f(:)27 b Fu(152)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(149)275
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 b Fu(155)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(150)275 3817 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)14
+b Fu(155)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(152)275
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(157)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(156)150 4178 y
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22 b Fu(161)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(159)275 4315 y Fu(9.1)92 b(Bash)30 b(History)h(F)-8
+(:)h(:)41 b Fs(164)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(159)275
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(164)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(159)275 4534 y(9.3)92 b(History)31
+h(:)f(:)h(:)f(:)41 b Fu(165)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(161)399 4643 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)19
+b Fu(167)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(162)399 4753 y(9.3.2)93 b(W)-8
+(:)h(:)f(:)g(:)h(:)32 b Fu(168)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(163)399
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fu(169)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(164)p eop end
+h(:)f(:)h(:)f(:)g(:)29 b Fu(170)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(165)275 220 y Fu(10.1)92 b(Basic)32
+f(:)h(:)f(:)29 b Fs(171)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(165)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
+b Fu(171)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(166)275 439 y(10.3)92 b(Compiling)30
+(:)f(:)h(:)f(:)30 b Fu(172)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(166)275 549 y(10.4)92
+(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(172)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(167)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
+b Fu(173)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(167)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
+h(:)34 b Fu(173)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(167)275
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(173)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(168)275 987 y(10.8)92 b(Optional)31
+(:)h(:)f(:)25 b Fu(174)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(168)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
+b Fu(174)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(174)150 1498 y(App)t(endix)44
+(:)f(:)g(:)h(:)f(:)35 b Fs(180)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(175)275 1776 y Fu(B.1)92
+f(:)g(:)h(:)f(:)h(:)47 b Fs(181)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(180)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
+(:)35 b Fu(186)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(181)150 2305 y(App)t(endix)44 b(D)118
+Fo(:)20 b(:)29 b Fs(188)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(189)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
+b Fs(196)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(189)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
+b Fu(196)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(190)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
+b Fu(197)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(191)275 2771 y(D.4)92 b(F)-8 b(unction)31
+h(:)f(:)g(:)42 b Fu(198)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(193)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
+b Fu(200)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(195)p eop end
+Fu(202)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
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
-Fm(ms-dos)p Fu(,)f Fm(os/2)p Fu(,)i(and)f(Windo)m(ws)g(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)30 b(language)h(features)f(allo)m(w)h(these)g
-(utilities)g(to)g(b)s(e)e(com)m(bined.)41 b(Files)31
-b(con)m(taining)g(com-)150 3072 y(mands)e(can)i(b)s(e)e(created,)j(and)
-d(b)s(ecome)i(commands)f(themselv)m(es.)42 b(These)30
-b(new)f(commands)h(ha)m(v)m(e)i(the)150 3182 y(same)j(status)g(as)g
-(system)g(commands)f(in)g(directories)i(suc)m(h)e(as)h
-Ft(/bin)p Fu(,)g(allo)m(wing)h(users)e(or)g(groups)g(to)150
-3291 y(establish)d(custom)f(en)m(vironmen)m(ts)h(to)g(automate)h(their)
-f(common)f(tasks.)275 3420 y(Shells)j(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
+(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.)
-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
+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
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)21 b(o\013er)i(features)
-f(geared)h(sp)s(eci\014cally)g(for)f(in)m(teractiv)m(e)j(use)d(rather)g
-(than)g(to)h(augmen)m(t)g(the)f(pro-)150 408 y(gramming)32
-b(language.)48 b(These)32 b(in)m(teractiv)m(e)j(features)d(include)g
-(job)g(con)m(trol,)j(command)c(line)i(editing,)150 518
-y(command)d(history)g(and)g(aliases.)42 b(Eac)m(h)31
-b(of)g(these)g(features)f(is)h(describ)s(ed)e(in)h(this)g(man)m(ual.)p
-eop end
+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
h Ft(identifier)p Fu(.)150 4186 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
-4295 y(tions],)f(page)f(39,)i(for)d(a)g(list)h(of)f(redirection)h(op)s
+4295 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
4405 y(one)31 b(unquoted)e Ft(metacharacter)p Fu(.)150
4570 y Ft(process)f(group)630 4680 y Fu(A)i(collection)k(of)c(related)h
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)21
-b(is)g(an)f(acron)m(ym)i(for)e(`)p Ft(Bourne-Again)27
-b(SHell)p Fu('.)37 b(The)20 b(Bourne)g(shell)h(is)g(the)g(traditional)h
-(Unix)f(shell)150 710 y(originally)h(written)f(b)m(y)f(Stephen)g
-(Bourne.)38 b(All)21 b(of)g(the)g(Bourne)f(shell)h(builtin)f(commands)g
-(are)i(a)m(v)-5 b(ailable)150 820 y(in)26 b(Bash,)h(The)f(rules)f(for)h
-(ev)-5 b(aluation)28 b(and)d(quoting)h(are)h(tak)m(en)g(from)f(the)g
-Fm(posix)f Fu(sp)s(eci\014cation)i(for)f(the)150 929
-y(`standard')k(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(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
(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(47\),)k
+(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(48\),)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(94\),)h(or)e(from)g
+(6.1)g([In)m(v)m(oking)g(Bash],)330 3675 y(page)f(98\),)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)27
-b(3.1.2)i([Quoting],)f(page)f(6.)40 b(These)26 b(tok)m(ens)i(are)f
-(separated)g(b)m(y)f Ft(metacharacters)p Fu(.)36 b(Alias)330
-4040 y(expansion)30 b(is)h(p)s(erformed)d(b)m(y)j(this)f(step)g(\(see)i
-(Section)f(6.6)g([Aliases],)i(page)e(103\).)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(36\))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(39\))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(43\).)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(45\).)p
-eop end
+(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(107\).)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
(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
-799 y(Eac)m(h)22 b(of)g(the)g(shell)g(metac)m(haracters)i(\(see)f
+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 908 y(to)40 b(the)g(shell)f(and)g(m)m(ust)g(b)s(e)g
-(quoted)g(if)h(it)g(is)f(to)h(represen)m(t)g(itself.)68
-b(When)39 b(the)h(command)f(history)150 1018 y(expansion)i(facilities)j
-(are)e(b)s(eing)f(used)g(\(see)h(Section)h(9.3)f([History)h(In)m
-(teraction],)j(page)c(161\),)47 b(the)150 1127 y Fr(history)30
-b(expansion)h Fu(c)m(haracter,)h(usually)f(`)p Ft(!)p
-Fu(',)g(m)m(ust)f(b)s(e)g(quoted)h(to)g(prev)m(en)m(t)g(history)g
-(expansion.)41 b(See)150 1237 y(Section)22 b(9.1)g([Bash)f(History)h(F)
--8 b(acilities],)26 b(page)c(159,)j(for)20 b(more)h(details)h
-(concerning)g(history)f(expansion.)275 1370 y(There)37
-b(are)h(three)f(quoting)h(mec)m(hanisms:)56 b(the)38
-b Fr(escap)s(e)g(c)m(haracter)p Fu(,)j(single)d(quotes,)i(and)d(double)
-150 1480 y(quotes.)150 1677 y Fk(3.1.2.1)63 b(Escap)s(e)41
-b(Character)150 1824 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 1934 y(the)27 b(next)g(c)m(haracter)h(that)f(follo)m(ws,)i
-(with)d(the)h(exception)g(of)g Ft(newline)p Fu(.)38 b(If)26
-b(a)h Ft(\\newline)d Fu(pair)i(app)s(ears,)150 2043 y(and)k(the)h(bac)m
-(kslash)g(itself)g(is)g(not)g(quoted,)g(the)f Ft(\\newline)f
-Fu(is)h(treated)i(as)f(a)g(line)g(con)m(tin)m(uation)h(\(that)150
-2153 y(is,)f(it)g(is)f(remo)m(v)m(ed)h(from)f(the)h(input)e(stream)i
-(and)f(e\013ectiv)m(ely)j(ignored\).)150 2350 y Fk(3.1.2.2)63
-b(Single)42 b(Quotes)150 2497 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
-2607 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 2717 y(bac)m(kslash.)150 2914
-y Fk(3.1.2.3)63 b(Double)42 b(Quotes)150 3061 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 3170 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 3280
-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(109\),)h(the)e(`)p
-Ft(!)p Fu(')150 3390 y(has)d(no)g(sp)s(ecial)h(meaning)g(within)f
+(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(167\),)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(164,)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(114\),)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 3499 y(c)m(haracters)h(`)p Ft($)p
-Fu(')e(and)g(`)p Ft(`)p Fu(')g(retain)h(their)f(sp)s(ecial)h(meaning)f
-(within)g(double)g(quotes)h(\(see)g(Section)g(3.5)150
-3609 y([Shell)29 b(Expansions],)g(page)h(24\).)41 b(The)28
-b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f(meaning)g(only)g(when)f
-(follo)m(w)m(ed)150 3718 y(b)m(y)41 b(one)f(of)h(the)g(follo)m(wing)h
-(c)m(haracters:)63 b(`)p Ft($)p Fu(',)43 b(`)p Ft(`)p
-Fu(',)h(`)p Ft(")p Fu(',)g(`)p Ft(\\)p Fu(',)f(or)e Ft(newline)p
-Fu(.)69 b(Within)41 b(double)f(quotes,)150 3828 y(bac)m(kslashes)25
-b(that)h(are)f(follo)m(w)m(ed)h(b)m(y)e(one)h(of)g(these)g(c)m
-(haracters)h(are)f(remo)m(v)m(ed.)40 b(Bac)m(kslashes)26
-b(preceding)150 3938 y(c)m(haracters)35 b(without)e(a)h(sp)s(ecial)f
-(meaning)h(are)f(left)h(unmo)s(di\014ed.)47 b(A)34 b(double)f(quote)g
-(ma)m(y)h(b)s(e)f(quoted)150 4047 y(within)h(double)h(quotes)g(b)m(y)g
-(preceding)g(it)g(with)g(a)g(bac)m(kslash.)55 b(If)35
-b(enabled,)h(history)f(expansion)g(will)150 4157 y(b)s(e)f(p)s
-(erformed)g(unless)g(an)h(`)p Ft(!)p Fu(')g(app)s(earing)f(in)h(double)
-f(quotes)i(is)f(escap)s(ed)g(using)f(a)h(bac)m(kslash.)55
-b(The)150 4266 y(bac)m(kslash)31 b(preceding)f(the)h(`)p
-Ft(!)p Fu(')f(is)h(not)g(remo)m(v)m(ed.)275 4400 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 4509 y(Section)31 b(3.5.3)h([Shell)f(P)m(arameter)h
-(Expansion],)e(page)h(26\).)150 4707 y Fk(3.1.2.4)63
-b(ANSI-C)40 b(Quoting)150 4854 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 4963 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)150
-5073 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 5182 y(follo)m(ws:)150 5340 y Ft(\\a)384
-b Fu(alert)31 b(\(b)s(ell\))p eop end
+(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 Ft(\\b)384 b Fu(bac)m(kspace)150 466 y Ft(\\e)150 576
-y(\\E)g Fu(an)30 b(escap)s(e)h(c)m(haracter)h(\(not)f(ANSI)f(C\))150
-743 y Ft(\\f)384 b Fu(form)30 b(feed)150 911 y Ft(\\n)384
-b Fu(newline)150 1078 y Ft(\\r)g Fu(carriage)32 b(return)150
-1245 y Ft(\\t)384 b Fu(horizon)m(tal)32 b(tab)150 1413
-y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)150 1580 y Ft(\\\\)384
-b Fu(bac)m(kslash)150 1747 y Ft(\\')g Fu(single)31 b(quote)150
-1915 y Ft(\\")384 b Fu(double)30 b(quote)150 2082 y Ft(\\?)384
-b Fu(question)31 b(mark)150 2249 y Ft(\\)p Fj(nnn)288
-b Fu(the)36 b(eigh)m(t-bit)h(c)m(haracter)g(whose)f(v)-5
-b(alue)36 b(is)f(the)h(o)s(ctal)h(v)-5 b(alue)36 b Fr(nnn)e
-Fu(\(one)i(to)h(three)f(o)s(ctal)630 2359 y(digits\))150
-2526 y Ft(\\x)p Fj(HH)288 b Fu(the)36 b(eigh)m(t-bit)i(c)m(haracter)f
-(whose)f(v)-5 b(alue)36 b(is)g(the)g(hexadecimal)h(v)-5
-b(alue)36 b Fr(HH)46 b Fu(\(one)37 b(or)f(t)m(w)m(o)630
-2636 y(hex)30 b(digits\))150 2803 y Ft(\\u)p Fj(HHHH)192
-b Fu(the)33 b(Unico)s(de)f(\(ISO/IEC)g(10646\))j(c)m(haracter)f(whose)e
-(v)-5 b(alue)33 b(is)g(the)g(hexadecimal)g(v)-5 b(alue)630
-2913 y Fr(HHHH)41 b Fu(\(one)31 b(to)g(four)f(hex)g(digits\))150
-3080 y Ft(\\U)p Fj(HHHHHHHH)630 3190 y Fu(the)j(Unico)s(de)f(\(ISO/IEC)
-g(10646\))j(c)m(haracter)f(whose)e(v)-5 b(alue)33 b(is)g(the)g
-(hexadecimal)g(v)-5 b(alue)630 3299 y Fr(HHHHHHHH)42
-b Fu(\(one)31 b(to)g(eigh)m(t)g(hex)g(digits\))150 3467
-y Ft(\\c)p Fj(x)336 b Fu(a)31 b(con)m(trol-)p Fr(x)38
-b Fu(c)m(haracter)150 3638 y(The)30 b(expanded)f(result)i(is)f
+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 3845 y Fk(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41
-b(T)-10 b(ranslation)150 3992 y Fu(Pre\014xing)38 b(a)h(double-quoted)g
+(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 4102
-y(cause)33 b(the)f(string)h(to)g(b)s(e)f(translated)h(according)g(to)g
-(the)g(curren)m(t)f(lo)s(cale.)48 b(The)32 b Ft(gettext)e
-Fu(infrastruc-)150 4211 y(ture)41 b(p)s(erforms)e(the)i(lo)s(okup)g
-(and)f(translation,)45 b(using)40 b(the)i Ft(LC_MESSAGES)p
-Fu(,)e Ft(TEXTDOMAINDIR)p Fu(,)h(and)150 4321 y Ft(TEXTDOMAIN)34
-b Fu(shell)i(v)-5 b(ariables,)39 b(as)e(explained)f(b)s(elo)m(w.)60
-b(See)36 b(the)h(gettext)i(do)s(cumen)m(tation)e(for)f(addi-)150
-4430 y(tional)24 b(details)g(not)f(co)m(v)m(ered)i(here.)38
-b(If)23 b(the)g(curren)m(t)f(lo)s(cale)j(is)e Ft(C)g
-Fu(or)g Ft(POSIX)p Fu(,)g(if)g(there)g(are)g(no)g(translations)150
-4540 y(a)m(v)-5 b(ailable,)31 b(or)d(if)g(the)h(string)f(is)g(not)g
-(translated,)h(the)g(dollar)f(sign)g(is)g(ignored.)41
-b(Since)28 b(this)g(is)g(a)g(form)g(of)150 4650 y(double)d(quoting,)j
-(the)e(string)g(remains)f(double-quoted)h(b)m(y)g(default,)h(whether)e
-(or)h(not)g(it)g(is)g(translated)150 4759 y(and)i(replaced.)41
-b(If)28 b(the)h Ft(noexpand_translation)23 b Fu(option)29
-b(is)g(enabled)f(using)h(the)f Ft(shopt)g Fu(builtin)g(\(see)150
-4869 y(Section)33 b(4.3.2)h([The)e(Shopt)f(Builtin],)j(page)f(74\),)h
-(translated)f(strings)e(are)i(single-quoted)g(instead)g(of)150
-4978 y(double-quoted.)275 5121 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 5230 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
-5340 y(do)s(cumen)m(tation.)p eop end
+(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(76\),)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(Once)34 b(y)m(ou'v)m(e)i(mark)m(ed)f(the)f(strings)h(in)f(y)m(our)g
+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)h(y)m(ou'v)m(e)i(mark)m(ed)f(the)f(strings)h(in)f(y)m(our)g
(script)h(that)g(y)m(ou)g(w)m(an)m(t)g(to)g(translate)h(using)e($)p
-Ft(")p Fu(...)p Ft(")p Fu(,)150 408 y(y)m(ou)d(create)h(a)e(gettext)j
+Ft(")p Fu(...)p Ft(")p Fu(,)150 759 y(y)m(ou)d(create)h(a)e(gettext)j
Ft(")p Fu(template)p Ft(")e Fu(\014le)g(using)f(the)g(command)390
-540 y Ft(bash)47 b(--dump-po-strings)c Fj(scriptname)i
-Ft(>)i Fj(domain)p Ft(.pot)150 671 y Fu(The)36 b Fr(domain)g
+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
-781 y(the)32 b(\014les)g(gettext)i(needs,)f(lik)m(e)g(a)f(pac)m(k)-5
+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 891 y(message)41 b(domains)f(on)f
+(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 1000 y(translations)27
+(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
-1110 y(eac)m(h)32 b(target)f(language.)43 b(The)29 b(template)j(\014le)
+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 1241 y(Y)-8 b(ou)23 b(cop)m(y)g(this)g(template)h
+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
-1351 y(\(called)39 b Ft(")p Fu(PO)p Ft(")e Fu(\014les,)i(whic)m(h)f
+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
-1461 y(but)31 b(when)g(y)m(ou)i(are)f(w)m(orking)g(to)h(translate)g(a)f
+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 1570 y(cop)m(y)k(the)g(template)h(\014le)e(to)h(a)g
+(\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 1680 y(`)p Ft(.po)p Fu(')29
+(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 1789 y(`)p Ft(es.po)p Fu(',)h(and)f(to)j(get)f
+(\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 1921
-y Ft(cp)47 b(example.pot)e(es.po)150 2052 y Fu(Ultimately)-8
+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
-2162 y(m)m(ultiple)31 b(translation)g(\014les)g(for)f(a)h(particular)f
-(language.)275 2293 y(Whic)m(hev)m(er)k(naming)f(con)m(v)m(en)m(tion)i
+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 2403 y(PO)d(\014les)g(in)m(to)i(the)e
+(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 2534 y(When)35 b(y)m(ou)h(ha)m(v)m(e)g(the)g
+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 2644 y(pro)s(duce)26 b(what)g(are)i
+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
-2754 y(to)s(ols)42 b(use)f(to)h(lo)s(ok)g(up)e(translations)j
+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 2863 y Fu(\014les.)k(Y)-8
+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 2973 y(translations,)g(y)m(ou)g(could)g(run)390
-3104 y Ft(msgfmt)46 b(-o)h(es.mo)g(es.po)150 3236 y Fu(to)31
+(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
-3367 y(Once)21 b(y)m(ou)h(ha)m(v)m(e)i(the)e(MO)f(\014les,)j(y)m(ou)e
+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 3477 y Fu(shell)32 b(v)-5 b(ariable)33
+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
-3587 y(domain)d(to)h(name)g(the)f(MO)h(\014les)f(as)h(y)m(ou)f(did)g
+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
-3718 y(Y)-8 b(our)21 b(users)f(will)h(use)g(the)g Ft(LANG)f
+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 3850 y(Y)-8
+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 3959 y(message)i(domain)g
-(to)g(name)f(y)m(our)h(translation)g(\014les.)275 4091
+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 4200 y(where)d(the)h(message)h(catalog)i(\014les)d(are)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 4310 y(standard)h(message)h(catalog)i
+(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 4441 y(The)31 b(directory)h(where)g
+(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
-4551 y(use)24 b(the)h(message)g(catalog)j(selected)e(b)m(y)e(the)h
+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 4661 y(of)i(the)h(message)g(catalog)i(from)d
+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 4770 y(`)p
+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 4880 y Fu(v)-5 b(ariable)26
+(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 4989 y(ables)31 b(in)f(this)g(fashion:)41
+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 4989 28 4 v 34 w(MESSA)m(GES/)p Ft($TEXTDOMAIN)p
-Fu(.mo.)275 5121 y(If)i(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 5230 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 5340
-y(translation)i(\014les,)g(y)m(ou)g(could)f(run)p eop
-end
+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)390 299
-y Ft(TEXTDOMAIN=example)390 408 y(TEXTDOMAINDIR=/usr/local)o(/sha)o
-(re/l)o(oca)o(le)390 628 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 737
-y(cp)g(eo.mo)g(${TEXTDOMAINDIR}/eo/LC_)o(MES)o(SAGE)o(S/${)o(TEX)o
-(TDOM)o(AIN})o(.mo)275 868 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 977 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 1087 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 1197 y(b)s(efore)30 b(running)f(y)m(our)h(script.)150
-1388 y Fk(3.1.3)63 b(Commen)m(ts)150 1535 y Fu(In)21
+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 1645 y(to)40 b(the)f Ft(shopt)e Fu(builtin)h(is)h
+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
-(74\),)i(a)d(w)m(ord)150 1754 y(b)s(eginning)26 b(with)g(`)p
-Ft(#)p Fu(')g(causes)h(that)f(w)m(ord)g(and)g(all)h(remaining)g(c)m
-(haracters)g(on)f(that)h(line)g(to)g(b)s(e)f(ignored.)150
-1864 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g
-Ft(interactive_comments)38 b Fu(option)44 b(enabled)f(do)s(es)g(not)g
-(allo)m(w)150 1973 y(commen)m(ts.)56 b(The)34 b Ft
-(interactive_comments)c Fu(option)35 b(is)g(on)g(b)m(y)g(default)g(in)g
-(in)m(teractiv)m(e)j(shells.)55 b(See)150 2083 y(Section)30
-b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(98,)g(for)e(a)i
-(description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.)
-150 2316 y Fs(3.2)68 b(Shell)45 b(Commands)150 2476 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 2585 y(argumen)m(ts,)31 b(separated)g(b)m(y)f(spaces.)
-275 2716 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 2825
-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 2935 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 3126 y Fk(3.2.1)63 b(Reserv)m(ed)40 b(W)-10
-b(ords)150 3273 y Fu(Reserv)m(ed)33 b(w)m(ords)g(are)g(w)m(ords)g(that)
+(76\),)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(102,)
+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 3383 y(and)d(end)f(the)i
-(shell's)g(comp)s(ound)e(commands.)275 3514 y(The)k(follo)m(wing)i(w)m
+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 3623 y(command)c(\(see)h(b)s(elo)
-m(w)g(for)f(exceptions\):)150 3754 y Ft(if)364 b(then)168
-b(elif)g(else)g(fi)336 b(time)150 3863 y(for)316 b(in)264
-b(until)120 b(while)g(do)336 b(done)150 3973 y(case)268
-b(esac)168 b(coproc)72 b(select)g(function)150 4083 y({)412
-b(})312 b([[)264 b(]])g(!)150 4213 y(in)33 b Fu(is)h(recognized)h(as)f
+(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 4323
+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 4514 y Fk(3.2.2)63 b(Simple)41
-b(Commands)150 4661 y Fu(A)29 b(simple)f(command)g(is)h(the)g(kind)e
-(of)i(command)f(encoun)m(tered)h(most)g(often.)40 b(It's)29
-b(just)f(a)h(sequence)g(of)150 4771 y(w)m(ords)22 b(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)150 4881
-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 4990 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 5121 y(The)h(return)h(status)g(\(see)i
-(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(45\))g(of)g(a)g(simple)f
-(command)g(is)h(its)150 5230 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 5340 y(w)m(as)31
-b(terminated)g(b)m(y)f(signal)h Fr(n)p Fu(.)p eop end
+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 Fk(3.2.3)63 b(Pip)s(elines)150 446 y Fu(A)21 b Ft(pipeline)d
+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
-555 y(`)p Ft(|)p Fu(')31 b(or)f(`)p Ft(|&)p Fu('.)275
-695 y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 834
-y Ft([time)46 b([-p]])h([!])g Fj(command1)e Ft([)j(|)f(or)g(|&)g
-Fj(command2)f Ft(])h(...)150 974 y Fu(The)25 b(output)f(of)i(eac)m(h)g
+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 1083 y(command.)40
+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 1193
+(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 1333 y(If)k(`)p
-Ft(|&)p Fu(')h(is)f(used,)i Fr(command1)7 b Fu('s)35
-b(standard)f(error,)i(in)e(addition)h(to)h(its)f(standard)f(output,)i
-(is)e(con-)150 1442 y(nected)h(to)g Fr(command2)7 b Fu('s)35
-b(standard)f(input)f(through)h(the)g(pip)s(e;)i(it)f(is)g(shorthand)e
-(for)h Ft(2>&1)29 b(|)p Fu(.)53 b(This)150 1552 y(implicit)41
-b(redirection)f(of)g(the)g(standard)f(error)g(to)h(the)g(standard)f
-(output)g(is)h(p)s(erformed)e(after)j(an)m(y)150 1661
-y(redirections)31 b(sp)s(eci\014ed)f(b)m(y)g Fr(command1)p
-Fu(.)275 1801 y(The)36 b(reserv)m(ed)g(w)m(ord)g Ft(time)g
-Fu(causes)h(timing)g(statistics)h(to)f(b)s(e)f(prin)m(ted)g(for)g(the)h
-(pip)s(eline)f(once)h(it)150 1910 y(\014nishes.)51 b(The)34
-b(statistics)i(curren)m(tly)e(consist)h(of)f(elapsed)h(\(w)m(all-clo)s
-(c)m(k\))i(time)e(and)f(user)f(and)h(system)150 2020
-y(time)e(consumed)e(b)m(y)h(the)g(command's)g(execution.)44
-b(The)31 b Ft(-p)f Fu(option)i(c)m(hanges)g(the)f(output)g(format)g(to)
-150 2130 y(that)j(sp)s(eci\014ed)e(b)m(y)h Fm(posix)p
-Fu(.)49 b(When)33 b(the)g(shell)g(is)h(in)e Fm(posix)h
-Fu(mo)s(de)g(\(see)h(Section)g(6.11)g([Bash)g(POSIX)150
-2239 y(Mo)s(de],)j(page)e(109\),)j(it)e(do)s(es)e(not)i(recognize)g
-Ft(time)e Fu(as)h(a)h(reserv)m(ed)f(w)m(ord)f(if)h(the)g(next)g(tok)m
-(en)h(b)s(egins)150 2349 y(with)d(a)g(`)p Ft(-)p Fu('.)49
-b(The)33 b Ft(TIMEFORMAT)d Fu(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(set)
-g(to)h(a)g(format)f(string)g(that)h(sp)s(eci\014es)f(ho)m(w)g(the)150
-2458 y(timing)38 b(information)g(should)e(b)s(e)h(displa)m(y)m(ed.)62
-b(See)38 b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)41
-b(page)d(81,)i(for)e(a)150 2568 y(description)27 b(of)g(the)h(a)m(v)-5
-b(ailable)29 b(formats.)40 b(The)26 b(use)h(of)g Ft(time)f
-Fu(as)i(a)f(reserv)m(ed)g(w)m(ord)g(p)s(ermits)f(the)h(timing)150
-2677 y(of)38 b(shell)g(builtins,)i(shell)e(functions,)i(and)d(pip)s
-(elines.)63 b(An)38 b(external)h Ft(time)e Fu(command)h(cannot)g(time)
-150 2787 y(these)31 b(easily)-8 b(.)275 2927 y(When)26
-b(the)h(shell)g(is)g(in)g Fm(posix)f Fu(mo)s(de)g(\(see)i(Section)f
-(6.11)i([Bash)e(POSIX)f(Mo)s(de],)i(page)g(109\),)h Ft(time)150
-3036 y Fu(ma)m(y)38 b(b)s(e)f(follo)m(w)m(ed)i(b)m(y)f(a)g(newline.)62
-b(In)37 b(this)g(case,)k(the)c(shell)h(displa)m(ys)g(the)g(total)h
-(user)e(and)g(system)150 3146 y(time)30 b(consumed)f(b)m(y)g(the)h
-(shell)f(and)g(its)h(c)m(hildren.)40 b(The)29 b Ft(TIMEFORMAT)e
-Fu(v)-5 b(ariable)30 b(sp)s(eci\014es)f(the)h(format)150
-3255 y(of)h(the)f(time)h(information.)275 3395 y(If)36
-b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async)m(hronously)f(\(see)h
-(Section)g(3.2.4)g([Lists],)i(page)e(10\),)i(the)150
-3504 y(shell)31 b(w)m(aits)g(for)f(all)h(commands)f(in)g(the)h(pip)s
-(eline)f(to)h(complete.)275 3644 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 3753 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 3863
-y(men)m(t],)d(page)e(44\).)40 b(If)23 b(the)h Ft(lastpipe)d
+(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(114\),)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(85,)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(114\),)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 3973 y([The)i(Shopt)f(Builtin],)i(page)g(74\),)h
-(the)e(last)h(elemen)m(t)g(of)f(a)g(pip)s(eline)g(ma)m(y)g(b)s(e)f(run)
-g(b)m(y)g(the)h(shell)g(pro)s(cess)150 4082 y(when)j(job)h(con)m(trol)i
-(is)f(not)f(activ)m(e.)275 4222 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 4331 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(69\).)42 b(If)30 b Ft(pipefail)150
-4441 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 4550 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
-4660 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)150
-4770 y(ab)s(o)m(v)m(e.)63 b(The)38 b(shell)f(w)m(aits)i(for)e(all)i
-(commands)e(in)g(the)h(pip)s(eline)f(to)h(terminate)h(b)s(efore)e
-(returning)g(a)150 4879 y(v)-5 b(alue.)150 5083 y Fk(3.2.4)63
-b(Lists)41 b(of)h(Commands)150 5230 y Fu(A)37 b Ft(list)e
+i(Section)f(4.3.2)150 4652 y([The)33 b(Shopt)f(Builtin],)i(page)g
+(76\),)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(71\).)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 5340 y(`)p Ft(&&)p Fu(',)31
+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(.)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)275 299
-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 408 y(ha)m(v)m(e)32 b(equal)e(precedence.)
-275 536 y(A)f(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)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 646 y(alen)m(t)i(to)f(a)g(semicolon.)275 773 y(If)c(a)h(command)f
+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
-883 y(async)m(hronously)g(in)h(a)g(subshell.)39 b(This)28
+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 992 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 1102
+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 1211 y(Chapter)27 b(7)h([Job)f(Con)m(trol],)i(page)g(118\),)
+(\(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 1321 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 1448 y(Commands)19
+(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
-1558 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i
+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
-1685 y Fm(and)g Fu(and)h Fm(or)g Fu(lists)h(are)g(sequences)f(of)h(one)
+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 1795 y(ators)e(`)p Ft(&&)p Fu(')f(and)g(`)p
+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 1923 y(An)30 b Fm(and)f Fu(list)i(has)f(the)h
-(form)390 2050 y Fj(command1)46 b Ft(&&)h Fj(command2)150
-2178 y Fr(command2)38 b Fu(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
+(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 2305 y(An)f Fm(or)f Fu(list)i(has)f(the)h(form)390
-2432 y Fj(command1)46 b Ft(||)h Fj(command2)150 2560
+(\(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
-2687 y(The)h(return)g(status)i(of)f Fm(and)f Fu(and)h
+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 2797 y(in)d(the)h(list.)150 2982
-y Fk(3.2.5)63 b(Comp)s(ound)42 b(Commands)150 3129 y
+(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
-3239 y(gins)25 b(with)f(a)i(reserv)m(ed)f(w)m(ord)f(or)h(con)m(trol)h
+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 3348 y(w)m(ord)i(or)g(op)s(erator.)40
+(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(39\))h(asso)s(ciated)f(with)150 3458 y(a)k(comp)s(ound)f
+(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 3568 y(plicitly)i(o)m(v)m(erridden.)275
-3695 y(In)20 b(most)h(cases)g(a)g(list)h(of)f(commands)f(in)g(a)h(comp)
+(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
-3805 y(from)30 b(the)h(rest)g(of)g(the)g(command)g(b)m(y)f(one)h(or)g
+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 3914 y(in)f(place)h(of)g(a)g(semicolon.)275
-4042 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e
+(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
-4151 y(commands)30 b(and)g(execute)i(them)e(as)g(a)h(unit.)150
-4336 y Fk(3.2.5.1)63 b(Lo)s(oping)43 b(Constructs)150
-4483 y Fu(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g(lo)s(oping)g
-(constructs.)275 4611 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 4720 y(replaced)c(with)f(one)h
-(or)f(more)g(newlines.)150 4866 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
-4993 y Ft(until)46 b Fj(test-commands)p Ft(;)e(do)j Fj
-(consequent-commands)p Ft(;)c(done)630 5121 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 5230 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 5340 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.)p
+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 Ft(while)240 b Fu(The)30 b(syn)m(tax)h(of)f(the)h Ft(while)e
-Fu(command)h(is:)870 436 y Ft(while)46 b Fj(test-commands)p
-Ft(;)e(do)j Fj(consequent-commands)p Ft(;)c(done)630
-573 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
-683 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
-792 y Fr(consequen)m(t-commands)p Fu(,)c(or)g(zero)g(if)f(none)g(w)m
-(as)h(executed.)150 957 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 1094 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 1231 y Fu(Expand)30 b Fr(w)m(ords)k
-Fu(\(see)d(Section)h(3.5)g([Shell)f(Expansions],)g(page)g(24\),)i(and)d
-(execute)i Fr(com-)630 1341 y(mands)43 b Fu(once)e(for)g(eac)m(h)g(mem)
-m(b)s(er)f(in)g(the)h(resultan)m(t)g(list,)j(with)c Fr(name)46
-b Fu(b)s(ound)39 b(to)i(the)630 1450 y(curren)m(t)34
-b(mem)m(b)s(er.)53 b(If)35 b(`)p Ft(in)30 b Fj(words)p
-Fu(')j(is)i(not)g(presen)m(t,)h(the)f Ft(for)e Fu(command)i(executes)h
-(the)630 1560 y Fr(commands)j Fu(once)e(for)f(eac)m(h)h(p)s(ositional)g
+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 1670 y(b)s(een)30 b(sp)s(eci\014ed)f(\(see)j
+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
-1807 y(The)c(return)f(status)h(is)g(the)h(exit)g(status)f(of)g(the)h
+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
-1916 y(are)38 b(no)f(items)g(in)g(the)h(expansion)f(of)g
+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
-2026 y(return)29 b(status)i(is)f(zero.)630 2163 y(An)g(alternate)i
+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
-2300 y Ft(for)47 b(\(\()g Fj(expr1)f Ft(;)i Fj(expr2)e
+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
-2437 y Fu(First,)38 b(the)f(arithmetic)h(expression)e
-Fr(expr1)43 b Fu(is)36 b(ev)-5 b(aluated)38 b(according)f(to)g(the)g
-(rules)f(de-)630 2547 y(scrib)s(ed)h(b)s(elo)m(w)i(\(see)g(Section)g
-(6.5)h([Shell)e(Arithmetic],)k(page)d(101\).)67 b(The)38
-b(arithmetic)630 2656 y(expression)33 b Fr(expr2)41 b
-Fu(is)34 b(then)f(ev)-5 b(aluated)35 b(rep)s(eatedly)f(un)m(til)g(it)g
-(ev)-5 b(aluates)35 b(to)g(zero.)51 b(Eac)m(h)630 2766
-y(time)23 b Fr(expr2)30 b Fu(ev)-5 b(aluates)25 b(to)e(a)g(non-zero)h
-(v)-5 b(alue,)25 b Fr(commands)h Fu(are)d(executed)g(and)g(the)g
-(arith-)630 2876 y(metic)29 b(expression)f Fr(expr3)36
-b Fu(is)28 b(ev)-5 b(aluated.)41 b(If)28 b(an)m(y)h(expression)f(is)g
-(omitted,)i(it)f(b)s(eha)m(v)m(es)g(as)630 2985 y(if)i(it)h(ev)-5
-b(aluates)32 b(to)g(1.)44 b(The)30 b(return)g(v)-5 b(alue)32
-b(is)f(the)g(exit)h(status)g(of)f(the)g(last)h(command)f(in)630
-3095 y Fr(commands)j Fu(that)d(is)f(executed,)i(or)e(false)h(if)f(an)m
-(y)h(of)g(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
-3262 y(The)26 b Ft(break)g Fu(and)h Ft(continue)e Fu(builtins)i(\(see)h
-(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i(page)f(49\))g(ma)m(y)
-150 3372 y(b)s(e)i(used)f(to)i(con)m(trol)h(lo)s(op)f(execution.)150
-3576 y Fk(3.2.5.2)63 b(Conditional)42 b(Constructs)150
-3751 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 3888 y Ft(if)47 b Fj(test-commands)p
-Ft(;)d(then)965 3997 y Fj(consequent-commands)p Ft(;)870
-4107 y([elif)i Fj(more-test-commands)p Ft(;)d(then)965
-4217 y Fj(more-consequents)p Ft(;])870 4326 y([else)j
-Fj(alternate-consequents)p Ft(;])870 4436 y(fi)630 4573
-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 4682 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 4792 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 4902 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 5011 y(`)p Ft(else)29 b Fj
+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(105\).)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(50\))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 5121 y Ft(if)44
+(\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 5230
+(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 5340 y(or)30 b(zero)i(if)e(no)g
-(condition)h(tested)g(true.)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)150 299
-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 425 y Ft(case)47 b Fj(word)f Ft(in)1061
-535 y([)h([\(])g Fj(pattern)f Ft([|)h Fj(pattern)p Ft(]...)m(\))h
-Fj(command-list)c Ft(;;]...)870 645 y(esac)630 771 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
-881 y Fu(that)h(matc)m(hes)h Fr(w)m(ord)p Fu(.)38 b(The)21
-b(matc)m(h)h(is)g(p)s(erformed)e(according)j(to)f(the)g(rules)g
-(describ)s(ed)e(b)s(e-)630 990 y(lo)m(w)25 b(in)e(Section)i(3.5.8.1)h
-([P)m(attern)f(Matc)m(hing],)i(page)e(37.)39 b(If)23
-b(the)h Ft(nocasematch)d Fu(shell)j(op-)630 1100 y(tion)j(\(see)g(the)f
-(description)g(of)g Ft(shopt)f Fu(in)g(Section)i(4.3.2)h([The)e(Shopt)f
-(Builtin],)j(page)f(74\))630 1209 y(is)40 b(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 1319 y(c)m(haracters.)48 b(The)32 b(`)p Ft(|)p
-Fu(')g(is)h(used)e(to)i(separate)h(m)m(ultiple)f(patterns,)g(and)f(the)
-g(`)p Ft(\))p Fu(')h(op)s(erator)630 1428 y(terminates)f(a)f(pattern)g
-(list.)43 b(A)31 b(list)g(of)g(patterns)g(and)f(an)h(asso)s(ciated)h
-(command-list)g(is)630 1538 y(kno)m(wn)e(as)g(a)h Fr(clause)p
-Fu(.)630 1665 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h
-(with)e(`)p Ft(;;)p Fu(',)45 b(`)p Ft(;&)p Fu(',)f(or)d(`)p
-Ft(;;&)p Fu('.)73 b(The)41 b Fr(w)m(ord)j Fu(under-)630
-1774 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g
-(command)f(substitution,)h(arithmetic)630 1884 y(expansion,)g(and)f
-(quote)g(remo)m(v)-5 b(al)36 b(\(see)f(Section)g(3.5.3)h([Shell)e(P)m
-(arameter)h(Expansion],)630 1993 y(page)i(26\))g(b)s(efore)e(matc)m
-(hing)i(is)f(attempted.)59 b(Eac)m(h)36 b Fr(pattern)g
-Fu(undergo)s(es)f(tilde)i(expan-)630 2103 y(sion,)e(parameter)g
-(expansion,)g(command)f(substitution,)h(arithmetic)h(expansion,)f(pro-)
-630 2212 y(cess)c(substitution,)f(and)g(quote)h(remo)m(v)-5
-b(al.)630 2339 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 2449 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
+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(76\))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 2558 y(is)35
+(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
-2668 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
-(matc)m(h.)630 2794 y(Here)j(is)g(an)g(example)h(using)e
+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 2904 y(in)m(teresting)d(feature)f(of)f(an)g
-(animal:)870 3030 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f
-(animal:)f(")870 3140 y(read)h(ANIMAL)870 3249 y(echo)g(-n)g("The)f
-($ANIMAL)g(has)h(")870 3359 y(case)g($ANIMAL)e(in)965
-3469 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)965
-3578 y(man)g(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965
-3688 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)870
-3797 y(esac)870 3907 y(echo)h(")g(legs.")630 4050 y Fu(If)40
-b(the)i(`)p Ft(;;)p Fu(')e(op)s(erator)i(is)f(used,)i(no)e(subsequen)m
-(t)f(matc)m(hes)i(are)f(attempted)h(after)g(the)630 4160
-y(\014rst)c(pattern)h(matc)m(h.)67 b(Using)39 b(`)p Ft(;&)p
-Fu(')g(in)f(place)i(of)f(`)p Ft(;;)p Fu(')g(causes)g(execution)h(to)g
-(con)m(tin)m(ue)630 4269 y(with)34 b(the)g Fr(command-list)j
-Fu(asso)s(ciated)f(with)e(the)h(next)f(clause,)i(if)f(an)m(y)-8
-b(.)53 b(Using)34 b(`)p Ft(;;&)p Fu(')g(in)630 4379 y(place)c(of)f(`)p
-Ft(;;)p Fu(')g(causes)h(the)f(shell)h(to)g(test)g(the)f(patterns)g(in)g
-(the)g(next)h(clause,)g(if)f(an)m(y)-8 b(,)31 b(and)630
-4489 y(execute)26 b(an)m(y)f(asso)s(ciated)h Fr(command-list)h
-Fu(on)e(a)f(successful)h(matc)m(h,)i(con)m(tin)m(uing)e(the)g(case)630
-4598 y(statemen)m(t)32 b(execution)g(as)e(if)h(the)f(pattern)h(list)g
-(had)f(not)g(matc)m(hed.)630 4725 y(The)c(return)f(status)h(is)g(zero)h
-(if)f(no)g Fr(pattern)g Fu(is)g(matc)m(hed.)40 b(Otherwise,)27
-b(the)g(return)e(status)630 4834 y(is)30 b(the)h(exit)g(status)g(of)f
-(the)h Fr(command-list)i Fu(executed.)150 4977 y Ft(select)630
-5104 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
-5214 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870
-5340 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)p eop end
+(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(The)32 b(list)i(of)f(w)m(ords)f(follo)m(wing)j Ft(in)d
-Fu(is)h(expanded,)g(generating)h(a)f(list)h(of)f(items,)h(and)f(the)630
-408 y(set)41 b(of)f(expanded)f(w)m(ords)g(is)i(prin)m(ted)e(on)h(the)g
-(standard)f(error)h(output)g(stream,)j(eac)m(h)630 518
-y(preceded)31 b(b)m(y)g(a)g(n)m(um)m(b)s(er.)42 b(If)31
-b(the)g(`)p Ft(in)f Fj(words)p Fu(')g(is)i(omitted,)g(the)g(p)s
-(ositional)g(parameters)630 628 y(are)k(prin)m(ted,)h(as)e(if)h(`)p
-Ft(in)30 b("$@")p Fu(')k(had)h(b)s(een)g(sp)s(eci\014ed.)56
-b Ft(select)33 b Fu(then)j(displa)m(ys)f(the)h Ft(PS3)630
-737 y Fu(prompt)42 b(and)h(reads)f(a)i(line)f(from)g(the)g(standard)f
-(input.)78 b(If)42 b(the)i(line)f(consists)g(of)h(a)630
-847 y(n)m(um)m(b)s(er)34 b(corresp)s(onding)h(to)h(one)g(of)g(the)g
-(displa)m(y)m(ed)g(w)m(ords,)h(then)e(the)h(v)-5 b(alue)36
-b(of)g Fr(name)630 956 y Fu(is)f(set)g(to)h(that)f(w)m(ord.)54
-b(If)34 b(the)h(line)g(is)g(empt)m(y)-8 b(,)37 b(the)e(w)m(ords)f(and)g
-(prompt)g(are)h(displa)m(y)m(ed)630 1066 y(again.)40
-b(If)26 b Ft(EOF)f Fu(is)g(read,)i(the)f Ft(select)f
-Fu(command)g(completes)i(and)f(returns)e(1.)40 b(An)m(y)26
-b(other)630 1176 y(v)-5 b(alue)30 b(read)f(causes)h Fr(name)k
-Fu(to)c(b)s(e)f(set)g(to)h(n)m(ull.)41 b(The)28 b(line)i(read)f(is)g
-(sa)m(v)m(ed)i(in)e(the)g(v)-5 b(ariable)630 1285 y Ft(REPLY)p
-Fu(.)630 1420 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
-1530 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 1665 y(Here)39
+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 1774 y(directory)-8
+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 1909 y Ft(select)46 b(fname)g(in)i(*;)870
-2019 y(do)870 2128 y(echo)f(you)g(picked)f($fname)g(\\\($REPLY\\\))870
-2238 y(break;)870 2347 y(done)150 2508 y(\(\(...)o(\)\))870
-2642 y(\(\()h Fj(expression)e Ft(\)\))630 2777 y Fu(The)33
+(\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
-2887 y(\(see)38 b(Section)g(6.5)h([Shell)e(Arithmetic],)j(page)f
-(101\).)63 b(The)36 b Fr(expression)h Fu(undergo)s(es)g(the)630
-2996 y(same)26 b(expansions)f(as)g(if)g(it)h(w)m(ere)g(within)e(double)
+4251 y(\(see)38 b(Section)g(6.5)h([Shell)e(Arithmetic],)j(page)f
+(105\).)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
-3106 y(in)20 b Fr(expression)h Fu(are)g(not)g(treated)h(sp)s(ecially)f
-(are)g(remo)m(v)m(ed.)39 b(If)20 b(the)h(v)-5 b(alue)21
-b(of)g(the)g(expression)630 3216 y(is)30 b(non-zero,)i(the)e(return)f
-(status)i(is)g(0;)g(otherwise)f(the)h(return)e(status)i(is)f(1.)150
-3376 y Ft([[...)o(]])870 3511 y([[)47 b Fj(expression)e
-Ft(]])630 3646 y Fu(Return)25 b(a)h(status)f(of)h(0)g(or)g(1)g(dep)s
-(ending)e(on)h(the)h(ev)-5 b(aluation)27 b(of)e(the)h(conditional)h
-(expres-)630 3755 y(sion)j Fr(expression)p Fu(.)41 b(Expressions)29
-b(are)i(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s(elo)m
-(w)h(in)630 3865 y(Section)37 b(6.4)g([Bash)f(Conditional)h
-(Expressions],)g(page)g(99.)58 b(The)36 b(w)m(ords)f(b)s(et)m(w)m(een)i
-(the)630 3974 y Ft([[)h Fu(and)g Ft(]])g Fu(do)g(not)h(undergo)f(w)m
-(ord)g(splitting)h(and)f(\014lename)h(expansion.)65 b(The)38
-b(shell)630 4084 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
-4194 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 4303
-y(w)m(ords.)48 b(Conditional)34 b(op)s(erators)f(suc)m(h)f(as)h(`)p
+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(103.)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
-4413 y(as)e(primaries.)630 4548 y(When)k(used)f(with)h
+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
-4657 y(curren)m(t)30 b(lo)s(cale.)630 4792 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 4902 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
-5011 y(Section)d(3.5.8.1)h([P)m(attern)f(Matc)m(hing],)h(page)f(37,)g
+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
-5121 y(enabled.)46 b(The)31 b(`)p Ft(=)p Fu(')h(op)s(erator)h(is)f
+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 5230 y(\(see)42
+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(74\))630 5340 y(is)e(enabled,)i(the)e
+(Shopt)f(Builtin],)45 b(page)d(76\))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)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(c)m(haracters.)41 b(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 408 y(\(`)p
-Ft(!=)p Fu('\))j(the)g(pattern,)f(and)g(1)h(otherwise.)630
-543 y(If)20 b(y)m(ou)h(quote)g(an)m(y)f(part)h(of)f(the)h(pattern,)h
+(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
-653 y(the)43 b(quoted)g(p)s(ortion)g(is)g(matc)m(hed)h(literally)-8
+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
-763 y(quoted)34 b(p)s(ortion)f(matc)m(hes)i(itself,)h(instead)e(of)f
+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
-872 y(meaning.)630 1007 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 1117 y(`)p Ft(==)p Fu(')40 b(and)g(`)p
+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 1226 y(considered)36 b(a)g Fm(posix)f Fu(extended)g(regular)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
-1336 y(ingly)k(\(using)f(the)h Fm(posix)f Ft(regcomp)f
+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 1445 y Fl(r)-5 b(e)g(gex)11 b Fu(\(3\)\).)56 b(The)34
+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 1555 y(do)s(es)39
+(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 1665 y(expression)e(returns)e(2.)
+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 1774 y Ft(shopt)d Fu(in)h(Section)h(4.3.2)h([The)
-e(Shopt)f(Builtin],)k(page)e(74\))g(is)g(enabled,)g(the)g(matc)m(h)g
-(is)630 1884 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 2019 y(Y)-8
+(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(76\))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
-2128 y(literally)33 b(instead)f(of)g(as)f(a)h(regular)g(expression)f
+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
-2238 y(in)h(a)i(shell)f(v)-5 b(ariable,)35 b(quoting)f(the)g(v)-5
+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
-2347 y(b)s(e)c(matc)m(hed)h(literally)-8 b(.)630 2482
+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 2592 y(the)j(pattern)h(to)g(matc)m(h)g(the)f(en)m(tire)h
+(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 2701 y(regular)i(expression)f
-(op)s(erators.)630 2836 y(F)-8 b(or)31 b(example,)g(the)f(follo)m(wing)
+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 2946 y(if)42 b(there)h(is)g(a)f
+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 3055 y(n)m(um)m(b)s(er,)26
+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
-3165 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 3300 y
+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
-3435 y Fu(That)f(means)g(v)-5 b(alues)42 b(for)g Ft(line)f
+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 3544 y(matc)m(h,)32 b(as)e(will)h(a)g(line)f
+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 3679 y(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)
+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 3789 y(mar)g(\(`)p Ft(^$|[]\(\)\\.*+?)p Fu('\),)e(it)j(has)f
+(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 3898 y(means)24 b(that)h(in)f(the)h(pattern)f(`)p
+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)630 4008 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 4118 y(only)c(matc)m(h)i(a)f
-(literal)g(`)p Ft(.)p Fu('.)630 4253 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 4362 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 4472 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 4581 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 4691 y(quoting.)630 4826
-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 4935 y(w)m(ork:)870 5070 y Ft([[)47
-b($line)g(=~)g(^"initial)e(string")h(]])630 5205 y Fu(but)30
-b(this)g(will)h(not:)870 5340 y Ft([[)47 b($line)g(=~)g("^initial)e
-(string")h(]])p eop end
+(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(b)s(ecause)42 b(in)h(the)f(second)h(example)g(the)g(`)p
+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 408 y(sp)s(ecial)31 b(meaning.)630 540 y(It)h(is)f
+(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 650 y(quotes,)c(or)f(to)g(k)m(eep)h
+(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 759 y(atten)m(tion)40 b(to)f(shell)f(quoting)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 869 y(expression)45 b(in)g(a)g(shell)h(v)-5
+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 978 y(quoting)35 b(c)m(haracters)g(that)g(are)g
+(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 1088 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 1219
-y Ft(pattern='[[:space:]]*\(a\))o(?b')870 1329 y([[)47
-b($line)g(=~)g($pattern)e(]])630 1461 y Fu(Shell)29 b(programmers)f
+(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 1570 y(are)22 b(used)f(b)m(y)h(b)s(oth)f(the)h
+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 1680 y(from)j(the)g(follo)m(wing)i(c)m(haracter.)
+(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 1789 y(complete)i(\(see)f(Section)g(3.5)h([Shell)e
+(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
-1899 y(ing)44 b(in)f(parts)g(of)h(the)g(pattern)f(that)h(w)m(ere)g
+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
-2008 y(sp)s(ecial)29 b(meaning)g(of)g(pattern)f(c)m(haracters.)42
+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
-2118 y(shell)h(do)s(es)f(its)g(b)s(est)g(to)i(ensure)d(that)i(the)g
+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
-2228 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 2359 y(The)f(follo)m(wing)i(t)m(w)m(o)f
+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 2491 y Ft(pattern='\\.')870 2710 y([[)47
-b(.)h(=~)f($pattern)e(]])870 2819 y([[)i(.)h(=~)f(\\.)g(]])870
-3039 y([[)g(.)h(=~)f("$pattern")e(]])870 3148 y([[)i(.)h(=~)f('\\.')f
-(]])630 3280 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f
+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 3389 y(second)e(t)m(w)m(o)i(the)e(bac)m(kslash)h(will)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 3499 y(t)m(w)m(o)33 b(examples,)f(the)g
+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 3608 y(bac)m(kslash)35 b(remo)m(v)m(es)g
+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
-3718 y(the)35 b(second)h(t)m(w)m(o)g(examples,)h(the)f(pattern)f
+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
-3828 y(has)26 b(the)g(bac)m(kslash)g(quoted)g(\(e.g.,)j(`)p
+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)630 3937 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 4047 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 4156 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
-4288 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
-4398 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
-4507 y(meanings)24 b(b)s(et)m(w)m(een)g(brac)m(k)m(ets.)40
+(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 4617 y(sp)s(ecial)31
+(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 4726 y(for)e(this)g(purp)s(ose.)630
-4858 y(Though)f(it)i(migh)m(t)g(seem)f(lik)m(e)i(a)e(strange)h(w)m(a)m
+(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
-4967 y(matc)m(h)g(a)g(`)p Ft(.)p Fu(')g(in)f(the)g(string:)870
-5099 y Ft([[)47 b(.)h(=~)f([.])g(]])630 5230 y Fu(The)30
+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 5340 y(ular)44
+(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)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(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
-408 y(unquoted)30 b(bac)m(kslashes)h(remaining)g(in)g(the)g(pattern)f
-(after)i(shell)e(expansion)h(according)630 518 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 628
-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
-737 y(sp)s(ecial)g(pattern)f(c)m(haracters)i(where)e(that's)h
-(necessary)-8 b(.)630 867 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 977 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 1086 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 1196 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
-1306 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 1415 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
-1545 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 1655 y(lead)k(to)g(unexp)s(ected)f(results.)630
-1785 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
+(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
-1895 y(order)30 b(of)g(precedence:)630 2045 y Ft(\()g
-Fj(expression)e Ft(\))1110 2155 y Fu(Returns)i(the)h(v)-5
+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 2264 y(normal)e(precedence)h(of)
-g(op)s(erators.)630 2415 y Ft(!)f Fj(expression)1110
-2524 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
-2675 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 2784
+(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
-2935 y Fj(expression1)c Ft(||)j Fj(expression2)1110 3045
+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
-3195 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
+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 3305 y Fu(is)30 b(su\016cien)m(t)h
+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 3495 y Fk(3.2.5.3)63
-b(Grouping)43 b(Commands)150 3642 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m
+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 3752
+(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 3861 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.)
-150 4012 y Ft(\(\))870 4142 y(\()47 b Fj(list)g Ft(\))630
-4272 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
-4381 y(subshell)33 b(\(see)h(Section)g(3.7.3)i([Command)c(Execution)j
-(En)m(vironmen)m(t],)g(page)f(44\),)i(and)630 4491 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 4601 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
-4710 y(after)e(the)f(subshell)g(completes.)150 4861 y
-Ft({})870 4991 y({)47 b Fj(list)p Ft(;)g(})630 5121 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
-5230 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
-b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f
-(newline\))630 5340 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)p
+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)275 299
-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
-408 y(t)m(w)m(o)f(constructs)f(due)g(to)g(historical)i(reasons.)78
+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 518 y(b)s(e)36 b(separated)h(from)f(the)g Fr(list)j
+(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 628 y(op)s(erators,)29
+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
-737 y(from)i(the)g Fr(list)j Fu(b)m(y)e(whitespace.)275
-865 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 1050
-y Fk(3.2.6)63 b(Copro)s(cesses)150 1197 y Fu(A)37 b Ft(coprocess)c
+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
-1307 y(executed)g(async)m(hronously)g(in)f(a)h(subshell,)g(as)g(if)g
+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
-1416 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g(with)f(a)g(t)m(w)m
+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 1526 y(copro)s(cess.)275
-1653 y(The)c(syn)m(tax)i(for)f(a)h(copro)s(cess)g(is:)390
-1781 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g
-Ft([)p Fj(redirections)p Ft(])150 1909 y Fu(This)33 b(creates)i(a)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
-2018 y(Section)44 b(3.2.2)i([Simple)d(Commands],)k(page)d(9\))g(or)g(a)
+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
-2128 y([Comp)s(ound)e(Commands],)47 b(page)e(11\).)83
+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
-2237 y(supplied,)29 b(the)i(default)f(name)h(is)f Ft(COPROC)p
-Fu(.)275 2365 y(The)f(recommended)h(form)g(to)h(use)f(for)h(a)f(copro)s
-(cess)h(is)390 2492 y Ft(coproc)46 b Fj(NAME)h Ft({)g
-Fj(command)p Ft(;)f(})150 2620 y Fu(This)31 b(form)g(is)h(recommended)f
-(b)s(ecause)h(simple)g(commands)f(result)h(in)f(the)h(copro)s(cess)g
-(alw)m(a)m(ys)h(b)s(eing)150 2730 y(named)45 b Ft(COPROC)p
-Fu(,)i(and)e(it)h(is)f(simpler)g(to)h(use)f(and)g(more)g(complete)i
-(than)e(the)h(other)f(comp)s(ound)150 2839 y(commands.)275
-2967 y(There)29 b(are)i(other)g(forms)f(of)g(copro)s(cesses:)390
-3094 y Ft(coproc)46 b Fj(NAME)h(compound-command)390
-3204 y Ft(coproc)f Fj(compound-command)390 3313 y Ft(coproc)g
-Fj(simple-command)150 3441 y Fu(If)41 b Fr(command)46
+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 3551 y Fu(determines)27 b(whether)f(that)i(w)m(ord)f(is)g
+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 3660
+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 3770 y(command,)36 b Fr(NAME)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 3879 y(w)m(ord)30 b(of)h(the)f(simple)g(command.)
-275 4007 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 4117 y([Arra)m(ys],)h(page)e(103\))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 4226 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
-4336 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 4445 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 4555 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 4664 y(\(see)33 b(Section)f(3.6)h([Redirections],)g(page)g
-(39\).)45 b(The)31 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized)i
-(as)f(argumen)m(ts)150 4774 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 4884 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 4993
-y(in)30 b(subshells.)275 5121 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 5230
-y(the)k(v)-5 b(ariable)33 b Fj(NAME)p Ft(_PID)p Fu(.)44
-b(The)32 b Ft(wait)g Fu(builtin)f(command)i(ma)m(y)g(b)s(e)e(used)h(to)
-h(w)m(ait)h(for)e(the)h(copro)s(cess)150 5340 y(to)e(terminate.)p
+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(Since)20 b(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
-408 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 609 y Fk(3.2.7)63 b(GNU)41 b(P)m(arallel)150
-756 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 866 y(a)e(to)s(ol)g(to)g(do)f(just)g
-(that.)275 1001 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 1111 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 1221 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
-1330 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 1440 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 1549 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 1685 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 1795
-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 2038
-y Fs(3.3)68 b(Shell)45 b(F)-11 b(unctions)150 2197 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
-2307 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e)h(a)
-g Ft(")p Fu(regular)p Ft(")f Fu(command.)54 b(When)35
-b(the)h(name)f(of)g(a)h(shell)150 2416 y(function)j(is)g(used)f(as)h(a)
-h(simple)f(command)g(name,)i(the)e(list)h(of)f(commands)g(asso)s
-(ciated)i(with)d(that)150 2526 y(function)25 b(name)h(is)g(executed.)40
-b(Shell)25 b(functions)g(are)i(executed)f(in)f(the)h(curren)m(t)g
-(shell)g(con)m(text;)j(no)c(new)150 2635 y(pro)s(cess)30
-b(is)g(created)i(to)f(in)m(terpret)g(them.)275 2771 y(F)-8
-b(unctions)30 b(are)h(declared)g(using)f(this)g(syn)m(tax:)390
-2907 y Fj(fname)46 b Ft(\(\))i Fj(compound-command)43
-b Ft([)k Fj(redirections)e Ft(])275 3043 y Fu(or)390
-3179 y Ft(function)h Fj(fname)g Ft([\(\)])h Fj(compound-command)c
-Ft([)k Fj(redirections)e Ft(])275 3315 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
-3424 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 3534
-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
-3644 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 3753 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 3863 y(paren)m(theses)22 b(are)g(not)f(supplied,)h(the)g
-(braces)g(are)f(recommended.)38 b Fr(comp)s(ound-command)24
-b Fu(is)d(executed)150 3972 y(whenev)m(er)29 b Fr(fname)35
-b Fu(is)29 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h(a)f(simple)h
-(command.)40 b(When)29 b(the)h(shell)f(is)h(in)f Fm(posix)150
-4082 y Fu(mo)s(de)i(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)
-i(page)g(109\),)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)150 4192 y(and)h(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 4301 y(page)d(80\).)43
-b(In)29 b(default)i(mo)s(de,)g(a)f(function)h(name)f(can)h(b)s(e)f(an)m
-(y)h(unquoted)e(shell)i(w)m(ord)f(that)h(do)s(es)g(not)150
-4411 y(con)m(tain)k(`)p Ft($)p Fu('.)52 b(An)m(y)34 b(redirections)g
-(\(see)h(Section)g(3.6)g([Redirections],)h(page)f(39\))g(asso)s(ciated)
-g(with)f(the)150 4520 y(shell)g(function)f(are)h(p)s(erformed)e(when)h
-(the)g(function)h(is)f(executed.)51 b(A)34 b(function)f(de\014nition)g
-(ma)m(y)i(b)s(e)150 4630 y(deleted)i(using)e(the)i Ft(-f)e
-Fu(option)i(to)f(the)h Ft(unset)d Fu(builtin)i(\(see)h(Section)g(4.1)g
-([Bourne)f(Shell)g(Builtins],)150 4739 y(page)31 b(49\).)275
-4875 y(The)26 b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g
+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(108\))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(114\),)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(82\).)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(50\).)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 4985 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46
+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
-5095 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 5230 y(Note)22 b(that)f(for)f
+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 5340 y(the)38 b(b)s(o)s(dy)d(of)j
+(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)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(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
-408 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e(whitespace)h
-(or)g(another)g(shell)g(metac)m(haracter.)41 b(Also,)28
-b(when)150 518 y(using)i(the)g(braces,)h(the)g Fr(list)i
+(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 669 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 778 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 888 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
-998 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
-b(parameter)h Ft(0)f Fu(is)g(unc)m(hanged.)54 b(The)35
-b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 1107
-y Fu(v)-5 b(ariable)31 b(is)g(set)f(to)i(the)e(name)h(of)f(the)h
-(function)f(while)g(the)h(function)f(is)g(executing.)275
-1258 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 1367 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 1477 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
-1587 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 1696 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
-1806 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(49,)i(for)c(the)i(description)f(of)150
-1915 y(the)c Ft(trap)e Fu(builtin.)275 2066 y(The)38
+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(50,)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
-2176 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25
+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 2285 y(to)31 b(ab)s(ort.)275
-2436 y(If)37 b(the)g(builtin)g(command)h Ft(return)d
+(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 2545 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f
+(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 2655 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed)
-g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g
-(completes,)150 2765 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s
-(ositional)h(parameters)f(and)g(the)g(sp)s(ecial)h(parameter)f(`)p
-Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 2874 y(v)-5
-b(alues)26 b(they)f(had)g(prior)f(to)i(the)g(function's)f(execution.)40
-b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h(is)f(giv)m(en)h(to)g
-Ft(return)p Fu(,)150 2984 y(that)j(is)g(the)f(function's)h(return)e
-(status;)j(otherwise)f(the)f(function's)h(return)e(status)i(is)f(the)h
-(exit)h(status)150 3093 y(of)h(the)f(last)h(command)f(executed)i(b)s
-(efore)e(the)g Ft(return)p Fu(.)275 3244 y(V)-8 b(ariables)29
-b(lo)s(cal)h(to)g(the)e(function)g(ma)m(y)i(b)s(e)e(declared)h(with)f
-(the)h Ft(local)e Fu(builtin)h(\()p Fr(lo)s(cal)i(v)-5
-b(ariables)t Fu(\).)150 3354 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
-3463 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 3573 y(imp)s(ortan)m(t)i(when)e(a)i(shell)f
-(function)g(calls)i(other)e(functions.)275 3724 y(In)j(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 3833 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 3943
-y(the)g(shell)g(is)g(not)g(executing)h(an)m(y)f(shell)g(function.)48
-b(Consequen)m(tly)-8 b(,)34 b(a)f(lo)s(cal)h(v)-5 b(ariable)34
-b(at)f(the)g(curren)m(t)150 4052 y(lo)s(cal)g(scop)s(e)f(is)f(a)h(v)-5
-b(ariable)33 b(declared)f(using)f(the)h Ft(local)e Fu(or)i
-Ft(declare)e Fu(builtins)h(in)g(the)h(function)f(that)150
-4162 y(is)f(curren)m(tly)h(executing.)275 4313 y(Lo)s(cal)41
-b(v)-5 b(ariables)42 b Ft(")p Fu(shado)m(w)p Ft(")e Fu(v)-5
-b(ariables)42 b(with)f(the)g(same)g(name)g(declared)h(at)f(previous)g
-(scop)s(es.)150 4422 y(F)-8 b(or)41 b(instance,)j(a)d(lo)s(cal)h(v)-5
-b(ariable)41 b(declared)g(in)f(a)h(function)f(hides)g(a)h(global)h(v)-5
-b(ariable)41 b(of)g(the)g(same)150 4532 y(name:)59 b(references)40
-b(and)f(assignmen)m(ts)h(refer)f(to)i(the)f(lo)s(cal)g(v)-5
-b(ariable,)43 b(lea)m(ving)f(the)d(global)i(v)-5 b(ariable)150
-4641 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g(returns,)g(the)
-g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g(visible.)275
-4792 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 4902 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
-5011 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 5121 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 5230 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 5340 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.)p eop end
+(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(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 408 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 518 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 650 y(The)f(follo)m(wing)j
+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 781 y Ft(In)47
-b(func2,)f(var)h(=)h(func1)e(local)390 913 y(func1\(\))390
-1022 y({)581 1132 y(local)g(var='func1)f(local')581 1241
-y(func2)390 1351 y(})390 1570 y(func2\(\))390 1680 y({)581
-1789 y(echo)i("In)f(func2,)h(var)f(=)i($var")390 1899
-y(})390 2118 y(var=global)390 2228 y(func1)275 2359 y
+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 2469 y(curren)m(t)i(scop)s(e,)h
+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
-2578 y(an)m(y)27 b(calling)i(scop)s(e)e(as)g(describ)s(ed)f(ab)s(o)m(v)
+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 2688 y(remain)k(so)g
+(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
-2798 y(Once)39 b(the)h(function)f(returns,)h(an)m(y)g(instance)g(of)f
+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 2907 y(visible.)k(If)31 b(the)h(unset)f(acts)h(on)g(a)g(v)-5
+(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 3017 y(that)23 b(name)g(that)h(had)e
-(b)s(een)g(shado)m(w)m(ed)h(will)g(b)s(ecome)h(visible)f(\(see)h(b)s
-(elo)m(w)f(ho)m(w)g Ft(localvar_unset)p Fu(shell)150
-3126 y(option)31 b(c)m(hanges)g(this)f(b)s(eha)m(vior\).)275
-3258 y(F)-8 b(unction)51 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s
-(e)e(listed)h(with)f(the)h Ft(-f)f Fu(option)h(to)g(the)g
-Ft(declare)150 3368 y Fu(\()p Ft(typeset)p Fu(\))43 b(builtin)h
-(command)g(\(see)h(Section)g(4.2)g([Bash)g(Builtins],)j(page)d(57\).)83
-b(The)44 b Ft(-F)f Fu(option)150 3477 y(to)e Ft(declare)e
-Fu(or)i Ft(typeset)e Fu(will)i(list)g(the)g(function)f(names)h(only)g
-(\(and)f(optionally)i(the)f(source)g(\014le)150 3587
-y(and)g(line)h(n)m(um)m(b)s(er,)h(if)f(the)g Ft(extdebug)d
-Fu(shell)j(option)g(is)g(enabled\).)75 b(F)-8 b(unctions)42
-b(ma)m(y)g(b)s(e)f(exp)s(orted)150 3696 y(so)i(that)g(c)m(hild)g(shell)
-g(pro)s(cesses)g(\(those)g(created)h(when)e(executing)i(a)f(separate)h
-(shell)f(in)m(v)m(o)s(cation\))150 3806 y(automatically)34
-b(ha)m(v)m(e)e(them)e(de\014ned)g(with)g(the)h Ft(-f)f
-Fu(option)i(to)f(the)g Ft(export)e Fu(builtin)i(\(see)g(Section)h(4.1)
-150 3916 y([Bourne)e(Shell)h(Builtins],)g(page)g(49\).)275
-4047 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 4157 y(the)27 b(function)f(call)i
-(stac)m(k)h(and)d(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f
-(in)m(v)m(o)s(cations.)42 b(By)27 b(default,)g(no)g(limit)150
-4266 y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f
-(calls.)150 4501 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150
-4660 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
-4770 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
-4880 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 4989 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 5099 y(page)h(57\).)275 5230
-y(A)d(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 5340 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.)p eop
-end
+(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(59\))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)275 299
-y(A)30 b(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 471 y Fj(name)p
-Ft(=[)p Fj(value)p Ft(])150 643 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 753
-y(expansion,)25 b(parameter)f(and)f(v)-5 b(ariable)25
+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(50\).)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(50\))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(59\).)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
-862 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(26\).)41
-b(If)27 b(the)h(v)-5 b(ariable)150 972 y(has)35 b(its)h
+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 1082 y(the)i Ft($\(\(...)n(\)\))f Fu(expansion)g(is)g
+(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(35\).)150 1191 y(W)-8 b(ord)26 b(splitting)h(and)e(\014lename)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 1301 y(app)s(ear)22
+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 1410 y(commands)31
-b(\()p Fr(declaration)j Fu(commands\).)44 b(When)32 b(in)f
-Fm(posix)g Fu(mo)s(de)g(\(see)h(Section)h(6.11)g([Bash)f(POSIX)150
-1520 y(Mo)s(de],)h(page)f(109\),)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
-1630 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.)275 1802
-y(In)d(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 1911 y(arra)m(y)k(index)f(\(see)h(Section)g(6.7)g
-([Arra)m(ys],)h(page)f(103\),)i(the)e(`)p Ft(+=)p Fu(')f(op)s(erator)g
-(can)h(b)s(e)e(used)h(to)h(app)s(end)150 2021 y(to)h(or)g(add)e(to)j
-(the)e(v)-5 b(ariable's)36 b(previous)f(v)-5 b(alue.)57
-b(This)34 b(includes)h(argumen)m(ts)h(to)g(builtin)f(commands)150
-2131 y(suc)m(h)29 b(as)g Ft(declare)e Fu(that)i(accept)h(assignmen)m(t)
-g(statemen)m(ts)h(\(declaration)f(commands\).)41 b(When)28
-b(`)p Ft(+=)p Fu(')h(is)150 2240 y(applied)36 b(to)h(a)f(v)-5
-b(ariable)37 b(for)f(whic)m(h)f(the)i Ft(integer)d Fu(attribute)i(has)g
-(b)s(een)g(set,)i Fr(v)-5 b(alue)41 b Fu(is)36 b(ev)-5
-b(aluated)38 b(as)150 2350 y(an)28 b(arithmetic)h(expression)f(and)f
-(added)h(to)h(the)f(v)-5 b(ariable's)29 b(curren)m(t)e(v)-5
-b(alue,)30 b(whic)m(h)d(is)i(also)f(ev)-5 b(aluated.)150
-2459 y(When)43 b(`)p Ft(+=)p Fu(')g(is)h(applied)f(to)h(an)f(arra)m(y)h
-(v)-5 b(ariable)44 b(using)f(comp)s(ound)e(assignmen)m(t)j(\(see)h
-(Section)f(6.7)150 2569 y([Arra)m(ys],)g(page)d(103\),)k(the)c(v)-5
-b(ariable's)42 b(v)-5 b(alue)41 b(is)g(not)f(unset)h(\(as)g(it)g(is)g
-(when)e(using)h(`)p Ft(=)p Fu('\),)k(and)c(new)150 2679
-y(v)-5 b(alues)27 b(are)g(app)s(ended)f(to)h(the)g(arra)m(y)h(b)s
-(eginning)e(at)h(one)g(greater)i(than)d(the)h(arra)m(y's)h(maxim)m(um)e
-(index)150 2788 y(\(for)32 b(indexed)g(arra)m(ys\),)i(or)e(added)f(as)i
-(additional)g(k)m(ey-v)-5 b(alue)34 b(pairs)d(in)h(an)g(asso)s(ciativ)m
-(e)j(arra)m(y)-8 b(.)47 b(When)150 2898 y(applied)27
-b(to)h(a)f(string-v)-5 b(alued)28 b(v)-5 b(ariable,)29
-b Fr(v)-5 b(alue)32 b Fu(is)c(expanded)e(and)h(app)s(ended)e(to)j(the)f
-(v)-5 b(ariable's)28 b(v)-5 b(alue.)275 3070 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 3180 y Ft(local)f Fu(builtin)h(commands)g(\(see)
-i(Section)f(4.2)h([Bash)f(Builtins],)h(page)f(57\))h(to)f(create)i(a)e
-Fr(nameref)p Fu(,)g(or)g(a)150 3289 y(reference)f(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
-3399 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 3508 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 3618 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
-3727 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5
+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(114\),)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(108\),)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(108\),)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(59\))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 3837 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5
+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 4009 y Ft(declare)46
-b(-n)h(ref=$1)150 4181 y Fu(inside)30 b(the)g(function)g(creates)h(a)g
-(nameref)f(v)-5 b(ariable)30 b Ft(ref)g Fu(whose)g(v)-5
-b(alue)30 b(is)g(the)g(v)-5 b(ariable)31 b(name)f(passed)150
-4291 y(as)c(the)h(\014rst)e(argumen)m(t.)40 b(References)26
-b(and)g(assignmen)m(ts)h(to)g Ft(ref)p Fu(,)f(and)f(c)m(hanges)i(to)g
-(its)g(attributes,)h(are)150 4401 y(treated)j(as)f(references,)g
-(assignmen)m(ts,)h(and)e(attribute)i(mo)s(di\014cations)f(to)h(the)f(v)
--5 b(ariable)30 b(whose)g(name)150 4510 y(w)m(as)h(passed)f(as)g
-Ft($1)p Fu(.)275 4682 y(If)h(the)g(con)m(trol)i(v)-5
+(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
-4792 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f
+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 4902 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g
+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 5011 y(Ho)m(w)m(ev)m(er,)39
+(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
-5121 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h
+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 5230 y(Shell)43 b(Builtins],)j(page)e(49\).)79
+g(4.1)h([Bourne)150 2141 y(Shell)43 b(Builtins],)j(page)e(50\).)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 5340 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m
+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.)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 Fk(3.4.1)63 b(P)m(ositional)41 b(P)m(arameters)150
-446 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 555 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
-665 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 775 y(referenced)34
+-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 884 y(not)j(b)s(e)f(assigned)h(to)g(with)f
+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
-994 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
-(Builtin)g(Commands],)h(page)f(49\).)68 b(The)39 b(p)s(ositional)150
-1103 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
+3149 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
+(Builtin)g(Commands],)h(page)f(50\).)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
-1213 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(19\).)275
-1344 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f
+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
-1454 y(b)s(e)h(enclosed)h(in)f(braces.)150 1646 y Fk(3.4.2)63
-b(Sp)s(ecial)41 b(P)m(arameters)150 1793 y Fu(The)d(shell)g(treats)h
+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
-1903 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
-2056 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
-2165 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 2275 y(separate)23
-b(w)m(ord.)38 b(In)21 b(con)m(texts)j(where)e(it)g(is)h(p)s(erformed,)f
-(those)h(w)m(ords)e(are)i(sub)5 b(ject)22 b(to)h(fur-)630
-2384 y(ther)k(w)m(ord)g(splitting)i(and)e(\014lename)g(expansion.)40
-b(When)27 b(the)h(expansion)f(o)s(ccurs)g(within)630
-2494 y(double)37 b(quotes,)k(it)d(expands)f(to)h(a)g(single)h(w)m(ord)e
-(with)h(the)f(v)-5 b(alue)39 b(of)f(eac)m(h)g(parameter)630
-2604 y(separated)g(b)m(y)g(the)f(\014rst)g(c)m(haracter)i(of)f(the)g
-Ft(IFS)f Fu(sp)s(ecial)h(v)-5 b(ariable.)63 b(That)38
-b(is,)h Ft("$*")e Fu(is)630 2713 y(equiv)-5 b(alen)m(t)39
-b(to)g Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)h(where)d
-Fr(c)44 b Fu(is)38 b(the)g(\014rst)g(c)m(haracter)h(of)f(the)g(v)-5
-b(alue)39 b(of)f(the)630 2823 y Ft(IFS)29 b Fu(v)-5 b(ariable.)41
-b(If)29 b Ft(IFS)g Fu(is)h(unset,)f(the)h(parameters)g(are)g(separated)
-g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 2932
-y(n)m(ull,)i(the)f(parameters)h(are)g(joined)f(without)g(in)m(terv)m
-(ening)i(separators.)150 3085 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 3195 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 3304 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 3414 y(splitting.)60 b(In)36
-b(con)m(texts)j(where)d(w)m(ord)g(splitting)h(is)g(not)g(p)s(erformed,)
-g(this)f(expands)g(to)630 3523 y(a)c(single)h(w)m(ord)e(with)h(eac)m(h)
-h(p)s(ositional)g(parameter)f(separated)g(b)m(y)g(a)g(space.)46
-b(When)32 b(the)630 3633 y(expansion)i(o)s(ccurs)h(within)e(double)i
-(quotes,)h(and)e(w)m(ord)g(splitting)h(is)g(p)s(erformed,)f(eac)m(h)630
-3743 y(parameter)23 b(expands)f(to)i(a)f(separate)h(w)m(ord.)37
-b(That)23 b(is,)i Ft("$@")c Fu(is)i(equiv)-5 b(alen)m(t)24
-b(to)g Ft("$1")29 b("$2")630 3852 y(...)o Fu(.)39 b(If)26
-b(the)g(double-quoted)g(expansion)f(o)s(ccurs)h(within)f(a)h(w)m(ord,)h
-(the)f(expansion)g(of)g(the)630 3962 y(\014rst)31 b(parameter)h(is)g
-(joined)f(with)g(the)h(b)s(eginning)f(part)h(of)f(the)h(original)h(w)m
-(ord,)f(and)f(the)630 4071 y(expansion)25 b(of)g(the)h(last)g
-(parameter)f(is)h(joined)f(with)g(the)g(last)h(part)f(of)g(the)h
-(original)g(w)m(ord.)630 4181 y(When)i(there)g(are)g(no)g(p)s
-(ositional)g(parameters,)h Ft("$@")e Fu(and)g Ft($@)h
-Fu(expand)f(to)h(nothing)g(\(i.e.,)630 4291 y(they)j(are)f(remo)m(v)m
-(ed\).)150 4443 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
-4596 y Ft(?)432 b Fu(\($?\))41 b(Expands)27 b(to)i(the)g(exit)h(status)
-f(of)f(the)h(most)g(recen)m(tly)h(executed)f(foreground)f(com-)630
-4706 y(mand.)150 4858 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 4968
-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 5078 y Fu(option\).)150 5230 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
-5340 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.)p eop end
+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(\($!\))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 408 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 518 y(\(see)31 b(Section)h(7.2)f([Job)f(Con)m(trol)h
-(Builtins],)g(page)h(119\).)150 675 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 785 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 894 y(Scripts],)g(page)g(47\),)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 1004 y
-Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)g
-(page)f(94\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)f(\014rst)630
-1113 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
-1223 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 1461
-y Fs(3.5)68 b(Shell)45 b(Expansions)150 1621 y Fu(Expansion)39
+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(48\),)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(98\),)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
-1730 y(p)s(erforms)29 b(these)i(expansions:)225 1863
-y Fq(\017)60 b Fu(brace)31 b(expansion)225 1997 y Fq(\017)60
-b Fu(tilde)31 b(expansion)225 2130 y Fq(\017)60 b Fu(parameter)31
-b(and)f(v)-5 b(ariable)31 b(expansion)225 2263 y Fq(\017)60
-b Fu(command)30 b(substitution)225 2396 y Fq(\017)60
-b Fu(arithmetic)32 b(expansion)225 2529 y Fq(\017)60
-b Fu(w)m(ord)30 b(splitting)225 2663 y Fq(\017)60 b Fu(\014lename)31
-b(expansion)225 2796 y Fq(\017)60 b Fu(quote)31 b(remo)m(v)-5
-b(al)275 2953 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 3062 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 3172 y(w)m(ord)d(splitting;)h(\014lename)g(expansion;)f
-(and)g(quote)h(remo)m(v)-5 b(al.)275 3305 y(On)27 b(systems)h(that)h
+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 3415
+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 3524 y(expansion)g(and)g(command)g
-(substitution.)275 3658 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
-3767 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 3877 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(39,)g(for)g(more)f(details.)
-275 4010 y(Only)h(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e
+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
-4120 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g
+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 4229 y(exceptions)i(to)f(this)g(are)g(the)g
+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 4339 y(page)31
+(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(103\).)150 4535 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150
-4682 y Fu(Brace)32 b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m
-(h)h(arbitrary)f(strings)h(ma)m(y)g(b)s(e)f(generated.)43
-b(This)30 b(mec)m(h-)150 4792 y(anism)35 b(is)h(similar)f(to)h
-Fr(\014lename)g(expansion)f Fu(\(see)i(Section)f(3.5.8)h([Filename)g
-(Expansion],)f(page)g(36\),)150 4902 y(but)26 b(the)h(\014lenames)g
-(generated)h(need)f(not)g(exist.)40 b(P)m(atterns)28
-b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f(form)g(of)150
-5011 y(an)j(optional)h Fr(pream)m(ble)p Fu(,)g(follo)m(w)m(ed)g(b)m(y)f
-(either)g(a)h(series)f(of)g(comma-separated)i(strings)d(or)h(a)h
-(sequence)150 5121 y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i
-(braces,)g(follo)m(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p
-Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 5230 y(pre\014xed)28
-b(to)h(eac)m(h)h(string)f(con)m(tained)h(within)e(the)h(braces,)g(and)g
-(the)g(p)s(ostscript)f(is)h(then)f(app)s(ended)f(to)150
-5340 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ)
-m(t.)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(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 408 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m
-(ed.)41 b(F)-8 b(or)31 b(example,)390 546 y Ft(bash$)46
-b(echo)h(a{d,c,b}e)390 656 y(ade)g(ace)g(abe)275 793
-y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g
+(page)g(108\).)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 903 y(or)34 b(letters,)i(and)d
+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
-1012 y(expression)29 b(expands)g(to)h(eac)m(h)h(n)m(um)m(b)s(er)d(b)s
+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
-1122 y(with)g(a)h(zero,)j(the)c(shell)h(attempts)h(to)f(force)g(all)g
+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
-1232 y(of)30 b(digits,)h(zero-padding)f(where)f(necessary)-8
+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 1341 y(to)k(eac)m(h)g(c)m(haracter)h(lexicographically)h
+(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 1451 y(Note)f(that)f(b)s
+(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 1560 y(is)e(supplied,)g(it)h(is)f
+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
-1670 y(as)i(appropriate.)275 1808 y(Brace)36 b(expansion)g(is)f(p)s
+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 1917 y(to)32 b(other)g(expansions)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 2027
+(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 2164 y(A)h(correctly-formed)i(brace)f(expansion)f(m)m(ust)
+(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
-2274 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5
+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 2384 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
-2521 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted)
+(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 2631 y(expression.)51
+(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 2740 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g
+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('.)275 2878 y(This)e(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 2988 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 3125 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o
-(ew,)o(dist)o(,bug)o(s})275 3263 y Fu(or)390 3400 y Ft(chown)g(root)h
+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
-3603 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 3750 y
+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 3859 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m
+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 3969 y(If)38
+(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
-4078 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s
-(ossible)g Fr(login)h(name)p Fu(.)39 b(If)27 b(this)g(login)h(name)f
-(is)g(the)g(n)m(ull)g(string,)150 4188 y(the)35 b(tilde)g(is)g
-(replaced)g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g
-Ft(HOME)e Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g
-Fu(is)h(unset,)g(the)g(home)150 4298 y(directory)e(of)g(the)f(user)g
-(executing)i(the)e(shell)h(is)f(substituted)g(instead.)47
-b(Otherwise,)33 b(the)g(tilde-pre\014x)150 4407 y(is)d(replaced)h(with)
-f(the)h(home)f(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)
-e(login)j(name.)275 4545 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
+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 4654 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p
-Fu(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5
-b(ariable)31 b Ft(OLDPWD)p Fu(,)e(if)h(it)h(is)g(set,)g(is)f
-(substituted.)275 4792 y(If)f(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 4902 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 5011 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 5121 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 5230 y(page)34 b(105\).)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 5340 y(`)p Ft(-)p
-Fu(',)e(`)p Ft(+)p Fu(')f(is)h(assumed.)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(If)29 b(the)i(login)g(name)g(is)f(in)m(v)-5 b(alid,)31
-b(or)g(the)f(tilde)h(expansion)f(fails,)i(the)e(w)m(ord)g(is)h(left)g
-(unc)m(hanged.)275 438 y(Eac)m(h)38 b(v)-5 b(ariable)38
-b(assignmen)m(t)h(is)e(c)m(hec)m(k)m(ed)j(for)d(unquoted)g
-(tilde-pre\014xes)h(immediately)g(follo)m(wing)150 547
-y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p Ft(=)p
-Fu('.)54 b(In)34 b(these)h(cases,)i(tilde)e(expansion)g(is)g(also)h(p)s
-(erformed.)52 b(Consequen)m(tly)-8 b(,)37 b(one)150 657
-y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g(assignmen)m(ts)g
-(to)h Ft(PATH)p Fu(,)f Ft(MAILPATH)p Fu(,)e(and)h Ft(CDPATH)p
-Fu(,)g(and)h(the)g(shell)150 766 y(assigns)j(the)f(expanded)g(v)-5
-b(alue.)275 905 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 1071
-y Ft(~)432 b Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft($HOME)150
-1234 y(~/foo)240 b($HOME/foo)150 1398 y(~fred/foo)630
-1508 y Fu(The)30 b(sub)s(directory)f Ft(foo)h Fu(of)g(the)h(home)f
-(directory)h(of)g(the)f(user)g Ft(fred)150 1671 y(~+/foo)192
-b($PWD/foo)150 1835 y(~-/foo)g(${OLDPWD-'~-'}/foo)150
-1998 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
-2162 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 2326 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(')275 2491 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 2601 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g
-([Shell)f(P)m(arameters],)k(page)d(21\))g(when)e(they)h(app)s(ear)f(as)
-i(argumen)m(ts)150 2710 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 2820 y(ab)s(o)m(v)m(e,)d(when)d
-(in)h Fm(posix)g Fu(mo)s(de.)150 3024 y Fk(3.5.3)63 b(Shell)41
-b(P)m(arameter)f(Expansion)150 3170 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 3280 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
-3390 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 3499 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g
-(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 3638
-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 3748 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
-3857 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
-3996 y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p
-Fi({)p Fr(parameter)7 b Fi(})p Fu(.)74 b(The)41 b(v)-5
-b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 4105 y(substituted.)43
-b(The)31 b Fr(parameter)39 b Fu(is)31 b(a)h(shell)f(parameter)h(as)g
-(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)h([Shell)150
-4215 y(P)m(arameters],)28 b(page)f(21\))g(or)f(an)f(arra)m(y)h
-(reference)h(\(see)f(Section)h(6.7)g([Arra)m(ys],)g(page)g(103\).)41
-b(The)25 b(braces)150 4325 y(are)32 b(required)g(when)f
+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(110\).)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(`)p Ft(+)p Fu(')f(is)h
+(assumed.)275 3034 y(The)g(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(108\).)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 4434 y Fr(parameter)37
+(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
-4573 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42
+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 4682 y(nameref,)c(it)f(in)m
+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
-4792 y(rest)c(of)f Fr(parameter)33 b Fu(as)27 b(the)g(new)f
-Fr(parameter)7 b Fu(;)28 b(this)e(is)g(then)g(expanded)g(and)g(that)h
-(v)-5 b(alue)27 b(is)f(used)g(in)g(the)150 4902 y(rest)33
-b(of)f(the)h(expansion,)g(rather)g(than)f(the)h(expansion)f(of)h(the)g
-(original)g Fr(parameter)p Fu(.)48 b(This)32 b(is)g(kno)m(wn)150
-5011 y(as)42 b Ft(indirect)28 b(expansion)p Fu(.)71 b(The)41
-b(v)-5 b(alue)41 b(is)h(sub)5 b(ject)41 b(to)h(tilde)g(expansion,)i
-(parameter)e(expansion,)150 5121 y(command)31 b(substitution,)g(and)g
-(arithmetic)h(expansion.)43 b(If)31 b Fr(parameter)38
-b Fu(is)32 b(a)f(nameref,)h(this)f(expands)150 5230 y(to)d(the)g(name)g
-(of)f(the)h(v)-5 b(ariable)28 b(referenced)g(b)m(y)f
-Fr(parameter)35 b Fu(instead)27 b(of)h(p)s(erforming)e(the)i(complete)h
-(in-)150 5340 y(direct)e(expansion.)39 b(The)25 b(exceptions)i(to)g
-(this)f(are)h(the)f(expansions)g(of)g($)p Fi({)p Fu(!)p
-Fr(pre\014x)6 b Fu(*)p Fi(})28 b Fu(and)d($)p Fi({)p
-Fu(!)p Fr(name)5 b Fu([@])p Fi(})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)150 299
-y(describ)s(ed)28 b(b)s(elo)m(w.)41 b(The)28 b(exclamation)j(p)s(oin)m
-(t)f(m)m(ust)f(immediately)h(follo)m(w)g(the)g(left)f(brace)h(in)f
-(order)f(to)150 408 y(in)m(tro)s(duce)i(indirection.)275
-542 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 651 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 784 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 894 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 1003
-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 1113 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 1223 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150
-1379 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p
-Ft(})630 1489 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 1598 y(the)31 b(v)-5 b(alue)30 b(of)h
-Fr(parameter)37 b Fu(is)31 b(substituted.)870 1731 y
-Ft($)47 b(v=123)870 1841 y($)g(echo)g(${v-unset})870
-1951 y(123)870 2060 y($)g(echo)g(${v:-unset-or-null})870
-2170 y(123)870 2279 y($)g(unset)g(v)870 2389 y($)g(echo)g(${v-unset})
-870 2498 y(unset)870 2608 y($)g(v=)870 2718 y($)g(echo)g
-(${v:-unset-or-null})870 2827 y(unset-or-null)150 2984
-y(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 3093
-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 3203 y(The)c(v)-5 b(alue)32 b(of)f
-Fr(parameter)38 b Fu(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
-b(parameters)e(and)f(sp)s(ecial)630 3313 y(parameters)h(ma)m(y)g(not)f
-(b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)870
-3446 y Ft($)47 b(var=)870 3555 y($)g(:)h(${var:=DEFAULT})870
-3665 y($)f(echo)g($var)870 3774 y(DEFAULT)150 3931 y(${)p
-Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 4041 y Fu(If)26
-b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h(the)f(expansion)
-g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that)f(e\013ect)630
-4150 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h(is)f(written)g
-(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f(it)h(is)f(not)
-630 4260 y(in)m(teractiv)m(e,)33 b(exits.)42 b(Otherwise,)30
-b(the)h(v)-5 b(alue)31 b(of)f Fr(parameter)38 b Fu(is)30
-b(substituted.)870 4393 y Ft($)47 b(var=)870 4502 y($)g(:)h(${var:?var)
-d(is)i(unset)f(or)i(null})870 4612 y(bash:)e(var:)h(var)g(is)g(unset)f
-(or)i(null)150 4769 y(${)p Fj(parameter)p Ft(:+)p Fj(word)p
-Ft(})630 4878 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 4988 y(of)31 b Fr(w)m(ord)i Fu(is)e(substituted.)
-870 5121 y Ft($)47 b(var=123)870 5230 y($)g(echo)g(${var:+var)e(is)i
-(set)g(and)g(not)g(null})870 5340 y(var)g(is)g(set)g(and)g(not)g(null)p
-eop end
+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)150 299
-y Ft(${)p Fj(parameter)p Ft(:)p Fj(offset)p Ft(})150
-408 y(${)p Fj(parameter)p Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p
-Ft(})630 518 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 628 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
-737 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
-847 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,)630 956 y(it)d(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 1066 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(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)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h(the)f
+(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that)f
+(e\013ect)630 2809 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h(is)
+f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f(it)
+h(is)f(not)630 2919 y(in)m(teractiv)m(e,)j(exits)d(with)f(a)g(non-zero)
+h(status.)40 b(An)27 b(in)m(teractiv)m(e)j(shell)d(do)s(es)g(not)h
+(exit,)h(but)630 3029 y(do)s(es)j(not)g(execute)i(the)e(command)g(asso)
+s(ciated)h(with)f(the)g(expansion.)46 b(Otherwise,)33
+b(the)630 3138 y(v)-5 b(alue)31 b(of)f Fr(parameter)38
+b Fu(is)30 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
-1176 y(arithmetic)e(expressions)e(\(see)h(Section)g(6.5)h([Shell)e
-(Arithmetic],)i(page)f(101\).)630 1322 y(If)39 b Fr(o\013set)k
+518 y(arithmetic)e(expressions)e(\(see)h(Section)g(6.5)h([Shell)e
+(Arithmetic],)i(page)f(105\).)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
-1431 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h(the)g(v)-5
+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 1541 y(n)m(um)m(b)s(er)23
+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 1650
-y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38 b Fu(rather)30
+(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 1760 y(is)39 b(the)g(c)m(haracters)i(b)s(et)m(w)m(een)f
-Fr(o\013set)i Fu(and)c(that)i(result.)67 b(Note)40 b(that)g(a)g
-(negativ)m(e)h(o\013set)630 1870 y(m)m(ust)27 b(b)s(e)g(separated)g
-(from)g(the)g(colon)i(b)m(y)e(at)h(least)g(one)f(space)h(to)g(a)m(v)m
-(oid)h(b)s(eing)e(confused)630 1979 y(with)j(the)h(`)p
-Ft(:-)p Fu(')f(expansion.)630 2125 y(Here)43 b(are)g(some)f(examples)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
-2235 y(subscripted)29 b(arra)m(ys:)630 2381 y Ft($)47
-b(string=01234567890abcdefgh)630 2491 y($)g(echo)g(${string:7})630
-2600 y(7890abcdefgh)630 2710 y($)g(echo)g(${string:7:0})630
-2929 y($)g(echo)g(${string:7:2})630 3039 y(78)630 3148
-y($)g(echo)g(${string:7:-2})630 3258 y(7890abcdef)630
-3367 y($)g(echo)g(${string:)e(-7})630 3477 y(bcdefgh)630
-3587 y($)i(echo)g(${string:)e(-7:0})630 3806 y($)i(echo)g(${string:)e
-(-7:2})630 3915 y(bc)630 4025 y($)i(echo)g(${string:)e(-7:-2})630
-4134 y(bcdef)630 4244 y($)i(set)g(--)h(01234567890abcdefgh)630
-4354 y($)f(echo)g(${1:7})630 4463 y(7890abcdefgh)630
-4573 y($)g(echo)g(${1:7:0})630 4792 y($)g(echo)g(${1:7:2})630
-4902 y(78)630 5011 y($)g(echo)g(${1:7:-2})630 5121 y(7890abcdef)630
-5230 y($)g(echo)g(${1:)g(-7})630 5340 y(bcdefgh)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 Ft($)47 b(echo)g(${1:)g(-7:0})630 518 y($)g(echo)g(${1:)g(-7:2})630
-628 y(bc)630 737 y($)g(echo)g(${1:)g(-7:-2})630 847 y(bcdef)630
-956 y($)g(array[0]=01234567890abcdef)o(gh)630 1066 y($)g(echo)g
-(${array[0]:7})630 1176 y(7890abcdefgh)630 1285 y($)g(echo)g
-(${array[0]:7:0})630 1504 y($)g(echo)g(${array[0]:7:2})630
-1614 y(78)630 1724 y($)g(echo)g(${array[0]:7:-2})630
-1833 y(7890abcdef)630 1943 y($)g(echo)g(${array[0]:)e(-7})630
-2052 y(bcdefgh)630 2162 y($)i(echo)g(${array[0]:)e(-7:0})630
-2381 y($)i(echo)g(${array[0]:)e(-7:2})630 2491 y(bc)630
-2600 y($)i(echo)g(${array[0]:)e(-7:-2})630 2710 y(bcdef)630
-2856 y Fu(If)34 b Fr(parameter)41 b Fu(is)35 b(`)p Ft(@)p
+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 2966
+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 3075 y(p)s(ositional)23 b(parameter,)h(so)e(an)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 3185 y(\(or)34 b(0)g(if)g(there)g(are)g(no)f
+(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 3294 y Fu(ev)-5 b(aluates)32
+(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
-3440 y(The)i(follo)m(wing)i(examples)f(illustrate)h(substring)d
-(expansion)i(using)f(p)s(ositional)h(param-)630 3550
-y(eters:)630 3696 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 3806 y($)g(echo)g(${@:7})
-630 3915 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
-4025 y($)g(echo)g(${@:7:0})630 4244 y($)g(echo)g(${@:7:2})630
-4354 y(7)g(8)630 4463 y($)g(echo)g(${@:7:-2})630 4573
-y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630 4682
-y($)g(echo)g(${@:)g(-7:2})630 4792 y(b)g(c)630 4902 y($)g(echo)g
-(${@:0})630 5011 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 5121 y($)f(echo)g(${@:0:2})630
-5230 y(./bash)f(1)630 5340 y($)h(echo)g(${@:)g(-7:0})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 428
-y(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 538 y(the)j Fr(length)g
+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 648 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h
+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 757 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
+(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
-867 y(than)30 b(zero.)630 996 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 1126 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 1235 y($)f(echo)g
-(${array[@]:7})630 1345 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 1455 y($)g(echo)g(${array[@]:7:2})630 1564 y(7)g(8)630
-1674 y($)g(echo)g(${array[@]:)e(-7:2})630 1783 y(b)i(c)630
-1893 y($)g(echo)g(${array[@]:)e(-7:-2})630 2002 y(bash:)h(-2:)h
-(substring)f(expression)f(<)i(0)630 2112 y($)g(echo)g(${array[@]:0})630
-2222 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 2331 y($)g(echo)g(${array[@]:0:2})630
-2441 y(0)g(1)630 2550 y($)g(echo)g(${array[@]:)e(-7:0})630
-2790 y Fu(Substring)25 b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ)
+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
-2919 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 3029 y(whic)m(h)29
+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
-3138 y(parameters)h(are)f(used,)g Ft($0)g Fu(is)g(pre\014xed)g(to)h
-(the)f(list.)150 3288 y Ft(${!)p Fj(prefix)p Ft(*})150
-3397 y(${!)p Fj(prefix)p Ft(@})630 3507 y Fu(Expands)24
+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
-3616 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f
+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 3726 y(sion)35
+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
-3836 y(w)m(ord.)150 3985 y Ft(${!)p Fj(name)p Ft([@]})150
-4095 y(${!)p Fj(name)p Ft([*]})630 4204 y Fu(If)26 b
+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 4314 y(in)c Fr(name)p Fu(.)39 b(If)24 b
+(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 4423 y(When)39 b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f
+(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 4533 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
-4682 y Ft(${#)p Fj(parameter)p Ft(})630 4792 y Fu(The)40
-b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5
-b(alue)41 b(of)f Fr(parameter)47 b Fu(is)40 b(substituted.)630
-4902 y(If)i Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p
-Ft(@)p Fu(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m
-(b)s(er)f(of)h(p)s(ositional)630 5011 y(parameters.)i(If)32
-b Fr(parameter)38 b Fu(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m
-(y)g(`)p Ft(*)p Fu(')h(or)g(`)p Ft(@)p Fu(',)g(the)g(v)-5
-b(alue)630 5121 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i
-(elemen)m(ts)i(in)d(the)h(arra)m(y)-8 b(.)43 b(If)30
-b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 5230
-y(arra)m(y)37 b(name)g(subscripted)f(b)m(y)h(a)g(negativ)m(e)i(n)m(um)m
-(b)s(er,)f(that)f(n)m(um)m(b)s(er)f(is)g(in)m(terpreted)i(as)630
-5340 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f
-(index)g(of)g Fr(parameter)p Fu(,)50 b(so)c(negativ)m(e)p
+(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: 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(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f(arra)
-m(y)-8 b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)630
-408 y(last)g(elemen)m(t.)150 612 y Ft(${)p Fj(parameter)p
-Ft(#)p Fj(word)p Ft(})150 722 y(${)p Fj(parameter)p Ft(##)p
-Fj(word)p Ft(})630 831 y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f
-(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i(according)f(to)h
-(the)630 941 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)
-g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f(37\).)46
-b(If)32 b(the)630 1050 y(pattern)37 b(matc)m(hes)h(the)f(b)s(eginning)f
-(of)h(the)g(expanded)f(v)-5 b(alue)38 b(of)f Fr(parameter)p
-Fu(,)i(then)e(the)630 1160 y(result)f(of)h(the)f(expansion)h(is)f(the)h
-(expanded)e(v)-5 b(alue)37 b(of)g Fr(parameter)43 b Fu(with)36
-b(the)h(shortest)630 1270 y(matc)m(hing)31 b(pattern)e(\(the)h(`)p
-Ft(#)p Fu(')g(case\))h(or)e(the)h(longest)h(matc)m(hing)f(pattern)g
-(\(the)g(`)p Ft(##)p Fu(')g(case\))630 1379 y(deleted.)49
-b(If)32 b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p
-Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5 b(al)34 b(op)s(eration)g(is)
-f(applied)f(to)630 1489 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f
-(turn,)h(and)e(the)h(expansion)g(is)h(the)f(resultan)m(t)h(list.)61
-b(If)630 1598 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5
-b(ariable)32 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p
-Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 1708
-y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e(of)h
-(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630
-1817 y(the)h(resultan)m(t)g(list.)150 2021 y Ft(${)p
-Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150 2131 y(${)p
-Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630 2240
-y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h
-(pattern)g(and)f(matc)m(hed)i(according)f(to)h(the)630
-2350 y(rules)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g(3.5.8.1)h
-([P)m(attern)f(Matc)m(hing],)51 b(page)45 b(37\).)85
-b(If)630 2459 y(the)43 b(pattern)g(matc)m(hes)h(a)g(trailing)g(p)s
-(ortion)e(of)h(the)g(expanded)g(v)-5 b(alue)43 b(of)g
-Fr(parameter)p Fu(,)630 2569 y(then)c(the)g(result)g(of)h(the)f
-(expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fr(parameter)46
-b Fu(with)39 b(the)h(shortest)630 2679 y(matc)m(hing)31
-b(pattern)e(\(the)h(`)p Ft(\045)p Fu(')g(case\))h(or)e(the)h(longest)h
-(matc)m(hing)f(pattern)g(\(the)g(`)p Ft(\045\045)p Fu(')g(case\))630
-2788 y(deleted.)49 b(If)32 b Fr(parameter)40 b Fu(is)33
-b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5
-b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 2898 y(eac)m(h)38
-b(p)s(ositional)g(parameter)g(in)f(turn,)h(and)e(the)h(expansion)g(is)h
-(the)f(resultan)m(t)h(list.)61 b(If)630 3007 y Fr(parameter)38
-b Fu(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h
-(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5
-b(al)630 3117 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m
-(b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g
-(is)630 3226 y(the)h(resultan)m(t)g(list.)150 3430 y
-Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p Fj(stri)o(ng)p
-Ft(})150 3540 y(${)p Fj(parameter)p Ft(//)p Fj(pattern)p
-Ft(/)p Fj(str)o(ing)p Ft(})150 3649 y(${)p Fj(parameter)p
-Ft(/#)p Fj(pattern)p Ft(/)p Fj(str)o(ing)p Ft(})150 3759
-y(${)p Fj(parameter)p Ft(/\045)p Fj(pattern)p Ft(/)p
-Fj(str)o(ing)p Ft(})630 3868 y Fu(The)37 b Fr(pattern)g
-Fu(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e
-(\014lename)i(expansion.)630 3978 y Fr(P)m(arameter)46
-b Fu(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f
-Fr(pattern)g Fu(against)h(its)f(v)-5 b(alue)39 b(is)630
-4088 y(replaced)30 b(with)e Fr(string)p Fu(.)41 b Fr(string)c
-Fu(undergo)s(es)28 b(tilde)i(expansion,)f(parameter)h(and)e(v)-5
-b(ariable)630 4197 y(expansion,)25 b(arithmetic)g(expansion,)g(command)
-e(and)g(pro)s(cess)g(substitution,)i(and)e(quote)630
-4307 y(remo)m(v)-5 b(al.)54 b(The)33 b(matc)m(h)j(is)e(p)s(erformed)f
-(according)i(to)g(the)f(rules)g(describ)s(ed)f(b)s(elo)m(w)i(\(see)630
-4416 y(Section)c(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(37\).)
-630 4573 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 4682 y(slashes)28
+%%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
-4792 y(of)d Fr(pattern)g Fu(are)g(replaced)g(with)f Fr(string)p
+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 4902 y(ab)s(o)m(v)m(e\),)32
+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 5011 y Fr(pattern)28 b Fu(is)g(preceded)g(b)m(y)g(`)p
+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 5121 y(the)i(expanded)e(v)-5
-b(alue)30 b(of)g Fr(parameter)p Fu(.)41 b(If)28 b(the)i(expansion)f(of)
-h Fr(string)37 b Fu(is)29 b(n)m(ull,)h(matc)m(hes)h(of)630
-5230 y Fr(pattern)d Fu(are)g(deleted.)41 b(If)28 b Fr(string)35
-b Fu(is)28 b(n)m(ull,)h(matc)m(hes)g(of)f Fr(pattern)g
-Fu(are)h(deleted)f(and)g(the)g(`)p Ft(/)p Fu(')630 5340
-y(follo)m(wing)k Fr(pattern)e Fu(ma)m(y)h(b)s(e)f(omitted.)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(If)29 b(the)h Ft(patsub_replacement)25 b Fu(shell)30
-b(option)g(is)f(enabled)h(using)f Ft(shopt)p Fu(,)g(an)m(y)h(unquoted)
-630 408 y(instances)40 b(of)g(`)p Ft(&)p Fu(')g(in)f
-Fr(string)48 b Fu(are)40 b(replaced)g(with)g(the)g(matc)m(hing)g(p)s
-(ortion)g(of)g Fr(pattern)p Fu(.)630 518 y(This)30 b(is)g(in)m(tended)g
-(to)h(duplicate)g(a)g(common)g Ft(sed)e Fu(idiom.)630
-648 y(Quoting)g(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
-757 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
-867 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 976 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)630
-1086 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
-1196 y(bac)m(kslash)31 b(has)f(sp)s(ecial)h(meaning)f(within)g(double)f
+(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(76\),)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
-1305 y(forms)e(the)h(c)m(hec)m(k)i(for)d(unquoted)g(`)p
+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 1415 y(to)33 b(prop)s(erly)e(quote)i(an)m(y)f(o)s
+(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 1524 y(replacemen)m(t)k(and)e
+(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 1634 y(quoted.)630
-1763 y(F)-8 b(or)31 b(instance,)870 1893 y Ft(var=abcdef)870
-2002 y(rep='&)46 b(')870 2112 y(echo)h(${var/abc/&)d(})870
-2222 y(echo)j("${var/abc/&)d(}")870 2331 y(echo)j(${var/abc/$rep})870
-2441 y(echo)g("${var/abc/$rep}")630 2570 y Fu(will)31
+(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 2700 y Ft(var=abcdef)870 2809
-y(rep='&)46 b(')870 2919 y(echo)h(${var/abc/\\&)d(})870
-3029 y(echo)j("${var/abc/\\&)d(}")870 3138 y(echo)j(${var/abc/"&)d("})
-870 3248 y(echo)j(${var/abc/"$rep"})630 3377 y Fu(will)34
+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 3487 y(quotes)23
+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 3597 y(double)43 b(quotes)i(enclosing)f
+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 3706 y(expansion)e(is)h(p)s(erformed)e(in)h(a)h(con)m(text)h(that)f
+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
-3816 y(quotes)31 b(in)m(to)g(accoun)m(t.)630 3945 y(Since)24
+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
-4055 y(string.)39 b(This)26 b(means)g(that)h(`)p Ft(\\\\)p
+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 4164 y(so)31 b(these)f(t)m(w)m(o)i
-Ft(echo)d Fu(commands)870 4294 y Ft(var=abcdef)870 4403
-y(rep='\\\\&xyz')870 4513 y(echo)47 b(${var/abc/\\\\&xyz})870
-4623 y(echo)g(${var/abc/$rep})630 4752 y Fu(will)31 b(b)s(oth)e(output)
-h(`)p Ft(\\abcxyzdef)p Fu('.)630 4882 y(It)g(should)g(rarely)g(b)s(e)g
+(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 5011 y(If)j(the)h Ft(nocasematch)d
+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 5121 y([The)23
-b(Shopt)g(Builtin],)j(page)e(74\))h(is)e(enabled,)i(the)f(matc)m(h)g
-(is)g(p)s(erformed)e(without)h(regard)630 5230 y(to)31
-b(the)f(case)h(of)g(alphab)s(etic)f(c)m(haracters.)42
-b(If)30 b Fr(parameter)37 b Fu(is)30 b(`)p Ft(@)p Fu(')g(or)g(`)p
-Ft(*)p Fu(',)h(the)f(substitution)630 5340 y(op)s(eration)g(is)f
-(applied)g(to)h(eac)m(h)g(p)s(ositional)g(parameter)g(in)e(turn,)h(and)
-g(the)g(expansion)g(is)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(the)31 b(resultan)m(t)h(list.)45 b(If)30 b Fr(parameter)39
-b Fu(is)31 b(an)g(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h
-(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)630 408 y(the)e(substitution)g
-(op)s(eration)h(is)f(applied)g(to)h(eac)m(h)h(mem)m(b)s(er)e(of)g(the)g
-(arra)m(y)h(in)f(turn,)g(and)630 518 y(the)h(expansion)f(is)g(the)h
-(resultan)m(t)g(list.)150 671 y Ft(${)p Fj(parameter)p
-Ft(^)p Fj(pattern)p Ft(})150 781 y(${)p Fj(parameter)p
-Ft(^^)p Fj(pattern)p Ft(})150 891 y(${)p Fj(parameter)p
-Ft(,)p Fj(pattern)p Ft(})150 1000 y(${)p Fj(parameter)p
-Ft(,,)p Fj(pattern)p Ft(})630 1110 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 1219 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 1329 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
-1439 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
-1548 y(to)e(matc)m(h)g(more)g(than)f(one)h(c)m(haracter.)630
-1680 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 1789 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
-1899 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 2008 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 2118 y(If)30 b Fr(pattern)g
+Ft(shopt)e Fu(in)i(Section)g(4.3.2)630 4732 y([The)23
+b(Shopt)g(Builtin],)j(page)e(76\))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
-2250 y(If)23 b Fr(parameter)31 b Fu(is)24 b(`)p Ft(@)p
+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
-2359 y(tional)h(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f(is)g
+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 2469 y(an)e(arra)m(y)g(v)-5 b(ariable)31
+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
-2578 y(applied)d(to)g(eac)m(h)h(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g
+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
-2688 y(list.)150 2841 y Ft(${)p Fj(parameter)p Ft(@)p
-Fj(operator)p Ft(})630 2951 y Fu(The)h(expansion)h(is)f(either)h(a)g
+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 3061 y(tion)e(ab)s(out)f Fr(parameter)33
+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
-3170 y Fu(is)j(a)h(single)g(letter:)630 3324 y Ft(U)432
+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
-3433 y(ercase)g(alphab)s(etic)g(c)m(haracters)h(con)m(v)m(erted)g(to)f
-(upp)s(ercase.)630 3587 y Ft(u)432 b Fu(The)34 b(expansion)g(is)g(a)h
+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 3696 y(\014rst)c(c)m(haracter)i(con)m(v)m
+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
-3850 y Ft(L)432 b Fu(The)33 b(expansion)h(is)g(a)g(string)g(that)h(is)f
+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 3959 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 4113 y Ft(Q)432 b
+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
-4222 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i(input.)630
-4376 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h(that)f(is)h
+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 4485 y(slash)e(escap)s(e)h(sequences)f(expanded)g(as)g
+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
-4595 y(anism.)630 4748 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g
+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 4858 y Fr(parameter)31 b Fu(as)24
+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 4967 y(the)31 b(Prompt],)f(page)h(107\).)630
-5121 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g
+([Con)m(trolling)1110 4682 y(the)31 b(Prompt],)f(page)h(111\).)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
-5230 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 5340
-y(its)31 b(attributes)g(and)e(v)-5 b(alue.)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)630 299
-y Ft(K)432 b Fu(Pro)s(duces)33 b(a)i(p)s(ossibly-quoted)e(v)m(ersion)i
+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
-408 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)1110
-518 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
-628 y(page)29 b(103\).)41 b(The)28 b(k)m(eys)g(and)f(v)-5
+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(108\).)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
-737 y(reused)h(as)g(input.)630 896 y Ft(a)432 b Fu(The)30
+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 1006 y(rameter)7
-b Fu('s)31 b(attributes.)630 1165 y Ft(k)432 b Fu(Lik)m(e)29
+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 1275 y(dexed)c(and)f(asso)
+(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 1434 y(If)k Fr(parameter)37 b Fu(is)30
+(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
-1543 y(in)24 b(turn,)g(and)f(the)h(expansion)g(is)g(the)g(resultan)m(t)
+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 1653 y(subscripted)24 b(with)h(`)p Ft(@)p
+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 1763
+(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 1897 y(The)c(result)h(of)g(the)f(expansion)h(is)g(sub)5
+(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
-2007 y(as)j(describ)s(ed)e(b)s(elo)m(w.)150 2206 y Fk(3.5.4)63
-b(Command)41 b(Substitution)150 2352 y Fu(Command)24
+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 2462
+(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 2596
-y Ft($\()p Fj(command)p Ft(\))150 2731 y Fu(or)f(\(deprecated\))390
-2865 y Ft(`)p Fj(command)p Ft(`.)150 3000 y Fu(Bash)24
+(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
-3109 y(replacing)35 b(the)f(command)g(substitution)g(with)f(the)i
+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
-3219 y(trailing)j(newlines)f(deleted.)58 b(Em)m(b)s(edded)34
+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 3328 y(during)40 b(w)m(ord)i(splitting.)75
+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
-3438 y(equiv)-5 b(alen)m(t)32 b(but)d(faster)i Ft($\(<)f
-Fj(file)p Ft(\))p Fu(.)275 3572 y(With)h(the)h(old-st)m(yle)h(bac)m
+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 3682 y(except)k(when)d(follo)m(w)m(ed)k(b)m(y)d
+(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 3791 y(terminates)k(the)e(command)h
+(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
-3901 y(b)s(et)m(w)m(een)31 b(the)g(paren)m(theses)f(mak)m(e)i(up)d(the)
+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
-4035 y(There)29 b(is)i(an)f(alternate)i(form)e(of)h(command)f
-(substitution:)390 4170 y Ft(${)p Fj(c)47 b(command)p
-Ft(;)e(})150 4304 y Fu(whic)m(h)38 b(executes)i Fr(command)i
+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 4414 y(again)31 b(with)f(trailing)i
-(newlines)e(remo)m(v)m(ed.)275 4548 y(The)40 b(c)m(haracter)i
+(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
-4658 y(the)39 b(close)i(brace)e(m)m(ust)g(b)s(e)g(in)g(a)g(p)s(osition)
+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 4767 y(b)m(y)32 b(a)g(command)g(terminator)h(suc)m(h)e
+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 4877 y(the)f(remaining)g(c)m(haracters)h(in)e
+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 4986 y(reserv)m(ed)g(w)m(ord)f
-(w)m(ould)g(usually)g(require.)275 5121 y(An)m(y)j(side)h(e\013ects)h
+(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 5230 y(men)m(t)d(and)g(p)s
+(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 5340
-y Fu(builtin)e(will)h(exit)g(the)g(shell\).)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)275 299
-y(This)31 b(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
-408 y(function:)42 b(lo)s(cal)33 b(v)-5 b(ariables)32
+(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)150 518 y Fu(builtin)k(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 628 y(cluding)30
-b(the)h(p)s(ositional)g(parameters,)g(is)f(shared)g(with)g(the)h
-(caller.)275 766 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 875 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 985 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 1094 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 1204 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 1314 y(lo)s(cal)d(v)-5 b(ariable.)275
-1451 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 1561 y(in)30
-b(the)h(curren)m(t)f(execution)h(en)m(vironmen)m(t:)390
-1809 y Ft(${)47 b(local)g(X=12345)e(;)j(echo)e($X;)h(})150
-1946 y Fu(\(not)28 b(declaring)g Ft(X)f Fu(as)g(lo)s(cal)i(w)m(ould)e
+(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 2056 y(shell)38
+(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
-2166 y(`)p Ft(12345)p Fu(':)390 2304 y Ft(${|)47 b(REPLY=12345;)d(})150
-2441 y Fu(and)30 b(restores)h Ft(REPLY)e Fu(to)i(the)f(v)-5
+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
-2579 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
+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 2689 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
-(kslashes.)275 2827 y(If)g(the)h(substitution)g(app)s(ears)f(within)h
+(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 2936 y(and)g(\014lename)g(expansion)h(on)f(the)g
-(results.)150 3139 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150
-3286 y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5
-b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g
-(substitution)150 3396 y(of)31 b(the)f(result.)41 b(The)30
-b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3534
-y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3672 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 3781
-y(double)g(quote)g(c)m(haracters)i(in)d Fr(expression)h
+(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 3891 y(k)m(ens)c(in)f(the)h(expression)f(undergo)g
+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 4000 y(and)41 b(quote)i(remo)m(v)-5
+(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 4110
+(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
-4248 y(The)k(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g
+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 4357 y(Arithmetic],)29 b(page)e(101\).)41 b(If)27
+150 4043 y(Arithmetic],)29 b(page)e(105\).)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 4467 y(to)j(the)g(standard)e(error)
-h(and)g(no)g(substitution)g(o)s(ccurs.)150 4670 y Fk(3.5.6)63
-b(Pro)s(cess)42 b(Substitution)150 4817 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
-4926 y(It)d(tak)m(es)i(the)f(form)f(of)390 5064 y Ft(<\()p
-Fj(list)p Ft(\))150 5202 y Fu(or)390 5340 y Ft(>\()p
-Fj(list)p Ft(\))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(The)28 b(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 408 y(\014lename)25 b(is)g(passed)g(as)g(an)
-g(argumen)m(t)h(to)g(the)f(curren)m(t)g(command)g(as)g(the)g(result)g
-(of)g(the)h(expansion.)38 b(If)150 518 y(the)28 b Ft(>\()p
-Fj(list)p Ft(\))d Fu(form)i(is)g(used,)h(writing)f(to)h(the)g(\014le)f
-(will)h(pro)m(vide)g(input)e(for)h Fr(list)p Fu(.)41
-b(If)26 b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150
-628 y(is)g(used,)g(the)f(\014le)h(passed)f(as)h(an)f(argumen)m(t)h
-(should)e(b)s(e)h(read)h(to)g(obtain)g(the)f(output)g(of)h
-Fr(list)p Fu(.)40 b(Note)25 b(that)150 737 y(no)33 b(space)g(ma)m(y)g
-(app)s(ear)f(b)s(et)m(w)m(een)i(the)f Ft(<)f Fu(or)h
-Ft(>)f Fu(and)g(the)h(left)h(paren)m(thesis,)f(otherwise)h(the)f
-(construct)150 847 y(w)m(ould)j(b)s(e)g(in)m(terpreted)g(as)h(a)f
-(redirection.)59 b(Pro)s(cess)36 b(substitution)g(is)h(supp)s(orted)d
-(on)i(systems)g(that)150 956 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p
-Fm(fif)n(o)p Fu(s\))h(or)h(the)f Ft(/dev/fd)f Fu(metho)s(d)h(of)g
-(naming)g(op)s(en)g(\014les.)275 1083 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 1193 y(v)-5
-b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)
-i(expansion.)150 1377 y Fk(3.5.7)63 b(W)-10 b(ord)41
-b(Splitting)150 1524 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 1634 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h
-(quotes)h(for)f(w)m(ord)g(splitting.)275 1761 y(The)e(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 1870 y(expansions)h(in)m
-(to)h(w)m(ords)f(using)g(these)h(c)m(haracters)h(as)e(\014eld)g
-(terminators.)275 1998 y(If)38 b Ft(IFS)g Fu(is)g(unset,)j(or)e(its)g
-(v)-5 b(alue)39 b(is)g(exactly)h Ft(<space><tab><newline>)p
-Fu(,)c(the)j(default,)i(then)d(se-)150 2107 y(quences)27
+(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 761 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 870 y Ft(/dev/fd)28
+b Fu(metho)s(d)i(of)h(naming)f(op)s(en)g(\014les.)275
+1004 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
+1113 y(v)-5 b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g
+(arithmetic)i(expansion.)150 1310 y Fk(3.5.7)63 b(W)-10
+b(ord)41 b(Splitting)150 1457 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 1567 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h
+(within)e(double)h(quotes)h(for)f(w)m(ord)g(splitting.)275
+1700 y(The)e(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 1809 y(expansions)h(in)m(to)h(w)m(ords)f(using)g
+(these)h(c)m(haracters)h(as)e(\014eld)g(terminators.)275
+1943 y(If)38 b Ft(IFS)g Fu(is)g(unset,)j(or)e(its)g(v)-5
+b(alue)39 b(is)g(exactly)h Ft(<space><tab><newline>)p
+Fu(,)c(the)j(default,)i(then)d(se-)150 2052 y(quences)27
b(of)h Ft(space)p Fu(,)f Ft(tab)p Fu(,)g(and)g Ft(newline)e
Fu(at)j(the)f(b)s(eginning)g(and)g(end)f(of)i(the)f(results)g(of)h(the)
-f(previous)150 2217 y(expansions)38 b(are)g(ignored,)i(and)d(an)m(y)i
+f(previous)150 2162 y(expansions)38 b(are)g(ignored,)i(and)d(an)m(y)i
(sequence)f(of)g Ft(IFS)f Fu(c)m(haracters)j(not)e(at)g(the)g(b)s
-(eginning)g(or)g(end)150 2326 y(serv)m(es)e(to)h(delimit)f(w)m(ords.)56
-b(If)35 b Ft(IFS)g Fu(has)h(a)g(v)-5 b(alue)36 b(other)g(than)f(the)h
-(default,)i(then)d(sequences)h(of)g(the)150 2436 y(whitespace)i(c)m
-(haracters)h Ft(space)p Fu(,)e Ft(tab)p Fu(,)h(and)f
-Ft(newline)e Fu(are)j(ignored)f(at)h(the)f(b)s(eginning)g(and)f(end)h
-(of)150 2545 y(the)h(w)m(ord,)j(as)d(long)h(as)g(the)f(whitespace)h(c)m
-(haracter)h(is)e(in)g(the)h(v)-5 b(alue)38 b(of)h Ft(IFS)e
-Fu(\(an)i Ft(IFS)e Fu(whitespace)150 2655 y(c)m(haracter\).)47
-b(An)m(y)32 b(c)m(haracter)i(in)d Ft(IFS)g Fu(that)i(is)f(not)g
-Ft(IFS)f Fu(whitespace,)i(along)g(with)e(an)m(y)i(adjacen)m(t)g
-Ft(IFS)150 2765 y Fu(whitespace)41 b(c)m(haracters,)j(delimits)d(a)g
-(\014eld.)70 b(A)40 b(sequence)h(of)g Ft(IFS)e Fu(whitespace)i(c)m
-(haracters)h(is)e(also)150 2874 y(treated)31 b(as)g(a)g(delimiter.)275
-3001 y(If)22 b(the)h(v)-5 b(alue)23 b(of)f Ft(IFS)g Fu(is)h(n)m(ull,)h
-(no)f(w)m(ord)f(splitting)h(o)s(ccurs.)38 b(If)22 b Ft(IFS)g
-Fu(is)h(unset,)h(w)m(ord)e(splitting)h(b)s(eha)m(v)m(es)150
-3111 y(as)31 b(if)f(it)h(con)m(tained)g(the)g(default)g(v)-5
-b(alue)30 b Ft(<space><tab><newline>)p Fu(.)275 3238
-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 3347 y(Unquoted)37 b(implicit)i(n)m(ull)f
-(argumen)m(ts,)i(resulting)d(from)g(the)h(expansion)g(of)g(parameters)f
-(that)i(ha)m(v)m(e)150 3457 y(no)32 b(v)-5 b(alues,)33
-b(are)f(remo)m(v)m(ed.)47 b(If)32 b(a)g(parameter)h(with)e(no)h(v)-5
-b(alue)33 b(is)f(expanded)f(within)h(double)f(quotes,)j(a)150
-3567 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f
-(passed)g(to)i(a)f(command)g(as)g(an)f(empt)m(y)i(string.)40
-b(When)150 3676 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as)
+(eginning)g(or)g(end)150 2271 y(delimits)29 b(w)m(ords.)40
+b(If)28 b Ft(IFS)g Fu(has)g(a)h(v)-5 b(alue)30 b(other)e(than)h(the)g
+(default,)g(then)g(sequences)f(of)h(the)g(whitespace)150
+2381 y(c)m(haracters)f Ft(space)p Fu(,)e Ft(tab)p Fu(,)h(and)f
+Ft(newline)e Fu(presen)m(t)j(the)f(v)-5 b(alue)27 b(of)g
+Ft(IFS)e Fu(\(an)i Ft(IFS)f Fu(whitespace)h(c)m(haracter\))150
+2491 y(are)36 b(ignored)h(at)f(the)h(b)s(eginning)e(and)g(end)h(of)g
+(the)g(w)m(ord.)57 b(An)m(y)36 b(c)m(haracter)i(in)e
+Ft(IFS)f Fu(that)h(is)h(not)f Ft(IFS)150 2600 y Fu(whitespace,)27
+b(along)f(with)f(an)m(y)g(adjacen)m(t)h Ft(IFS)e Fu(whitespace)i(c)m
+(haracters,)i(delimits)e(a)f(\014eld.)38 b(A)26 b(sequence)150
+2710 y(of)31 b Ft(IFS)e Fu(whitespace)i(c)m(haracters)h(is)e(also)i
+(treated)f(as)g(a)f(delimiter.)275 2843 y(If)22 b(the)h(v)-5
+b(alue)23 b(of)f Ft(IFS)g Fu(is)h(n)m(ull,)h(no)f(w)m(ord)f(splitting)h
+(o)s(ccurs.)38 b(If)22 b Ft(IFS)g Fu(is)h(unset,)h(w)m(ord)e(splitting)
+h(b)s(eha)m(v)m(es)150 2953 y(as)31 b(if)f(it)h(con)m(tained)g(the)g
+(default)g(v)-5 b(alue)30 b Ft(<space><tab><newline>)p
+Fu(.)275 3086 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 3196 y(Unquoted)37
+b(implicit)i(n)m(ull)f(argumen)m(ts,)i(resulting)d(from)g(the)h
+(expansion)g(of)g(parameters)f(that)i(ha)m(v)m(e)150
+3305 y(no)32 b(v)-5 b(alues,)33 b(are)f(remo)m(v)m(ed.)47
+b(If)32 b(a)g(parameter)h(with)e(no)h(v)-5 b(alue)33
+b(is)f(expanded)f(within)h(double)f(quotes,)j(a)150 3415
+y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f(passed)
+g(to)i(a)f(command)g(as)g(an)f(empt)m(y)i(string.)40
+b(When)150 3524 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as)
i(part)f(of)g(a)g(w)m(ord)g(whose)g(expansion)g(is)h(non-n)m(ull,)h
-(the)e(n)m(ull)150 3786 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69
+(the)e(n)m(ull)150 3634 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69
b(That)39 b(is,)j(the)e(w)m(ord)f Ft(-d'')f Fu(b)s(ecomes)i
Ft(-d)e Fu(after)i(w)m(ord)f(splitting)h(and)f(n)m(ull)150
-3895 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 4022 y(Note)31
+3743 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 3877 y(Note)31
b(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h(splitting)g(is)f(p)s
-(erformed.)150 4207 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150
-4354 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i
+(erformed.)150 4073 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150
+4220 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 4463 y(page)d(69\),)i(Bash)d(scans)h(eac)m
+([The)e(Set)h(Builtin],)150 4330 y(page)d(71\),)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 4573 y(app)s(ears,)34
-b(and)f(is)g(not)h(quoted,)h(then)e(the)h(w)m(ord)f(is)h(regarded)f(as)
-h(a)g Fr(pattern)p Fu(,)h(and)e(replaced)h(with)f(an)150
-4682 y(alphab)s(etically)41 b(sorted)e(list)h(of)g(\014lenames)f(matc)m
-(hing)i(the)e(pattern)g(\(see)i(Section)f(3.5.8.1)i([P)m(attern)150
-4792 y(Matc)m(hing],)e(page)e(37\).)60 b(If)36 b(no)h(matc)m(hing)g
-(\014lenames)g(are)g(found,)g(and)f(the)g(shell)h(option)g
-Ft(nullglob)150 4902 y Fu(is)k(disabled,)i(the)f(w)m(ord)e(is)h(left)h
-(unc)m(hanged.)72 b(If)40 b(the)h Ft(nullglob)e Fu(option)i(is)g(set,)k
-(and)40 b(no)h(matc)m(hes)150 5011 y(are)c(found,)g(the)g(w)m(ord)f(is)
-g(remo)m(v)m(ed.)60 b(If)36 b(the)h Ft(failglob)d Fu(shell)j(option)g
-(is)g(set,)i(and)c(no)i(matc)m(hes)h(are)150 5121 y(found,)e(an)g
-(error)f(message)i(is)f(prin)m(ted)f(and)h(the)g(command)f(is)h(not)g
-(executed.)58 b(If)35 b(the)h(shell)g(option)150 5230
-y Ft(nocaseglob)e Fu(is)j(enabled,)i(the)e(matc)m(h)h(is)f(p)s
-(erformed)e(without)i(regard)g(to)h(the)f(case)h(of)f(alphab)s(etic)150
-5340 y(c)m(haracters.)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
+b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 4440 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 4549
+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],)150
+4659 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
+4768 y(page)31 b(85\).)275 4902 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 5011 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
+5121 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 5230 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 5340 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.)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)275 299
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 408 y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m
Ft(..)p Fu(')g(nev)m(er)g(matc)m(h,)j(ev)m(en)e(if)f(the)g(pattern)g(b)
s(egins)g(with)g(a)g(`)p Ft(.)p Fu('.)39 b(When)22 b(not)i(matc)m(hing)
150 847 y(\014lenames,)31 b(the)f(`)p Ft(.)p Fu(')h(c)m(haracter)h(is)e
-(not)h(treated)g(sp)s(ecially)-8 b(.)275 976 y(When)30
+(not)h(treated)g(sp)s(ecially)-8 b(.)275 985 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
-1085 y(slash)d(in)f(the)h(pattern,)h(but)e(in)h(other)g(matc)m(hing)h
+1095 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 1195 y(c)m(haracter)j(as)f(describ)s(ed)e(b)s(elo)m(w)h
+(pattern)150 1204 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
-(37\).)275 1324 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(74,)g(for)f
-(a)g(descrip-)150 1433 y(tion)j(of)f(the)h Ft(nocaseglob)p
+(38\).)275 1343 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(76,)g(for)f
+(a)g(descrip-)150 1452 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
-1562 y(The)36 b Ft(GLOBIGNORE)d Fu(shell)k(v)-5 b(ariable)37
+1591 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 1672 y(a)42 b(pattern.)74 b(If)41
+(names)h(matc)m(hing)150 1700 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 1782
+f(that)h(also)h(matc)m(hes)f(one)g(of)g(the)150 1810
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 1891 y(set,)c(the)e(matc)m(hing)i(against)g(the)f
+Fu(option)k(is)150 1920 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 2001 y(The)d(\014lenames)h Ft(.)g
+(regard)f(to)i(case.)150 2029 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 2110 y(setting)30 b Ft(GLOBIGNORE)d
+b(Ho)m(w)m(ev)m(er,)150 2139 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
-2220 y(so)j(all)h(other)f(\014lenames)g(b)s(eginning)f(with)h(a)g(`)p
+2248 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 2330 y(\014lenames)c(b)s(eginning)f
+(eha)m(vior)g(of)h(ignoring)150 2358 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 2439 y Fu(option)i(is)f(disabled)g
-(when)g Ft(GLOBIGNORE)d Fu(is)k(unset.)275 2568 y(After)26
-b(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
-2678 y Fu(v)-5 b(ariable)46 b(con)m(trols)g(ho)m(w)f(the)g(results)f
-(are)h(sorted,)k(as)c(describ)s(ed)f(b)s(elo)m(w)h(\(see)h(Section)g
-(5.2)g([Bash)150 2787 y(V)-8 b(ariables],)32 b(page)f(81\).)150
-2975 y Fk(3.5.8.1)63 b(P)m(attern)40 b(Matc)m(hing)150
-3122 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 3232 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
-3342 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 3451 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 3580 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
-3728 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 3838 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
-3948 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
-4057 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
+Fu(.)37 b(The)29 b Ft(dotglob)150 2468 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
+2577 y(the)31 b(setting)g(of)g(the)f Ft(extglob)f Fu(shell)h(option.)
+275 2716 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 2825 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 2935 y(V)-8 b(ariables],)32
+b(page)f(85\).)150 3138 y Fk(3.5.8.1)63 b(P)m(attern)40
+b(Matc)m(hing)150 3285 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 3395 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 3504 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 3614 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 3752 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 3917 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
+4027 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 4137 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
+4246 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 4167 y(and)k(sub)s(directories.)150
-4315 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
-150 4463 y Ft([...)o(])241 b Fu(Matc)m(hes)27 b(an)m(y)e(one)g(of)g
+(matc)m(h)h(only)f(directories)630 4356 y(and)k(sub)s(directories.)150
+4519 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
+150 4682 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 4573 y(h)m(yphen)k(denotes)i(a)g
+i(separated)e(b)m(y)g(a)630 4792 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 4682 y(c)m(haracters,)d
+(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 4902 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 4792 y(set,)31 b(is)f(matc)m(hed.)42
-b(If)30 b(the)g(\014rst)g(c)m(haracter)i(follo)m(wing)g(the)e(`)p
-Ft([)p Fu(')h(is)f(a)h(`)p Ft(!)p Fu(')f(or)g(a)h(`)p
-Ft(^)p Fu(')g(then)f(an)m(y)630 4902 y(c)m(haracter)c(not)f(enclosed)g
-(is)g(matc)m(hed.)40 b(A)25 b(`)p Fq(\000)p Fu(')f(ma)m(y)i(b)s(e)e
-(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 5011
-y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
-b(A)33 b(`)p Ft(])p Fu(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f
-(including)g(it)g(as)h(the)630 5121 y(\014rst)c(c)m(haracter)j(in)d
-(the)h(set.)43 b(The)31 b(sorting)g(order)g(of)g(c)m(haracters)h(in)f
-(range)g(expressions,)630 5230 y(and)f(the)h(c)m(haracters)h(included)e
-(in)h(the)f(range,)i(are)f(determined)f(b)m(y)h(the)g(curren)m(t)f(lo)s
-(cale)630 5340 y(and)g(the)g(v)-5 b(alues)31 b(of)g(the)f
-Ft(LC_COLLATE)e Fu(and)h Ft(LC_ALL)g Fu(shell)i(v)-5
-b(ariables,)31 b(if)f(set.)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)630 299
-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 408 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 518 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 628 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
-737 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
-847 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 956 y Ft(globasciiranges)c
-Fu(shell)31 b(option.)630 1093 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 1203 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 1339
-y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g(lower)
-870 1449 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630
-1585 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 1695 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h
+(sequence)e(and)f(c)m(haracter)630 5011 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 5121 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
+5230 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 5340 y(the)e(set.)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)630 299
+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
+408 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 518 y(COLLATE)28 b Fu(and)i Ft(LC_ALL)f Fu(shell)h(v)-5
+b(ariables,)32 b(if)e(set.)630 654 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 763 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
+873 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 982 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 1092 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 1201 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
+1311 y Ft(globasciiranges)c Fu(shell)31 b(option.)630
+1447 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 1556 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 1692 y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g
+(digit)g(graph)g(lower)870 1801 y(print)g(punct)g(space)f(upper)h(word)
+190 b(xdigit)630 1937 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 2046 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 1831 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p
+Ft(_)p Fu('.)630 2182 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 1941 y(whic)m(h)29
+Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 2291 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 2051
+m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 2401
y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
-Fr(c)p Fu(.)630 2187 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p
+Fr(c)p Fu(.)630 2536 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 2353 y(If)i(the)g Ft(extglob)f
+Fr(sym)m(b)s(ol)p Fu(.)275 2699 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
-2462 y(extended)i(pattern)f(matc)m(hing)i(op)s(erators.)40
+2808 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 2572 y(one)23 b(or)f(more)h(patterns)g
+Fu(is)d(a)g(list)g(of)150 2918 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
-2682 y(determines)h(the)h(set)g(of)g(\014lenames)f(that)h(are)g
+3028 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 2791 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 2957
-y Ft(?\()p Fj(pattern-list)p Ft(\))630 3066 y Fu(Matc)m(hes)g(zero)f
+b(patterns)f(ma)m(y)150 3137 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 3300
+y Ft(?\()p Fj(pattern-list)p Ft(\))630 3409 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
-3230 y Ft(*\()p Fj(pattern-list)p Ft(\))630 3340 y Fu(Matc)m(hes)h
+3571 y Ft(*\()p Fj(pattern-list)p Ft(\))630 3680 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 3503 y Ft(+\()p Fj(pattern-list)p Ft(\))630 3613
+150 3842 y Ft(+\()p Fj(pattern-list)p Ft(\))630 3951
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 3776 y Ft(@\()p Fj(pattern-list)p
-Ft(\))630 3886 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)
-150 4049 y Ft(!\()p Fj(pattern-list)p Ft(\))630 4159
+(en)i(patterns.)150 4113 y Ft(@\()p Fj(pattern-list)p
+Ft(\))630 4222 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)
+150 4384 y Ft(!\()p Fj(pattern-list)p Ft(\))630 4493
y Fu(Matc)m(hes)h(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)275 4325 y(The)h Ft(extglob)f Fu(option)j(c)m(hanges)g(the)f
+(patterns.)275 4656 y(The)h 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 4434 y(mally)44 b(treated)g(as)f(op)s(erators)g(with)g
+(are)f(nor-)150 4765 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 4544 y(patterns)30 b(are)g(parsed)f(correctly)-8
+(matc)m(hing)150 4875 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 4653 y(con)m(taining)i(the)e
+(efore)f(parsing)h(constructs)150 4984 y(con)m(taining)i(the)e
(patterns,)h(including)f(shell)h(functions)f(and)f(command)h
-(substitutions.)275 4792 y(When)c(matc)m(hing)i(\014lenames,)g(the)f
+(substitutions.)275 5121 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 4902 y(are)34 b(tested:)47 b(when)33
+(\014lenames)g(that)150 5230 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 5011
+(includes)g(all)h(\014les)g(b)s(eginning)e(with)150 5340
y(`)p Ft(.)p Fu(',)d(but)e(the)g(\014lenames)h(`)p Ft(.)p
Fu(')g(and)f(`)p Ft(..)p Fu(')g(m)m(ust)h(b)s(e)f(matc)m(hed)h(b)m(y)g
-(a)g(pattern)g(or)f(sub-pattern)g(that)h(b)s(egins)150
-5121 y(with)33 b(a)g(dot;)j(when)c(it)h(is)h(disabled,)f(the)h(set)g
-(do)s(es)e(not)i(include)f(an)m(y)g(\014lenames)g(b)s(eginning)g(with)g
-(\\.")150 5230 y(unless)24 b(the)g(pattern)h(or)f(sub-pattern)g(b)s
-(egins)g(with)g(a)g(`)p Ft(.)p Fu('.)39 b(As)25 b(ab)s(o)m(v)m(e,)i(`)p
-Ft(.)p Fu(')d(only)h(has)f(a)h(sp)s(ecial)g(meaning)150
-5340 y(when)k(matc)m(hing)j(\014lenames.)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)275 299
-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 408
-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 518 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 628 y(ma)m(y)31 b(b)s(e)f(faster.)150 828
-y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150 975 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
+(a)g(pattern)g(or)f(sub-pattern)g(that)h(b)s(egins)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)150 299
+y(with)33 b(a)g(dot;)j(when)c(it)h(is)h(disabled,)f(the)h(set)g(do)s
+(es)e(not)i(include)f(an)m(y)g(\014lenames)g(b)s(eginning)g(with)g
+(\\.")150 408 y(unless)k(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 518 y(enabled,)29 b(the)h(\014lenames)f(`)p
+Ft(.)p Fu(')g(and)f(`)p Ft(..)p Fu(')h(nev)m(er)g(app)s(ear)f(in)h(the)
+g(set.)41 b(As)29 b(ab)s(o)m(v)m(e,)h(`)p Ft(.)p Fu(')f(only)g(has)g(a)
+g(sp)s(ecial)150 628 y(meaning)i(when)e(matc)m(hing)i(\014lenames.)275
+764 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
+873 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 983 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 1092 y(ma)m(y)31 b(b)s(e)f(faster.)150
+1293 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150
+1440 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
-1085 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 1328 y Fs(3.6)68
-b(Redirections)150 1487 y Fu(Before)32 b(a)f(command)f(is)h(executed,)h
+1549 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 1792 y Fs(3.6)68
+b(Redirections)150 1952 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 1597 y(tation)d(in)m(terpreted)f(b)
+Fu(using)c(a)i(sp)s(ecial)f(no-)150 2061 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 1706
+(\014le)f(handles)g(to)i(b)s(e)e(duplicated,)150 2171
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 1816 y(from)39 b(and)g(writes)h(to.)69 b(Redirection)40
-b(ma)m(y)g(also)h(b)s(e)e(used)g(to)h(mo)s(dify)f(\014le)g(handles)g
-(in)g(the)h(curren)m(t)150 1925 y(shell)e(execution)h(en)m(vironmen)m
-(t.)65 b(The)37 b(follo)m(wing)j(redirection)f(op)s(erators)f(ma)m(y)g
-(precede)h(or)f(app)s(ear)150 2035 y(an)m(ywhere)30 b(within)f(a)h
-(simple)f(command)h(or)f(ma)m(y)i(follo)m(w)g(a)f(command.)40
-b(Redirections)30 b(are)g(pro)s(cessed)150 2145 y(in)g(the)h(order)f
-(they)g(app)s(ear,)g(from)g(left)h(to)g(righ)m(t.)275
-2280 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 2390 y(preceded)41 b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f
+(reads)150 2280 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 2390 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 2500
+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 2609 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 2745 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 2855
+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 2500 y(except)37
+(for)c(eac)m(h)i(redirection)f(op)s(erator)150 2964 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 2609 y(to)e Fi({)p Fr(v)-5 b(arname)5 b Fi(})p
-Fu(.)52 b(If)33 b Ft(>)p Fu(&-)g(or)h Ft(<)p Fu(&-)f(is)g(preceded)h(b)
-m(y)f Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(,)36 b(the)e(v)-5
-b(alue)34 b(of)f Fr(v)-5 b(arname)39 b Fu(de\014nes)33
-b(the)150 2719 y(\014le)e(descriptor)g(to)h(close.)43
-b(If)31 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})32 b Fu(is)f(supplied,)f
-(the)h(redirection)g(p)s(ersists)f(b)s(ey)m(ond)h(the)g(scop)s(e)150
-2828 y(of)42 b(the)f(command,)j(allo)m(wing)f(the)f(shell)g(programmer)
-f(to)h(manage)g(the)g(\014le)f(descriptor's)h(lifetime)150
-2938 y(man)m(ually)-8 b(.)41 b(The)29 b Ft(varredir_close)c
-Fu(shell)k(option)g(manages)h(this)f(b)s(eha)m(vior)g(\(see)h(Section)f
-(4.3.2)i([The)150 3048 y(Shopt)f(Builtin],)h(page)g(74\).)275
-3183 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 3293 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 3403 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 3512 y(to)e(the)g(standard)e(output)h(\(\014le)h
-(descriptor)f(1\).)275 3648 y(The)h(w)m(ord)h(follo)m(wing)i(the)f
-(redirection)g(op)s(erator)f(in)g(the)h(follo)m(wing)h(descriptions,)f
-(unless)e(other-)150 3758 y(wise)21 b(noted,)i(is)e(sub)5
-b(jected)21 b(to)h(brace)f(expansion,)i(tilde)f(expansion,)h(parameter)
-e(expansion,)i(command)150 3867 y(substitution,)31 b(arithmetic)h
-(expansion,)f(quote)h(remo)m(v)-5 b(al,)33 b(\014lename)e(expansion,)g
-(and)f(w)m(ord)h(splitting.)150 3977 y(If)f(it)h(expands)e(to)i(more)g
-(than)f(one)h(w)m(ord,)f(Bash)h(rep)s(orts)e(an)h(error.)275
-4113 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g
-(signi\014can)m(t.)41 b(F)-8 b(or)31 b(example,)h(the)e(command)390
-4249 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 4384 y
-Fu(directs)28 b(b)s(oth)f(standard)g(output)g(\(\014le)h(descriptor)f
+(it)150 3074 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 3183 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 3293 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
+3403 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 3512 y(b)s(eha)m(vior)c(\(see)i(Section)f(4.3.2)h
+([The)e(Shopt)g(Builtin],)h(page)g(76\).)275 3648 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
+3758 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 3867 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
+3977 y(to)e(the)g(standard)e(output)h(\(\014le)h(descriptor)f(1\).)275
+4113 y(The)k Ft(\\)p Fu(fIw)m(ord)p Ft(\\)p Fu(fP)f(follo)m(wing)j(the)
+f(redirection)g(op)s(erator)g(in)g(the)g(follo)m(wing)h(descriptions,)g
+(unless)150 4222 y(otherwise)e(noted,)h(is)f(sub)5 b(jected)34
+b(to)g(brace)g(expansion,)h(tilde)g(expansion,)g(parameter)f(and)f(v)-5
+b(ariable)150 4332 y(expansion,)23 b(command)d(substitution,)j
+(arithmetic)f(expansion,)g(quote)g(remo)m(v)-5 b(al,)24
+b(\014lename)d(expansion,)150 4441 y(and)30 b(w)m(ord)g(splitting.)41
+b(If)30 b(it)h(expands)f(to)h(more)f(than)g(one)h(w)m(ord,)f(Bash)h
+(rep)s(orts)e(an)i(error.)275 4577 y(The)e(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 4713 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 4849
+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 4494 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390
-4630 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)150 4766 y Fu(directs)28
+150 4959 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390
+5095 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)150 5230 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 4875 y(of)j(the)f(standard)g(output)g(b)s(efore)g(the)g
+(y)150 5340 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 5011 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 5121 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 5230 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
-5340 y(describ)s(ed)k(b)s(elo)m(w.)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)150 299
-y Ft(/dev/fd/)p Fj(fd)630 408 y Fu(If)30 b Fr(fd)j Fu(is)d(a)h(v)-5
-b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h Fr(fd)i
-Fu(is)d(duplicated.)150 559 y Ft(/dev/stdin)630 669 y
-Fu(File)i(descriptor)e(0)h(is)f(duplicated.)150 820 y
-Ft(/dev/stdout)630 929 y Fu(File)i(descriptor)e(1)h(is)f(duplicated.)
-150 1080 y Ft(/dev/stderr)630 1190 y Fu(File)i(descriptor)e(2)h(is)f
-(duplicated.)150 1340 y Ft(/dev/tcp/)p Fj(host)p Ft(/)p
-Fj(port)630 1450 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5
+Fu(.)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(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
+408 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 518 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 628 y(describ)s(ed)k(b)s
+(elo)m(w.)150 819 y Ft(/dev/fd/)p Fj(fd)630 929 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 1110 y Ft(/dev/stdin)630
+1219 y Fu(File)h(descriptor)e(0)h(is)f(duplicated.)150
+1400 y Ft(/dev/stdout)630 1510 y Fu(File)i(descriptor)e(1)h(is)f
+(duplicated.)150 1691 y Ft(/dev/stderr)630 1800 y Fu(File)i(descriptor)
+e(2)h(is)f(duplicated.)150 1981 y Ft(/dev/tcp/)p Fj(host)p
+Ft(/)p Fj(port)630 2091 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 1560
+Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 2200
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
-1710 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630 1820
+2381 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630 2491
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 1929 y(n)m(um)m(b)s(er)23 b(or)h(service)h(name,)h(Bash)e
+(ort)630 2600 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 2080 y(A)30 b(failure)h(to)g(op)s(en)e(or)i(create)h(a)e
+(et.)275 2792 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
-2210 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f
+2948 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
-2320 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
-(in)m(ternally)-8 b(.)150 2511 y Fk(3.6.1)63 b(Redirecting)40
-b(Input)150 2658 y Fu(Redirection)35 b(of)f(input)f(causes)i(the)f
-(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g
-Fr(w)m(ord)k Fu(to)d(b)s(e)150 2767 y(op)s(ened)d(for)g(reading)g(on)g
-(\014le)h(descriptor)f Ft(n)p Fu(,)h(or)f(the)g(standard)g(input)f
-(\(\014le)i(descriptor)f(0\))h(if)f Ft(n)g Fu(is)h(not)150
-2877 y(sp)s(eci\014ed.)275 3007 y(The)c(general)j(format)e(for)h
-(redirecting)g(input)e(is:)390 3137 y Ft([)p Fj(n)p Ft(]<)p
-Fj(word)150 3328 y Fk(3.6.2)63 b(Redirecting)40 b(Output)150
-3475 y Fu(Redirection)31 b(of)g(output)f(causes)h(the)f(\014le)h(whose)
-f(name)g(results)h(from)e(the)i(expansion)f(of)h Fr(w)m(ord)i
-Fu(to)f(b)s(e)150 3584 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h
-(descriptor)f Fr(n)p Fu(,)g(or)g(the)h(standard)e(output)h(\(\014le)h
-(descriptor)f(1\))h(if)g Fr(n)e Fu(is)i(not)150 3694
-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;)i(if)e(it)h(do)s(es)f(exist)h(it)g(is)g(truncated)f
-(to)h(zero)g(size.)275 3824 y(The)e(general)j(format)e(for)h
-(redirecting)g(output)f(is:)390 3954 y Ft([)p Fj(n)p
-Ft(]>[|])p Fj(word)275 4084 y Fu(If)g(the)h(redirection)g(op)s(erator)g
+3058 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
+(in)m(ternally)-8 b(.)150 3278 y Fk(3.6.1)63 b(Redirecting)40
+b(Input)150 3425 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 3535 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
+3691 y(The)e(general)j(format)e(for)h(redirecting)g(input)e(is:)390
+3847 y Ft([)p Fj(n)p Ft(]<)p Fj(word)150 4068 y Fk(3.6.2)63
+b(Redirecting)40 b(Output)150 4215 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
+4324 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 4434 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 4590 y(The)e(general)j(format)e(for)h
+(redirecting)g(output)f(is:)390 4746 y Ft([)p Fj(n)p
+Ft(]>[|])p Fj(word)275 4902 y Fu(If)g(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 4194 y(enabled,)h(the)g
+(the)g Ft(set)f Fu(builtin)g(has)h(b)s(een)150 5011 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
-4304 y Fu(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+5121 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
-4413 y(`)p Ft(>)p Fu(')36 b(and)f(the)g Ft(noclobber)e
-Fu(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g
-(ev)m(en)h(if)e(the)h(\014le)150 4523 y(named)30 b(b)m(y)g
-Fr(w)m(ord)k Fu(exists.)150 4713 y Fk(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)150 4860 y Fu(Redirection)23 b(of)e(output)h(in)f
-(this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f
-(from)g(the)h(expansion)g(of)150 4970 y Fr(w)m(ord)28
-b Fu(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g
-(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard)f(output)h(\(\014le)g
-(descriptor)150 5080 y(1\))31 b(if)f Fr(n)g Fu(is)h(not)f(sp)s
-(eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s(es)g(not)h(exist)g(it)g
-(is)f(created.)275 5210 y(The)f(general)j(format)e(for)h(app)s(ending)e
-(output)h(is:)390 5340 y Ft([)p Fj(n)p Ft(]>>)p Fj(word)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)150 299
-y Fk(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g
-(Error)150 446 y Fu(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g
-(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g
-(standard)f(error)150 555 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g
-(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)f(the)g
-(expansion)h(of)f Fr(w)m(ord)p Fu(.)275 698 y(There)f(are)i(t)m(w)m(o)h
-(formats)e(for)h(redirecting)g(standard)e(output)h(and)g(standard)f
-(error:)390 841 y Ft(&>)p Fj(word)150 984 y Fu(and)390
-1127 y Ft(>&)p Fj(word)150 1270 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 1414 y Ft(>)p Fj(word)46
-b Ft(2>&1)275 1557 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 1666
-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
-1776 y(reasons.)150 1983 y Fk(3.6.5)63 b(App)s(ending)42
-b(Standard)f(Output)g(and)g(Standard)g(Error)150 2130
-y Fu(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g
-(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g(standard)f(error)
-150 2240 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f(app)s
-(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f(expansion)h(of)f
-Fr(w)m(ord)p Fu(.)275 2383 y(The)f(format)i(for)f(app)s(ending)f
-(standard)h(output)g(and)f(standard)h(error)g(is:)390
-2526 y Ft(&>>)p Fj(word)150 2669 y Fu(This)g(is)g(seman)m(tically)j
-(equiv)-5 b(alen)m(t)32 b(to)390 2812 y Ft(>>)p Fj(word)46
-b Ft(2>&1)275 2955 y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g
-(b)s(elo)m(w\).)150 3163 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150
-3310 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 3419 y(reads)31 b(a)g(line)g(con)m(taining)h(only)f
-Fr(delimiter)38 b Fu(\(with)31 b(no)g(trailing)h(blanks\).)41
-b(All)32 b(of)f(the)g(lines)g(read)f(up)g(to)150 3529
-y(that)35 b(p)s(oin)m(t)f(are)g(then)g(used)g(as)g(the)g(standard)g
-(input)f(\(or)h(\014le)g(descriptor)g Fr(n)g Fu(if)g
-Fr(n)g Fu(is)g(sp)s(eci\014ed\))g(for)g(a)150 3639 y(command.)275
-3782 y(The)29 b(format)i(of)g(here-do)s(cumen)m(ts)f(is:)390
-3925 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p Ft(])p Fj(word)772
-4034 y(here-document)390 4144 y(delimiter)275 4287 y
-Fu(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h(command)f
-(substitution,)h(arithmetic)g(expansion,)g(or)150 4396
-y(\014lename)e(expansion)f(is)g(p)s(erformed)f(on)h Fr(w)m(ord)p
-Fu(.)275 4539 y(If)40 b(an)m(y)i(part)g(of)f Fr(w)m(ord)k
-Fu(is)c(quoted,)k(the)c Fr(delimiter)49 b Fu(is)41 b(the)h(result)f(of)
-h(quote)g(remo)m(v)-5 b(al)43 b(on)e Fr(w)m(ord)p Fu(,)150
-4649 y(and)d(the)h(lines)g(in)f(the)h(here-do)s(cumen)m(t)g(are)g(not)g
-(expanded.)65 b(If)38 b Fr(w)m(ord)k Fu(is)d(unquoted,)h
-Fr(delimiter)46 b Fu(is)150 4759 y Fr(w)m(ord)32 b Fu(itself,)e(all)f
-(lines)g(of)g(the)g(here-do)s(cumen)m(t)f(are)h(sub)5
-b(jected)29 b(to)g(parameter)g(expansion,)g(command)150
-4868 y(substitution,)39 b(and)e(arithmetic)i(expansion,)g(the)f(c)m
-(haracter)h(sequence)e Ft(\\newline)f Fu(is)h(ignored,)j(and)150
-4978 y(`)p Ft(\\)p Fu(')31 b(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)
-g(c)m(haracters)h(`)p Ft(\\)p Fu(',)e(`)p Ft($)p Fu(',)h(and)f(`)p
-Ft(`)p Fu('.)275 5121 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
-(`)p Ft(<<-)p Fu(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)
-e(stripp)s(ed)f(from)h(input)150 5230 y(lines)33 b(and)f(the)h(line)h
-(con)m(taining)g Fr(delimiter)p Fu(.)49 b(This)32 b(allo)m(ws)i
-(here-do)s(cumen)m(ts)f(within)f(shell)i(scripts)e(to)150
-5340 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)p
-eop end
+5230 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 5340 y(named)d(b)m(y)g Fr(w)m(ord)k
+Fu(exists.)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)150 299
-y Fk(3.6.7)63 b(Here)41 b(Strings)150 446 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
-600 y Ft([)p Fj(n)p Ft(]<<<)46 b Fj(word)275 753 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
-863 y(stitution,)f(arithmetic)f(expansion,)g(and)f(quote)h(remo)m(v)-5
+y Fk(3.6.3)63 b(App)s(ending)42 b(Redirected)e(Output)150
+446 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 555 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 665 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 800 y(The)f(general)j(format)e(for)h(app)s(ending)e(output)h(is:)
+390 935 y Ft([)p Fj(n)p Ft(]>>)p Fj(word)150 1135 y Fk(3.6.4)63
+b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g(Error)150
+1282 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 1391 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 1526 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 1661
+y Ft(&>)p Fj(word)150 1796 y Fu(and)390 1931 y Ft(>&)p
+Fj(word)150 2066 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 2201 y Ft(>)p Fj(word)46 b Ft(2>&1)275
+2336 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 2446 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
+2555 y(reasons.)150 2755 y Fk(3.6.5)63 b(App)s(ending)42
+b(Standard)f(Output)g(and)g(Standard)g(Error)150 2902
+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 3011 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 3146 y(The)e(format)i(for)f(app)s(ending)f(standard)h(output)g
+(and)f(standard)h(error)g(is:)390 3281 y Ft(&>>)p Fj(word)150
+3416 y Fu(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
+b(to)390 3551 y Ft(>>)p Fj(word)46 b Ft(2>&1)275 3686
+y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)150
+3886 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 4033
+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 4143 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 4252 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 4362 y(command.)275 4497 y(The)29 b(format)i(of)g(here-do)s(cumen)m
+(ts)f(is:)390 4632 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p
+Ft(])p Fj(word)772 4741 y(here-document)390 4851 y(delimiter)275
+4986 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
+5095 y(arithmetic)c(expansion,)e(or)g(\014lename)h(expansion)f(on)h
+Fr(w)m(ord)p Fu(.)275 5230 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 5340 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)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)150 299
+y(itself,)37 b(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 408 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 518 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 628 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
+737 y(sp)s(ecial)e(meaning.)275 876 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 985 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 1095 y(scripts)i(to)h(b)s(e)f(inden)m(ted)g(in)g(a)
+h(natural)f(fashion.)275 1233 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 1343 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 1452 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
+1562 y(end)e(delimiter.)150 1765 y Fk(3.6.7)63 b(Here)41
+b(Strings)150 1912 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 2050 y Ft([)p Fj(n)p
+Ft(]<<<)46 b Fj(word)275 2189 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 2298 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
-973 y(are)35 b(not)g(p)s(erformed.)51 b(The)34 b(result)h(is)g
+2408 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 1082 y(the)d(command)f(on)g(its)h(standard)e(input)h
+(ended,)g(to)150 2518 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 1301 y Fk(3.6.8)63 b(Duplicating)41
-b(File)g(Descriptors)150 1448 y Fu(The)30 b(redirection)h(op)s(erator)
-390 1602 y Ft([)p Fj(n)p Ft(]<&)p Fj(word)150 1755 y
-Fu(is)k(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53
-b(If)34 b Fr(w)m(ord)k Fu(expands)c(to)h(one)g(or)g(more)g(digits,)h
-(the)f(\014le)150 1865 y(descriptor)e(denoted)h(b)m(y)f
-Fr(n)g Fu(is)g(made)h(to)g(b)s(e)f(a)g(cop)m(y)h(of)g(that)g(\014le)f
-(descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fr(w)m(ord)150
-1975 y Fu(do)c(not)h(sp)s(ecify)f(a)h(\014le)f(descriptor)g(op)s(en)g
-(for)g(input,)g(a)h(redirection)g(error)f(o)s(ccurs.)40
-b(If)29 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)150 2084 y(to)31
-b(`)p Ft(-)p Fu(',)g(\014le)g(descriptor)g Fr(n)f Fu(is)g(closed.)43
-b(If)30 b Fr(n)g Fu(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f
-(input)g(\(\014le)h(descriptor)f(0\))150 2194 y(is)g(used.)275
-2348 y(The)f(op)s(erator)390 2502 y Ft([)p Fj(n)p Ft(]>&)p
-Fj(word)150 2655 y Fu(is)40 b(used)g(similarly)h(to)g(duplicate)f
-(output)g(\014le)h(descriptors.)70 b(If)40 b Fr(n)f Fu(is)i(not)f(sp)s
-(eci\014ed,)i(the)f(standard)150 2765 y(output)30 b(\(\014le)g
-(descriptor)g(1\))h(is)f(used.)39 b(If)30 b(the)g(digits)h(in)e
-Fr(w)m(ord)34 b Fu(do)29 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g
-(op)s(en)150 2875 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s
-(ccurs.)55 b(If)35 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)37
-b(to)f(`)p Ft(-)p Fu(',)h(\014le)e(descriptor)g Fr(n)g
-Fu(is)g(closed.)150 2984 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e
+(eci\014ed\).)150 2721 y Fk(3.6.8)63 b(Duplicating)41
+b(File)g(Descriptors)150 2868 y Fu(The)30 b(redirection)h(op)s(erator)
+390 3006 y Ft([)p Fj(n)p Ft(]<&)p Fj(word)150 3144 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 3254 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 3364 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
+3473 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 3612 y(The)f(op)s(erator)390
+3750 y Ft([)p Fj(n)p Ft(]>&)p Fj(word)150 3888 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
+3998 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 4108 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 4217 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
-3094 y(the)d(standard)e(output)h(and)g(standard)f(error)h(are)h
-(redirected)g(as)g(describ)s(ed)e(previously)-8 b(.)150
-3312 y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
-3459 y Fu(The)30 b(redirection)h(op)s(erator)390 3613
-y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150 3767 y Fu(mo)m(v)m(es)i
+4327 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 4530
+y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
+4677 y Fu(The)30 b(redirection)h(op)s(erator)390 4815
+y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150 4954 y Fu(mo)m(v)m(es)i
(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 3876 y(if)f Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40
+(0\))150 5063 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 4030 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
-(erator)390 4184 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p
-Ft(-)150 4338 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
-4448 y(if)i Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150
-4666 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 4813 y Fu(The)30
-b(redirection)h(op)s(erator)390 4967 y Ft([)p Fj(n)p
-Ft(]<>)p Fj(word)150 5121 y Fu(causes)39 b(the)g(\014le)g(whose)g(name)
-g(is)g(the)g(expansion)g(of)g Fr(w)m(ord)j Fu(to)d(b)s(e)g(op)s(ened)f
-(for)g(b)s(oth)h(reading)g(and)150 5230 y(writing)33
-b(on)f(\014le)h(descriptor)f Fr(n)p Fu(,)h(or)g(on)f(\014le)h
-(descriptor)g(0)g(if)f Fr(n)g Fu(is)h(not)g(sp)s(eci\014ed.)47
-b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 5340 y(exist,)e(it)g(is)g
-(created.)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)150 299
-y Fs(3.7)68 b(Executing)46 b(Commands)150 523 y Fk(3.7.1)63
-b(Simple)41 b(Command)h(Expansion)150 670 y Fu(When)33
-b(a)g(simple)g(command)g(is)g(executed,)h(the)g(shell)f(p)s(erforms)e
-(the)i(follo)m(wing)i(expansions,)e(assign-)150 779 y(men)m(ts,)e(and)f
-(redirections,)h(from)f(left)h(to)g(righ)m(t,)g(in)f(the)h(follo)m
-(wing)h(order.)199 913 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 1023 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
-1157 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 1267 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 1376 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 1486 y(men)m(ts.)199 1620 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(39\).)199
-1754 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 1864 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 1973 y(b)s(eing)30
-b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 2132 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 2242 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 2351 y(and)27 b(redirections\),)i(assignmen)m(t)g
+Fr(n)p Fu(.)275 5202 y(Similarly)-8 b(,)31 b(the)f(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)29 b(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 408 y(if)i
+Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150 603 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 750 y Fu(The)30 b(redirection)h(op)s(erator)390
+882 y Ft([)p Fj(n)p Ft(]<>)p Fj(word)150 1014 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 1123 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
+1233 y(created.)150 1469 y Fs(3.7)68 b(Executing)46 b(Commands)150
+1691 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150
+1838 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
+1947 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 2079 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
+2189 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 2321 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
+2430 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 2540 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 2650 y(men)m(ts.)199 2782 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 2914
+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 3023 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 3133 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5
+b(ariable.)275 3287 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 3397 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 3507 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 2461 y(v)-5 b(ariables)27 b(are)g(added)e(to)
+b(Otherwise,)28 b(the)150 3616 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 2570 y(ren)m(t)32 b(shell)f(en)m
+(not)h(a\013ect)h(the)e(cur-)150 3726 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
-2680 y(v)-5 b(ariable,)31 b(an)g(error)f(o)s(ccurs,)g(and)g(the)g
+3835 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
-2814 y(If)i(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s
+3967 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
-2924 y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f
+4077 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
-3058 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g
+4209 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 3167 y(Otherwise,)39 b(the)e(command)g(exits.)62
+(w.)150 4319 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 3277 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command)
+(substitu-)150 4428 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 3387 y(p)s(erformed.)55 b(If)35 b(there)g(w)m(ere)h(no)g(command)f
-(substitutions,)i(the)e(command)h(exits)g(with)f(a)h(status)g(of)150
-3496 y(zero.)150 3695 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h
-(Execution)150 3842 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 3951 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
-4085 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 4195 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 4305 y(F)-8 b(unctions],)31
-b(page)h(19.)199 4439 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 4548 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 4682 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 4792 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 4902 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 5011
-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 5121 y(Builtins],)37 b(page)f(49\).)55 b(A)35 b(full)g(searc)m(h)g
-(of)g(the)g(directories)h(in)f Ft($PATH)e Fu(is)i(p)s(erformed)f(only)h
-(if)g(the)330 5230 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 5340 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,)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)330 299
-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
-408 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
-518 y(the)j(exit)g(status)g(of)f(that)h(subshell.)39
+150 4538 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.)150
+4732 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150
+4879 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
+4989 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 5121 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 5230 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 5340 y(F)-8 b(unctions],)31 b(page)h(19.)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)199 299
+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 408 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 538 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
+648 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 757 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 867 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 976 y(Builtins],)h(page)f(50\).)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
+1086 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 1196 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 1305 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 1415 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 1524 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 628 y(message)k(and)f(returns)f(an)i(exit)g
-(status)g(of)f(127.)199 759 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g
+m(ts)f(an)g(error)330 1634 y(message)k(and)f(returns)f(an)i(exit)g
+(status)g(of)f(127.)199 1764 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 868 y(shell)g(executes)h(the)f(named)f
+f(more)g(slashes,)i(the)330 1873 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 978 y(is)30 b(set)h(to)h(the)e(name)h(giv)m
+b(Argumen)m(t)35 b(0)330 1983 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 1087 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 1218 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
-(the)f(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h
-(\014le)g(is)g(not)330 1328 y(a)d(directory)-8 b(,)34
-b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fr(shell)g(script)h
-Fu(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330
-1438 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(47.)199
-1569 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 1678 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-1870 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
-2017 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t)
+h(set)g(to)g(the)330 2092 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
+b(.)199 2222 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 2332 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
+2441 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(48.)199 2571 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
+2681 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
+2870 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
+3017 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
-2148 y Fq(\017)60 b Fu(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
-(shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g
-(redirections)h(supplied)e(to)330 2258 y(the)g Ft(exec)e
-Fu(builtin)225 2389 y Fq(\017)60 b Fu(the)28 b(curren)m(t)g(w)m(orking)
-h(directory)g(as)f(set)h(b)m(y)f Ft(cd)p Fu(,)g Ft(pushd)p
-Fu(,)g(or)g Ft(popd)p Fu(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
-330 2498 y(in)m(v)m(o)s(cation)225 2629 y Fq(\017)60
-b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
-Ft(umask)f Fu(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225
-2760 y Fq(\017)60 b Fu(curren)m(t)30 b(traps)g(set)h(b)m(y)f
-Ft(trap)225 2891 y Fq(\017)60 b Fu(shell)30 b(parameters)f(that)h(are)g
-(set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f
-Ft(set)f Fu(or)i(inherited)f(from)g(the)330 3001 y(shell's)i(paren)m(t)
-f(in)g(the)h(en)m(vironmen)m(t)225 3132 y Fq(\017)60
-b Fu(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e
-(inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h(the)330
-3242 y(en)m(vironmen)m(t)225 3373 y Fq(\017)60 b Fu(options)33
-b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m(y)f(default)g(or)
-g(with)g(command-line)g(argumen)m(ts\))h(or)330 3482
-y(b)m(y)c Ft(set)225 3613 y Fq(\017)60 b Fu(options)31
-b(enabled)f(b)m(y)g Ft(shopt)f Fu(\(see)j(Section)f(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(74\))225 3744 y Fq(\017)60
-b Fu(shell)31 b(aliases)g(de\014ned)f(with)g Ft(alias)f
-Fu(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(103\))225
-3875 y Fq(\017)60 b Fu(v)-5 b(arious)50 b(pro)s(cess)f
-Fm(id)p Fu(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f
-(\(see)i(Section)g(3.2.4)g([Lists],)330 3985 y(page)31
-b(10\),)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)275 4137 y Fu(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 4247 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 4356 y(noted,)31
-b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-4487 y Fq(\017)60 b Fu(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
-(an)m(y)h(mo)s(di\014cations)h(and)e(additions)h(sp)s(eci\014ed)g(b)m
-(y)g(redirections)g(to)330 4597 y(the)g(command)225 4728
-y Fq(\017)60 b Fu(the)31 b(curren)m(t)f(w)m(orking)g(directory)225
-4859 y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
-4990 y Fq(\017)60 b Fu(shell)32 b(v)-5 b(ariables)33
-b(and)e(functions)h(mark)m(ed)g(for)g(exp)s(ort,)g(along)h(with)f(v)-5
-b(ariables)32 b(exp)s(orted)g(for)g(the)330 5099 y(command,)e(passed)g
+3147 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 3256 y(the)i Ft(exec)e
+Fu(builtin.)225 3386 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 3496 y(at)d(in)m(v)m(o)s(cation.)225 3625
+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 3755 y Fq(\017)60 b Fu(Curren)m(t)29
+b(traps)h(set)h(b)m(y)g Ft(trap)p Fu(.)225 3884 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 3994 y(shell's)j(paren)m(t)f(in)g(the)h(en)m(vironmen)m
+(t.)225 4124 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 4233 y(en)m(vironmen)m(t.)225 4363
+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 4473 y(b)m(y)f Ft(set)p Fu(.)225 4602
+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(76\).)
+225 4732 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(107\).)225
+4861 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 4971 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 5121 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 5230 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
+5340 y(noted,)31 b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g
+(the)g(shell.)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(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 408 y(the)i(command.)225 544 y
+Fq(\017)60 b Fu(The)30 b(curren)m(t)g(w)m(orking)h(directory)-8
+b(.)225 679 y Fq(\017)60 b Fu(The)30 b(\014le)g(creation)i(mo)s(de)e
+(mask.)225 814 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 923 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(45\))225 5230 y Fq(\017)60 b
-Fu(traps)31 b(caugh)m(t)h(b)m(y)f(the)g(shell)h(are)f(reset)h(to)g(the)
-f(v)-5 b(alues)32 b(inherited)e(from)h(the)g(shell's)h(paren)m(t,)g
-(and)330 5340 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)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)275 299
-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
-408 y(en)m(vironmen)m(t.)275 542 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
-675 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 785 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
-894 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 1004 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49
-b(Builtin)32 b(commands)g(that)h(are)g(in)m(v)m(ok)m(ed)h(as)e(part)g
-(of)h(a)f(pip)s(eline)g(are)h(also)150 1113 y(executed)41
-b(in)f(a)h(subshell)e(en)m(vironmen)m(t.)72 b(Changes)40
-b(made)g(to)h(the)g(subshell)e(en)m(vironmen)m(t)i(cannot)150
-1223 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
-1356 y(When)e(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
-1466 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
+(vironmen)m(t],)e(page)g(46\).)225 1058 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 1168 y(traps)f(ignored)h(b)m(y)f(the)g(shell)h(are)g
+(ignored.)275 1329 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 1439 y(en)m(vironmen)m(t.)275 1574 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 1710 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 1820
+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 1929 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 2039 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 2148 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 2258 y(Section)37 b(4.3.2)i([The)d(Shopt)g(Builtin],)j(page)e
+(76\),)j(are)d(also)h(executed)f(in)f(a)h(subshell)f(en)m(vironmen)m
+(t.)150 2368 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 2503 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 2613 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
-1575 y(clears)41 b(the)f Ft(-e)f Fu(option)h(in)g(suc)m(h)f(subshells)g
+2723 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 1685 y(option)30 b(\(see)h(Section)g(4.2)g([Bash)f
-(Builtins],)h(page)g(57\))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 1795 y(in)h Fm(posix)g Fu(mo)s(de.)275
-1928 y(If)23 b(a)h(command)g(is)g(follo)m(w)m(ed)h(b)m(y)f(a)g(`)p
+Fu(shell)150 2832 y(option)30 b(\(see)h(Section)g(4.2)g([Bash)f
+(Builtins],)h(page)g(59\))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 2942 y(in)h Fm(posix)g Fu(mo)s(de.)275
+3077 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 2037 y(for)35 b(the)g(command)g(is)g
+(default)g(standard)f(input)150 3187 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 2147
+b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 3297
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 2344 y Fk(3.7.4)63
-b(En)m(vironmen)m(t)150 2491 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m
+(di\014ed)g(b)m(y)g(redirections.)150 3497 y Fk(3.7.4)63
+b(En)m(vironmen)m(t)150 3644 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
-2600 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 2733 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)
+3754 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 3889 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 2843
+b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 3999
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
-2953 y(marking)23 b(it)h(for)f Ft(export)f Fu(to)i(c)m(hild)g(pro)s
+4108 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 3062 y Ft(export)c Fu(and)i(`)p Ft(declare)29
-b(-x)p Fu(')36 b(commands)h(allo)m(w)i(parameters)e(and)g(functions)g
-(to)h(b)s(e)e(added)h(to)h(and)150 3172 y(deleted)21
-b(from)f(the)h(en)m(vironmen)m(t.)38 b(If)20 b(the)h(v)-5
-b(alue)21 b(of)g(a)g(parameter)g(in)f(the)g(en)m(vironmen)m(t)i(is)e
-(mo)s(di\014ed,)i(the)150 3281 y(new)31 b(v)-5 b(alue)32
-b(b)s(ecomes)f(part)h(of)f(the)h(en)m(vironmen)m(t,)g(replacing)h(the)e
-(old.)44 b(The)31 b(en)m(vironmen)m(t)h(inherited)150
-3391 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
-(shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f(v)-5
-b(alues)31 b(ma)m(y)h(b)s(e)150 3501 y(mo)s(di\014ed)26
-b(in)g(the)h(shell,)h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f
-(the)g Ft(unset)e Fu(and)h(`)p Ft(export)j(-n)p Fu(')e(commands,)g
-(plus)150 3610 y(an)m(y)k(additions)f(via)h(the)g Ft(export)d
-Fu(and)i(`)p Ft(declare)f(-x)p Fu(')h(commands.)275 3743
-y(The)j(en)m(vironmen)m(t)i(for)f(an)m(y)g(simple)h(command)f(or)g
-(function)g(ma)m(y)g(b)s(e)g(augmen)m(ted)h(temp)s(orarily)150
-3853 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
-(as)e(describ)s(ed)g(in)g(Section)i(3.4)g([Shell)e(P)m(arameters],)150
-3963 y(page)g(21.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
-(a\013ect)f(only)g(the)f(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h
-(command.)275 4096 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(69\),)h(then)e(all)g
-(parameter)150 4205 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 4315 y(command)g(name.)275 4448 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 4558 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 4755 y Fk(3.7.5)63
-b(Exit)40 b(Status)150 4902 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 5011 y(equiv)-5
+(t.)39 b(The)150 4218 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 4328
+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 4437 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)150 4547 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 4656
+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 4766 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
+4902 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
+5011 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 5121 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 5230 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 5340 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.)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)275 299
+y(If)30 b(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(71\),)h(then)e(all)g(parameter)150
+408 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
+518 y(command)g(name.)275 647 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
+756 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 943 y Fk(3.7.5)63 b(Exit)40
+b(Status)150 1090 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 1200 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 5121 y(shell)i(ma)m(y)g(use)f(v)-5 b(alues)35 b(ab)s(o)m(v)m(e)g
+150 1310 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 5230 y(commands)j(are)g(also)h
+(builtins)f(and)f(comp)s(ound)150 1419 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 5340 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.)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)275 299
-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
-408 y(A)e(non-zero)h(exit)g(status)g(indicates)g(failure.)40
-b(This)28 b(seemingly)i(coun)m(ter-in)m(tuitiv)m(e)i(sc)m(heme)e(is)f
-(used)g(so)150 518 y(there)34 b(is)g(one)g(w)m(ell-de\014ned)g(w)m(a)m
-(y)g(to)h(indicate)g(success)f(and)f(a)h(v)-5 b(ariet)m(y)35
-b(of)f(w)m(a)m(ys)h(to)f(indicate)h(v)-5 b(arious)150
-628 y(failure)38 b(mo)s(des.)62 b(When)37 b(a)h(command)f(terminates)i
-(on)e(a)h(fatal)h(signal)g(whose)e(n)m(um)m(b)s(er)f(is)i
-Fr(N)p Fu(,)i(Bash)150 737 y(uses)30 b(the)g(v)-5 b(alue)31
-b(128)p Ft(+)p Fr(N)42 b Fu(as)30 b(the)h(exit)g(status.)275
-868 y(If)k(a)h(command)g(is)g(not)g(found,)g(the)g(c)m(hild)h(pro)s
+h(the)e(shell)h(will)f(use)150 1529 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
+1657 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 1767 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
+1876 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 1986 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 2115 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 2224
+y(128)p Ft(+)p Fr(N)41 b Fu(as)31 b(the)g(exit)g(status.)275
+2353 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
-977 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)f(but)h(is)g(not)h
+2462 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
-1108 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
+2591 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
-1218 y(is)c(greater)i(than)e(zero.)275 1348 y(The)38
+2700 y(is)c(greater)i(than)e(zero.)275 2829 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 1458
+(commands)e(\(see)h(Section)h(3.2.5.2)h([Con-)150 2938
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
-1567 y(page)31 b(10\).)275 1698 y(All)40 b(of)g(the)h(Bash)f(builtins)f
+3048 y(page)31 b(11\).)275 3177 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 1807 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
+(a)g(non-zero)150 3286 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 1917 y(return)e(an)i(exit)g
+(constructs.)50 b(All)35 b(builtins)150 3396 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 2027 y(argumen)m(ts.)275
-2157 y(The)f(exit)i(status)f(of)h(the)f(last)h(command)f(is)g(a)m(v)-5
+m(v)-5 b(alid)35 b(options)g(or)f(missing)150 3505 y(argumen)m(ts.)275
+3634 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 2267 y(tion)c(3.4.2)h([Sp)s(ecial)f(P)m
-(arameters],)h(page)f(23\).)150 2458 y Fk(3.7.6)63 b(Signals)150
-2605 y Fu(When)36 b(Bash)g(is)h(in)m(teractiv)m(e,)j(in)c(the)h
-(absence)f(of)h(an)m(y)f(traps,)i(it)e(ignores)h Ft(SIGTERM)d
-Fu(\(so)j(that)g(`)p Ft(kill)150 2715 y(0)p Fu(')c(do)s(es)g(not)g
-(kill)g(an)g(in)m(teractiv)m(e)j(shell\),)f(and)d Ft(SIGINT)f
-Fu(is)i(caugh)m(t)h(and)f(handled)f(\(so)h(that)h(the)f
-Ft(wait)150 2824 y Fu(builtin)24 b(is)h(in)m(terruptible\).)39
-b(When)24 b(Bash)g(receiv)m(es)j(a)d Ft(SIGINT)p Fu(,)h(it)g(breaks)f
-(out)h(of)f(an)m(y)h(executing)h(lo)s(ops.)150 2934 y(In)31
-b(all)h(cases,)h(Bash)f(ignores)g Ft(SIGQUIT)p Fu(.)42
-b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h(\(see)f(Chapter)f(7)h
-([Job)g(Con)m(trol],)150 3043 y(page)f(118\),)h(Bash)f(ignores)g
-Ft(SIGTTIN)p Fu(,)d Ft(SIGTTOU)p Fu(,)h(and)h Ft(SIGTSTP)p
-Fu(.)275 3174 y(Non-builtin)h(commands)g(started)g(b)m(y)g(Bash)h(ha)m
-(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5 b(alues)31
-b(inherited)150 3284 y(b)m(y)37 b(the)h(shell)g(from)f(its)h(paren)m
-(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f(e\013ect,)k
-(async)m(hronous)c(commands)150 3393 y(ignore)f Ft(SIGINT)e
+b(\(see)35 b(Sec-)150 3743 y(tion)c(3.4.2)h([Sp)s(ecial)f(P)m
+(arameters],)h(page)f(23\).)275 3872 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 3982 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 4091
+y(\(see)31 b(Section)h(4.1)f([Bourne)f(Shell)h(Builtins],)g(page)g(50.)
+150 4278 y Fk(3.7.6)63 b(Signals)150 4425 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 4535 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
+4645 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 4754 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 4864 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 4992 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
+5102 y([Bourne)j(Shell)h(Builtins],)g(page)g(50.)275
+5230 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 5340 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)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(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 408 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 3503 y(result)27
+(handlers.)55 b(Commands)35 b(run)f(as)i(a)150 518 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 3612 y Ft(SIGTTOU)p Fu(,)h(and)g Ft(SIGTSTP)p
-Fu(.)275 3743 y(The)h(shell)i(exits)g(b)m(y)f(default)g(up)s(on)f
+Fu(,)150 628 y Ft(SIGTTOU)p Fu(,)h(and)g Ft(SIGTSTP)p
+Fu(.)275 759 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 3852 y(resends)41 b(the)i
-Ft(SIGHUP)e Fu(to)i(all)g(jobs,)i(running)c(or)h(stopp)s(ed.)76
-b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g Ft(SIGCONT)d
-Fu(to)150 3962 y(ensure)32 b(that)h(they)g(receiv)m(e)i(the)e
-Ft(SIGHUP)p Fu(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)g(from)
-g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 4072 y(to)i(a)g(particular)
-g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h(from)g(the)f(jobs)g
-(table)i(with)e(the)h Ft(disown)e Fu(builtin)h(\(see)150
-4181 y(Section)c(7.2)g([Job)e(Con)m(trol)i(Builtins],)g(page)g(119\))h
-(or)e(mark)m(ed)g(to)g(not)g(receiv)m(e)i Ft(SIGHUP)c
-Fu(using)i Ft(disown)150 4291 y(-h)p Fu(.)275 4421 y(If)38
-b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f(set)i(with)f
-Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
-4531 y(Builtin],)31 b(page)g(74\),)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 4661 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
-(command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic)
-m(h)h(a)g(trap)150 4771 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
-(not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55
-b(When)35 b(Bash)g(is)150 4881 y(w)m(aiting)j(for)f(an)g(async)m
-(hronous)g(command)g(via)h(the)f Ft(wait)f Fu(builtin,)i(the)g
-(reception)g(of)f(a)g(signal)h(for)150 4990 y(whic)m(h)d(a)g(trap)g
-(has)g(b)s(een)f(set)h(will)h(cause)f(the)g Ft(wait)f
-Fu(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150
-5100 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
-f(the)h(trap)f(is)g(executed.)275 5230 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 5340 y(complete,)35 b(the)e(shell)h
+(in)m(teractiv)m(e)j(shell)150 869 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
+978 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 1088 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 1198 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 1307 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 1417 y Ft(disown)29
+b(-h)p Fu(.)275 1548 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 1658 y(Builtin],)31 b(page)g(76\),)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 1789 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 1899 y(b)s(een)e(set,)j(the)f(trap)f
+(will)g(not)h(b)s(e)e(executed)i(un)m(til)g(the)f(command)g(completes.)
+41 b(If)27 b(Bash)g(is)h(w)m(aiting)g(for)150 2009 y(an)35
+b(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
+2118 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 2228 y(immediately)32 b(after)f(whic)m(h)f(the)g(shell)h
+(executes)g(the)g(trap.)275 2359 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 2469 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)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(b)m(y)31 b(`)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 408 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 518 y Fu(to)35 b(all)g(pro)s
-(cesses)f(in)g(that)g(pro)s(cess)g(group.)51 b(See)35
-b(Chapter)e(7)i([Job)f(Con)m(trol],)i(page)f(118,)h(for)e(a)h(more)150
-628 y(in-depth)30 b(discussion)f(of)i(pro)s(cess)f(groups.)275
-773 y(When)35 b(Bash)h(is)g(running)f(without)h(job)f(con)m(trol)i
-(enabled)f(and)g(receiv)m(es)h Ft(SIGINT)e Fu(while)h(w)m(aiting)150
-882 y(for)g(a)h(foreground)f(command,)i(it)f(w)m(aits)g(un)m(til)g
+Ft(SIGINT)d Fu(\(usually)i(generated)150 2578 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
+2688 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 2798 y Fu(to)35 b(all)g(pro)s(cesses)f(in)
+g(that)g(pro)s(cess)g(group.)51 b(See)35 b(Chapter)e(7)i([Job)f(Con)m
+(trol],)i(page)f(123,)h(for)e(a)h(more)150 2907 y(in-depth)30
+b(discussion)f(of)i(pro)s(cess)f(groups.)275 3039 y(When)35
+b(Bash)h(is)g(running)f(without)h(job)f(con)m(trol)i(enabled)f(and)g
+(receiv)m(es)h Ft(SIGINT)e Fu(while)h(w)m(aiting)150
+3148 y(for)g(a)h(foreground)f(command,)i(it)f(w)m(aits)g(un)m(til)g
(that)g(foreground)f(command)g(terminates)h(and)f(then)150
-992 y(decides)31 b(what)f(to)h(do)f(ab)s(out)g(the)h
-Ft(SIGINT)p Fu(:)199 1137 y(1.)61 b(If)29 b(the)h(command)f(terminates)
+3258 y(decides)31 b(what)f(to)h(do)f(ab)s(out)g(the)h
+Ft(SIGINT)p Fu(:)199 3390 y(1.)61 b(If)29 b(the)h(command)f(terminates)
i(due)d(to)j(the)e Ft(SIGINT)p Fu(,)g(Bash)g(concludes)h(that)g(the)g
-(user)f(mean)m(t)h(to)330 1247 y(end)25 b(the)h(en)m(tire)h(script,)g
+(user)f(mean)m(t)h(to)330 3499 y(end)25 b(the)h(en)m(tire)h(script,)g
(and)f(acts)h(on)e(the)i Ft(SIGINT)d Fu(\(e.g.,)k(b)m(y)e(running)f(a)h
-Ft(SIGINT)e Fu(trap)i(or)g(exiting)330 1356 y(itself)7
-b(\);)199 1496 y(2.)61 b(If)39 b(the)g(pip)s(eline)g(do)s(es)g(not)h
+Ft(SIGINT)e Fu(trap)i(or)g(exiting)330 3609 y(itself)7
+b(\);)199 3740 y(2.)61 b(If)39 b(the)g(pip)s(eline)g(do)s(es)g(not)h
(terminate)g(due)f(to)h Ft(SIGINT)p Fu(,)g(the)g(program)f(handled)f
-(the)i Ft(SIGINT)330 1606 y Fu(itself)35 b(and)e(did)h(not)g(treat)h
+(the)i Ft(SIGINT)330 3850 y Fu(itself)35 b(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 1715 y Fu(as)41 b(a)g(fatal)g
+(es)g(not)g(treat)i Ft(SIGINT)330 3959 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
-1825 y(program's)32 b(normal)g(op)s(eration)h(\(e.g.,)h
+4069 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 1935 y(erately)41 b(discarded.)69 b(Ho)m(w)m(ev)m(er,)45
+(delib-)330 4179 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 2044 y(an)m(y)31
+Fu(,)h(as)f(it)h(do)s(es)e(with)330 4288 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
-2154 y(complete,)i(for)e(compatibilit)m(y)-8 b(.)150
-2411 y Fs(3.8)68 b(Shell)45 b(Scripts)150 2570 y Fu(A)30
+4398 y(complete,)i(for)e(compatibilit)m(y)-8 b(.)150
+4633 y Fs(3.8)68 b(Shell)45 b(Scripts)150 4792 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 2680 y(non-option)c(argumen)m(t)h(when)e(in)m(v)m(oking)i
+(\014rst)150 4902 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 2789 y(Section)39
-b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(94\),)i(Bash)d(reads)g(and)f
-(executes)i(commands)f(from)f(the)i(\014le,)150 2899
-y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f
-(creates)i(a)e(non-in)m(teractiv)m(e)j(shell.)46 b(The)31
-b(shell)i(\014rst)e(searc)m(hes)150 3008 y(for)d(the)g(\014le)g(in)g
-(the)g(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)e(the)i
-(directories)g(in)e Ft($PATH)g Fu(if)h(not)g(found)e(there.)275
-3154 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 3263 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 3373 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 3482 y(parameters)31 b(are)f(unset.)275
-3628 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+Fu(option)g(is)g(supplied)f(\(see)150 5011 y(Section)39
+b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(98\),)i(Bash)d(reads)g(and)f
+(executes)i(commands)f(from)f(the)i(\014le,)150 5121
+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 5230 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
+5340 y(the)i(directories)g(in)f Ft($PATH)f Fu(if)h(not)h(found)e
+(there.)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)275 299
+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 408 y(\014les)30 b(it)h(determines)g(to)g(b)s(e)e
+(binaries.)275 543 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 653 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 762 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 872 y(parameters)31 b(are)f(unset.)275
+1006 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
-3737 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
+1116 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 3847 y(creates)32 b(a)f(new)e(instance)i(of)g
+(command,)h(it)150 1225 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 3992 y Ft(filename)46 b Fj(arguments)150
-4137 y Fu(is)30 b(equiv)-5 b(alen)m(t)32 b(to)f(executing)390
-4282 y Ft(bash)47 b(filename)e Fj(arguments)150 4428
+(executing)390 1360 y Ft(filename)46 b Fj(arguments)150
+1494 y Fu(is)30 b(equiv)-5 b(alen)m(t)32 b(to)f(executing)390
+1629 y Ft(bash)47 b(filename)e Fj(arguments)150 1763
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 4537 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)
+(e\013ect)150 1873 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 4647 y(lo)s(cations)25 b(of)g(commands)e
+(exception)h(that)f(the)150 1983 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
-4756 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(49\))h(are)e(retained)h
-(b)m(y)f(the)h(c)m(hild.)275 4902 y(Most)36 b(v)m(ersions)g(of)g(Unix)f
-(mak)m(e)h(this)g(a)g(part)f(of)h(the)g(op)s(erating)g(system's)f
-(command)h(execution)150 5011 y(mec)m(hanism.)50 b(If)33
-b(the)g(\014rst)g(line)h(of)f(a)h(script)f(b)s(egins)g(with)g(the)g(t)m
-(w)m(o)i(c)m(haracters)g(`)p Ft(#!)p Fu(',)f(the)g(remainder)150
-5121 y(of)27 b(the)g(line)g(sp)s(eci\014es)g(an)g(in)m(terpreter)g(for)
-g(the)g(program)g(and,)g(dep)s(ending)e(on)i(the)g(op)s(erating)h
-(system,)150 5230 y(one)e(or)g(more)g(optional)h(argumen)m(ts)f(for)g
-(that)g(in)m(terpreter.)40 b(Th)m(us,)26 b(y)m(ou)g(can)g(sp)s(ecify)g
-(Bash,)h Ft(awk)p Fu(,)f(P)m(erl,)150 5340 y(or)k(some)h(other)g(in)m
-(terpreter)g(and)e(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h
-(in)f(that)h(language.)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)275 299
-y(The)35 b(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
-408 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 518 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 628 y(in)m(terpreter)26
+2092 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(50\))h(are)e(retained)h
+(b)m(y)f(the)h(c)m(hild.)275 2227 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
+2336 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 2446 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 2555 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.)150 2665
+y(Th)m(us,)c(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 2775 y(script)d(\014le)h(in)f(that)h
+(language.)275 2909 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 3019 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 3128 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 3238 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
-737 y(Bash)j(will)f(p)s(erform)g(this)g(action)i(on)e(op)s(erating)h
+3347 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 847 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 956 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 1066 y(will)31 b(w)m(ork.)275 1200 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 1310 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 1420 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
-1529 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: 49 55
-TeXDict begin 49 54 bop 3659 -116 a Fu(49)150 299 y Fp(4)80
-b(Shell)53 b(Builtin)f(Commands)150 531 y Fu(Builtin)34
+b(Note)150 3457 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 3567 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 3676 y(will)31 b(w)m(ork.)275
+3811 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
+3920 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 4030 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 4139 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: 50 56
+TeXDict begin 50 55 bop 3659 -116 a Fu(50)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
-641 y(mand)26 b(is)i(used)e(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)f
+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
-750 y(page)21 b(9\),)j(the)d(shell)g(executes)h(the)f(command)f
+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 860 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
+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 969 y(with)30 b(separate)h(utilities.)275
-1104 y(This)c(section)j(brie\015y)e(describ)s(es)g(the)h(builtins)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
-1213 y(w)m(ell)i(as)g(the)g(builtin)e(commands)h(whic)m(h)h(are)f
+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
-1347 y(Sev)m(eral)45 b(builtin)e(commands)h(are)h(describ)s(ed)e(in)h
+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
-1457 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f
+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 1566 y(page)33 b(119\),)i(the)e(directory)g(stac)m(k)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
-(106\),)i(the)150 1676 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
-([Bash)f(History)g(Builtins],)h(page)g(159\),)h(and)d(the)h
-(programmable)150 1786 y(completion)32 b(facilities)g(\(see)g(Section)f
-(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(152\).)275
-1920 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 2054 y(Unless)20
+(110\),)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(165\),)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(157\).)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 2163 y(b)m(y)42
+(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 2273 y Fu(builtins)32 b(do)g(not)h(accept)h(options)f(and)f
+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 2383 y Ft(break)p Fu(,)38 b Ft(continue)p
+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
-2492 y(`)p Ft(-)p Fu(')h(without)f(requiring)g(`)p Ft(--)p
+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 2602 y(accepting)28
+(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 2711 y(to)31 b(prev)m(en)m(t)g(this)f(in)m
-(terpretation.)150 2951 y Fs(4.1)68 b(Bourne)45 b(Shell)g(Builtins)150
-3111 y Fu(The)22 b(follo)m(wing)j(shell)d(builtin)h(commands)f(are)h
+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 3220 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 3379 y Ft(:)h
-Fu(\(a)h(colon\))870 3488 y Ft(:)47 b([)p Fj(arguments)p
-Ft(])630 3623 y Fu(Do)c(nothing)f(b)s(ey)m(ond)g(expanding)f
+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 3732 y(return)29 b(status)i(is)f(zero.)150
-3891 y Ft(.)g Fu(\(a)h(p)s(erio)s(d\))870 4000 y Ft(.)47
+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 4134 y Fu(Read)34 b(and)f(execute)i(commands)e(from)g(the)h
-Fr(\014lename)39 b Fu(argumen)m(t)34 b(in)f(the)h(curren)m(t)g(shell)
-630 4244 y(con)m(text.)41 b(If)25 b Fr(\014lename)31
-b Fu(do)s(es)26 b(not)g(con)m(tain)h(a)f(slash,)h Ft(.)e
-Fu(searc)m(hes)i(for)e(it.)40 b(If)25 b Ft(-p)g Fu(is)h(supplied,)630
-4354 y Ft(.)32 b Fu(treats)h Fr(path)f Fu(as)g(a)h(colon-separated)h
-(list)f(of)f(directories)h(in)f(whic)m(h)g(to)h(\014nd)d
-Fr(\014lename)5 b Fu(;)630 4463 y(otherwise,)41 b Ft(.)c
-Fu(uses)h(the)g(directories)h(in)e Ft(PATH)g Fu(to)i(\014nd)d
-Fr(\014lename)p Fu(.)64 b Fr(\014lename)43 b Fu(do)s(es)38
-b(not)630 4573 y(need)24 b(to)h(b)s(e)f(executable.)40
-b(When)24 b(Bash)h(is)f(not)h(in)f Fm(posix)f Fu(mo)s(de,)j(it)e(searc)
-m(hes)i(the)e(curren)m(t)630 4682 y(directory)40 b(if)g
-Fr(\014lename)45 b Fu(is)40 b(not)g(found)f(in)h Ft($PATH)p
-Fu(,)h(but)e(do)s(es)g(not)i(searc)m(h)f(the)g(curren)m(t)630
-4792 y(directory)e(if)g Ft(-p)f Fu(is)g(supplied.)61
-b(If)37 b(the)h Ft(sourcepath)d Fu(option)j(\(see)g(Section)h(4.3.2)g
-([The)630 4902 y(Shopt)27 b(Builtin],)i(page)f(74\))h(is)e(turned)f
-(o\013)i Ft(.)f Fu(do)s(es)h(not)f(searc)m(h)h Ft(PATH)p
-Fu(.)39 b(If)27 b(an)m(y)h Fr(argumen)m(ts)630 5011 y
-Fu(are)d(supplied,)g(they)g(b)s(ecome)g(the)g(p)s(ositional)h
-(parameters)f(when)f Fr(\014lename)30 b Fu(is)25 b(executed.)630
-5121 y(Otherwise)e(the)h(p)s(ositional)h(parameters)f(are)g(unc)m
-(hanged.)38 b(If)23 b(the)h Ft(-T)f Fu(option)h(is)g(enabled,)630
-5230 y Ft(.)35 b Fu(inherits)h(an)m(y)g(trap)g(on)g Ft(DEBUG)p
-Fu(;)h(if)f(it)g(is)g(not,)i(an)m(y)e Ft(DEBUG)e Fu(trap)i(string)g(is)
-g(sa)m(v)m(ed)h(and)630 5340 y(restored)f(around)g(the)g(call)h(to)g
-Ft(.)p Fu(,)h(and)e Ft(.)g Fu(unsets)f(the)i Ft(DEBUG)d
-Fu(trap)i(while)h(it)f(executes.)p eop end
-%%Page: 50 56
-TeXDict begin 50 55 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(50)630 299 y(If)39
-b Ft(-T)g Fu(is)h(not)f(set,)k(and)c(the)h(sourced)f(\014le)g(c)m
-(hanges)i(the)f Ft(DEBUG)e Fu(trap,)k(the)d(new)g(v)-5
-b(alue)630 408 y(is)35 b(retained)g(when)f Ft(.)h Fu(completes.)55
-b(The)35 b(return)f(status)h(is)g(the)g(exit)h(status)f(of)g(the)g
-(last)630 518 y(command)i(executed,)k(or)c(zero)h(if)g(no)f(commands)g
-(are)h(executed.)63 b(If)36 b Fr(\014lename)43 b Fu(is)38
-b(not)630 628 y(found,)22 b(or)f(cannot)g(b)s(e)f(read,)j(the)e(return)
-f(status)h(is)g(non-zero.)38 b(This)20 b(builtin)h(is)f(equiv)-5
-b(alen)m(t)630 737 y(to)31 b Ft(source)p Fu(.)150 889
-y Ft(break)870 1019 y(break)46 b([)p Fj(n)p Ft(])630
-1149 y Fu(Exit)f(from)f(a)g Ft(for)p Fu(,)k Ft(while)p
-Fu(,)e Ft(until)p Fu(,)h(or)d Ft(select)f Fu(lo)s(op.)83
-b(If)44 b Fr(n)g Fu(is)g(supplied,)j(the)e Fr(n)p Fu(th)630
-1259 y(enclosing)c(lo)s(op)f(is)h(exited.)70 b Fr(n)40
-b Fu(m)m(ust)g(b)s(e)f(greater)j(than)d(or)i(equal)f(to)h(1.)70
-b(The)40 b(return)630 1369 y(status)31 b(is)f(zero)h(unless)f
-Fr(n)g Fu(is)g(not)h(greater)g(than)g(or)f(equal)h(to)g(1.)150
-1520 y Ft(cd)870 1650 y(cd)47 b([-L|[-P)f([-e]]])g([-@])h([)p
-Fj(directory)p Ft(])630 1781 y Fu(Change)27 b(the)g(curren)m(t)f(w)m
+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(76\))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: 51 57
+TeXDict begin 51 56 bop 150 -116 a Fu(Chapter)30 b(4:)h(Shell)f
+(Builtin)h(Commands)2079 b(51)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 1130 y Ft(break)870
+1272 y(break)46 b([)p Fj(n)p Ft(])630 1414 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 1524 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 1633 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
+1807 y Ft(cd)870 1949 y(cd)47 b([-L|[-P)f([-e]]])g([-@])h([)p
+Fj(directory)p Ft(])630 2091 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 1891
-y(the)k(v)-5 b(alue)31 b(of)g(the)g Ft(HOME)e Fu(shell)i(v)-5
-b(ariable)32 b(is)f(used.)40 b(If)31 b(the)g(shell)g(v)-5
-b(ariable)31 b Ft(CDPATH)e Fu(exists,)630 2000 y Ft(cd)40
-b Fu(uses)h(it)g(as)g(a)g(searc)m(h)g(path:)62 b Ft(cd)40
-b Fu(searc)m(hes)i(eac)m(h)g(directory)f(name)g(in)f
-Ft(CDPATH)f Fu(for)630 2110 y Fr(directory)p Fu(,)48
-b(with)c(alternativ)m(e)i(directory)f(names)e(in)h Ft(CDPATH)e
-Fu(separated)j(b)m(y)f(a)g(colon)630 2219 y(\(`)p Ft(:)p
-Fu('\).)e(If)30 b Fr(directory)38 b Fu(b)s(egins)30 b(with)g(a)h
-(slash,)f Ft(CDPATH)f Fu(is)h(not)h(used.)630 2350 y(The)g
-Ft(-P)h Fu(option)g(means)g(to)h(not)f(follo)m(w)h(sym)m(b)s(olic)g
-(links:)44 b(sym)m(b)s(olic)32 b(links)g(are)g(resolv)m(ed)630
-2459 y(while)41 b Ft(cd)f Fu(is)h(tra)m(v)m(ersing)h
-Fr(directory)49 b Fu(and)40 b(b)s(efore)g(pro)s(cessing)h(an)f
-(instance)i(of)f(`)p Ft(..)p Fu(')f(in)630 2569 y Fr(directory)p
-Fu(.)630 2699 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 2809 y(resolv)m(ed)31 b(after)g
-Ft(cd)f Fu(pro)s(cesses)g(an)g(instance)h(of)g(`)p Ft(..)p
-Fu(')f(in)g Fr(directory)p Fu(.)630 2939 y(If)35 b(`)p
-Ft(..)p Fu(')f(app)s(ears)h(in)f Fr(directory)p Fu(,)j(it)f(is)f(pro)s
-(cessed)f(b)m(y)h(remo)m(ving)h(the)f(immediately)h(pre-)630
-3049 y(ceding)31 b(pathname)f(comp)s(onen)m(t,)h(bac)m(k)g(to)g(a)g
-(slash)f(or)h(the)f(b)s(eginning)g(of)g Fr(directory)p
-Fu(.)630 3180 y(If)i(the)i Ft(-e)e Fu(option)h(is)g(supplied)f(with)g
-Ft(-P)h Fu(and)f(the)h(curren)m(t)g(w)m(orking)g(directory)g(cannot)630
-3289 y(b)s(e)k(successfully)g(determined)g(after)i(a)e(successful)h
-(directory)g(c)m(hange,)i Ft(cd)d Fu(will)h(return)630
-3399 y(an)30 b(unsuccessful)f(status.)630 3529 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
-3639 y(asso)s(ciated)32 b(with)e(a)h(\014le)f(as)h(a)f(directory)-8
-b(.)630 3769 y(If)41 b Fr(directory)49 b Fu(is)41 b(`)p
-Ft(-)p Fu(',)j(it)e(is)f(con)m(v)m(erted)h(to)g Ft($OLDPWD)d
-Fu(b)s(efore)i(the)g(directory)h(c)m(hange)g(is)630 3879
-y(attempted.)630 4009 y(If)33 b(a)h(non-empt)m(y)g(directory)g(name)f
-(from)g Ft(CDPATH)f Fu(is)h(used,)h(or)g(if)f(`)p Ft(-)p
-Fu(')h(is)f(the)h(\014rst)f(argu-)630 4119 y(men)m(t,)28
-b(and)e(the)h(directory)g(c)m(hange)h(is)f(successful,)h(the)f
-(absolute)g(pathname)g(of)f(the)h(new)630 4228 y(w)m(orking)k
-(directory)g(is)f(written)g(to)i(the)e(standard)g(output.)630
-4359 y(If)i(the)i(directory)f(c)m(hange)h(is)f(successful,)h
+b Fr(directory)35 b Fu(is)27 b(not)g(supplied,)630 2201
+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 2310 y Ft(CDPATH)30
+b Fu(exists,)j Ft(cd)e Fu(uses)g(it)h(as)g(a)g(searc)m(h)g(path:)43
+b Ft(cd)31 b Fu(searc)m(hes)i(eac)m(h)f(directory)h(name)e(in)630
+2420 y Ft(CDPATH)d Fu(for)i Fr(directory)p Fu(,)h(with)f(alternativ)m
+(e)i(directory)f(names)f(in)f Ft(CDPATH)g Fu(separated)h(b)m(y)630
+2529 y(a)37 b(colon)h(\(`)p Ft(:)p Fu('\).)61 b(A)37
+b(n)m(ull)g(directory)h(name)f(in)f Ft(CDPATH)f Fu(means)i(the)g(same)h
+(thing)f(as)g(the)630 2639 y(curren)m(t)30 b(directory)-8
+b(.)42 b(If)30 b Fr(directory)38 b Fu(b)s(egins)30 b(with)g(a)h(slash,)
+f Ft(CDPATH)f Fu(is)i(not)f(used.)630 2781 y(The)h Ft(-P)h
+Fu(option)g(means)g(to)h(not)f(follo)m(w)h(sym)m(b)s(olic)g(links:)44
+b(sym)m(b)s(olic)32 b(links)g(are)g(resolv)m(ed)630 2890
+y(while)41 b Ft(cd)f Fu(is)h(tra)m(v)m(ersing)h Fr(directory)49
+b Fu(and)40 b(b)s(efore)g(pro)s(cessing)h(an)f(instance)i(of)f(`)p
+Ft(..)p Fu(')f(in)630 3000 y Fr(directory)p Fu(.)630
+3142 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 3251 y(resolv)m(ed)31 b(after)g Ft(cd)f
+Fu(pro)s(cesses)g(an)g(instance)h(of)g(`)p Ft(..)p Fu(')f(in)g
+Fr(directory)p Fu(.)630 3393 y(If)35 b(`)p Ft(..)p Fu(')f(app)s(ears)h
+(in)f Fr(directory)p Fu(,)j(it)f(is)f(pro)s(cessed)f(b)m(y)h(remo)m
+(ving)h(the)f(immediately)h(pre-)630 3503 y(ceding)31
+b(pathname)f(comp)s(onen)m(t,)h(bac)m(k)g(to)g(a)g(slash)f(or)h(the)f
+(b)s(eginning)g(of)g Fr(directory)p Fu(.)630 3645 y(If)i(the)i
+Ft(-e)e Fu(option)h(is)g(supplied)f(with)g Ft(-P)h Fu(and)f(the)h
+(curren)m(t)g(w)m(orking)g(directory)g(cannot)630 3754
+y(b)s(e)c(successfully)i(determined)e(after)i(a)f(successful)g
+(directory)h(c)m(hange,)h Ft(cd)d Fu(will)i(return)e(a)630
+3864 y(non-zero)i(status.)630 4006 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 4115 y(asso)s(ciated)32 b(with)e(a)h(\014le)f(as)h(a)f
+(directory)-8 b(.)630 4257 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
+4367 y(c)m(hange.)630 4508 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 4618 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 4728 y(of)f(the)f(new)g(w)m
+(orking)h(directory)g(to)g(the)f(standard)g(output.)630
+4869 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 4468 y(v)-5 b(ariable)32 b(to)g(the)f(new)g
+Fu(en)m(vironmen)m(t)630 4979 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 4578 y(to)31 b(the)g(v)-5 b(alue)31
+(t)j(v)-5 b(ariable)630 5089 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.)630 4709 y(The)e(return)g(status)h(is)f(zero)i(if)e(the)h
+m(hange.)630 5230 y(The)e(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
-4818 y(erwise.)150 4969 y Ft(continue)870 5100 y(continue)46
-b([)p Fj(n)p Ft(])630 5230 y Fu(Resume)32 b(the)g(next)g(iteration)i
-(of)e(an)g(enclosing)h Ft(for)p Fu(,)f Ft(while)p Fu(,)f
-Ft(until)p Fu(,)g(or)h Ft(select)f Fu(lo)s(op.)630 5340
-y(If)f Fr(n)h Fu(is)g(supplied,)e(the)j(execution)g(of)f(the)g
-Fr(n)p Fu(th)f(enclosing)i(lo)s(op)f(is)f(resumed.)42
-b Fr(n)30 b Fu(m)m(ust)h(b)s(e)p eop end
-%%Page: 51 57
-TeXDict begin 51 56 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y(greater)39
-b(than)f(or)g(equal)g(to)h(1.)63 b(The)38 b(return)e(status)j(is)e
-(zero)i(unless)e Fr(n)h Fu(is)g(not)g(greater)630 408
-y(than)30 b(or)g(equal)h(to)g(1.)150 564 y Ft(eval)870
-696 y(eval)47 b([)p Fj(arguments)p Ft(])630 829 y Fu(The)25
-b(argumen)m(ts)h(are)g(concatenated)i(together)f(in)m(to)f(a)g(single)h
-(command,)f(whic)m(h)g(is)f(then)630 938 y(read)35 b(and)g(executed,)j
-(and)d(its)h(exit)g(status)g(returned)e(as)h(the)h(exit)g(status)g(of)g
-Ft(eval)p Fu(.)54 b(If)630 1048 y(there)31 b(are)f(no)h(argumen)m(ts)f
-(or)h(only)f(empt)m(y)h(argumen)m(ts,)g(the)f(return)g(status)g(is)h
-(zero.)150 1203 y Ft(exec)870 1335 y(exec)47 b([-cl])f([-a)h
-Fj(name)p Ft(])f([)p Fj(command)g Ft([)p Fj(arguments)p
-Ft(]])630 1468 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 1577 y(If)k(the)h Ft(-l)e Fu(option)i(is)g(supplied,)h(the)e(shell)
-h(places)g(a)g(dash)f(at)h(the)f(b)s(eginning)g(of)h(the)630
-1687 y(zeroth)36 b(argumen)m(t)h(passed)e(to)h Fr(command)p
-Fu(.)57 b(This)35 b(is)h(what)f(the)h Ft(login)e Fu(program)i(do)s(es.)
-630 1797 y(The)i Ft(-c)g Fu(option)g(causes)h Fr(command)j
-Fu(to)d(b)s(e)f(executed)h(with)f(an)g(empt)m(y)h(en)m(vironmen)m(t.)
-630 1906 y(If)c Ft(-a)g Fu(is)h(supplied,)f(the)h(shell)g(passes)f
-Fr(name)41 b Fu(as)36 b(the)f(zeroth)i(argumen)m(t)f(to)g
-Fr(command)p Fu(.)630 2016 y(If)c 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 2125 y(unless)27 b(the)g Ft(execfail)e Fu(shell)i(option)h
-(is)f(enabled.)40 b(In)27 b(that)g(case,)j(it)d(returns)f(failure.)40
-b(An)630 2235 y(in)m(teractiv)m(e)35 b(shell)d(returns)f(failure)h(if)g
-(the)g(\014le)g(cannot)h(b)s(e)e(executed.)47 b(A)32
-b(subshell)f(exits)630 2345 y(unconditionally)j(if)g
-Ft(exec)f Fu(fails.)52 b(If)33 b(no)h Fr(command)j Fu(is)d(sp)s
-(eci\014ed,)h(redirections)f(ma)m(y)h(b)s(e)630 2454
-y(used)30 b(to)i(a\013ect)g(the)f(curren)m(t)g(shell)g(en)m(vironmen)m
-(t.)43 b(If)30 b(there)i(are)f(no)g(redirection)g(errors,)630
-2564 y(the)g(return)e(status)i(is)f(zero;)h(otherwise)g(the)g(return)e
-(status)i(is)f(non-zero.)150 2719 y Ft(exit)870 2851
-y(exit)47 b([)p Fj(n)p Ft(])630 2984 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 3093
-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
-3203 y(b)s(efore)j(the)h(shell)f(terminates.)150 3358
-y Ft(export)870 3491 y(export)46 b([-fn])g([-p])h([)p
-Fj(name)p Ft([=)p Fj(value)p Ft(]])630 3623 y Fu(Mark)40
-b(eac)m(h)h Fr(name)k Fu(to)40 b(b)s(e)f(passed)g(to)i(c)m(hild)f(pro)s
-(cesses)f(in)g(the)h(en)m(vironmen)m(t.)70 b(If)39 b(the)630
-3733 y Ft(-f)33 b Fu(option)h(is)g(supplied,)f(the)h
-Fr(name)5 b Fu(s)33 b(refer)g(to)i(shell)e(functions;)i(otherwise)f
-(the)g(names)630 3842 y(refer)c(to)h(shell)g(v)-5 b(ariables.)41
-b(The)30 b Ft(-n)f Fu(option)i(means)f(to)h(no)f(longer)h(mark)f(eac)m
-(h)i Fr(name)j Fu(for)630 3952 y(exp)s(ort.)51 b(If)34
-b(no)g Fr(name)5 b Fu(s)34 b(are)g(supplied,)g(or)g(if)g(the)g
-Ft(-p)f Fu(option)i(is)f(giv)m(en,)i(a)e(list)h(of)f(names)630
-4061 y(of)d(all)h(exp)s(orted)e(v)-5 b(ariables)31 b(is)g(displa)m(y)m
-(ed.)43 b(The)30 b Ft(-p)g Fu(option)i(displa)m(ys)e(output)h(in)f(a)h
-(form)630 4171 y(that)25 b(ma)m(y)g(b)s(e)f(reused)g(as)h(input.)38
-b(If)24 b(a)h(v)-5 b(ariable)25 b(name)g(is)g(follo)m(w)m(ed)h(b)m(y)e
-(=)p Fr(v)-5 b(alue)p Fu(,)27 b(the)d(v)-5 b(alue)630
-4281 y(of)31 b(the)f(v)-5 b(ariable)31 b(is)g(set)g(to)g
-Fr(v)-5 b(alue)p Fu(.)630 4413 y(The)29 b(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 4523 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 4632 y(shell)d(function.)150
-4787 y Ft(false)870 4920 y(false)630 5052 y Fu(Do)s(es)g(nothing,)g
-(returns)e(a)h(non-zero)h(status.)150 5208 y Ft(getopts)870
-5340 y(getopts)46 b Fj(optstring)f(name)i Ft([)p Fj(arg)f
-Ft(...])p eop end
+5340 y(erwise.)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 Ft(getopts)28
-b Fu(is)i(used)g(b)m(y)g(shell)g(scripts)g(to)g(parse)g(p)s(ositional)h
-(parameters.)41 b Fr(optstring)d Fu(con-)630 408 y(tains)k(the)g
-(option)f(c)m(haracters)i(to)g(b)s(e)d(recognized;)49
-b(if)42 b(a)f(c)m(haracter)j(is)d(follo)m(w)m(ed)i(b)m(y)f(a)630
-518 y(colon,)33 b(the)f(option)g(is)g(exp)s(ected)g(to)h(ha)m(v)m(e)g
-(an)e(argumen)m(t,)i(whic)m(h)f(should)e(b)s(e)h(separated)630
-628 y(from)40 b(it)g(b)m(y)g(whitespace.)70 b(The)40
-b(colon)h(\(`)p Ft(:)p Fu('\))g(and)e(question)h(mark)g(\(`)p
-Ft(?)p Fu('\))h(ma)m(y)f(not)h(b)s(e)630 737 y(used)d(as)g(option)h(c)m
-(haracters.)67 b(Eac)m(h)39 b(time)g(it)g(is)f(in)m(v)m(ok)m(ed,)k
-Ft(getopts)37 b Fu(places)i(the)g(next)630 847 y(option)29
-b(in)f(the)h(shell)g(v)-5 b(ariable)30 b Fr(name)p Fu(,)f(initializing)
-i Fr(name)j Fu(if)28 b(it)h(do)s(es)g(not)g(exist,)h(and)e(the)630
-956 y(index)33 b(of)g(the)h(next)f(argumen)m(t)h(to)g(b)s(e)e(pro)s
-(cessed)h(in)m(to)h(the)g(v)-5 b(ariable)34 b Ft(OPTIND)p
-Fu(.)48 b Ft(OPTIND)630 1066 y Fu(is)41 b(initialized)i(to)f(1)f(eac)m
-(h)h(time)g(the)f(shell)g(or)g(a)g(shell)g(script)g(is)g(in)m(v)m(ok)m
-(ed.)74 b(When)41 b(an)630 1176 y(option)36 b(requires)e(an)h(argumen)m
-(t,)i Ft(getopts)c Fu(places)j(that)g(argumen)m(t)g(in)m(to)g(the)f(v)
--5 b(ariable)630 1285 y Ft(OPTARG)p Fu(.)55 b(The)35
-b(shell)g(do)s(es)h(not)g(reset)g Ft(OPTIND)e Fu(automatically;)41
-b(it)36 b(m)m(ust)f(b)s(e)g(man)m(ually)630 1395 y(reset)i(b)s(et)m(w)m
-(een)g(m)m(ultiple)h(calls)f(to)g Ft(getopts)e Fu(within)h(the)h(same)g
-(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 1504 y(new)30
-b(set)h(of)f(parameters)h(is)f(to)i(b)s(e)d(used.)630
-1638 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
-Ft(getopts)39 b Fu(exits)j(with)f(a)h(return)e(v)-5 b(alue)630
-1748 y(greater)32 b(than)e(zero.)41 b Ft(OPTIND)29 b
-Fu(is)h(set)h(to)g(the)g(index)f(of)g(the)h(\014rst)f(non-option)g
-(argumen)m(t,)630 1857 y(and)g Fr(name)35 b Fu(is)c(set)g(to)g(`)p
-Ft(?)p Fu('.)630 1991 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
-2101 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 2235
-y Ft(getopts)h Fu(can)h(rep)s(ort)g(errors)g(in)h(t)m(w)m(o)h(w)m(a)m
-(ys.)51 b(If)33 b(the)h(\014rst)e(c)m(haracter)k(of)d
-Fr(optstring)42 b Fu(is)34 b(a)630 2345 y(colon,)g Fr(silen)m(t)h
-Fu(error)d(rep)s(orting)f(is)i(used.)45 b(In)31 b(normal)h(op)s
-(eration,)h(diagnostic)h(messages)630 2454 y(are)c(prin)m(ted)e(when)g
-(in)m(v)-5 b(alid)30 b(options)g(or)f(missing)g(option)g(argumen)m(ts)h
-(are)f(encoun)m(tered.)630 2564 y(If)34 b(the)g(v)-5
-b(ariable)35 b Ft(OPTERR)d Fu(is)i(set)h(to)f(0,)i(no)e(error)g
-(messages)h(will)f(b)s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630
-2673 y(the)c(\014rst)e(c)m(haracter)j(of)f Ft(optstring)d
-Fu(is)i(not)h(a)f(colon.)630 2807 y(If)i 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 2917 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 3026 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 3160 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 3270 y Fr(name)32 b Fu(to)27
-b(a)g(question)g(mark)f(\(`)p Ft(?)p Fu('\),)j(unsets)d
+b(Shell)30 b(Builtin)h(Commands)2069 b(52)150 299 y Ft(continue)870
+435 y(continue)46 b([)p Fj(n)p Ft(])630 570 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
+680 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 789 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
+899 y Fu(is)g(not)h(greater)h(than)e(or)g(equal)h(to)g(1.)150
+1061 y Ft(eval)870 1196 y(eval)47 b([)p Fj(arguments)p
+Ft(])630 1332 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
+1442 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 1551
+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 1661 y(the)j(return)e(status)i(is)f(zero.)150
+1823 y Ft(exec)870 1958 y(exec)47 b([-cl])f([-a)h Fj(name)p
+Ft(])f([)p Fj(command)g Ft([)p Fj(arguments)p Ft(]])630
+2094 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
+2204 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
+2313 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 2423 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
+2532 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 2642 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 2752 y(argumen)m(t)d(to)g
+Fr(command)p Fu(.)630 2887 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 2997 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
+3106 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 3216 y(executed.)42 b(A)30 b(subshell)g(exits)h(unconditionally)g
+(if)f Ft(exec)f Fu(fails.)630 3352 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 3461 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 3571
+y(otherwise)e(the)f(return)g(status)g(is)h(non-zero.)150
+3733 y Ft(exit)870 3868 y(exit)47 b([)p Fj(n)p Ft(])630
+4004 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 4114 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 4223 y(b)s(efore)j(the)h
+(shell)f(terminates.)150 4385 y Ft(export)870 4521 y(export)46
+b([-fn])g([-p])h([)p Fj(name)p Ft([=)p Fj(value)p Ft(]])630
+4656 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
+4766 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 4876 y(otherwise)31 b(the)f(names)h(refer)f(to)h(shell)
+f(v)-5 b(ariables.)630 5011 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 5121 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)630 5230
+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 5340 y(output)j(in)g(a)h(form)f(that)h(ma)m
+(y)g(b)s(e)e(reused)h(as)h(input.)p eop end
+%%Page: 53 59
+TeXDict begin 53 58 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Ft(export)29
+b 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 408 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 518
+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 653 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
+763 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 873 y(shell)d(function.)150 1034 y Ft(false)870
+1169 y(false)630 1305 y Fu(Do)s(es)g(nothing;)g(returns)e(a)h(non-zero)
+h(status.)150 1466 y Ft(getopts)870 1601 y(getopts)46
+b Fj(optstring)f(name)i Ft([)p Fj(arg)f Ft(...])630 1736
+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 1846
+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 1956 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 2065 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 2175 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 2310 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 2420 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
+2529 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 2639 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 2749
+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 2884 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 2993 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 3103 y(set)g(of)f(parameters.)630
+3238 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 3348 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 3458 y Fr(name)36 b Fu(is)30
+b(set)h(to)g(`)p Ft(?)p Fu('.)630 3593 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 3703 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 3838 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 3948 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 4057 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 4167 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 4276
+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 4412 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 4521 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 4631 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 4766 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 4876 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
-3380 y(If)i Ft(getopts)f Fu(is)i(silen)m(t,)h(it)f(sets)h(the)f(v)-5
+4985 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 3489 y Fu(to)f(the)g
-(option)g(c)m(haracter)g(found.)150 3647 y Ft(hash)870
-3781 y(hash)47 b([-r])f([-p)h Fj(filename)p Ft(])e([-dt])i([)p
-Fj(name)p Ft(])630 3915 y Fu(Eac)m(h)37 b(time)h Ft(hash)d
+Ft(:)p Fu('\),)g(and)e(sets)i Ft(OPTARG)630 5095 y Fu(to)f(the)g
+(option)g(c)m(haracter)g(found.)630 5230 y Ft(getopts)d
+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 5340
+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.)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)150 299 y Ft(hash)870
+430 y(hash)47 b([-r])f([-p)h Fj(filename)p Ft(])e([-dt])i([)p
+Fj(name)p Ft(])630 562 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 4025 y(sp)s(eci\014ed)c(as)i
+(\014lenames)h(of)f(the)h(commands)630 671 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 4134 y(in)m(v)m(o)s(cations.)79
+(hed)i(for)f(on)g(subsequen)m(t)630 781 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 4244 y(listed)f(in)g Ft($PATH)p
-Fu(.)74 b(An)m(y)42 b(previously-remem)m(b)s(ered)f(\014lename)h(is)g
-(discarded.)74 b(The)42 b Ft(-p)630 4354 y Fu(option)34
-b(inhibits)f(the)h(path)g(searc)m(h,)h(and)e Fr(\014lename)39
-b Fu(is)34 b(used)f(as)h(the)f(lo)s(cation)j(of)e Fr(name)p
-Fu(.)630 4463 y(The)h 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
-4573 y(to)42 b(the)f Ft(PATH)f Fu(v)-5 b(ariable)42 b(also)g(clears)g
-(all)g(hashed)f(\014lenames.)73 b(The)40 b Ft(-d)h Fu(option)h(causes)
-630 4682 y(the)f(shell)g(to)g(forget)h(the)f(remem)m(b)s(ered)f(lo)s
-(cation)i(of)f(eac)m(h)h Fr(name)p Fu(.)71 b(If)41 b(the)f
-Ft(-t)g Fu(option)630 4792 y(is)c(supplied,)g(the)g(full)g(pathname)g
-(to)g(whic)m(h)g(eac)m(h)h Fr(name)k Fu(corresp)s(onds)35
-b(is)h(prin)m(ted.)56 b(If)630 4902 y(m)m(ultiple)44
-b Fr(name)49 b Fu(argumen)m(ts)44 b(are)h(supplied)d(with)i
-Ft(-t)p Fu(,)i(the)e Fr(name)49 b Fu(is)44 b(prin)m(ted)f(b)s(efore)630
-5011 y(the)36 b(hashed)g(full)f(pathname.)58 b(The)36
-b Ft(-l)f Fu(option)i(causes)f(output)g(to)h(b)s(e)e(displa)m(y)m(ed)i
-(in)f(a)630 5121 y(format)f(that)g(ma)m(y)g(b)s(e)f(reused)f(as)i
-(input.)52 b(If)34 b(no)g(argumen)m(ts)h(are)g(giv)m(en,)h(or)f(if)f
-(only)h Ft(-l)630 5230 y Fu(is)d(supplied,)g(information)h(ab)s(out)f
-(remem)m(b)s(ered)g(commands)f(is)i(prin)m(ted.)46 b(The)32
-b Ft(-t)p Fu(,)g Ft(-d)p Fu(,)630 5340 y(and)40 b Ft(-p)h
-Fu(options)g(\(the)g(options)g(that)h(act)g(on)f(the)g
-Fr(name)46 b Fu(argumen)m(ts\))41 b(are)g(m)m(utually)p
-eop end
-%%Page: 53 59
-TeXDict begin 53 58 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y(exclusiv)m(e.)44
-b(Only)30 b(one)h(will)g(b)s(e)g(activ)m(e.)44 b(If)31
-b(more)g(than)f(one)h(is)g(supplied,)f Ft(-t)h Fu(has)f(higher)630
-408 y(priorit)m(y)38 b(than)f Ft(-p)p Fu(,)i(and)e(b)s(oth)g(are)h
-(higher)f(priorit)m(y)h(than)g Ft(-d)p Fu(.)61 b(The)38
-b(return)e(status)i(is)630 518 y(zero)31 b(unless)f(a)h
-Fr(name)k Fu(is)c(not)f(found)f(or)i(an)f(in)m(v)-5 b(alid)31
-b(option)g(is)f(supplied.)150 669 y Ft(pwd)870 799 y(pwd)47
-b([-LP])630 929 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 1039 y(is)39 b(supplied,)h(the)f
-(pathname)g(prin)m(ted)g(will)g(not)h(con)m(tain)g(sym)m(b)s(olic)f
-(links.)67 b(If)38 b(the)i Ft(-L)630 1148 y Fu(option)k(is)g(supplied,)
-i(the)e(pathname)f(prin)m(ted)h(ma)m(y)g(con)m(tain)h(sym)m(b)s(olic)f
-(links.)80 b(The)630 1258 y(return)26 b(status)h(is)h(zero)g(unless)e
-(an)h(error)g(is)g(encoun)m(tered)g(while)h(determining)f(the)g(name)
-630 1367 y(of)k(the)f(curren)m(t)g(directory)h(or)f(an)h(in)m(v)-5
-b(alid)31 b(option)g(is)f(supplied.)150 1518 y Ft(readonly)870
-1648 y(readonly)46 b([-aAf])g([-p])g([)p Fj(name)p Ft([=)p
-Fj(value)p Ft(]])e(...)630 1778 y Fu(Mark)33 b(eac)m(h)h
-Fr(name)39 b Fu(as)33 b(readonly)-8 b(.)49 b(The)32 b(v)-5
-b(alues)34 b(of)f(these)g(names)g(ma)m(y)h(not)f(b)s(e)f(c)m(hanged)630
-1888 y(b)m(y)38 b(subsequen)m(t)g(assignmen)m(t.)65 b(If)38
-b(the)h Ft(-f)f Fu(option)g(is)h(supplied,)g(eac)m(h)h
-Fr(name)j Fu(refers)38 b(to)630 1998 y(a)f(shell)g(function.)59
-b(The)36 b Ft(-a)g Fu(option)h(means)f(eac)m(h)i Fr(name)k
-Fu(refers)36 b(to)h(an)f(indexed)g(arra)m(y)630 2107
+(the)i(directories)630 891 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 1000 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
+1110 y(the)31 b(lo)s(cation)h(of)e Fr(name)p Fu(.)630
+1241 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
+1351 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 1461 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 1592 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
+1702 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 1811 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
+1921 y(in)30 b(a)h(format)g(that)f(ma)m(y)h(b)s(e)f(reused)g(as)g
+(input.)630 2052 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 2162 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 2271 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 2381 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 2491 y(priorit)m(y)31
+b(than)f Ft(-d)p Fu(.)630 2622 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 2732 y(supplied.)150 2885
+y Ft(pwd)870 3017 y(pwd)47 b([-LP])630 3148 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
+3258 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 3367 y([The)35 b(Set)f(Builtin],)j(page)f(71\))g(is)f(enabled,)h
+(the)f(pathname)f(prin)m(ted)g(will)i(not)f(con)m(tain)630
+3477 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 3587 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 3696 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 3850 y Ft(readonly)870
+3981 y(readonly)46 b([-aAf])g([-p])g([)p Fj(name)p Ft([=)p
+Fj(value)p Ft(]])e(...)630 4113 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 4222 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 4332 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 4441
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 2217 y(If)35 b(b)s(oth)g(options)h(are)h(supplied,)f
+b(ariable.)630 4551 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 2326 y(giv)m(en,)k(or)c(if)h(the)g
-Ft(-p)f Fu(option)h(is)f(supplied,)i(a)f(list)g(of)g(all)g(readonly)g
-(names)f(is)h(prin)m(ted.)630 2436 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 2545 y(readonly)c(names.)41 b(The)28
-b Ft(-p)h Fu(option)h(causes)g(output)e(to)j(b)s(e)d(displa)m(y)m(ed)i
-(in)f(a)h(format)f(that)630 2655 y(ma)m(y)j(b)s(e)e(reused)g(as)i
-(input.)42 b(If)30 b(a)i(v)-5 b(ariable)31 b(name)h(is)f(follo)m(w)m
-(ed)h(b)m(y)f(=)p Fr(v)-5 b(alue)p Fu(,)32 b(the)f(v)-5
-b(alue)32 b(of)630 2765 y(the)i(v)-5 b(ariable)34 b(is)f(set)i(to)f
-Fr(v)-5 b(alue)p Fu(.)50 b(The)33 b(return)g(status)g(is)h(zero)g
-(unless)f(an)g(in)m(v)-5 b(alid)34 b(option)630 2874
-y(is)c(supplied,)f(one)h(of)g(the)g Fr(name)35 b Fu(argumen)m(ts)30
-b(is)g(not)g(a)g(v)-5 b(alid)31 b(shell)f(v)-5 b(ariable)30
-b(or)g(function)630 2984 y(name,)h(or)f(the)h Ft(-f)e
-Fu(option)i(is)g(supplied)e(with)h(a)h(name)f(that)h(is)f(not)h(a)g
-(shell)f(function.)150 3134 y Ft(return)870 3265 y(return)46
-b([)p Fj(n)p Ft(])630 3395 y Fu(Cause)37 b(a)g(shell)h(function)f(to)g
-(stop)h(executing)g(and)e(return)h(the)g(v)-5 b(alue)37
-b Fr(n)g Fu(to)h(its)f(caller.)630 3504 y(If)h 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
-3614 y(executed)i(in)f(the)g(function.)72 b(If)41 b Ft(return)e
-Fu(is)i(executed)h(b)m(y)f(a)h(trap)f(handler,)i(the)e(last)630
-3724 y(command)d(used)f(to)i(determine)f(the)g(status)g(is)h(the)f
-(last)h(command)e(executed)i(b)s(efore)630 3833 y(the)27
-b(trap)g(handler.)39 b(If)26 b Ft(return)g Fu(is)h(executed)h(during)d
-(a)j Ft(DEBUG)d Fu(trap,)j(the)f(last)h(command)630 3943
-y(used)f(to)h(determine)g(the)f(status)h(is)g(the)f(last)i(command)e
-(executed)h(b)m(y)g(the)f(trap)h(handler)630 4052 y(b)s(efore)e
-Ft(return)f Fu(w)m(as)i(in)m(v)m(ok)m(ed.)41 b Ft(return)25
-b Fu(ma)m(y)i(also)g(b)s(e)f(used)g(to)h(terminate)h(execution)g(of)630
-4162 y(a)34 b(script)g(b)s(eing)g(executed)g(with)g(the)g
-Ft(.)g Fu(\()p Ft(source)p Fu(\))f(builtin,)h(returning)f(either)i
-Fr(n)e Fu(or)h(the)630 4271 y(exit)j(status)f(of)g(the)g(last)h
-(command)e(executed)i(within)e(the)h(script)g(as)g(the)g(exit)h(status)
-630 4381 y(of)i(the)g(script.)65 b(If)38 b Fr(n)g Fu(is)h(supplied,)h
-(the)f(return)e(v)-5 b(alue)39 b(is)g(its)g(least)h(signi\014can)m(t)g
-(8)f(bits.)630 4491 y(An)m(y)g(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
-4600 y(resumes)29 b(after)h(the)g(function)g(or)g(script.)40
-b(The)29 b(return)g(status)h(is)g(non-zero)g(if)g Ft(return)e
-Fu(is)630 4710 y(supplied)h(a)i(non-n)m(umeric)g(argumen)m(t)g(or)f(is)
-h(used)f(outside)h(a)g(function)f(and)g(not)h(during)630
-4819 y(the)g(execution)g(of)g(a)f(script)h(b)m(y)f Ft(.)g
-Fu(or)g Ft(source)p Fu(.)150 4970 y Ft(shift)870 5100
-y(shift)46 b([)p Fj(n)p Ft(])630 5230 y Fu(Shift)41 b(the)g(p)s
-(ositional)h(parameters)g(to)g(the)f(left)h(b)m(y)g Fr(n)p
-Fu(.)73 b(The)40 b(p)s(ositional)j(parameters)630 5340
-y(from)34 b Fr(n)p Ft(+)p Fu(1)39 b(.)22 b(.)h(.)45 b
-Ft($#)34 b Fu(are)g(renamed)g(to)h Ft($1)k Fu(.)22 b(.)g(.)46
-b Ft($#)p Fu(-)p Fr(n)p Fu(.)51 b(P)m(arameters)36 b(represen)m(ted)e
-(b)m(y)g(the)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(n)m(um)m(b)s(ers)31
-b Ft($#)i Fu(do)m(wn)f(to)i Ft($#)p Fu(-)p Fr(n)p Ft(+)p
-Fu(1)e(are)h(unset.)48 b Fr(n)32 b Fu(m)m(ust)h(b)s(e)f(a)h
-(non-negativ)m(e)i(n)m(um)m(b)s(er)d(less)630 408 y(than)g(or)g(equal)h
-(to)g Ft($#)p Fu(.)46 b(If)31 b Fr(n)h Fu(is)g(zero)h(or)f(greater)i
-(than)e Ft($#)p Fu(,)g(the)h(p)s(ositional)g(parameters)630
-518 y(are)e(not)h(c)m(hanged.)43 b(If)31 b Fr(n)g Fu(is)g(not)g
-(supplied,)f(it)i(is)f(assumed)f(to)i(b)s(e)f(1.)43 b(The)31
-b(return)f(status)630 628 y(is)g(zero)i(unless)d Fr(n)h
-Fu(is)g(greater)i(than)e Ft($#)g Fu(or)g(less)h(than)f(zero,)i
-(non-zero)e(otherwise.)150 790 y Ft(test)150 899 y([)870
-1035 y(test)47 b Fj(expr)630 1171 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
-1281 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
-1390 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
-1500 y(Expressions],)39 b(page)g(99.)64 b Ft(test)37
-b Fu(do)s(es)g(not)h(accept)i(an)m(y)e(options,)i(nor)e(do)s(es)f(it)h
-(accept)630 1610 y(and)30 b(ignore)h(an)f(argumen)m(t)h(of)f
-Ft(--)g Fu(as)h(signifying)f(the)h(end)f(of)g(options.)630
-1745 y(When)g(the)h Ft([)f Fu(form)g(is)g(used,)g(the)g(last)i(argumen)
-m(t)e(to)i(the)e(command)g(m)m(ust)h(b)s(e)e(a)i Ft(])p
-Fu(.)630 1881 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
-1991 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 2101 y(b)s(elo)m(w.)41 b(Op)s(erator)30
-b(precedence)h(is)f(used)g(when)f(there)i(are)f(\014v)m(e)h(or)f(more)h
-(argumen)m(ts.)630 2263 y Ft(!)f Fj(expr)210 b Fu(T)-8
-b(rue)30 b(if)g Fr(expr)37 b Fu(is)30 b(false.)630 2425
-y Ft(\()g Fj(expr)f Ft(\))133 b Fu(Returns)23 b(the)i(v)-5
-b(alue)25 b(of)f Fr(expr)p Fu(.)38 b(This)24 b(ma)m(y)h(b)s(e)e(used)h
-(to)h(o)m(v)m(erride)g(the)g(normal)1110 2534 y(precedence)31
-b(of)f(op)s(erators.)630 2697 y Fj(expr1)f Ft(-a)h Fj(expr2)1110
-2806 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 2968
-y Fj(expr1)f Ft(-o)h Fj(expr2)1110 3078 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 3240 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 3350 y(based)30 b(on)g(the)h(n)m(um)m
-(b)s(er)e(of)h(argumen)m(ts.)630 3512 y(0)h(argumen)m(ts)1110
-3622 y(The)f(expression)g(is)g(false.)630 3784 y(1)h(argumen)m(t)1110
-3893 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 4056 y(2)h(argumen)m(ts)1110
-4165 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
-4275 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
-4384 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f([Bash)g
-(Conditional)g(Expres-)1110 4494 y(sions],)34 b(page)f(99\),)i(the)e
-(expression)f(is)h(true)g(if)g(the)g(unary)e(test)j(is)f(true.)47
-b(If)1110 4604 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
-4713 y(false.)630 4875 y(3)e(argumen)m(ts)1110 4985 y(The)f(follo)m
-(wing)i(conditions)f(are)f(applied)h(in)f(the)g(order)g(listed.)1159
-5121 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 5230 y(tors)c(\(see)h
-(Section)g(6.4)g([Bash)g(Conditional)f(Expressions],)h(page)f(99\),)
-1290 5340 y(the)d(result)g(of)f(the)h(expression)g(is)g(the)f(result)h
-(of)g(the)g(binary)f(test)h(using)p eop end
+Fu(argumen)m(ts)d(are)630 4661 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 4770 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 4880 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 4989 y(as)31 b(input.)630
+5121 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 5230 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 5340
+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.)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)1290 299 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
-408 y(op)s(erators)24 b(are)g(considered)g(binary)f(op)s(erators)h
-(when)f(there)h(are)h(three)1290 518 y(argumen)m(ts.)1159
-650 y(2.)61 b(If)41 b(the)h(\014rst)e(argumen)m(t)i(is)f(`)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y(The)31
+b(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 408 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 518 y(supplied)29 b(with)h(a)h(name)f
+(that)h(is)g(not)f(a)h(shell)g(function.)150 689 y Ft(return)870
+829 y(return)46 b([)p Fj(n)p Ft(])630 969 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
+1078 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
+1188 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
+1297 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 1407
+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
+1517 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
+1626 y(in)m(v)m(ok)m(ed.)630 1766 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 1876 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
+1985 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
+2095 y(return)e(v)-5 b(alue)31 b(is)g(its)f(least)i(signi\014can)m(t)f
+(8)g(bits.)630 2235 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
+2345 y(resumes)30 b(after)h(the)f(function)g(or)h(script.)630
+2485 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
+2594 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 2704 y Ft(source)p Fu(.)150 2874 y Ft(shift)870
+3014 y(shift)46 b([)p Fj(n)p Ft(])630 3154 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
+3264 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 3373 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 3483 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
+3593 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
+3702 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
+3873 y Ft(test)150 3982 y([)870 4122 y(test)47 b Fj(expr)630
+4262 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 4372 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
+4482 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
+4591 y(Expressions],)35 b(page)h(103.)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 4701 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 4810 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 4950 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 5060 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 5170 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.)630 5340 y Ft(!)f Fj(expr)210
+b Fu(T)-8 b(rue)30 b(if)g Fr(expr)37 b Fu(is)30 b(false.)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(\()30
+b 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 408 y(op)s(erator)31 b(precedence.)630
+578 y Fj(expr1)e Ft(-a)h Fj(expr2)1110 687 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 857 y Fj(expr1)f Ft(-o)h Fj(expr2)1110
+966 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 1136 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
+1245 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
+1415 y(0)h(argumen)m(ts)1110 1524 y(The)f(expression)g(is)g(false.)630
+1694 y(1)h(argumen)m(t)1110 1803 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
+1973 y(2)h(argumen)m(ts)1110 2082 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 2192 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 2301 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
+([Bash)g(Conditional)g(Expres-)1110 2411 y(sions],)30
+b(page)h(103\),)g(the)f(expression)g(is)f(true)h(if)f(the)h(unary)f
+(test)h(is)g(true.)40 b(If)1110 2521 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 2630 y(false.)630 2800 y(3)e(argumen)m(ts)1110
+2909 y(The)f(follo)m(wing)i(conditions)f(are)f(applied)h(in)f(the)g
+(order)g(listed.)1159 3049 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
+3158 y(tors)21 b(\(see)i(Section)f(6.4)g([Bash)g(Conditional)f
+(Expressions],)i(page)f(103\),)1290 3268 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
+3377 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 3487 y(op)s(erators)24 b(are)g(considered)g(binary)f(op)s
+(erators)h(when)f(there)h(are)h(three)1290 3597 y(argumen)m(ts.)1159
+3736 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 760 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 892 y(3.)61 b(If)35
+1290 3846 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 3985 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 1002
+Fu(')f(and)f(the)g(third)g(argumen)m(t)h(is)1290 4095
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 1112 y(argumen)m(t.)1159
-1244 y(4.)61 b(Otherwise,)30 b(the)h(expression)f(is)g(false.)630
-1399 y(4)h(argumen)m(ts)1110 1509 y(The)f(follo)m(wing)i(conditions)f
-(are)f(applied)h(in)f(the)g(order)g(listed.)1159 1641
+(t)i(test)f(of)f(the)h(second)1290 4204 y(argumen)m(t.)1159
+4344 y(4.)61 b(Otherwise,)30 b(the)h(expression)f(is)g(false.)630
+4513 y(4)h(argumen)m(ts)1110 4623 y(The)f(follo)m(wing)i(conditions)f
+(are)f(applied)h(in)f(the)g(order)g(listed.)1159 4762
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
-1751 y(three-argumen)m(t)k(expression)e(comp)s(osed)g(of)h(the)g
-(remaining)g(argu-)1290 1861 y(men)m(ts.)1159 1993 y(2.)61
+4872 y(three-argumen)m(t)k(expression)e(comp)s(osed)g(of)h(the)g
+(remaining)g(argu-)1290 4981 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
-2103 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 2212
-y(and)30 b(third)f(argumen)m(ts.)1159 2345 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 2454 y(precedence)31 b(using)f(the)g(rules)g
-(listed)h(ab)s(o)m(v)m(e.)630 2609 y(5)g(or)f(more)h(argumen)m(ts)1110
-2719 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
-b(aluated)45 b(according)f(to)f(precedence)1110 2829
-y(using)30 b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
-2984 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 3093 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
-3203 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 3335 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
-3445 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 3555 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 3664 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 3774 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 3883 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 4016 y Ft(test)47 b(-n)g(string1)f(&&)h
-(test)f(-n)i(string2)630 4148 y Fu(instead)31 b(of)870
-4281 y Ft(test)47 b(-n)g(string1)f(-a)h(-n)g(string2)150
-4436 y(times)870 4568 y(times)630 4701 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 4810 y(return)29
-b(status)i(is)f(zero.)150 4966 y Ft(trap)870 5098 y(trap)47
-b([-Plp])f([)p Fj(action)p Ft(])f([)p Fj(sigspec)h Ft(...)o(])630
-5230 y Fu(The)40 b Fr(action)i Fu(is)e(a)h(command)f(that)h(is)f(read)h
-(and)e(executed)j(when)d(the)i(shell)f(receiv)m(es)630
-5340 y(signal)30 b Fr(sigsp)s(ec)p Fu(.)40 b(If)29 b
-Fr(action)h Fu(is)f(absen)m(t)h(\(and)f(there)g(is)g(a)g(single)h
-Fr(sigsp)s(ec)6 b Fu(\))29 b(or)g(equal)h(to)g(`)p Ft(-)p
-Fu(',)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(eac)m(h)28
-b(sp)s(eci\014ed)e(signal's)h(disp)s(osition)f(is)h(reset)g(to)g(the)g
-(v)-5 b(alue)27 b(it)g(had)f(when)f(the)i(shell)g(w)m(as)630
-408 y(started.)43 b(If)30 b Fr(action)j Fu(is)e(the)g(n)m(ull)f
-(string,)i(then)e(the)i(signal)f(sp)s(eci\014ed)f(b)m(y)h(eac)m(h)h
-Fr(sigsp)s(ec)37 b Fu(is)630 518 y(ignored)30 b(b)m(y)h(the)f(shell)h
-(and)f(commands)g(it)h(in)m(v)m(ok)m(es.)630 653 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 763 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 872 y(restore)g(the)g(curren)
-m(t)g(signal)g(disp)s(ositions.)40 b(If)28 b Fr(action)i
-Fu(is)f(not)f(presen)m(t)h(and)f Ft(-p)g Fu(has)h(b)s(een)630
-982 y(supplied,)39 b Ft(trap)e Fu(displa)m(ys)i(the)f(trap)h(commands)f
-(asso)s(ciated)h(with)f(eac)m(h)i Fr(sigsp)s(ec)p Fu(,)h(or,)630
-1091 y(if)32 b(no)g Fr(sigsp)s(ec)6 b Fu(s)32 b(are)h(supplied,)e(for)h
-(all)h(trapp)s(ed)e(signals,)j(as)e(a)h(set)g(of)f Ft(trap)f
-Fu(commands)630 1201 y(that)44 b(can)g(b)s(e)f(reused)g(as)g(shell)h
-(input)f(to)h(restore)g(the)g(curren)m(t)f(signal)h(disp)s(ositions.)
-630 1310 y(The)31 b Ft(-P)g Fu(option)g(b)s(eha)m(v)m(es)h(similarly)-8
-b(,)33 b(but)e(displa)m(ys)g(only)g(the)h(actions)g(asso)s(ciated)h
-(with)630 1420 y(eac)m(h)43 b Fr(sigsp)s(ec)k Fu(argumen)m(t.)74
-b Ft(-P)41 b Fu(requires)g(at)h(least)h(one)f Fr(sigsp)s(ec)47
-b Fu(argumen)m(t.)75 b(The)41 b Ft(-P)630 1530 y Fu(or)34
-b Ft(-p)f Fu(options)h(to)g Ft(trap)e Fu(ma)m(y)j(b)s(e)e(used)g(in)g
-(a)h(subshell)f(en)m(vironmen)m(t)h(\(e.g.,)i(command)630
-1639 y(substitution\))k(and,)j(as)d(long)h(as)g(they)g(are)f(used)g(b)s
-(efore)g Ft(trap)f Fu(is)h(used)g(to)h(c)m(hange)h(a)630
-1749 y(signal's)31 b(handling,)f(will)h(displa)m(y)f(the)h(state)h(of)e
-(its)h(paren)m(t's)g(traps.)630 1884 y(The)21 b Ft(-l)f
-Fu(option)i(causes)g Ft(trap)e Fu(to)i(prin)m(t)f(a)g(list)h(of)g
-(signal)g(names)f(and)g(their)g(corresp)s(onding)630
-1993 y(n)m(um)m(b)s(ers.)37 b(Eac)m(h)24 b Fr(sigsp)s(ec)30
-b Fu(is)23 b(either)i(a)f(signal)g(name)g(or)f(a)h(signal)h(n)m(um)m(b)
-s(er.)37 b(Signal)24 b(names)630 2103 y(are)31 b(case)g(insensitiv)m(e)
-h(and)d(the)i Ft(SIG)e Fu(pre\014x)h(is)g(optional.)630
-2238 y(If)f(a)g Fr(sigsp)s(ec)35 b Fu(is)30 b Ft(0)f
-Fu(or)g Ft(EXIT)p Fu(,)f Fr(action)j Fu(is)e(executed)h(when)f(the)g
-(shell)g(exits.)42 b(If)28 b(a)i Fr(sigsp)s(ec)35 b Fu(is)630
-2347 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
-2457 y Fu(command,)29 b Ft(select)d Fu(command,)j(\(\()g(arithmetic)h
-(command,)e([[)h(conditional)h(command,)630 2567 y(arithmetic)44
+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: 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)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: 58 64
+TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(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 2676 y(function.)d(Refer)31
-b(to)g(the)f(description)h(of)f(the)h Ft(extdebug)d Fu(option)j(to)g
-(the)f Ft(shopt)f Fu(builtin)630 2786 y(\(see)35 b(Section)g(4.3.2)g
-([The)f(Shopt)f(Builtin],)j(page)f(74\))g(for)f(details)h(of)f(its)g
-(e\013ect)i(on)e(the)630 2895 y Ft(DEBUG)25 b Fu(trap.)39
-b(If)26 b(a)g Fr(sigsp)s(ec)32 b Fu(is)26 b Ft(RETURN)p
-Fu(,)g Fr(action)i Fu(is)e(executed)h(eac)m(h)g(time)g(a)g(shell)f
-(function)630 3005 y(or)k(a)h(script)f(executed)i(with)e(the)g
-Ft(.)g Fu(or)h Ft(source)d Fu(builtins)i(\014nishes)f(executing.)630
-3140 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 3249 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 3359 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 3469
-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 3578
-y Fu(or)h Ft(while)f Fu(k)m(eyw)m(ord,)j(part)e(of)g(the)g(test)h
+(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(76\))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 3688 y(of)37 b(a)g(command)f(executed)i(in)e(a)h
+(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 3797 y(\014nal)f Ft(&&)f Fu(or)h Ft(||)p
-Fu(,)i(an)m(y)e(command)g(in)g(a)g(pip)s(eline)g(but)f(the)i(last,)i
-(or)d(if)g(the)g(command's)630 3907 y(return)31 b(status)i(is)f(b)s
-(eing)f(in)m(v)m(erted)i(using)f Ft(!)p Fu(.)46 b(These)32
-b(are)g(the)h(same)f(conditions)h(ob)s(ey)m(ed)630 4016
-y(b)m(y)d(the)h Ft(errexit)d Fu(\()p Ft(-e)p Fu(\))j(option.)630
-4151 y(Signals)23 b(ignored)h(up)s(on)e(en)m(try)h(to)h(a)g(non-in)m
-(teractiv)m(e)i(shell)d(cannot)h(b)s(e)f(trapp)s(ed)f(or)h(reset.)630
-4261 y(In)m(teractiv)m(e)i(shells)d(p)s(ermit)f(trapping)h(signals)h
-(ignored)f(on)g(en)m(try)-8 b(.)39 b(T)-8 b(rapp)s(ed)21
-b(signals)h(that)630 4371 y(are)30 b(not)g(b)s(eing)f(ignored)h(are)g
-(reset)g(to)g(their)g(original)g(v)-5 b(alues)30 b(in)g(a)g(subshell)e
-(or)i(subshell)630 4480 y(en)m(vironmen)m(t)h(when)e(one)i(is)f
-(created.)630 4615 y(The)g(return)f(status)i(is)f(zero)h(unless)f(a)h
-Fr(sigsp)s(ec)36 b Fu(do)s(es)30 b(not)h(sp)s(ecify)f(a)g(v)-5
-b(alid)31 b(signal.)150 4775 y Ft(true)870 4910 y(true)630
-5045 y Fu(Do)s(es)g(nothing,)g(returns)e(a)h(0)h(status.)150
-5205 y Ft(umask)870 5340 y(umask)46 b([-p])h([-S])g([)p
-Fj(mode)p Ft(])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(Set)30
+(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 408 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s
+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 518 y(mask)i(similar)g(to)g(that)h
-(accepted)g(b)m(y)f(the)g Ft(chmod)e Fu(command.)40 b(If)28
-b Fr(mo)s(de)34 b Fu(is)28 b(omitted,)j(the)630 628 y(curren)m(t)39
-b(v)-5 b(alue)40 b(of)f(the)g(mask)g(is)h(prin)m(ted.)66
-b(If)39 b(the)g Ft(-S)g Fu(option)g(is)h(supplied)d(without)j(a)630
-737 y Fr(mo)s(de)d Fu(argumen)m(t,)d(the)e(mask)g(is)h(prin)m(ted)f(in)
-g(a)g(sym)m(b)s(olic)h(format.)47 b(If)32 b(the)g Ft(-p)g
-Fu(option)h(is)630 847 y(supplied,)f(and)f Fr(mo)s(de)37
-b Fu(is)32 b(omitted,)i(the)f(output)f(is)g(in)g(a)g(form)g(that)h(ma)m
-(y)g(b)s(e)e(reused)h(as)630 956 y(input.)62 b(The)38
-b(return)f(status)h(is)g(zero)g(if)g(the)g(mo)s(de)g(is)g(successfully)
-g(c)m(hanged)g(or)g(if)g(no)630 1066 y Fr(mo)s(de)d Fu(argumen)m(t)c
-(is)f(supplied,)g(and)f(non-zero)i(otherwise.)630 1198
-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
-1307 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 1417 y(of)d Ft(755)p Fu(.)150 1570 y
-Ft(unset)870 1702 y(unset)46 b([-fnv])g([)p Fj(name)p
-Ft(])630 1833 y Fu(Remo)m(v)m(e)36 b(eac)m(h)f(v)-5 b(ariable)35
-b(or)f(function)f Fr(name)p Fu(.)52 b(If)33 b(the)i Ft(-v)e
-Fu(option)h(is)g(giv)m(en,)j(eac)m(h)e Fr(name)630 1943
-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 2052 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
-2162 y(the)34 b Ft(-n)e Fu(option)i(is)f(supplied,)h(and)e
+(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: 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(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 2272 y Fr(name)42 b Fu(will)37
+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
-2381 y(the)h Ft(-f)g Fu(option)g(is)h(supplied.)65 b(If)39
+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 2491 y(v)-5 b(ariable;)45 b(if)39
-b(there)g(is)g(no)g(v)-5 b(ariable)40 b(b)m(y)f(that)h(name,)h(a)f
-(function)f(with)g(that)g(name,)j(if)630 2600 y(an)m(y)-8
-b(,)34 b(is)e(unset.)46 b(Readonly)33 b(v)-5 b(ariables)33
-b(and)f(functions)g(ma)m(y)h(not)f(b)s(e)g(unset.)46
-b(Some)33 b(shell)630 2710 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 2820 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 2929 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m
-(y)g(not)f(b)s(e)g(unset.)150 3164 y Fs(4.2)68 b(Bash)45
-b(Builtin)g(Commands)150 3323 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 3433 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 3586 y Ft(alias)870 3718 y(alias)46
-b([-p])h([)p Fj(name)p Ft([=)p Fj(value)p Ft(])d(...)o(])630
-3849 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 3959 y(standard)g(output)g(in)g(a)h(form)f
+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 4069 y(are)j(supplied,)e(an)i(alias)g(is)f
-(de\014ned)f(for)h(eac)m(h)h Fr(name)33 b Fu(whose)27
-b Fr(v)-5 b(alue)33 b Fu(is)27 b(giv)m(en.)41 b(If)26
-b(no)h Fr(v)-5 b(alue)630 4178 y Fu(is)37 b(giv)m(en,)j(the)d(name)g
-(and)g(v)-5 b(alue)37 b(of)h(the)f(alias)h(is)f(prin)m(ted.)61
-b(Aliases)38 b(are)f(describ)s(ed)f(in)630 4288 y(Section)31
-b(6.6)h([Aliases],)g(page)f(103.)150 4441 y Ft(bind)870
-4573 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lsvSVX])870
-4682 y(bind)i([-m)g Fj(keymap)p Ft(])e([-q)i Fj(function)p
+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(107.)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
-4792 y(bind)g([-m)g Fj(keymap)p Ft(])e(-f)j Fj(filename)870
-4902 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e(-x)j Fj(keyseq[:)d
-(]shell-command)870 5011 y Ft(bind)i([-m)g Fj(keymap)p
-Ft(])e Fj(keyseq:function-name)870 5121 y Ft(bind)i([-m)g
-Fj(keymap)p Ft(])e Fj(keyseq:readline-command)870 5230
+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 5340 y(bind)g Fj(readline-command-line)p eop
-end
-%%Page: 58 64
-TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(Displa)m(y)22
-b(curren)m(t)f(Readline)h(\(see)f(Chapter)g(8)g([Command)f(Line)h
-(Editing],)j(page)e(122\))g(k)m(ey)630 408 y(and)36 b(function)g
-(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g(to)h(a)f(Readline)g
-(function)f(or)h(macro,)630 518 y(or)44 b(set)h(a)g(Readline)f(v)-5
-b(ariable.)83 b(Eac)m(h)45 b(non-option)g(argumen)m(t)f(is)g(a)h
-(command)f(as)g(it)630 628 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)g
-(initialization)i(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)630
-737 y(File],)c(page)d(125\),)j(but)c(eac)m(h)h(binding)f(or)g(command)h
-(m)m(ust)f(b)s(e)g(passed)g(as)h(a)g(separate)630 847
-y(argumen)m(t;)31 b(e.g.,)h(`)p Ft("\\C-x\\C-r":re-read-init-f)o(ile)p
-Fu('.)630 981 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m
-(wing)h(meanings:)630 1139 y Ft(-m)e Fj(keymap)66 b Fu(Use)54
+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(127\))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(130\),)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: 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(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 1249 y(bindings.)46 b(Acceptable)34
+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 1358 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)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 1468 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44
+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 1577 y(synon)m(ym\);)30
+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 1736 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 1894 y Ft(-p)384 b Fu(Displa)m(y)34
+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 2004 y(they)h(can)g(b)s(e)f(used)f(as)i(an)g
+(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
-2113 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 2223
+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 2332 y(restricts)i(output)f(to)h
-(those)g(names.)630 2491 y Ft(-P)384 b Fu(List)36 b(curren)m(t)f
+(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 2600 y(remain)d(after)h(option)f(pro)s(cessing,)h
+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
-2710 y(mand)e(names)g(and)g(restricts)h(output)f(to)h(those)g(names.)
-630 2868 y Ft(-v)384 b Fu(Displa)m(y)25 b(Readline)f(v)-5
+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 2978 y(can)33 b(b)s(e)e(used)h(as)g(an)g
+(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 3087 y(a)f(Readline)g(initialization)i(\014le.)630
-3246 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 3404 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 3513 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 3623 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 3781 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
-3891 y(they)31 b(output.)630 4049 y Ft(-f)f Fj(filename)1110
-4159 y Fu(Read)h(k)m(ey)g(bindings)e(from)h Fr(\014lename)p
-Fu(.)630 4317 y Ft(-q)g Fj(function)1110 4427 y Fu(Query)g(ab)s(out)g
-(whic)m(h)g(k)m(eys)h(in)m(v)m(ok)m(e)h(the)f(named)f
-Fr(function)p Fu(.)630 4585 y Ft(-u)g Fj(function)1110
-4695 y Fu(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i(the)f(named)g
-Fr(function)p Fu(.)630 4853 y Ft(-r)g Fj(keyseq)66 b
+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 5011 y Ft(-x)g Fj(keyseq:shell-command)1110
-5121 y Fu(Cause)35 b Fr(shell-command)k Fu(to)d(b)s(e)f(executed)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
-5230 y(The)c(separator)i(b)s(et)m(w)m(een)g Fr(k)m(eyseq)i
+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
-5340 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)p eop end
-%%Page: 59 65
-TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)1110 299 y(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 408 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 518 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
-628 y(closing)35 b(double)e(quotes)g(are)h(optional,)i(and)d(Readline)h
-(do)s(es)f(not)h(expand)1110 737 y(the)40 b(command)g(string)f(b)s
-(efore)h(sa)m(ving)g(it.)70 b(Since)40 b(the)g(en)m(tire)g(k)m(ey)h
-(bind-)1110 847 y(ing)g(expression)g(m)m(ust)g(b)s(e)f(a)h(single)h
-(argumen)m(t,)i(it)e(should)e(b)s(e)g(enclosed)1110 956
-y(in)k(quotes.)85 b(When)44 b Fr(shell-command)49 b Fu(is)44
-b(executed,)50 b(the)45 b(shell)g(sets)g(the)1110 1066
-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 1176
-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 1285 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 1395 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
-1504 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
-1614 y(no)39 b(argumen)m(t,)j(that)d(v)-5 b(ariable)40
+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: 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)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
-1724 y(c)m(hanges)e(the)e(v)-5 b(alue)37 b(of)g(an)m(y)g(of)g
+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
-1833 y Ft(READLINE_MARK)p Fu(,)i(those)i(new)f(v)-5 b(alues)38
+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
-1943 y(state.)630 2113 y Ft(-X)384 b Fu(List)27 b(all)i(k)m(ey)f
+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 2223 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 2332 y(subsequen)m(t)30
-b Ft(bind)f Fu(command.)630 2503 y(The)d(return)f(status)i(is)f(zero)i
+(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 2673 y Ft(builtin)870 2813 y(builtin)46
-b([)p Fj(shell-builtin)e Ft([)p Fj(args)p Ft(]])630 2953
-y Fu(Run)35 b(a)i(shell)f(builtin,)i(passing)e(it)h Fr(args)p
-Fu(,)h(and)e(return)f(its)i(exit)g(status.)59 b(This)35
-b(is)i(useful)630 3063 y(when)29 b(de\014ning)h(a)g(shell)h(function)f
-(with)g(the)g(same)h(name)f(as)h(a)g(shell)f(builtin,)g(retaining)630
-3173 y(the)k(functionalit)m(y)h(of)f(the)f(builtin)g(within)g(the)h
-(function.)50 b(The)33 b(return)g(status)h(is)f(non-)630
-3282 y(zero)e(if)g Fr(shell-builtin)f Fu(is)g(not)h(a)g(shell)f
-(builtin)g(command.)150 3453 y Ft(caller)870 3593 y(caller)46
-b([)p Fj(expr)p Ft(])630 3733 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 3842 y(executed)c(with)f(the)h Ft(.)f
-Fu(or)g Ft(source)f Fu(builtins\).)630 3982 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 4092
-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
-4201 y Fu(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+(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
-4311 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+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
-4421 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+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
-4561 y(The)d(return)g(v)-5 b(alue)29 b(is)g(0)g(unless)f(the)h(shell)g
+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 4670 y Fu(do)s(es)h(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+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
-4841 y Ft(command)870 4981 y(command)46 b([-pVv])g Fj(command)g
-Ft([)p Fj(arguments)f Ft(...)o(])630 5121 y Fu(Runs)32
-b Fr(command)k Fu(with)d Fr(argumen)m(ts)k Fu(ignoring)c(an)m(y)g
-(shell)h(function)e(named)h Fr(command)p Fu(.)630 5230
-y(Only)39 b(shell)i(builtin)e(commands)h(or)g(commands)f(found)g(b)m(y)
-h(searc)m(hing)h(the)f Ft(PATH)f Fu(are)630 5340 y(executed.)59
-b(If)36 b(there)h(is)f(a)h(shell)f(function)g(named)g
-Ft(ls)p Fu(,)h(running)e(`)p Ft(command)29 b(ls)p Fu(')35
-b(within)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(the)31
-b(function)f(will)h(execute)g(the)g(external)g(command)g
-Ft(ls)f Fu(instead)g(of)h(calling)h(the)f(func-)630 408
-y(tion)36 b(recursiv)m(ely)-8 b(.)56 b(The)34 b Ft(-p)h
-Fu(option)g(means)g(to)h(use)f(a)g(default)h(v)-5 b(alue)35
-b(for)g Ft(PATH)f Fu(that)i(is)630 518 y(guaran)m(teed)f(to)f(\014nd)e
-(all)j(of)f(the)g(standard)f(utilities.)52 b(The)33 b(return)g(status)h
-(in)f(this)h(case)630 628 y(is)29 b(127)g(if)g Fr(command)j
-Fu(cannot)d(b)s(e)e(found)h(or)g(an)g(error)h(o)s(ccurred,)f(and)g(the)
-h(exit)g(status)g(of)630 737 y Fr(command)34 b Fu(otherwise.)630
-870 y(If)e(either)h(the)f Ft(-V)g Fu(or)g Ft(-v)g Fu(option)h(is)f
-(supplied,)g(a)h(description)f(of)h Fr(command)j Fu(is)c(prin)m(ted.)
-630 979 y(The)f Ft(-v)h Fu(option)g(causes)g(a)g(single)h(w)m(ord)f
-(indicating)g(the)g(command)g(or)g(\014le)g(name)g(used)630
-1089 y(to)40 b(in)m(v)m(ok)m(e)h Fr(command)h Fu(to)e(b)s(e)e(displa)m
-(y)m(ed;)44 b(the)39 b Ft(-V)f Fu(option)i(pro)s(duces)d(a)j(more)f(v)m
-(erb)s(ose)630 1199 y(description.)61 b(In)36 b(this)h(case,)j(the)e
-(return)e(status)h(is)g(zero)h(if)f Fr(command)k Fu(is)c(found,)h(and)
-630 1308 y(non-zero)31 b(if)f(not.)150 1464 y Ft(declare)870
-1597 y(declare)46 b([-aAfFgiIlnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 1729 y Fu(Declare)29
+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: 62 68
+TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y(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 1839 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 1972 y(The)k Ft(-p)f Fu(option)i(will)g(displa)m(y)f
-(the)h(attributes)g(and)e(v)-5 b(alues)36 b(of)f(eac)m(h)i
-Fr(name)p Fu(.)55 b(When)36 b Ft(-p)630 2081 y Fu(is)i(used)g(with)g
-Fr(name)43 b Fu(argumen)m(ts,)e(additional)e(options,)i(other)d(than)g
-Ft(-f)g Fu(and)g Ft(-F)p Fu(,)i(are)630 2191 y(ignored.)630
-2323 y(When)g Ft(-p)g Fu(is)g(supplied)f(without)i Fr(name)k
+(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
-2433 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+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 2543 y(tional)k(options.)52 b(If)34
+(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 2652 y(the)e(attributes)h
-(and)e(v)-5 b(alues)33 b(of)g(all)h(shell)f(v)-5 b(ariables.)50
-b(The)32 b Ft(-f)g Fu(option)i(will)f(restrict)h(the)630
-2762 y(displa)m(y)d(to)g(shell)f(functions.)630 2894
+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
-3004 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
+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 3114 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
-(Builtin],)k(page)e(74\),)i(the)d(source)h(\014le)f(name)h(and)630
-3223 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
+630 2555 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+(Builtin],)k(page)e(76\),)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 3356
-y(The)36 b Ft(-g)g Fu(option)h(forces)g(v)-5 b(ariables)37
-b(to)g(b)s(e)f(created)i(or)e(mo)s(di\014ed)g(at)h(the)g(global)h(scop)
-s(e,)630 3465 y(ev)m(en)g(when)e Ft(declare)f Fu(is)j(executed)g(in)f
-(a)g(shell)h(function.)61 b(It)37 b(is)g(ignored)h(in)f(all)h(other)630
-3575 y(cases.)630 3708 y(The)50 b Ft(-I)h Fu(option)g(causes)h(lo)s
-(cal)g(v)-5 b(ariables)51 b(to)h(inherit)f(the)g(attributes)g(\(except)
-i(the)630 3817 y Ft(nameref)43 b Fu(attribute\))j(and)f(v)-5
+(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 3927 y Fu(at)40 b(a)f(surrounding)d
+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
-4036 y(initially)32 b(unset.)630 4169 y(The)27 b(follo)m(wing)h
+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 4279 y(i\014ed)j(attributes)h
+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
-4434 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(is)34
+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 4544 y(page)31 b(103\).)630 4700 y
+([Arra)m(ys],)1110 3995 y(page)31 b(108\).)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 4809 y(page)31 b(103\).)630 4965 y Ft(-f)384
-b Fu(Use)31 b(function)f(names)g(only)-8 b(.)630 5121
-y Ft(-i)384 b Fu(The)36 b(v)-5 b(ariable)37 b(is)f(to)h(b)s(e)f
-(treated)h(as)g(an)f(in)m(teger;)41 b(arithmetic)c(ev)-5
-b(aluation)1110 5230 y(\(see)41 b(Section)f(6.5)h([Shell)e
-(Arithmetic],)44 b(page)c(101\))h(is)f(p)s(erformed)e(when)1110
-5340 y(the)31 b(v)-5 b(ariable)31 b(is)f(assigned)h(a)f(v)-5
-b(alue.)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 Ft(-l)384
+(ys],)1110 4264 y(page)31 b(108\).)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(105\))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
-408 y(con)m(v)m(erted)k(to)f(lo)m(w)m(er-case.)43 b(The)30
-b(upp)s(er-case)g(attribute)h(is)g(disabled.)630 579
+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 689 y(to)32 b(another)g(v)-5 b(ariable.)46 b(That)31
+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)1110 798 y Fr(name)p Fu(.)54 b(All)35
-b(references,)h(assignmen)m(ts,)h(and)d(attribute)h(mo)s(di\014cations)
-g(to)1110 908 y Fr(name)p Fu(,)27 b(except)f(for)f(those)h(using)f(or)g
-(c)m(hanging)h(the)f Ft(-n)g Fu(attribute)h(itself,)i(are)1110
-1017 y(p)s(erformed)22 b(on)h(the)g(v)-5 b(ariable)25
-b(referenced)e(b)m(y)g Fr(name)5 b Fu('s)23 b(v)-5 b(alue.)39
-b(The)23 b(nameref)1110 1127 y(attribute)31 b(cannot)g(b)s(e)f(applied)
-g(to)h(arra)m(y)g(v)-5 b(ariables.)630 1297 y Ft(-r)384
-b Fu(Mak)m(e)25 b Fr(name)5 b Fu(s)23 b(readonly)-8 b(.)39
-b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5
-b(alues)1110 1407 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
-(statemen)m(ts)h(or)f(unset.)630 1577 y Ft(-t)384 b Fu(Giv)m(e)33
-b(eac)m(h)h Fr(name)j Fu(the)32 b Ft(trace)f Fu(attribute.)46
-b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 1687
-y Ft(DEBUG)26 b Fu(and)h Ft(RETURN)f Fu(traps)h(from)g(the)h(calling)h
-(shell.)40 b(The)27 b(trace)i(attribute)1110 1797 y(has)h(no)g(sp)s
-(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 1967 y
-Ft(-u)384 b Fu(When)28 b(the)h(v)-5 b(ariable)29 b(is)f(assigned)h(a)f
-(v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m(haracters)f(are)1110
-2077 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40 b(The)30
-b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630 2247
-y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
+b(alue)32 b(of)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)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
-2357 y(ronmen)m(t.)630 2527 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
-(`)p Ft(-)p Fu(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
-(the)g(exceptions)h(that)630 2637 y(`)p Ft(+a)p Fu(')23
-b(and)f(`)p Ft(+A)p Fu(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m
-(y)g(arra)m(y)f(v)-5 b(ariables)24 b(and)e(`)p Ft(+r)p
-Fu(')h(will)g(not)g(remo)m(v)m(e)630 2746 y(the)36 b(readonly)h
-(attribute.)59 b(When)36 b(used)f(in)h(a)h(function,)g
-Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 2856
-y Fu(lo)s(cal,)e(as)d(with)h(the)f Ft(local)f Fu(command,)j(unless)d
-(the)i Ft(-g)f Fu(option)h(is)f(used.)49 b(If)33 b(a)h(v)-5
-b(ariable)630 2966 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
-Fr(v)-5 b(alue)p Fu(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
-b(ariable)32 b(is)e(set)h(to)g Fr(v)-5 b(alue)p Fu(.)630
-3106 y(When)41 b(using)g Ft(-a)g Fu(or)h Ft(-A)e Fu(and)h(the)h(comp)s
-(ound)e(assignmen)m(t)i(syn)m(tax)g(to)g(create)h(arra)m(y)630
-3215 y(v)-5 b(ariables,)28 b(additional)f(attributes)g(do)f(not)h(tak)m
-(e)h(e\013ect)g(un)m(til)e(subsequen)m(t)g(assignmen)m(ts.)630
-3355 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
-b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f(attempt)630
-3465 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
-Ft(-f)f(foo=bar)p Fu(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
-3574 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+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 3684 y(arra)m(y)30 b(v)-5 b(ariable)30
+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 3794 y([Arra)m(ys],)43 b(page)d(103\),)k
+(\(see)h(Section)f(6.7)630 3348 y([Arra)m(ys],)43 b(page)d(108\),)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
-3903 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+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
-4013 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+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
-4122 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
-Ft(-f)p Fu(.)150 4293 y Ft(echo)870 4433 y(echo)47 b([-neE])f([)p
-Fj(arg)g Ft(...])630 4573 y Fu(Output)31 b(the)i Fr(arg)8
+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 4682 y(status)f(is)f(0)h(unless)f(a)
+(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 4792
-y(suppressed.)38 b(If)29 b(the)h Ft(-e)f Fu(option)h(is)f(giv)m(en,)i
-(in)m(terpretation)g(of)e(the)h(follo)m(wing)h(bac)m(kslash-)630
-4902 y(escap)s(ed)22 b(c)m(haracters)i(is)e(enabled.)38
-b(The)21 b Ft(-E)h Fu(option)g(disables)g(the)h(in)m(terpretation)g(of)
-f(these)630 5011 y(escap)s(e)30 b(c)m(haracters,)i(ev)m(en)f(on)e
-(systems)h(where)g(they)g(are)g(in)m(terpreted)g(b)m(y)g(default.)40
-b(The)630 5121 y Ft(xpg_echo)33 b Fu(shell)i(option)h(ma)m(y)f(b)s(e)g
-(used)f(to)i(dynamically)g(determine)f(whether)g(or)g(not)630
-5230 y Ft(echo)j Fu(in)m(terprets)i(an)m(y)f(options)h(and)f(expands)f
-(these)i(escap)s(e)g(c)m(haracters)g(b)m(y)f(default.)630
-5340 y Ft(echo)29 b Fu(do)s(es)h(not)h(in)m(terpret)g
-Ft(--)e Fu(to)j(mean)e(the)h(end)e(of)i(options.)p eop
-end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y Ft(echo)29
-b Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f(sequences:)630
-460 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 621
-y Ft(\\b)384 b Fu(bac)m(kspace)630 782 y Ft(\\c)g Fu(suppress)28
-b(further)h(output)630 944 y Ft(\\e)630 1053 y(\\E)384
-b Fu(escap)s(e)630 1214 y Ft(\\f)g Fu(form)30 b(feed)630
-1375 y Ft(\\n)384 b Fu(new)30 b(line)630 1537 y Ft(\\r)384
-b Fu(carriage)32 b(return)630 1698 y Ft(\\t)384 b Fu(horizon)m(tal)32
-b(tab)630 1859 y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630
-2020 y Ft(\\\\)384 b Fu(bac)m(kslash)630 2181 y Ft(\\0)p
-Fj(nnn)240 b Fu(the)32 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5
-b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5 b(alue)32 b Fr(nnn)f
-Fu(\(zero)i(to)1110 2291 y(three)e(o)s(ctal)g(digits\))630
-2452 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g
-(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5
-b(alue)39 b Fr(HH)1110 2562 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 2723 y Ft(\\u)p Fj(HHHH)192 b Fu(the)41
-b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5
-b(alue)41 b(is)g(the)g(hex-)1110 2832 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
-2993 y Ft(\\U)p Fj(HHHHHHHH)1110 3103 y Fu(the)41 b(Unico)s(de)g
-(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5 b(alue)41
-b(is)g(the)g(hex-)1110 3213 y(adecimal)32 b(v)-5 b(alue)31
-b Fr(HHHHHHHH)41 b Fu(\(one)31 b(to)g(eigh)m(t)h(hex)e(digits\))150
-3374 y Ft(enable)870 3509 y(enable)46 b([-a])h([-dnps])f([-f)g
-Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 3645
-y Fu(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
-b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630
-3754 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
-(builtin)e(to)i(b)s(e)f(executed)h(without)630 3864 y(sp)s(ecifying)27
-b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)g(shell)g(normally)g
-(searc)m(hes)h(for)f(builtins)630 3973 y(b)s(efore)35
-b(disk)g(commands.)55 b(If)35 b Ft(-n)g Fu(is)g(used,)h(the)g
-Fr(name)5 b Fu(s)35 b(b)s(ecome)h(disabled.)55 b(Otherwise)630
-4083 y Fr(name)5 b Fu(s)44 b(are)h(enabled.)82 b(F)-8
-b(or)45 b(example,)k(to)c(use)f(the)g Ft(test)f Fu(binary)h(found)f
-(via)h Ft($PATH)630 4193 y Fu(instead)31 b(of)f(the)h(shell)f(builtin)g
-(v)m(ersion,)h(t)m(yp)s(e)g(`)p Ft(enable)e(-n)h(test)p
-Fu('.)630 4328 y(If)45 b(the)i Ft(-p)e Fu(option)h(is)g(supplied,)j(or)
-d(no)g Fr(name)51 b Fu(argumen)m(ts)46 b(app)s(ear,)k(a)c(list)h(of)f
-(shell)630 4437 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38
-b(no)f(other)h(argumen)m(ts,)j(the)d(list)g(consists)g(of)g(all)h
-(enabled)630 4547 y(shell)d(builtins.)57 b(The)35 b Ft(-a)h
-Fu(option)g(means)g(to)g(list)h(eac)m(h)g(builtin)f(with)f(an)h
-(indication)h(of)630 4657 y(whether)30 b(or)g(not)h(it)g(is)f(enabled.)
-630 4792 y(The)22 b Ft(-f)f Fu(option)h(means)g(to)h(load)g(the)f(new)g
-(builtin)f(command)h Fr(name)27 b Fu(from)22 b(shared)f(ob)5
-b(ject)630 4902 y Fr(\014lename)p Fu(,)41 b(on)d(systems)g(that)g(supp)
-s(ort)f(dynamic)h(loading.)65 b(Bash)38 b(will)g(use)g(the)g(v)-5
-b(alue)630 5011 y(of)28 b(the)g Ft(BASH_LOADABLES_PATH)23
-b Fu(v)-5 b(ariable)28 b(as)h(a)f(colon-separated)i(list)e(of)g
-(directories)h(in)630 5121 y(whic)m(h)c(to)g(searc)m(h)h(for)e
-Fr(\014lename)p Fu(,)j(if)e Fr(\014lename)30 b Fu(do)s(es)24
-b(not)h(con)m(tain)i(a)e(slash.)39 b(The)24 b(default)h(is)630
-5230 y(system-dep)s(enden)m(t,)d(and)e(ma)m(y)h(include)f
-Ft(")p Fu(.)p Ft(")g Fu(to)h(force)g(a)g(searc)m(h)g(of)g(the)g(curren)
-m(t)f(directory)-8 b(.)630 5340 y(The)30 b Ft(-d)g Fu(option)g(will)h
-(delete)h(a)f(builtin)e(loaded)i(with)f Ft(-f)p Fu(.)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)33
-b(there)i(are)f(no)g(options,)h(a)f(list)h(of)f(the)g(shell)g(builtins)
-g(is)g(displa)m(y)m(ed.)52 b(The)33 b Ft(-s)g Fu(option)630
-408 y(restricts)j Ft(enable)d Fu(to)j(the)f Fm(posix)f
-Fu(sp)s(ecial)i(builtins.)54 b(If)34 b Ft(-s)h Fu(is)g(used)f(with)g
-Ft(-f)p Fu(,)i(the)f(new)630 518 y(builtin)30 b(b)s(ecomes)h(a)f(sp)s
-(ecial)h(builtin)f(\(see)i(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g
-(page)g(80\).)630 650 y(If)24 b(no)g(options)h(are)g(supplied)e(and)h
+(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: 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)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: 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(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(82\).)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 759 y(to)c(load)g Fr(name)26 b
+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
-869 y(-f)30 b Fj(name)f(name)p Fu('.)630 1000 y(The)d(return)f(status)h
+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 1110 y(loading)31
+(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
-1263 y Ft(help)870 1395 y(help)47 b([-dms])f([)p Fj(pattern)p
-Ft(])630 1526 y Fu(Displa)m(y)40 b(helpful)e(information)h(ab)s(out)g
+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 1636 y Ft(help)28 b Fu(giv)m(es)i(detailed)g(help)e(on)h(all)h
-(commands)e(matc)m(hing)i Fr(pattern)p Fu(,)g(otherwise)f(a)g(list)h
-(of)630 1745 y(the)h(builtins)e(is)i(prin)m(ted.)630
-1877 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 2030 y Ft(-d)384 b Fu(Displa)m(y)32 b(a)e(short)g
-(description)h(of)f(eac)m(h)i Fr(pattern)630 2184 y Ft(-m)384
-b Fu(Displa)m(y)32 b(the)e(description)g(of)h(eac)m(h)h
-Fr(pattern)e Fu(in)g(a)h(manpage-lik)m(e)h(format)630
-2337 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(a)h(short)f(usage)h
-(synopsis)e(for)i(eac)m(h)g Fr(pattern)630 2491 y Fu(The)f(return)f
+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 2644 y Ft(let)870 2776 y(let)47
+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
-2907 y Fu(The)c Ft(let)g Fu(builtin)g(allo)m(ws)i(arithmetic)f(to)h(b)s
+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 3017 y Fr(expression)31 b Fu(is)g(ev)-5
-b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)h(b)s(elo)m(w)f
-(in)f(Section)i(6.5)g([Shell)630 3126 y(Arithmetic],)47
-b(page)c(101.)78 b(If)41 b(the)i(last)g Fr(expression)f
-Fu(ev)-5 b(aluates)44 b(to)f(0,)j Ft(let)41 b Fu(returns)g(1;)630
-3236 y(otherwise)31 b(0)g(is)f(returned.)150 3389 y Ft(local)870
-3521 y(local)46 b([)p Fj(option)p Ft(])g Fj(name)p Ft([=)p
-Fj(value)p Ft(])e(...)630 3652 y Fu(F)-8 b(or)27 b(eac)m(h)g(argumen)m
-(t,)g(a)f(lo)s(cal)h(v)-5 b(ariable)27 b(named)e Fr(name)31
-b Fu(is)26 b(created,)i(and)d(assigned)h Fr(v)-5 b(alue)p
-Fu(.)630 3762 y(The)28 b Fr(option)i Fu(can)f(b)s(e)f(an)m(y)i(of)f
-(the)g(options)g(accepted)i(b)m(y)d Ft(declare)p Fu(.)39
-b Ft(local)27 b Fu(can)i(only)h(b)s(e)630 3871 y(used)20
-b(within)g(a)h(function;)j(it)d(mak)m(es)g(the)g(v)-5
-b(ariable)22 b Fr(name)k Fu(ha)m(v)m(e)21 b(a)g(visible)h(scop)s(e)e
-(restricted)630 3981 y(to)28 b(that)g(function)f(and)g(its)h(c)m
-(hildren.)39 b(If)27 b Fr(name)33 b Fu(is)27 b(`)p Ft(-)p
-Fu(',)i(the)f(set)f(of)h(shell)g(options)f(is)h(made)630
-4091 y(lo)s(cal)40 b(to)f(the)f(function)g(in)g(whic)m(h)h
-Ft(local)e Fu(is)h(in)m(v)m(ok)m(ed:)58 b(shell)39 b(options)f(c)m
-(hanged)h(using)630 4200 y(the)31 b Ft(set)f Fu(builtin)h(inside)g(the)
-g(function)f(after)i(the)f(call)h(to)g Ft(local)e Fu(are)h(restored)g
-(to)h(their)630 4310 y(original)h(v)-5 b(alues)33 b(when)e(the)i
-(function)f(returns.)45 b(The)32 b(restore)h(is)f(e\013ected)i(as)f(if)
-f(a)h(series)630 4419 y(of)c Ft(set)f Fu(commands)h(w)m(ere)g(executed)
-h(to)g(restore)f(the)g(v)-5 b(alues)30 b(that)f(w)m(ere)h(in)e(place)i
-(b)s(efore)630 4529 y(the)f(function.)40 b(The)28 b(return)f(status)i
-(is)g(zero)g(unless)f Ft(local)f Fu(is)h(used)g(outside)h(a)g
-(function,)630 4639 y(an)h(in)m(v)-5 b(alid)31 b Fr(name)36
-b Fu(is)30 b(supplied,)f(or)i Fr(name)k Fu(is)c(a)g(readonly)f(v)-5
-b(ariable.)150 4792 y Ft(logout)870 4924 y(logout)46
-b([)p Fj(n)p Ft(])630 5055 y Fu(Exit)31 b(a)g(login)g(shell,)g
+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(105.)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.)150 5208 y Ft(mapfile)870 5340 y(mapfile)46 b([-d)h
-Fj(delim)p Ft(])f([-n)h Fj(count)p Ft(])f([-O)h Fj(origin)p
-Ft(])f([-s)g Fj(count)p Ft(])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)1061 299 y
-Ft([-t])47 b([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
+(t.)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)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
-434 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 544 y(from)28 b(\014le)h(descriptor)f Fr(fd)k
-Fu(if)c(the)h Ft(-u)f Fu(option)h(is)g(supplied.)39 b(The)28
-b(v)-5 b(ariable)29 b Ft(MAPFILE)e Fu(is)i(the)630 653
-y(default)i Fr(arra)m(y)p Fu(.)41 b(Options,)30 b(if)g(supplied,)g(ha)m
-(v)m(e)h(the)g(follo)m(wing)h(meanings:)630 814 y Ft(-d)384
-b Fu(The)37 b(\014rst)g(c)m(haracter)i(of)f Fr(delim)g
-Fu(is)f(used)g(to)h(terminate)h(eac)m(h)g(input)d(line,)1110
-924 y(rather)41 b(than)h(newline.)74 b(If)41 b Fr(delim)h
-Fu(is)g(the)f(empt)m(y)h(string,)j Ft(mapfile)40 b Fu(will)1110
-1033 y(terminate)31 b(a)g(line)g(when)e(it)i(reads)f(a)h(NUL)g(c)m
-(haracter.)630 1194 y Ft(-n)384 b Fu(Cop)m(y)30 b(at)h(most)g
-Fr(coun)m(t)i Fu(lines.)41 b(If)30 b Fr(coun)m(t)j Fu(is)d(0,)h(all)h
-(lines)e(are)h(copied.)630 1355 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
-1515 y Ft(-s)384 b Fu(Discard)31 b(the)f(\014rst)g Fr(coun)m(t)j
-Fu(lines)e(read.)630 1676 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 1837 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 1998 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
-2107 y(sp)s(eci\014es)30 b Fr(quan)m(tum)p Fu(.)630 2268
-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 2429 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 2538 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
-2648 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 2757 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
-2892 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+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 3002 y(to)31 b(it.)630 3137 y Ft(mapfile)41
-b Fu(returns)g(successfully)i(unless)e(an)i(in)m(v)-5
-b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630
-3247 y(supplied,)29 b Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5
-b(alid)31 b(or)g(unassignable,)f(or)h Fr(arra)m(y)38
-b Fu(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150
-3408 y Ft(printf)870 3543 y(printf)46 b([-v)h Fj(var)p
-Ft(])g Fj(format)f Ft([)p Fj(arguments)p Ft(])630 3678
-y Fu(W)-8 b(rite)27 b(the)g(formatted)f Fr(argumen)m(ts)k
-Fu(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
-630 3787 y Fr(format)p Fu(.)66 b(The)39 b Ft(-v)f Fu(option)h(causes)g
-(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h(the)f(v)-5
-b(ariable)39 b Fr(v)-5 b(ar)630 3897 y Fu(rather)30 b(than)g(b)s(eing)g
-(prin)m(ted)g(to)h(the)g(standard)e(output.)630 4032
-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 4142 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
+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
-4251 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 4361 y(sp)s
-(eci\014cations,)j(eac)m(h)e(of)g(whic)m(h)f(causes)g(prin)m(ting)g(of)
-h(the)f(next)h(successiv)m(e)g Fr(argumen)m(t)p Fu(.)630
-4471 y(In)27 b(addition)g(to)h(the)g(standard)e Ft(printf\(3\))f
-Fu(format)j(c)m(haracters)g Ft(csndiouxXeEfFgGaA)p Fu(,)630
-4580 y Ft(printf)h Fu(in)m(terprets)h(the)h(follo)m(wing)h(additional)f
-(format)g(sp)s(eci\014ers:)630 4741 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 4850 y(resp)s(onding)31
+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 4960 y([Bash)e(Builtins],)
-g(page)g(57\).)630 5121 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 5230 y(that)42
+Ft(echo)c(-e)j Fu(\(see)h(Section)g(4.2)1110 5340 y([Bash)e(Builtins],)
+g(page)g(59\).)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)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
-5340 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)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)1110 299 y(c)m(haracters)29
-b(in)e(the)h(argumen)m(t)g(string)f(require)h(it,)g(and)f(bac)m(kslash)
-h(quoting)1110 408 y(otherwise.)79 b(If)42 b(the)h(format)h(string)f
-(uses)f(the)h Ft(printf)e Fr(alternate)k(form)p Fu(,)1110
-518 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 690 y Ft(\045Q)384
+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
-800 y(quoting)c(it.)630 972 y Ft(\045\()p Fj(datefmt)p
-Ft(\)T)1110 1082 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 1191
-y Fr(datefm)m(t)45 b Fu(as)d(a)g(format)g(string)g(for)g
-Ft(strftime)p Fu(\(3\).)74 b(The)41 b(corresp)s(onding)1110
-1301 y Fr(argumen)m(t)h Fu(is)e(an)g(in)m(teger)i(represen)m(ting)e
-(the)g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 1410
-y(the)24 b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f
-(v)-5 b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25
-b(represen)m(ts)1110 1520 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i
-(represen)m(ts)f(the)g(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)
-1110 1630 y(If)38 b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)i(con)m(v)m
-(ersion)f(b)s(eha)m(v)m(es)g(as)g(if)f(-1)h(had)f(b)s(een)1110
-1739 y(giv)m(en.)k(This)29 b(is)i(an)f(exception)i(to)f(the)f(usual)g
-Ft(printf)f Fu(b)s(eha)m(vior.)630 1911 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 2021 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 2131 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
-2240 y(c)m(haracters)h(than)e(the)h(original.)630 2381
-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
-2491 y(shell)h(v)-5 b(ariable)31 b(name.)630 2632 y(The)26
+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
-2741 y(to)21 b(con)m(v)m(ert)i(the)e(argumen)m(t)g(string)g(to)g(a)g
+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
-2851 y(\014eld)30 b(width)g(and)f(precision)i(in)f(terms)g(of)h(c)m
-(haracters,)h(not)e(b)m(ytes.)630 2992 y(Argumen)m(ts)e(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 3101 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 3211 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 3320 y(c)m(haracter,)32
-b(using)e(the)h(curren)m(t)f(lo)s(cale.)630 3461 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
-3571 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
-3680 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 3790 y(return)e(v)-5 b(alue)38
+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 3900
+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
-4072 y Ft(read)870 4213 y(read)47 b([-Eers])e([-a)i Fj(aname)p
+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 4322 y([-N)g Fj(nchars)p Ft(])f([-p)h
+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 4463 y Fu(One)38
-b(line)g(is)g(read)g(from)g(the)g(standard)f(input,)j(or)e(from)f(the)i
-(\014le)f(descriptor)g Fr(fd)j Fu(sup-)630 4573 y(plied)34
-b(as)h(an)f(argumen)m(t)h(to)g(the)f Ft(-u)g Fu(option,)i(split)f(in)m
-(to)g(w)m(ords)f(as)g(describ)s(ed)g(ab)s(o)m(v)m(e)h(in)630
-4682 y(Section)j(3.5.7)h([W)-8 b(ord)38 b(Splitting],)i(page)e(36,)j
-(and)36 b(the)i(\014rst)f(w)m(ord)g(is)g(assigned)h(to)g(the)630
-4792 y(\014rst)32 b Fr(name)p Fu(,)h(the)g(second)g(w)m(ord)f(to)h(the)
-g(second)g Fr(name)p Fu(,)g(and)f(so)h(on.)47 b(If)32
-b(there)h(are)g(more)630 4902 y(w)m(ords)39 b(than)g(names,)j(the)e
-(remaining)f(w)m(ords)g(and)g(their)h(in)m(terv)m(ening)g(delimiters)h
-(are)630 5011 y(assigned)29 b(to)h(the)g(last)g Fr(name)p
-Fu(.)40 b(If)29 b(there)g(are)h(few)m(er)f(w)m(ords)g(read)g(from)g
-(the)g(input)g(stream)630 5121 y(than)35 b(names,)i(the)e(remaining)h
-(names)f(are)h(assigned)f(empt)m(y)h(v)-5 b(alues.)56
-b(The)34 b(c)m(haracters)630 5230 y(in)e(the)h(v)-5 b(alue)33
-b(of)g(the)g Ft(IFS)f Fu(v)-5 b(ariable)33 b(are)h(used)d(to)j(split)f
-(the)g(line)g(in)m(to)g(w)m(ords)g(using)f(the)630 5340
-y(same)d(rules)f(the)g(shell)h(uses)f(for)g(expansion)g(\(describ)s(ed)
-g(ab)s(o)m(v)m(e)i(in)e(Section)h(3.5.7)h([W)-8 b(ord)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(Splitting],)38
-b(page)f(36\).)60 b(The)35 b(bac)m(kslash)i(c)m(haracter)h(`)p
-Ft(\\)p Fu(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630
-408 y(sp)s(ecial)31 b(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)
-e(and)g(for)g(line)h(con)m(tin)m(uation.)630 542 y(Options,)f(if)h
-(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-699 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 809 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 918 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
-1076 y Ft(-d)f Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
-Fr(delim)g Fu(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-1185 y(rather)31 b(than)g(newline.)42 b(If)30 b Fr(delim)h
-Fu(is)g(the)h(empt)m(y)f(string,)g Ft(read)f Fu(will)h(termi-)1110
-1295 y(nate)g(a)g(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)
-630 1452 y Ft(-e)384 b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)
-f(Line)h(Editing],)50 b(page)45 b(122\))i(is)1110 1562
-y(used)37 b(to)i(obtain)g(the)f(line.)65 b(Readline)39
-b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
-1671 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
-(editing)d(settings,)j(but)c(uses)1110 1781 y(Readline's)31
-b(default)g(\014lename)f(completion.)630 1938 y Ft(-E)384
-b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)f(Line)h(Editing],)50
-b(page)45 b(122\))i(is)1110 2048 y(used)37 b(to)i(obtain)g(the)f(line.)
-65 b(Readline)39 b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
-2157 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
-(editing)d(settings,)j(but)c(uses)1110 2267 y(Bash's)31
-b(default)f(completion,)i(including)e(programmable)h(completion.)630
-2424 y Ft(-i)f Fj(text)162 b Fu(If)36 b(Readline)i(is)f(b)s(eing)g
-(used)f(to)h(read)g(the)g(line,)j Fr(text)f Fu(is)e(placed)h(in)m(to)g
-(the)1110 2534 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s
-(egins.)630 2691 y Ft(-n)f Fj(nchars)66 b Ft(read)38
-b Fu(returns)f(after)j(reading)f Fr(nc)m(hars)j Fu(c)m(haracters)e
-(rather)f(than)g(w)m(aiting)1110 2800 y(for)d(a)h(complete)h(line)f(of)
-g(input,)g(but)f(honors)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110
-2910 y Fr(nc)m(hars)d Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
-(delimiter.)630 3067 y Ft(-N)g Fj(nchars)66 b Ft(read)39
-b Fu(returns)f(after)j(reading)e(exactly)j Fr(nc)m(hars)h
-Fu(c)m(haracters)f(rather)d(than)1110 3177 y(w)m(aiting)32
-b(for)f(a)g(complete)i(line)e(of)g(input,)g(unless)f(EOF)h(is)g(encoun)
-m(tered)g(or)1110 3286 y Ft(read)f Fu(times)i(out.)43
-b(Delimiter)33 b(c)m(haracters)f(encoun)m(tered)g(in)f(the)g(input)g
-(are)1110 3396 y(not)g(treated)h(sp)s(ecially)f(and)f(do)h(not)g(cause)
-g Ft(read)e Fu(to)j(return)d(un)m(til)i Fr(nc)m(hars)1110
-3506 y Fu(c)m(haracters)26 b(are)f(read.)38 b(The)24
-b(result)g(is)h(not)f(split)h(on)f(the)h(c)m(haracters)h(in)e
-Ft(IFS)p Fu(;)1110 3615 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
-b(ariable)23 b(is)f(assigned)g(exactly)i(the)e(c)m(haracters)i(read)
-1110 3725 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 3882 y
+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: 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(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(127\))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(127\))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 3992 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
-(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 4101 y(from)30
-b(a)h(terminal.)630 4258 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 4368 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
-4478 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 4635
-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
-4744 y(ec)m(ho)s(ed.)630 4902 y Ft(-t)i Fj(timeout)1110
-5011 y Fu(Cause)23 b Ft(read)f Fu(to)i(time)f(out)h(and)e(return)g
-(failure)h(if)g(a)h(complete)g(line)g(of)f(input)1110
-5121 y(\(or)h(a)f(sp)s(eci\014ed)g(n)m(um)m(b)s(er)f(of)i(c)m
-(haracters\))h(is)e(not)h(read)f(within)g Fr(timeout)j
-Fu(sec-)1110 5230 y(onds.)43 b Fr(timeout)34 b Fu(ma)m(y)e(b)s(e)e(a)i
-(decimal)g(n)m(um)m(b)s(er)e(with)h(a)h(fractional)g(p)s(ortion)1110
-5340 y(follo)m(wing)39 b(the)f(decimal)g(p)s(oin)m(t.)63
-b(This)37 b(option)h(is)g(only)f(e\013ectiv)m(e)k(if)c
-Ft(read)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)1110 299 y(is)33
-b(reading)h(input)e(from)h(a)h(terminal,)h(pip)s(e,)e(or)h(other)f(sp)s
-(ecial)h(\014le;)h(it)f(has)1110 408 y(no)f(e\013ect)i(when)d(reading)i
-(from)f(regular)g(\014les.)50 b(If)33 b Ft(read)f Fu(times)i(out,)g
-Ft(read)1110 518 y Fu(sa)m(v)m(es)41 b(an)m(y)f(partial)h(input)e(read)
-g(in)m(to)i(the)f(sp)s(eci\014ed)f(v)-5 b(ariable)40
-b Fr(name)p Fu(.)69 b(If)1110 628 y Fr(timeout)31 b Fu(is)c(0,)i
-Ft(read)d Fu(returns)h(immediately)-8 b(,)30 b(without)d(trying)h(to)g
-(read)g(an)m(y)1110 737 y(data.)49 b(The)33 b(exit)h(status)f(is)g(0)g
-(if)g(input)f(is)h(a)m(v)-5 b(ailable)36 b(on)c(the)i(sp)s(eci\014ed)e
-(\014le)1110 847 y(descriptor,)37 b(or)e(the)h(read)f(will)h(return)e
-(EOF,)h(non-zero)h(otherwise.)56 b(The)1110 956 y(exit)31
-b(status)g(is)f(greater)i(than)e(128)i(if)e(the)h(timeout)g(is)f
-(exceeded.)630 1106 y Ft(-u)g Fj(fd)258 b Fu(Read)31
-b(input)e(from)h(\014le)g(descriptor)h Fr(fd)p Fu(.)630
-1255 y(Other)36 b(than)g(the)h(case)h(where)e Fr(delim)g
+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: 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 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 1365 y(c)m(haracters)32 b(in)e(the)g(input.)630 1494
-y(If)i(no)g Fr(name)5 b Fu(s)33 b(are)f(supplied,)g(the)h(line)g(read,)
-g(without)f(the)h(ending)f(delimiter)h(but)e(oth-)630
-1604 y(erwise)36 b(unmo)s(di\014ed,)e(is)i(assigned)f(to)h(the)g(v)-5
-b(ariable)36 b Ft(REPLY)p Fu(.)55 b(The)34 b(exit)j(status)e(is)h
-(zero,)630 1714 y(unless)i(end-of-\014le)h(is)f(encoun)m(tered,)j
-Ft(read)d Fu(times)h(out)f(\(in)h(whic)m(h)f(case)h(the)g(status)g(is)
-630 1823 y(greater)31 b(than)f(128\),)i(a)e(v)-5 b(ariable)30
-b(assignmen)m(t)h(error)f(\(suc)m(h)f(as)i(assigning)f(to)h(a)f
-(readonly)630 1933 y(v)-5 b(ariable\))30 b(o)s(ccurs,)f(or)f(an)h(in)m
-(v)-5 b(alid)29 b(\014le)g(descriptor)f(is)h(supplied)e(as)i(the)g
-(argumen)m(t)g(to)g Ft(-u)p Fu(.)150 2082 y Ft(readarray)870
-2192 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
-2301 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
-2431 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 2540 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
-2670 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 2819
-y Ft(source)870 2949 y(source)46 b([-p)h Fj(path)p Ft(])f
-Fj(filename)g Ft([)p Fj(arguments)p Ft(])630 3078 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(49\).)150 3228 y Ft(type)870 3357
-y(type)47 b([-afptP])e([)p Fj(name)i Ft(...)o(])630 3487
-y Fu(F)-8 b(or)42 b(eac)m(h)g Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f
-(w)m(ould)g(b)s(e)g(in)m(terpreted)g(if)g(used)f(as)i(a)f(command)630
-3597 y(name.)630 3726 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j
-Ft(type)c Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h
-(of)g(`)p Ft(alias)p Fu(',)630 3836 y(`)p Ft(keyword)p
+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(50\).)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 3945
-y(w)m(ord,)39 b(shell)e(function,)i(shell)e(builtin,)i(or)e(executable)
-i(disk)d(\014le,)j(resp)s(ectiv)m(ely)-8 b(.)63 b(If)37
-b(the)630 4055 y Fr(name)f Fu(is)30 b(not)h(found,)e(then)h(nothing)g
-(is)h(prin)m(ted,)f(and)g Ft(type)f Fu(returns)g(a)i(failure)f(status.)
-630 4184 y(If)25 b(the)h Ft(-p)f Fu(option)g(is)h(used,)g
+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 4294 y(w)m(ould)30 b(b)s(e)g(found)f(b)m(y)h(searc)m
-(hing)h Ft($PATH)p Fu(,)f(or)g(nothing)g(if)h Ft(-t)e
-Fu(w)m(ould)i(not)f(return)f(`)p Ft(file)p Fu('.)630
-4423 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
-(eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h
-(return)630 4533 y(`)p Ft(file)p Fu('.)630 4663 y(If)e(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
-4772 y(the)j(hashed)e(v)-5 b(alue,)31 b(whic)m(h)f(is)h(not)f
+(\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: 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(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 4902 y(If)e(the)h Ft(-a)f Fu(option)h(is)f(used,)h
+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 5011 y(named)c Fr(name)p Fu(.)39 b(This)25
+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 5121 y(the)34 b(path)f(searc)m(h)i(options)f(\()p
+(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 5230 y(executable)k(\014les.)55
+(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
-5340 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(.)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(If)30
-b(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
-408 y(the)h Ft(command)d Fu(builtin.)630 540 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
-650 y(found.)150 804 y Ft(typeset)870 936 y(typeset)46
-b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p Ft([=)p Fj(value)p
-Ft(])d(...)o(])630 1068 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 1178 y(a)g(synon)m(ym)f(for)g(the)g
-Ft(declare)f Fu(builtin)h(command.)150 1332 y Ft(ulimit)870
-1464 y(ulimit)46 b([-HS])g(-a)870 1574 y(ulimit)g([-HS])g
-([-bcdefiklmnpqrstuvxPRT])c([)p Fj(limit)p Ft(])630 1706
-y(ulimit)25 b Fu(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
-(resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)f(started)h(b)m
-(y)g(the)630 1815 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
-(con)m(trol.)41 b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m
-(terpreted)630 1925 y(as)i(follo)m(ws:)630 2079 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 2233 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 2388 y Ft(-a)384 b Fu(All)31 b(curren)m(t)f(limits)h
-(are)g(rep)s(orted;)f(no)g(limits)h(are)g(set.)630 2542
-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 2696 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
-(core)g(\014les)f(created.)630 2851 y Ft(-d)384 b Fu(The)30
+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
-3005 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 3159 y Ft(-f)384
+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 3314 y Ft(-i)384
+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 3468 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s
+(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
-3622 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 3777
+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 3886
-y(limit\).)630 4041 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
+(\(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
-4150 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
-630 4304 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
-4459 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
-(ytes)g(in)f Fm(posix)f Fu(message)j(queues.)630 4613
-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 4767 y Ft(-s)384 b Fu(The)30
-b(maxim)m(um)g(stac)m(k)i(size.)630 4922 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 5076 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
-5230 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
-5340 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)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 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 464 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 629 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 739 y(microseconds.)630
-904 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 1069 y(If)36 b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h
-Ft(-a)f Fu(option)h(is)f(not)h(used,)h Fr(limit)h Fu(is)e(the)g(new)f
-(v)-5 b(alue)37 b(of)g(the)630 1179 y(sp)s(eci\014ed)c(resource.)51
+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: 71 77
+TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y Ft(-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 1288 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
+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 1398 y(hard)24 b(limit)i(cannot)g(b)s(e)e(increased)h(b)
+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 1508 y(b)s(e)37 b(increased)h(up)e(to)j(the)f(v)-5
-b(alue)38 b(of)f(the)h(hard)f(limit.)63 b(Otherwise,)39
-b(the)f(curren)m(t)f(v)-5 b(alue)630 1617 y(of)39 b(the)g(soft)h(limit)
-g(for)f(the)g(sp)s(eci\014ed)f(resource)h(is)g(prin)m(ted,)i(unless)e
-(the)g Ft(-H)f Fu(option)i(is)630 1727 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 1836 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 1946 y Ft(-H)38
-b Fu(nor)g Ft(-S)g Fu(is)h(supplied,)h(b)s(oth)e(the)h(hard)f(and)g
-(soft)h(limits)g(are)g(set.)67 b(If)38 b(no)h(option)g(is)630
-2055 y(giv)m(en,)c(then)f Ft(-f)e Fu(is)i(assumed.)49
-b(V)-8 b(alues)35 b(are)e(in)h(1024-b)m(yte)i(incremen)m(ts,)f(except)f
-(for)f Ft(-t)p Fu(,)630 2165 y(whic)m(h)e(is)g(in)g(seconds;)h
-Ft(-R)p Fu(,)g(whic)m(h)f(is)g(in)g(microseconds;)h Ft(-p)p
-Fu(,)g(whic)m(h)f(is)g(in)g(units)g(of)g(512-)630 2275
-y(b)m(yte)k(blo)s(c)m(ks;)j Ft(-P)p Fu(,)e Ft(-T)p Fu(,)f
-Ft(-b)p Fu(,)h Ft(-k)p Fu(,)f Ft(-n)g Fu(and)f Ft(-u)p
-Fu(,)h(whic)m(h)g(are)g(unscaled)g(v)-5 b(alues;)37 b(and,)f(when)630
-2384 y(in)g Fm(posix)f Fu(Mo)s(de)h(\(see)g(Section)h(6.11)g([Bash)g
-(POSIX)d(Mo)s(de],)k(page)f(109\),)i Ft(-c)c Fu(and)g
-Ft(-f)p Fu(,)630 2494 y(whic)m(h)30 b(are)h(in)f(512-b)m(yte)j
-(incremen)m(ts.)630 2631 y(The)h(return)g(status)h(is)f(zero)i(unless)e
+(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(114\),)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 2741 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
-(limit.)150 2906 y Ft(unalias)870 3043 y(unalias)46 b([-a])g([)p
-Fj(name)h Ft(...)g(])630 3181 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f
-Fr(name)k Fu(from)39 b(the)i(list)f(of)g(aliases.)71
-b(If)40 b Ft(-a)f Fu(is)h(supplied,)h(all)g(aliases)h(are)630
-3290 y(remo)m(v)m(ed.)g(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
-i(6.6)f([Aliases],)h(page)f(103.)150 3540 y Fs(4.3)68
-b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 3764 y Fk(4.3.1)63
-b(The)41 b(Set)g(Builtin)150 3911 y Fu(This)35 b(builtin)h(is)g(so)g
+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(107.)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
-4020 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
+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 4130 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-4298 y Ft(set)870 4435 y(set)47 b([-abefhkmnptuvxBCEHPT])42
+(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(])870 4545 y(set)i([+abefhkmnptuvxBCEHPT])42
-b([+o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])870 4655 y(set)i(-o)870 4764 y(set)g(+o)630
-4902 y Fu(If)22 b(no)h(options)g(or)g(argumen)m(ts)g(are)g(supplied,)g
+Ft(...)o(])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)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 5011 y(shell)j(v)-5 b(ariables)27 b(and)e(functions,)h
+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 5121 y(that)i(ma)m(y)h(b)s(e)e(reused)g(as)h(input)f(for)h
+(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 5230 y(Read-only)37 b(v)-5 b(ariables)37
+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 5340 y(listed.)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(When)29
-b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f(shell)h
-(attributes.)41 b(Options,)29 b(if)g(sp)s(ec-)630 408
-y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-573 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
-682 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 792 y(sequen)m(t)i
-(commands.)630 956 y Ft(-b)384 b Fu(Cause)44 b(the)h(status)g(of)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
-1066 y(immediately)-8 b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)
-g(the)g(next)g(primary)g(prompt.)630 1230 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 1340 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 1450 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 1559
-y([Lists],)60 b(page)55 b(10\),)60 b(or)54 b(a)g(comp)s(ound)e(command)
-h(\(see)i(Section)f(3.2.5)1110 1669 y([Comp)s(ound)60
-b(Commands],)70 b(page)63 b(11\))g(returns)e(a)i(non-zero)f(status.)
-1110 1778 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 1888 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 1998 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 2107 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 2217 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 2326 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 2436 y(is)i(b)s(eing)g(in)m(v)m
+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 2545 y(subshell)28 b(returns)g(a)i(non-zero)g
+(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
-2655 y Ft(-e)38 b Fu(w)m(as)h(b)s(eing)f(ignored,)j(the)e(shell)f(do)s
+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
-2765 y(set,)31 b(is)g(executed)g(b)s(efore)f(the)g(shell)h(exits.)1110
-2902 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 3011 y(vironmen)m(t)j(separately)i
+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
-3121 y(vironmen)m(t],)i(page)f(44\),)i(and)d(ma)m(y)h(cause)f
-(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 3230 y(cuting)d(all)g
-(the)g(commands)f(in)g(the)g(subshell.)1110 3367 y(If)41
+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 3477 y(where)31 b Ft(-e)g Fu(is)g(b)s(eing)g
+(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
-3587 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 3696 y Ft(-e)25
+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 3806 y(If)32 b(a)i(comp)s(ound)d
+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 3915 y(in)40 b(a)h(con)m(text)i(where)d Ft(-e)g
+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 4025 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 4134 y(the)31 b(function)f(call)h
-(completes.)630 4299 y Ft(-f)384 b Fu(Disable)31 b(\014lename)g
-(expansion)f(\(globbing\).)630 4463 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 4573 y(execution.)42 b(This)29
-b(option)i(is)g(enabled)f(b)m(y)g(default.)630 4737 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
-4847 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 4956 y(command)30
-b(name.)630 5121 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(118\).)41
-b(All)1110 5230 y(pro)s(cesses)27 b(run)f(in)i(a)g(separate)g(pro)s
+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: 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)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
-5340 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.)p eop end
-%%Page: 71 77
-TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y Ft(-n)384
+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 408 y(c)m(hec)m(k)d(a)e
+b(This)37 b(ma)m(y)h(b)s(e)f(used)f(to)1110 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 518 y(tiv)m(e)h(shells.)630
-677 y Ft(-o)e Fj(option-name)1110 787 y Fu(Set)44 b(the)h(option)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 896 y(with)29 b(no)h
+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 1006 y(If)37 b Ft(+o)g
+(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
-1115 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 1225 y(output.)40
-b(V)-8 b(alid)32 b(option)f(names)f(are:)1110 1384 y
-Ft(allexport)1590 1493 y Fu(Same)g(as)h Ft(-a)p Fu(.)1110
-1652 y Ft(braceexpand)1590 1762 y Fu(Same)f(as)h Ft(-B)p
-Fu(.)1110 1921 y Ft(emacs)240 b Fu(Use)25 b(an)f Ft(emacs)p
+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
-2030 y([Command)33 b(Line)g(Editing],)h(page)h(122\).)51
-b(This)32 b(also)i(a\013ects)1590 2140 y(the)d(editing)g(in)m(terface)h
-(used)d(for)h Ft(read)f(-e)p Fu(.)1110 2299 y Ft(errexit)144
-b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110 2458 y Ft(errtrace)96
-b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110 2617 y Ft(functrace)1590
-2726 y Fu(Same)f(as)h Ft(-T)p Fu(.)1110 2885 y Ft(hashall)144
-b Fu(Same)30 b(as)h Ft(-h)p Fu(.)1110 3044 y Ft(histexpand)1590
-3154 y Fu(Same)f(as)h Ft(-H)p Fu(.)1110 3313 y Ft(history)144
+3232 y([Command)33 b(Line)g(Editing],)h(page)h(127\).)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 3422 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(159.)60 b(This)36 b(option)h(is)f(on)1590 3532
+(Section)h(9.1)1590 4637 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(164.)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
-3691 y Ft(ignoreeof)1590 3800 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 3959
+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
-4118 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)1110
-4277 y Ft(noclobber)1590 4387 y Fu(Same)f(as)h Ft(-C)p
-Fu(.)1110 4545 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p
-Fu(.)1110 4704 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p
-Fu(.)1110 4863 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
-5022 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
-5181 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
-5340 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)p
+5340 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)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)1110 299 y
-Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
-454 y Ft(pipefail)96 b Fu(If)44 b(set,)k(the)d(return)e(v)-5
+%%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)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 564 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)
-g(with)f(a)g(non-zero)1590 673 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
-783 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
-(default.)1110 938 y Ft(posix)240 b Fu(Change)30 b(the)g(b)s(eha)m
+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
-1048 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 1157 y(dard)h(\(see)j
-(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)f(109\).)1590
-1267 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 1377 y(p)s(erset)30 b(of)h(that)f
-(standard.)1110 1532 y Ft(privileged)1590 1641 y Fu(Same)g(as)h
-Ft(-p)p Fu(.)1110 1797 y Ft(verbose)144 b Fu(Same)30
-b(as)h Ft(-v)p Fu(.)1110 1952 y Ft(vi)384 b Fu(Use)36
+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(114\).)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 2061 y(the)31 b(editing)g(in)m
-(terface)h(used)d(for)h Ft(read)f(-e)p Fu(.)1110 2217
+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
-2372 y Ft(-p)384 b Fu(T)-8 b(urn)33 b(on)h(privileged)h(mo)s(de.)51
+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 2482 y Fu(\014les)23 b(are)h(not)f(pro)s(cessed,)h(shell)g
+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
-2591 y(vironmen)m(t,)h(and)e(the)g Ft(SHELLOPTS)p Fu(,)f
+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
-2701 y Fu(v)-5 b(ariables,)23 b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m
+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
-2810 y(is)37 b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d
+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
-2920 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 3029 y(are)32
+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 3139 y
+(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 3249 y(T)-8 b(urning)35
+(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 3358 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
-(and)g(group)g(ids.)630 3513 y Ft(-r)384 b Fu(Enable)51
+(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 3623 y(Shell],)42 b(page)e(109\).)69
+(Restricted)1110 5059 y(Shell],)42 b(page)e(113\).)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 3733 y(set.)630 3888 y Ft(-t)384 b Fu(Exit)31
-b(after)g(reading)f(and)g(executing)h(one)g(command.)630
-4043 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
-4153 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 4262 y(error)24
-b(when)g(p)s(erforming)g(parameter)h(expansion.)39 b(An)24
-b(error)h(message)h(will)1110 4372 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 4482 y(exit.)630 4637 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
-4792 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
-4902 y Ft(select)29 b Fu(commands,)j(and)e(arithmetic)j
-Ft(for)d Fu(commands)h(and)f(their)i(argu-)1110 5011
-y(men)m(ts)g(or)g(asso)s(ciated)h(w)m(ord)e(lists)h(to)g(standard)f
-(error)g(after)i(they)e(are)h(ex-)1110 5121 y(panded)20
-b(and)h(b)s(efore)g(they)g(are)h(executed.)39 b(The)21
-b(shell)g(prin)m(ts)g(the)h(expanded)1110 5230 y(v)-5
-b(alue)28 b(of)f(the)g Ft(PS4)g Fu(v)-5 b(ariable)28
-b(b)s(efore)f(the)g(command)g(and)g(its)g(expanded)g(ar-)1110
-5340 y(gumen)m(ts.)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)630 299 y Ft(-B)384
+(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: 75 81
+TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(75)630 299 y Ft(-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 408 y(Expansion],)30 b(page)h(24\).)42
-b(This)30 b(option)h(is)f(on)g(b)m(y)h(default.)630 556
-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 666 y(existing)31
-b(\014les.)630 814 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
-923 y(substitutions,)35 b(and)e(commands)g(executed)i(in)f(a)g
-(subshell)f(en)m(vironmen)m(t.)1110 1033 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
-1181 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
-1290 y(teraction],)g(page)d(161\).)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 1400 y(shells.)630
-1548 y Ft(-P)384 b Fu(If)39 b(set,)j(do)d(not)g(resolv)m(e)i(sym)m(b)s
-(olic)e(links)g(when)f(p)s(erforming)g(commands)1110
-1657 y(suc)m(h)29 b(as)h Ft(cd)f Fu(whic)m(h)g(c)m(hange)h(the)g
-(curren)m(t)f(directory)-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110
-1767 y(tory)j(is)g(used)f(instead.)52 b(By)34 b(default,)h(Bash)f
-(follo)m(ws)h(the)f(logical)i(c)m(hain)f(of)1110 1877
-y(directories)j(when)d(p)s(erforming)h(commands)g(whic)m(h)g(c)m(hange)
-i(the)f(curren)m(t)1110 1986 y(directory)-8 b(.)1110
-2115 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 2224 y Fu(then:)1350
-2353 y Ft($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 2463
-y(/usr/sys)1350 2572 y($)g(cd)h(..;)f(pwd)1350 2682 y(/usr)1110
-2811 y Fu(If)30 b Ft(set)f(-P)h Fu(is)h(on,)f(then:)1350
-2939 y Ft($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3049
-y(/usr/local/sys)1350 3158 y($)g(cd)h(..;)f(pwd)1350
-3268 y(/usr/local)630 3416 y(-T)384 b Fu(If)34 b(set,)j(an)m(y)e(trap)g
-(on)g Ft(DEBUG)e Fu(and)i Ft(RETURN)e Fu(are)i(inherited)g(b)m(y)f
-(shell)i(func-)1110 3525 y(tions,)k(command)d(substitutions,)h(and)f
-(commands)g(executed)h(in)f(a)h(sub-)1110 3635 y(shell)33
+(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(167\).)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 3745
-y(inherited)d(in)g(suc)m(h)g(cases.)630 3892 y Ft(--)384
-b Fu(If)44 b(no)g(argumen)m(ts)g(follo)m(w)i(this)e(option,)k(then)c
-(the)h(p)s(ositional)g(parame-)1110 4002 y(ters)31 b(are)g(unset.)40
-b(Otherwise,)31 b(the)f(p)s(ositional)i(parameters)f(are)f(set)h(to)h
-(the)1110 4112 y Fr(argumen)m(ts)p Fu(,)f(ev)m(en)g(if)f(some)h(of)g
-(them)f(b)s(egin)g(with)g(a)h(`)p Ft(-)p Fu('.)630 4260
-y Ft(-)432 b Fu(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h
-(remaining)e Fr(argumen)m(ts)49 b Fu(to)d(b)s(e)1110
-4369 y(assigned)33 b(to)h(the)g(p)s(ositional)g(parameters.)49
-b(The)33 b Ft(-x)g Fu(and)f Ft(-v)h Fu(options)h(are)1110
-4479 y(turned)k(o\013.)68 b(If)38 b(there)i(are)f(no)g(argumen)m(ts,)j
-(the)e(p)s(ositional)g(parameters)1110 4588 y(remain)30
-b(unc)m(hanged.)630 4736 y(Using)d(`)p Ft(+)p Fu(')h(rather)f(than)g(`)
-p Ft(-)p Fu(')g(causes)h(these)f(options)h(to)g(b)s(e)e(turned)g
-(o\013.)40 b(The)27 b(options)h(can)630 4846 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
-4955 y(found)29 b(in)h Ft($-)p Fu(.)630 5084 y(The)43
+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: 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(--)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 5194 y(order,)30
+(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 5322 y(The)f(return)f(status)i(is)f(alw)m(a)m
+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.)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)150 299 y Fk(4.3.2)63
-b(The)41 b(Shopt)h(Builtin)150 446 y Fu(This)30 b(builtin)g(allo)m(ws)h
-(y)m(ou)g(to)g(c)m(hange)h(additional)f(shell)f(optional)i(b)s(eha)m
-(vior.)150 618 y Ft(shopt)870 756 y(shopt)46 b([-pqsu])g([-o])h([)p
-Fj(optname)e Ft(...])630 895 y Fu(T)-8 b(oggle)37 b(the)e(v)-5
+(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 1004 y(can)24
+(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 1114 y(the)k Ft(-o)f Fu(option)i(to)f(the)g
+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 1224 y(page)i(69\).)45 b(With)32 b(no)f(options,)h(or)g
-(with)f(the)g Ft(-p)g Fu(option,)h(a)g(list)g(of)f(all)i(settable)g
-(options)630 1333 y(is)g(displa)m(y)m(ed,)i(with)e(an)g(indication)h
-(of)f(whether)g(or)g(not)g(eac)m(h)h(is)g(set;)h(if)e
-Fr(optname)5 b Fu(s)34 b(are)630 1443 y(supplied,)25
-b(the)g(output)g(is)g(restricted)g(to)h(those)g(options.)39
-b(The)24 b Ft(-p)h Fu(option)g(causes)g(output)630 1552
-y(to)30 b(b)s(e)f(displa)m(y)m(ed)g(in)g(a)h(form)f(that)g(ma)m(y)h(b)s
-(e)f(reused)f(as)i(input.)39 b(Other)29 b(options)g(ha)m(v)m(e)i(the)
-630 1662 y(follo)m(wing)h(meanings:)630 1830 y Ft(-s)384
-b Fu(Enable)30 b(\(set\))i(eac)m(h)f Fr(optname)p Fu(.)630
-1997 y Ft(-u)384 b Fu(Disable)31 b(\(unset\))g(eac)m(h)h
-Fr(optname)p Fu(.)630 2165 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 2274 y Fr(optname)37 b Fu(is)31 b(set)h(or)f(unset.)43
-b(If)31 b(m)m(ultiple)h Fr(optname)37 b Fu(argumen)m(ts)31
-b(are)h(giv)m(en)1110 2384 y(with)d Ft(-q)p Fu(,)f(the)i(return)d
-(status)j(is)f(zero)g(if)g(all)h Fr(optname)5 b Fu(s)29
-b(are)h(enabled;)f(non-)1110 2494 y(zero)i(otherwise.)630
-2661 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 2771 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
-(69\).)630 2938 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 3048 y(options)h(whic)m(h)f
-(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m(ely)-8 b(.)630
-3187 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
-3325 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
-3435 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 3544
-y(unless)30 b(an)g Fr(optname)36 b Fu(is)30 b(not)h(a)g(v)-5
-b(alid)30 b(shell)h(option.)630 3683 y(The)f(list)h(of)f
-Ft(shopt)f Fu(options)i(is:)630 3851 y Ft(array_expand_once)1110
-3960 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 4070
-y(indexed)37 b(arra)m(y)h(subscripts)e(during)g(arithmetic)j
-(expression)e(ev)-5 b(aluation,)1110 4180 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 4289 y(while)k(executing)i
+(Builtin],)630 2887 y(page)h(71\).)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(71\).)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: 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(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
-4457 y Ft(assoc_expand_once)1110 4566 y Fu(Deprecated;)h(a)f(synon)m
-(ym)f(for)g Ft(array_expand_once)p Fu(.)630 4734 y Ft(autocd)192
+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 4844 y(as)j(if)f(it)h(w)m(ere)f
+(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 4953 y(used)g(b)m(y)g(in)m
-(teractiv)m(e)j(shells.)630 5121 y Ft(bash_source_fullpath)1110
-5230 y Fu(If)d(set,)h(\014lenames)f(added)g(to)h(the)f
+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
-5340 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(81\).)p eop end
-%%Page: 75 81
-TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(75)630 299 y Ft(cdable_vars)1110
-408 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 518
-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 628
-y(the)g(directory)f(to)i(c)m(hange)f(to.)630 784 y Ft(cdspell)144
-b Fu(If)27 b(set,)h(minor)f(errors)f(in)h(the)g(sp)s(elling)h(of)f(a)g
-(directory)h(comp)s(onen)m(t)f(in)g(a)h Ft(cd)1110 894
-y Fu(command)i(will)h(b)s(e)f(corrected.)43 b(The)30
-b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110
-1003 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
-b(and)40 b(a)i(c)m(haracter)h(to)s(o)g(man)m(y)-8 b(.)74
-b(If)42 b(a)1110 1113 y(correction)25 b(is)e(found,)g(the)h(corrected)g
-(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 1223
-y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h(in)m
-(teractiv)m(e)k(shells.)630 1379 y Ft(checkhash)1110
-1489 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 1598
+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(85\).)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 1708
-y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
-1864 y Ft(checkjobs)1110 1974 y Fu(If)d(set,)i(Bash)e(lists)h(the)g
+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 2084 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72
-b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110
-2193 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
-(exit)g(is)g(attempted)h(without)e(an)1110 2303 y(in)m(terv)m(ening)d
-(command)f(\(see)h(Chapter)e(7)h([Job)g(Con)m(trol],)i(page)f(118\).)40
-b(The)1110 2412 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
-(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 2569 y Ft(checkwinsize)1110
-2679 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 2788
-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 2898 y Ft(COLUMNS)p Fu(.)39 b(This)29 b(option)i(is)g
-(enabled)f(b)m(y)g(default.)630 3054 y Ft(cmdhist)144
+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 3164 y(in)c(the)g(same)g
+(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 3273 y(commands.)79
+(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)1110 3383 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
-3493 y(F)-8 b(acilities],)34 b(page)d(159\).)630 3649
-y Ft(compat31)630 3759 y(compat32)630 3868 y(compat40)630
-3978 y(compat41)630 4088 y(compat42)630 4197 y(compat43)630
-4307 y(compat44)96 b Fu(These)39 b(con)m(trol)i(asp)s(ects)f(of)f(the)h
+(has)g(an)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)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(164\).)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
-4416 y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
-(114\).)630 4573 y Ft(complete_fullquote)1110 4682 y
+1326 y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
+(119\).)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 4792 y(tory)g(names)f(when)g(p)s
+(\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 4902 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 5011
+(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 5121 y(acters)29 b(app)s(ear)e(in)g(shell)h
+(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 5230 y(This)k(means)i(that)g(dollar)f(signs)g(in)g(v)
+(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
-5340 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)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)1110 299 y(\014lenames)28
-b(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 408 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 518 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 628 y(through)30 b(4.2.)630 774 y Ft(direxpand)1110
-883 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 993 y(pansion)k(when)g(p)s
-(erforming)f(\014lename)i(completion.)67 b(This)38 b(c)m(hanges)i(the)
-1110 1103 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 1212 y(to)d(preserv)m(e)
-g(what)f(the)g(user)g(t)m(yp)s(ed.)630 1358 y Ft(dirspell)96
+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 1468 y(w)m(ord)36 b(completion)h(if)f
+(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
-1577 y(exist.)630 1724 y Ft(dotglob)144 b Fu(If)36 b(set,)i(Bash)e
-(includes)g(\014lenames)g(b)s(eginning)f(with)h(a)g(`.')58
-b(in)36 b(the)g(results)1110 1833 y(of)f(\014lename)f(expansion.)53
-b(The)33 b(\014lenames)i(`)p Ft(.)p Fu(')f(and)g(`)p
-Ft(..)p Fu(')g(m)m(ust)h(alw)m(a)m(ys)h(b)s(e)1110 1943
+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)f(\014lename)f
+(expansion.)53 b(The)33 b(\014lenames)i(`)p Ft(.)p Fu(')f(and)g(`)p
+Ft(..)p Fu(')g(m)m(ust)h(alw)m(a)m(ys)h(b)s(e)1110 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 2089 y Ft(execfail)96 b
+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 2198 y(the)i(\014le)g
-(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)h(the)f
-Ft(exec)f Fu(builtin)h(command.)39 b(An)1110 2308 y(in)m(teractiv)m(e)
-33 b(shell)e(do)s(es)f(not)g(exit)i(if)e Ft(exec)f Fu(fails.)630
-2454 y Ft(expand_aliases)1110 2564 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 2673 y(tion)i(6.6)h([Aliases],)h(page)e(103.)55
+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(107.)55
b(This)33 b(option)i(is)g(enabled)f(b)m(y)h(default)f(for)1110
-2783 y(in)m(teractiv)m(e)f(shells.)630 2929 y Ft(extdebug)96
+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
-3039 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 3148 y Ft(--debugger)32
+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 3258 y(use)30 b(b)m(y)g(debuggers)g(is)
-h(enabled:)1159 3386 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
-3495 y(Builtins],)29 b(page)g(57\))g(displa)m(ys)f(the)g(source)h
-(\014le)f(name)g(and)f(line)h(n)m(um-)1290 3605 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 3714 y(men)m(t.)1159 3842 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 3952 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 4080 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
+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: 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)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(59\))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 4189 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 4299 y(a)h(shell)g
+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 4408 y(sim)m(ulates)d(a)g(call)h(to)f
-Ft(return)p Fu(.)1159 4536 y(4.)61 b Ft(BASH_ARGC)34
+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 4646 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(81\).)1159 4774 y(5.)61
+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(85\).)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 4883 y(functions,)32
+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 4993 y Ft(DEBUG)d
-Fu(and)h Ft(RETURN)e Fu(traps.)1159 5121 y(6.)61 b(Error)41
+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 5230 y(tions,)32 b(and)e(subshells)g(in)m(v)m(ok)m(ed)i
+(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 5340 y Fu(trap.)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(extglob)144
-b Fu(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g
-(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 408 y(Section)j(3.5.8.1)i
-([P)m(attern)f(Matc)m(hing],)g(page)f(37\))h(are)f(enabled.)630
-562 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 671 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 781 y(is)d(enabled)h(b)m(y)f(default.)630
-934 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
-1044 y(pansion)30 b(result)g(in)g(an)g(expansion)h(error.)630
-1198 y Ft(force_fignore)1110 1307 y Fu(If)43 b(set,)k(the)d(su\016xes)f
+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 1417 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h
+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
-1526 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 1636 y([Bash)24
-b(V)-8 b(ariables],)27 b(page)e(81,)h(for)d(a)h(description)g(of)g
-Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 1745 y(is)30
-b(enabled)h(b)m(y)f(default.)630 1899 y Ft(globasciiranges)1110
-2008 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 2118 y(sions)28
-b(\(see)h(Section)h(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e
-(37\))g(b)s(eha)m(v)m(e)g(as)g(if)1110 2228 y(in)i(the)g(traditional)i
-(C)d(lo)s(cale)j(when)d(p)s(erforming)g(comparisons.)44
-b(That)31 b(is,)1110 2337 y(the)d(curren)m(t)g(lo)s(cale's)i(collating)
-h(sequence)d(is)h(not)f(tak)m(en)h(in)m(to)g(accoun)m(t,)i(so)1110
-2447 y(`)p Ft(b)p Fu(')j(will)g(not)g(collate)i(b)s(et)m(w)m(een)e(`)p
-Ft(A)p Fu(')g(and)f(`)p Ft(B)p Fu(',)h(and)f(upp)s(er-case)g(and)g(lo)m
-(w)m(er-)1110 2556 y(case)e(ASCI)s(I)e(c)m(haracters)j(will)f(collate)i
-(together.)630 2710 y Ft(globskipdots)1110 2819 y Fu(If)38
-b(set,)k(\014lename)d(expansion)f(will)h(nev)m(er)g(matc)m(h)h(the)f
-(\014lenames)g(`)p Ft(.)p Fu(')g(and)1110 2929 y(`)p
-Ft(..)p Fu(',)c(ev)m(en)g(if)g(the)f(pattern)g(b)s(egins)g(with)g(a)h
-(`)p Ft(.)p Fu('.)52 b(This)34 b(option)h(is)f(enabled)1110
-3039 y(b)m(y)c(default.)630 3192 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 3302 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 3411 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 3521 y(matc)m(h.)630 3674 y Ft(gnu_errfmt)1110
-3784 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 3893 y(message)c(format.)630
-4047 y Ft(histappend)1110 4156 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 4266 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 4376 y(the)31 b(\014le.)630 4529 y Ft(histreedit)1110
-4639 y Fu(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
-(user)g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110
-4748 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-4902 y Ft(histverify)1110 5011 y Fu(If)35 b(set,)i(and)e(Readline)h(is)
+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(85,)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)38 b(set,)k(\014lename)d(expansion)
+f(will)h(nev)m(er)g(matc)m(h)h(the)f(\014lenames)g(`)p
+Ft(.)p Fu(')g(and)1110 5230 y(`)p Ft(..)p Fu(',)c(ev)m(en)g(if)g(the)f
+(pattern)g(b)s(egins)g(with)g(a)h(`)p Ft(.)p Fu('.)52
+b(This)34 b(option)h(is)f(enabled)1110 5340 y(b)m(y)c(default.)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)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
-5121 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 5230 y(resulting)i(line)f(is)h
+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 5340 y(further)29 b(mo)s(di\014cation.)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 Ft(hostcomplete)
-1110 408 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 518 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 628 y(pleted)g(\(see)h(Section)
-f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g(145\).)1110
-737 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-913 y Ft(huponexit)1110 1022 y Fu(If)i(set,)i(Bash)f(will)h(send)d
+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
+(150\).)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 1132 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(46\).)630 1307 y Ft(inherit_errexit)1110 1417
+1110 3543 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(47\).)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 1526
+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 1636 y(tion)f(is)f(enabled)h
-(when)e Fm(posix)h Fu(mo)s(de)g(is)g(enabled.)630 1811
-y Ft(interactive_comments)1110 1921 y Fu(Allo)m(w)d(a)g(w)m(ord)e(b)s
-(eginning)g(with)h(`)p Ft(#)p Fu(')g(to)h(cause)f(that)h(w)m(ord)f(and)
-f(all)i(remain-)1110 2030 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g
-(to)g(b)s(e)f(ignored)g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110
-2140 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-2315 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
-2425 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 2534 y(en)m(vironmen)m
-(t.)630 2710 y Ft(lithist)144 b Fu(If)22 b(enabled,)i(and)d(the)h
+(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
-2819 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 2929 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)630 3104 y Ft(localvar_inherit)1110
-3214 y Fu(If)j(set,)h(lo)s(cal)g(v)-5 b(ariables)33 b(inherit)f(the)g
-(v)-5 b(alue)32 b(and)g(attributes)h(of)f(a)g(v)-5 b(ariable)1110
-3324 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 3433 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 3608 y Ft(localvar_unset)1110
-3718 y Fu(If)i(set,)i(calling)g Ft(unset)d Fu(on)i(lo)s(cal)g(v)-5
+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: 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
+(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
-3828 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 3937 y(tion)40
+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 4047 y(v)-5 b(ariables)31
-b(at)g(the)g(curren)m(t)f(function)g(scop)s(e.)630 4222
-y Ft(login_shell)1110 4332 y Fu(The)35 b(shell)h(sets)g(this)f(option)h
+(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
-4441 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(94\).)41
+1592 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(98\).)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
-4617 y Ft(mailwarn)96 b Fu(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
+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 4726 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
-(ed,)k(the)c(message)h Ft("The)k(mail)h(in)f Fj(mail-)1110
-4836 y(file)g Ft(has)h(been)f(read")g Fu(is)h(displa)m(y)m(ed.)630
-5011 y Ft(no_empty_cmd_completion)1110 5121 y Fu(If)g(set,)g(and)g
-(Readline)g(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e
-(searc)m(h)1110 5230 y(the)25 b Ft(PATH)f Fu(for)h(p)s(ossible)f
-(completions)j(when)d(completion)i(is)f(attempted)h(on)1110
-5340 y(an)k(empt)m(y)h(line.)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)630 299 y Ft(nocaseglob)1110
-408 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 518 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 664 y Ft(nocasematch)1110
-774 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 883 y(p)s(erforming)31
+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 993 y(mands)25 b(\(see)i(Section)f
+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
-1103 y(p)s(erforming)e(pattern)i(substitution)f(w)m(ord)g(expansions,)h
-(or)f(when)g(\014ltering)1110 1212 y(p)s(ossible)j(completions)h(as)g
-(part)f(of)h(programmable)f(completion.)630 1358 y Ft
-(noexpand_translation)1110 1468 y Fu(If)23 b(set,)j(Bash)d(encloses)i
+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)23 b(set,)j(Bash)d(encloses)i
(the)e(translated)h(results)g(of)f($)p Ft(")p Fu(...)p
-Ft(")h Fu(quoting)g(in)f(single)1110 1577 y(quotes)k(instead)g(of)g
+Ft(")h Fu(quoting)g(in)f(single)1110 3893 y(quotes)k(instead)g(of)g
(double)f(quotes.)40 b(If)26 b(the)h(string)f(is)h(not)g(translated,)h
-(this)1110 1687 y(has)i(no)g(e\013ect.)630 1833 y Ft(nullglob)96
+(this)1110 4003 y(has)i(no)g(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 1943 y(tion)g(3.5.8)i
-([Filename)f(Expansion],)f(page)h(36\))g(expand)e(to)h(nothing)g(and)
-1110 2052 y(are)31 b(remo)m(v)m(ed,)g(rather)g(than)f(expanding)g(to)h
-(themselv)m(es.)630 2198 y Ft(patsub_replacement)1110
-2308 y Fu(If)38 b(set,)k(Bash)d(expands)e(o)s(ccurrences)i(of)g(`)p
+(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
-2418 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 2527 y(describ)s(ed)45
+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 2637 y(page)31 b(26\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 2783 y
-Ft(progcomp)96 b Fu(If)25 b(set,)i(the)f(programmable)g(completion)g
-(facilities)i(\(see)f(Section)f(8.6)h([Pro-)1110 2892
-y(grammable)45 b(Completion],)k(page)c(150\))h(are)f(enabled.)82
-b(This)44 b(option)h(is)1110 3002 y(enabled)30 b(b)m(y)h(default.)630
-3148 y Ft(progcomp_alias)1110 3258 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 3367 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 3477
-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 3587 y(programmable)28
-b(completion)h(using)e(the)h(command)f(w)m(ord)h(resulting)f(from)1110
-3696 y(the)k(expanded)e(alias.)630 3842 y Ft(promptvars)1110
-3952 y Fu(If)50 b(set,)56 b(prompt)49 b(strings)h(undergo)g(parameter)h
-(expansion,)k(command)1110 4061 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
-4171 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 4281 y(Prompt],)30
-b(page)h(107\).)43 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
-(default.)630 4427 y Ft(restricted_shell)1110 4536 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 4646 y(Section)32
-b(6.10)h([The)d(Restricted)j(Shell],)e(page)h(109\).)45
-b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110 4756 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 4865 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 4975 y(stricted.)630 5121 y Ft(shift_verbose)1110
-5230 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 5340 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.)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)630 299 y Ft(sourcepath)1110
-408 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 518 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 628 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
-787 y Ft(varredir_close)1110 897 y Fu(If)h(set,)h(the)f(shell)h
-(automatically)i(closes)e(\014le)f(descriptors)g(assigned)g(using)1110
-1006 y(the)40 b Ft({varname})c Fu(redirection)k(syn)m(tax)g(\(see)h
-(Section)f(3.6)g([Redirections],)1110 1116 y(page)h(39\))f(instead)h
-(of)e(lea)m(ving)j(them)e(op)s(en)f(when)g(the)h(command)f(com-)1110
-1225 y(pletes.)630 1385 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 1494 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 1604 y(page)j(69\))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
-1845 y Fs(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 2004
-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 2114 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
-2223 y(commands)e(in)g(three)h(resp)s(ects:)199 2358
+(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(155\).)43
+b(This)29 b(option)h(is)1110 5340 y(enabled)g(b)m(y)h(default.)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(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(111\).)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
+(113\).)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(71\))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 2492 y(2.)61
+(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 2627
+(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
-2736 y(after)i(the)f(command)h(completes.)275 2896 y(When)36
+5340 y(after)i(the)f(command)h(completes.)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)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
-3005 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
+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 3115 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(109.)275
-3249 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h(builtins:)390
-3384 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 3494 y(shift)f(times)h(trap)f
+(Section)h(6.11)150 518 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(114.)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: 81 87
-TeXDict begin 81 86 bop 3659 -116 a Fu(81)150 299 y Fp(5)80
-b(Shell)53 b(V)-13 b(ariables)150 504 y Fu(This)21 b(c)m(hapter)i
+%%Page: 84 90
+TeXDict begin 84 89 bop 3659 -116 a Fu(84)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
-614 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 843 y Fs(5.1)68 b(Bourne)45 b(Shell)g(V)-11
-b(ariables)150 1003 y Fu(Bash)30 b(uses)g(certain)h(shell)g(v)-5
+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 1112 y(assigns)f(a)f
+(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
-1260 y Ft(CDPATH)192 b Fu(A)39 b(colon-separated)i(list)e(of)g
+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 1370 y(command.)150 1518 y Ft(HOME)288
+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
-1628 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
+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 1737 y(Expansion],)30 b(page)h(25\).)150
-1885 y Ft(IFS)336 b Fu(A)25 b(list)i(of)e(c)m(haracters)i(that)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 1995 y(of)31 b(expansion.)150 2143 y Ft(MAIL)288
-b Fu(If)44 b(this)g(parameter)h(is)g(set)g(to)g(a)f(\014lename)h(or)f
-(directory)h(name)g(and)f(the)g Ft(MAILPATH)630 2252
-y Fu(v)-5 b(ariable)32 b(is)e(not)h(set,)h(Bash)f(informs)f(the)h(user)
-f(of)h(the)g(arriv)-5 b(al)31 b(of)g(mail)g(in)g(the)g(sp)s(eci\014ed)
-630 2362 y(\014le)f(or)h(Maildir-format)g(directory)-8
-b(.)150 2510 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 2619 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 2729 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 2839 y(When)g(used)f(in)h(the)g(text)i(of)e(the)g
+(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 2948 y(mail)f(\014le.)150 3096 y Ft(OPTARG)192
+(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
-3244 y Ft(OPTIND)192 b Fu(The)30 b(index)g(of)g(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 3392 y Ft(PATH)288 b Fu(A)32 b(colon-separated)i(list)f
-(of)f(directories)h(in)e(whic)m(h)h(the)g(shell)g(lo)s(oks)h(for)f
-(commands.)45 b(A)630 3502 y(zero-length)e(\(n)m(ull\))g(directory)f
-(name)g(in)g(the)g(v)-5 b(alue)42 b(of)g Ft(PATH)f Fu(indicates)i(the)f
-(curren)m(t)630 3611 y(directory)-8 b(.)49 b(A)33 b(n)m(ull)f
-(directory)i(name)e(ma)m(y)i(app)s(ear)e(as)h(t)m(w)m(o)h(adjacen)m(t)g
-(colons,)g(or)f(as)g(an)630 3721 y(initial)f(or)e(trailing)h(colon.)150
-3869 y Ft(PS1)336 b Fu(The)35 b(primary)f(prompt)h(string.)55
+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 3979 y([Con)m(trolling)i(the)e
-(Prompt],)i(page)f(107,)i(for)d(the)h(complete)h(list)e(of)h(escap)s(e)
-g(sequences)630 4088 y(that)31 b(are)g(expanded)e(b)s(efore)h
-Ft(PS1)g Fu(is)g(displa)m(y)m(ed.)150 4236 y Ft(PS2)336
+b Fu('.)56 b(See)36 b(Section)g(6.9)630 4911 y([Con)m(trolling)i(the)e
+(Prompt],)i(page)f(111,)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 4346 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.)150
-4575 y Fs(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4734
-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 4844 y(sp)s(ecially)-8 b(.)275 4973 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 5082 y(the)31 b(job)f(con)m(trol)h
+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: 85 91
+TeXDict begin 85 90 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(85)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(121\).)150 5230 y Ft(_)432 b
-Fu(\($)p 716 5230 28 4 v 41 w(,)34 b(an)g(underscore.\))49
-b(A)m(t)35 b(shell)f(startup,)g(set)g(to)g(the)g(pathname)f(used)g(to)h
-(in)m(v)m(ok)m(e)i(the)630 5340 y(shell)e(or)g(shell)h(script)f(b)s
-(eing)f(executed)j(as)e(passed)g(in)f(the)i(en)m(vironmen)m(t)f(or)g
-(argumen)m(t)p eop end
-%%Page: 82 88
-TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(82)630 299 y(list.)55
-b(Subsequen)m(tly)-8 b(,)35 b(expands)f(to)i(the)f(last)g(argumen)m(t)h
-(to)f(the)g(previous)f(simple)h(com-)630 408 y(mand)21
-b(executed)i(in)e(the)i(foreground,)g(after)f(expansion.)38
-b(Also)22 b(set)h(to)f(the)g(full)g(pathname)630 518
-y(used)h(to)i(in)m(v)m(ok)m(e)h(eac)m(h)g(command)e(executed)h(and)f
-(placed)g(in)g(the)g(en)m(vironmen)m(t)h(exp)s(orted)630
-628 y(to)33 b(that)g(command.)45 b(When)32 b(c)m(hec)m(king)i(mail,)g
-(this)e(parameter)g(holds)g(the)g(name)g(of)h(the)630
-737 y(mail)e(\014le.)150 902 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 1066 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
-1176 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
-1285 y([The)e(Shopt)g(Builtin],)i(page)f(74\).)60 b(The)36
+b(ariables],)32 b(page)g(126\).)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(76\).)60 b(The)36
b(options)h(app)s(earing)f(in)g Ft(BASHOPTS)e Fu(are)i(those)630
-1395 y(rep)s(orted)e(as)h(`)p Ft(on)p Fu(')f(b)m(y)h(`)p
+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
-1504 y(starts)25 b(up,)f(eac)m(h)i(shell)e(option)h(in)e(the)i(list)g
-(will)f(b)s(e)g(enabled)g(b)s(efore)g(reading)g(an)m(y)g(startup)630
-1614 y(\014les.)41 b(This)29 b(v)-5 b(ariable)31 b(is)g(readonly)-8
-b(.)150 1778 y Ft(BASHPID)144 b Fu(Expands)35 b(to)i(the)f(pro)s(cess)f
-(ID)i(of)f(the)g(curren)m(t)g(Bash)g(pro)s(cess.)58 b(This)35
-b(di\013ers)h(from)g Ft($$)630 1888 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 1998 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 2107 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 2271 y Ft(BASH_ALIASES)630
-2381 y Fu(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5
+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 2491 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g
+(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 2600 y(Builtins],)31 b(page)g(49\).)42 b(Elemen)m(ts)31
+(Shell)630 3403 y(Builtins],)31 b(page)g(50\).)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 2710 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g
+(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 2819 y(from)25 b(the)h(alias)h(list.)40 b(If)25
+(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 2929 y(if)k(it)h(is)g(subsequen)m(tly)f
-(reset.)150 3093 y Ft(BASH_ARGC)630 3203 y Fu(An)39 b(arra)m(y)g(v)-5
+(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 3313 y(of)h(the)g(curren)m
+(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 3422
+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
-3532 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27
+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 3641 y(passed)44 b(is)h(pushed)e(on)m(to)j
+(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 3751 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(74,)g(for)
-630 3861 y(a)e(description)g(of)f(the)h Ft(extdebug)d
+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(76,)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 3970 y Fu(after)c(the)g(shell)g(has)g(started)g(to)g
-(execute)i(a)e(script,)g(or)g(referencing)g(this)f(v)-5
-b(ariable)30 b(when)630 4080 y Ft(extdebug)i Fu(is)i(not)h(set,)g(ma)m
-(y)g(result)f(in)g(inconsisten)m(t)h(v)-5 b(alues.)53
-b(Assignmen)m(ts)34 b(to)h Ft(BASH_)630 4189 y(ARGC)29
-b Fu(ha)m(v)m(e)j(no)e(e\013ect,)i(and)e(it)h(ma)m(y)g(not)f(b)s(e)g
-(unset.)150 4354 y Ft(BASH_ARGV)630 4463 y Fu(An)23 b(arra)m(y)g(v)-5
+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 4573 y(call)35 b(stac)m(k.)53
+(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)630 4682 y(stac)m(k;)28
+(is)f(at)h(the)f(top)h(of)f(the)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)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 4792
-y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f(on)m
-(to)i Ft(BASH_ARGV)p Fu(.)66 b(The)40 b(shell)630 4902
-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 5011 y(Shopt)g(Builtin],)
-h(page)g(74,)g(for)g(a)f(description)h(of)f(the)h Ft(extdebug)d
-Fu(option)j(to)g(the)f Ft(shopt)630 5121 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 5230 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 5340 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.)p eop end
-%%Page: 83 89
-TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(83)150 299 y Ft(BASH_ARGV0)630
-408 y Fu(When)31 b(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 518 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 628 y(scription)32 b(of)g(sp)s(ecial)g(parameter)g(0\).)45
-b(Assignmen)m(t)32 b(to)h Ft(BASH_ARGV0)c Fu(causes)j(the)f(v)-5
-b(alue)630 737 y(assigned)34 b(to)h(also)g(b)s(e)e(assigned)h(to)g
-Ft($0)p Fu(.)51 b(If)33 b Ft(BASH_ARGV0)f Fu(is)h(unset,)i(it)f(loses)h
-(its)f(sp)s(ecial)630 847 y(prop)s(erties,)c(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 1029 y Ft(BASH_CMDS)630
-1139 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 1249 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
-1358 y(Shell)42 b(Builtins],)k(page)d(49\).)77 b(Elemen)m(ts)43
-b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)f(the)i(hash)630
-1468 y(table;)k(ho)m(w)m(ev)m(er,)e(unsetting)c(arra)m(y)g(elemen)m(ts)
-i(curren)m(tly)d(do)s(es)h(not)g(cause)g(command)630
-1577 y(names)36 b(to)g(b)s(e)f(remo)m(v)m(ed)i(from)e(the)h(hash)f
-(table.)58 b(If)36 b Ft(BASH_CMDS)d Fu(is)j(unset,)h(it)f(loses)h(its)
-630 1687 y(sp)s(ecial)31 b(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 1870 y Ft(BASH_COMMAND)630
-1979 y Fu(The)39 b(command)h(curren)m(tly)g(b)s(eing)f(executed)i(or)e
-(ab)s(out)h(to)g(b)s(e)f(executed,)44 b(unless)39 b(the)630
-2089 y(shell)g(is)g(executing)g(a)g(command)g(as)g(the)f(result)h(of)g
-(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)630
-2198 y(command)30 b(executing)i(at)g(the)f(time)g(of)g(the)g(trap.)41
-b(If)30 b Ft(BASH_COMMAND)e Fu(is)i(unset,)h(it)g(loses)630
-2308 y(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)f
-(subsequen)m(tly)g(reset.)150 2491 y Ft(BASH_COMPAT)630
-2600 y Fu(The)i(v)-5 b(alue)33 b(is)g(used)f(to)h(set)g(the)g(shell's)g
+(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(76,)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(50\).)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
-2710 y(Compatibilit)m(y)j(Mo)s(de],)h(page)e(114,)i(for)e(a)g
+3477 y(Compatibilit)m(y)j(Mo)s(de],)h(page)e(119,)i(for)e(a)g
(description)g(of)f(the)h(v)-5 b(arious)36 b(compatibilit)m(y)630
-2819 y(lev)m(els)g(and)f(their)g(e\013ects.)55 b(The)34
+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 2929 y(in)m(teger)44 b(\(e.g.,)j(42\))d
+(\(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 3039 y(COMPAT)28 b Fu(is)j(unset)e(or)h(set)h
+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 3148 y(default)e(for)f(the)g(curren)m(t)g(v)m
+(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 3258 y(of)i(the)h(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 3367 y(compatibilit)m(y)h
+(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 3477
+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
-3587 y([Shell)25 b(Compatibilit)m(y)h(Mo)s(de],)h(page)e(114\).)41
+4354 y([Shell)25 b(Compatibilit)m(y)h(Mo)s(de],)h(page)e(119\).)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 3696 y(that)33 b(corresp)s(ond)e(to)i(the)
+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 3806 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 3988
-y Ft(BASH_ENV)96 b Fu(If)28 b(this)g(v)-5 b(ariable)30
-b(is)e(set)h(when)f(Bash)g(is)h(in)m(v)m(ok)m(ed)h(to)f(execute)h(a)e
-(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 4098
-y(expanded)k(and)h(used)g(as)g(the)h(name)f(of)g(a)h(startup)f(\014le)g
-(to)h(read)f(b)s(efore)g(executing)i(the)630 4208 y(script.)41
-b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(96.)150
-4390 y Ft(BASH_EXECUTION_STRING)630 4500 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.)150
-4682 y Ft(BASH_LINENO)630 4792 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 4902 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 5011 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 5121 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 5230 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 5340 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.)p eop end
-%%Page: 84 90
-TeXDict begin 84 89 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(84)150 299 y Ft
-(BASH_LOADABLES_PATH)630 408 y Fu(A)39 b(colon-separated)i(list)f(of)f
-(directories)h(in)f(whic)m(h)g(the)g(shell)h(lo)s(oks)f(for)g
-(dynamically)630 518 y(loadable)32 b(builtins)d(sp)s(eci\014ed)h(b)m(y)
-g(the)h Ft(enable)e Fu(command.)150 677 y Ft(BASH_MONOSECONDS)630
-787 y Fu(Eac)m(h)35 b(time)g(this)f(v)-5 b(ariable)35
+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(100.)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: 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)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 897 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 1006 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
-1116 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 1275 y Ft(BASH_REMATCH)630
-1385 y Fu(An)43 b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)
+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 1494 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e
+(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
-1604 y(page)e(12\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f
+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
-1714 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
+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 1823 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m
-(thesized)h(sub)s(expression.)150 1983 y Ft(BASH_SOURCE)630
-2092 y Fu(An)40 b(arra)m(y)h(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)
+(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
-2202 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h
+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 2311 y(shell)26 b(function)g Ft(${FUNCNAME[$i]})c
+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 2421 y(called)36 b(from)e Ft(${BASH_SOURCE[$i+1]})c
+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 2531 y(fect,)c(and)f(it)h(ma)m(y)g(not)g(b)s(e)e(unset.)150
-2690 y Ft(BASH_SUBSHELL)630 2800 y Fu(Incremen)m(ted)24
+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 2909 y(b)s(egins)j(executing)i
+(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
-3019 y Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)h(prop)s(erties,)
+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
-3178 y Ft(BASH_TRAPSIG)630 3288 y Fu(Set)g(to)h(the)f(signal)h(n)m(um)m
+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 3397 y(ing)38 b(its)h(execution.)66
+(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 3507 y(Builtins],)31 b(page)g(49\))h(for)e
+h([Bourne)e(Shell)630 4317 y(Builtins],)31 b(page)g(50\))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 3666 y Ft(BASH_VERSINFO)630 3776 y Fu(A)i(readonly)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(103\))g(whose)f(mem)m(b)s(ers)630 3885 y(hold)g(v)m(ersion)h
+(page)g(108\))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
-3995 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
-4154 y Ft(BASH_VERSINFO[0])1110 4264 y Fu(The)f(ma)5
+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 4423 y Ft(BASH_VERSINFO[1])1110 4533 y Fu(The)30
+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(\).)630 4692 y Ft(BASH_VERSINFO[2])1110 4802 y Fu(The)f(patc)m(h)h
-(lev)m(el.)630 4961 y Ft(BASH_VERSINFO[3])1110 5071 y
-Fu(The)f(build)f(v)m(ersion.)630 5230 y Ft(BASH_VERSINFO[4])1110
-5340 y Fu(The)h(release)i(status)e(\(e.g.,)j Ft(beta)p
Fu(\).)p eop end
-%%Page: 85 91
-TeXDict begin 85 90 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(85)630 299 y Ft(BASH_VERSINFO[5])
-1110 408 y Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p
-Fu(.)150 573 y Ft(BASH_VERSION)630 682 y Fu(The)g(v)m(ersion)h(n)m(um)m
-(b)s(er)e(of)h(the)h(curren)m(t)f(instance)h(of)g(Bash.)150
-847 y Ft(BASH_XTRACEFD)630 956 y Fu(If)f(set)h(to)h(an)e(in)m(teger)i
+%%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)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 1066 y(trace)37 b(output)f(generated)h
+(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 1176 y(allo)m(ws)29
+(\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 1285 y(\014le)31 b(descriptor)f(is)h
+(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 1395 y(Unsetting)45 b Ft(BASH_XTRACEFD)40
+(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 1504 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g
+(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 1614 y(2)39 b(\(the)h(standard)e(error)g(\014le)h
+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 1724 y(standard)30 b(error)g(b)s(eing)f(closed.)150
-1888 y Ft(CHILD_MAX)630 1998 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h
+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 2107 y(will)37 b(not)g(allo)m(w)i(this)
+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 2217 y(and)30
+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
-2326 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.)
-150 2491 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h
+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 2600 y(selection)39 b(lists.)63
+(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 2710 y(Section)44
-b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(74\),)k(or)43
-b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 2819
-y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 2984 y
-Ft(COMP_CWORD)630 3093 y Fu(An)38 b(index)g(in)m(to)h
+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(76\),)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 3203 y(sition.)72 b(This)40
+(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
-3313 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
-([Programmable)g(Completion],)630 3422 y(page)31 b(150\).)150
-3587 y Ft(COMP_LINE)630 3696 y Fu(The)38 b(curren)m(t)h(command)f
+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(155\).)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(155\).)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 3806
+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 3915
-y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(150\).)150
-4080 y Ft(COMP_POINT)630 4189 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 4299 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 4408 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
-4518 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 4628
-y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g
-(Completion],)h(page)f(150\).)150 4792 y Ft(COMP_TYPE)630
-4902 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(completion)h
-(attempted)g(that)630 5011 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 5121 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 5230 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
-5340 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)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)630 299 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 408 y([Programmable)e
-(Completion],)h(page)f(150\).)150 562 y Ft(COMP_KEY)96
-b Fu(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i(of)f(a)g(k)m(ey)h
-(sequence\))g(used)e(to)i(in)m(v)m(ok)m(e)h(the)e(curren)m(t)g
-(completion)630 671 y(function.)150 825 y Ft(COMP_WORDBREAKS)630
-934 y Fu(The)f(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
-1044 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 1154 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)150 1307 y Ft(COMP_WORDS)630 1417 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 1526
-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
-1636 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60
+(programmable)f(completion)i(facilities)g(\(see)630 5340
+y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(155\).)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)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(155\).)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(155\).)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 1745 y(tions)32 b(in)m(v)m(ok)m(ed)i(b)
+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 1855 y(grammable)e(Completion],)g(page)g(150\).)150
-2008 y Ft(COMPREPLY)630 2118 y Fu(An)37 b(arra)m(y)h(v)-5
+(8.6)g([Pro-)630 2943 y(grammable)e(Completion],)g(page)g(155\).)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 2228 y(b)m(y)33 b(a)g(shell)h(function)f
+(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 2337 y(tion)g(8.6)g([Programmable)g(Completion],)
-h(page)f(150\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains)
-630 2447 y(one)c(p)s(ossible)f(completion.)150 2600 y
+(y)h(\(see)f(Sec-)630 3422 y(tion)g(8.6)g([Programmable)g(Completion],)
+h(page)f(155\).)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 2710 y(to)31 b(an)f(unnamed)f(copro)s(cess)i
+(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
-2863 y Ft(DIRSTACK)96 b Fu(An)26 b(arra)m(y)h(v)-5 b(ariable)28
+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 2973 y(tories)33
+(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
-3082 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
+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
-3192 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
+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 3302 y(and)37 b(remo)m(v)m(e)h(directories.)63
+(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 3411 y(ren)m(t)c(directory)-8
+(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
-3521 y(subsequen)m(tly)d(reset.)150 3674 y Ft(EMACS)240
-b Fu(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32
-b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f
-(v)-5 b(alue)630 3784 y(`)p Ft(t)p Fu(',)36 b(it)f(assumes)f(that)h
-(the)g(shell)f(is)h(running)e(in)h(an)g(Emacs)h(shell)g(bu\013er)e(and)
-h(disables)630 3893 y(line)d(editing.)150 4047 y Ft(ENV)336
-b Fu(Expanded)33 b(and)h(executed)i(similarly)f(to)g
+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
-4156 y(Files],)k(page)e(96\))h(when)d(an)h(in)m(teractiv)m(e)j(shell)d
-(is)h(in)m(v)m(ok)m(ed)g(in)f Fm(posix)g Fu(Mo)s(de)g(\(see)h(Sec-)630
-4266 y(tion)31 b(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(109\).)150
-4419 y Ft(EPOCHREALTIME)630 4529 y Fu(Eac)m(h)38 b(time)f(this)g
+5230 y(Files],)g(page)e(100\))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(114\).)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(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)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as)h(a)g(\015oating)h(p)s
+(oin)m(t)f(v)-5 b(alue)36 b(with)f(micro-second)i(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 4639 y(since)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as)
-h(a)g(\015oating)h(p)s(oin)m(t)f(v)-5 b(alue)36 b(with)f(micro-second)i
-(gran)m(ularit)m(y)630 4748 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 4858 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 4967 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 5121 y Ft(EPOCHSECONDS)630 5230 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 5340 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)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(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
-408 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
-518 y(reset.)150 679 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
-840 y Ft(EXECIGNORE)630 950 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 1060 y(page)j(37\))g(de\014ning)e(the)h(list)g(of)g
-(\014lenames)g(to)g(b)s(e)g(ignored)g(b)m(y)f(command)h(searc)m(h)g
-(using)630 1169 y Ft(PATH)p Fu(.)k(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
-1279 y(executable)j(\014les)e(for)g(the)h(purp)s(oses)d(of)j
+(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
-1388 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h(a\013ect)i(the)d(b)
+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 1498 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g
+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 1608 y(Use)30 b(this)f(v)-5
+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 1717 y(but)36
+(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 1827 y
-Ft(extglob)28 b Fu(shell)j(option.)150 1988 y Ft(FCEDIT)192
+(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(-e)g Fu(option)h(to)g(the)f Ft(fc)g Fu(builtin)g(command.)150
-2149 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 2259 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
-2368 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41
+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 2529 y Ft(FUNCNAME)96 b Fu(An)35 b(arra)m(y)i(v)-5
+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 2639 y(execution)g(call)h
+(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 2749 y(executing)f(shell)f
+(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 2858 y(index\))e(is)h Ft("main")p
+(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 2968 y(Assignmen)m(ts)23
+(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 3077 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)630 3213 y(This)h(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)
+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 3322 y(of)g Ft(FUNCNAME)d
+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 3432 y(describ)s(e)39
+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
-3541 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21 b Fu(at)27
+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 3651 y Fu(builtin)j(displa)m(ys)g(the)h
+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
-3812 y Ft(FUNCNEST)96 b Fu(If)34 b(set)i(to)f(a)h(n)m(umeric)e(v)-5
-b(alue)36 b(greater)g(than)e(0,)j(de\014nes)d(a)h(maxim)m(um)g
-(function)g(nesting)630 3922 y(lev)m(el.)42 b(F)-8 b(unction)29
-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)f(curren)m(t)630 4031 y(command)i(to)h(ab)s(ort.)
-150 4193 y Ft(GLOBIGNORE)630 4302 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 4412 y(b)m(y)28 b(\014lename)h(expansion.)40
+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)630 4521 y(also)k(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 4631 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 4792 y Ft(GLOBSORT)96
-b Fu(Con)m(trol)41 b(ho)m(w)f(the)g(results)g(of)h(\014lename)f
-(expansion)g(are)g(sorted.)70 b(The)40 b(v)-5 b(alue)41
-b(of)f(this)630 4902 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 5011 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 5121 y(uses)40 b(the)h(historical)h(b)s
-(eha)m(vior)e(of)h(sorting)g(b)m(y)f(name.)71 b(If)40
-b(set,)k(a)d(v)-5 b(alid)41 b(v)-5 b(alue)40 b(b)s(egins)630
-5230 y(with)27 b(an)f(optional)i(`)p Ft(+)p Fu(',)g(whic)m(h)f(is)g
-(ignored,)g(or)g(`)p Ft(-)p Fu(',)h(whic)m(h)f(rev)m(erses)g(the)g
-(sort)g(order)f(from)630 5340 y(ascending)34 b(to)g(descending,)g
-(follo)m(w)m(ed)h(b)m(y)e(a)h(sort)f(sp)s(eci\014er.)50
-b(The)32 b(v)-5 b(alid)34 b(sort)g(sp)s(eci\014ers)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)630 299 y(are)40
-b(`)p Ft(name)p Fu(',)i(`)p Ft(numeric)p Fu(',)f(`)p
-Ft(size)p Fu(',)h(`)p Ft(mtime)p Fu(',)f(`)p Ft(atime)p
-Fu(',)g(`)p Ft(ctime)p Fu(',)h(and)d(`)p Ft(blocks)p
-Fu(',)i(whic)m(h)630 408 y(sort)35 b(the)h(\014les)f(on)g(name,)i
-(names)e(in)g(n)m(umeric)g(rather)g(than)g(lexicographic)j(order,)e
-(\014le)630 518 y(size,)c(mo)s(di\014cation)f(time,)h(access)h(time,)f
-(ino)s(de)e(c)m(hange)i(time,)g(and)f(n)m(um)m(b)s(er)e(of)i(blo)s(c)m
-(ks,)630 628 y(resp)s(ectiv)m(ely)-8 b(.)41 b(If)27 b(an)m(y)g(of)g
-(the)g(non-name)f(k)m(eys)i(compare)f(as)g(equal)g(\(e.g.,)j(if)d(t)m
-(w)m(o)h(\014les)f(are)630 737 y(the)k(same)f(size\),)i(sorting)f(uses)
-f(the)g(name)h(as)f(a)h(secondary)g(sort)f(k)m(ey)-8
-b(.)630 872 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 982 y(\014cation)f(time)g(\(new)m(est)h
-(\014rst\).)630 1117 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 1226 y(sorts)h(them)g(using)f(the)h(n)m(umeric)g(v)-5
+(expansion)h(pattern)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)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
+562 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 671 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 781 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 891 y(uses)40
+b(the)h(historical)h(b)s(eha)m(vior)e(of)h(sorting)g(b)m(y)f(name.)71
+b(If)40 b(set,)k(a)d(v)-5 b(alid)41 b(v)-5 b(alue)40
+b(b)s(egins)630 1000 y(with)27 b(an)f(optional)i(`)p
+Ft(+)p Fu(',)g(whic)m(h)f(is)g(ignored,)g(or)g(`)p Ft(-)p
+Fu(',)h(whic)m(h)f(rev)m(erses)g(the)g(sort)g(order)f(from)630
+1110 y(ascending)34 b(to)g(descending,)g(follo)m(w)m(ed)h(b)m(y)e(a)h
+(sort)f(sp)s(eci\014er.)50 b(The)32 b(v)-5 b(alid)34
+b(sort)g(sp)s(eci\014ers)630 1219 y(are)40 b(`)p Ft(name)p
+Fu(',)i(`)p Ft(numeric)p Fu(',)f(`)p Ft(size)p Fu(',)h(`)p
+Ft(mtime)p Fu(',)f(`)p Ft(atime)p Fu(',)g(`)p Ft(ctime)p
+Fu(',)h(and)d(`)p Ft(blocks)p Fu(',)i(whic)m(h)630 1329
+y(sort)35 b(the)h(\014les)f(on)g(name,)i(names)e(in)g(n)m(umeric)g
+(rather)g(than)g(lexicographic)j(order,)e(\014le)630
+1439 y(size,)c(mo)s(di\014cation)f(time,)h(access)h(time,)f(ino)s(de)e
+(c)m(hange)i(time,)g(and)f(n)m(um)m(b)s(er)e(of)i(blo)s(c)m(ks,)630
+1548 y(resp)s(ectiv)m(ely)-8 b(.)41 b(If)27 b(an)m(y)g(of)g(the)g
+(non-name)f(k)m(eys)i(compare)f(as)g(equal)g(\(e.g.,)j(if)d(t)m(w)m(o)h
+(\014les)f(are)630 1658 y(the)k(same)f(size\),)i(sorting)f(uses)f(the)g
+(name)h(as)f(a)h(secondary)g(sort)f(k)m(ey)-8 b(.)630
+1789 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 1899 y(\014cation)f(time)g(\(new)m(est)h(\014rst\).)630
+2030 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
+2140 y(sorts)h(them)g(using)f(the)h(n)m(umeric)g(v)-5
b(alue)29 b(\(so)h Ft(")p Fu(2)p Ft(")e Fu(will)i(sort)f(b)s(efore)f
-Ft(")p Fu(10)p Ft(")p Fu(,)i(for)f(example\).)630 1336
+Ft(")p Fu(10)p Ft(")p Fu(,)i(for)f(example\).)630 2250
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
-1445 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 1580 y(A)26 b(sort)h(sp)s(eci\014er)
+2359 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 2491 y(A)26 b(sort)h(sp)s(eci\014er)
e(of)h(`)p Ft(nosort)p Fu(')f(disables)h(sorting)h(completely;)i(the)e
-(results)f(are)g(returned)630 1690 y(in)k(the)h(order)f(they)g(are)h
+(results)f(are)g(returned)630 2600 y(in)k(the)h(order)f(they)g(are)h
(read)f(from)g(the)h(\014le)f(system,)h(and)f(an)m(y)g(leading)h(`)p
-Ft(-)p Fu(')g(is)f(ignored.)630 1825 y(If)c(the)h(sort)f(sp)s
+Ft(-)p Fu(')g(is)f(ignored.)630 2732 y(If)c(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 1934 y(to)31 b(the)g(n)m(ull)f(string,)h(and)e(a)i(v)-5
+b(alen)m(t)630 2841 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 2069 y(An)m(y)g(in)m(v)-5 b(alid)31
+(descending)g(order.)630 2973 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 2229 y Ft(GROUPS)192 b Fu(An)36 b(arra)m(y)g(v)-5
+(vior.)150 3126 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 2339 y(mem)m(b)s(er.)41
+(h)f(the)i(curren)m(t)e(user)h(is)g(a)630 3236 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
-2449 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 2609 y Ft(histchars)630
-2718 y Fu(Up)c(to)g(three)g(c)m(haracters)i(whic)m(h)d(con)m(trol)j
+3345 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 3499 y Ft(histchars)630
+3608 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
-2828 y(tok)m(enization)k(\(see)f(Section)f(9.3)h([History)f(In)m
-(teraction],)i(page)f(161\).)41 b(The)29 b(\014rst)e(c)m(harac-)630
-2937 y(ter)j(is)f(the)g Fr(history)g(expansion)g Fu(c)m(haracter,)j
+3718 y(tok)m(enization)k(\(see)f(Section)f(9.3)h([History)f(In)m
+(teraction],)i(page)f(167\).)41 b(The)29 b(\014rst)e(c)m(harac-)630
+3828 y(ter)j(is)f(the)g Fr(history)g(expansion)g Fu(c)m(haracter,)j
(that)e(is,)f(the)h(c)m(haracter)h(whic)m(h)d(signi\014es)i(the)630
-3047 y(start)25 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p
+3937 y(start)25 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p
Ft(!)p Fu('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m
-(haracter)630 3157 y(whic)m(h)32 b(signi\014es)g Ft(")p
+(haracter)630 4047 y(whic)m(h)32 b(signi\014es)g Ft(")p
Fu(quic)m(k)h(substitution)p Ft(")f Fu(when)f(seen)h(as)h(the)f
-(\014rst)g(c)m(haracter)i(on)e(a)g(line,)630 3266 y(normally)27
+(\014rst)g(c)m(haracter)i(on)e(a)g(line,)630 4156 y(normally)27
b(`)p Ft(^)p Fu('.)39 b(The)26 b(optional)i(third)d(c)m(haracter)j(is)e
(the)h(c)m(haracter)h(whic)m(h)e(indicates)h(that)630
-3376 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
+4266 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
(when)e(found)f(as)i(the)g(\014rst)f(c)m(haracter)i(of)f(a)630
-3485 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34
+4376 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34
b(history)h(commen)m(t)h(c)m(haracter)h(causes)e(history)g
-(substitution)630 3595 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
+(substitution)630 4485 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
(remaining)h(w)m(ords)f(on)h(the)f(line.)40 b(It)27 b(do)s(es)f(not)h
-(necessarily)g(cause)630 3705 y(the)k(shell)f(parser)g(to)h(treat)g
+(necessarily)g(cause)630 4595 y(the)k(shell)f(parser)g(to)h(treat)g
(the)g(rest)g(of)f(the)h(line)f(as)h(a)g(commen)m(t.)150
-3865 y Ft(HISTCMD)144 b Fu(The)44 b(history)h(n)m(um)m(b)s(er,)j(or)d
+4748 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 3974 y(Assignmen)m(ts)37 b(to)h Ft(HISTCMD)d
+(command.)630 4858 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 4084 y(prop)s(erties,)30
+(loses)g(its)f(sp)s(ecial)630 4967 y(prop)s(erties,)30
b(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)150
-4244 y Ft(HISTCONTROL)630 4354 y Fu(A)40 b(colon-separated)i(list)f(of)
+5121 y Ft(HISTCONTROL)630 5230 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 4463 y(history)29 b(list.)41 b(If)28
+(ed)g(on)f(the)630 5340 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
-4573 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 4682 y(causes)34 b(lines)h(whic)m(h)f(matc)m
-(h)h(the)f(previous)f(history)h(en)m(try)h(to)g(not)f(b)s(e)f(sa)m(v)m
-(ed.)53 b(A)34 b(v)-5 b(alue)630 4792 y(of)32 b(`)p Ft(ignoreboth)p
+Ft(ignorespace)p Fu(',)f(lines)i(whic)m(h)g(b)s(egin)f(with)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(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 408 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 518 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
-4902 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
-5011 y(from)42 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g
+628 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
+737 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 5121 y(list)35 b(is)g(ignored.)53 b(If)34
+(o)m(v)m(e)630 847 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 5230 y(lines)30
+(v)-5 b(alid)35 b(v)-5 b(alue,)36 b(all)630 956 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 5340 y(of)42 b Ft(HISTIGNORE)p Fu(.)73 b(The)42
+b(alue)630 1066 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)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(command)33
-b(are)h(not)g(tested,)i(and)d(are)h(added)f(to)h(the)g(history)g
-(regardless)g(of)g(the)f(v)-5 b(alue)630 408 y(of)31
-b Ft(HISTCONTROL)p Fu(.)150 569 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 678
-y(default)31 b(v)-5 b(alue)31 b(of)f Ft(~/.bash_history)p
-Fu(.)37 b(If)30 b Ft(HISTFILE)e Fu(is)i(unset)g(or)h(n)m(ull,)g(the)f
-(command)630 788 y(history)g(is)h(not)f(sa)m(v)m(ed)i(when)d(a)i(shell)
-g(exits.)150 948 y Ft(HISTFILESIZE)630 1058 y Fu(The)26
+s(ound)630 1176 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 1285 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 1395 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 1577 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 1687 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 1797 y(not)h(sa)m(v)m(e)h(the)e(command)g(history)h(when)e(it)i
+(exits.)150 1979 y Ft(HISTFILESIZE)630 2089 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
-1167 y(is)25 b(assigned)h(a)g(v)-5 b(alue,)27 b(the)f(history)f(\014le)
+2198 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 1277 y(than)37 b(that)h(n)m(um)m(b)s(er)d(of)j(lines)f(b)m(y)
+(more)630 2308 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 1386 y(also)i(truncated)f(to)h(this)e(size)
-i(after)g(writing)f(it)g(when)f(a)h(shell)h(exits.)64
-b(If)37 b(the)h(v)-5 b(alue)39 b(is)630 1496 y(0,)g(the)e(history)f
-(\014le)h(is)g(truncated)f(to)i(zero)f(size.)60 b(Non-n)m(umeric)37
-b(v)-5 b(alues)37 b(and)f(n)m(umeric)630 1606 y(v)-5
-b(alues)31 b(less)f(than)g(zero)h(inhibit)f(truncation.)41
-b(The)29 b(shell)i(sets)f(the)h(default)f(v)-5 b(alue)31
-b(to)g(the)630 1715 y(v)-5 b(alue)31 b(of)f Ft(HISTSIZE)f
-Fu(after)h(reading)h(an)m(y)g(startup)f(\014les.)150
-1875 y Ft(HISTIGNORE)630 1985 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 2094 y(b)s(e)d(sa)m(v)m(ed)i(on)f(the)g(history)g(list.)43
+b(history)g(\014le)g(is)630 2418 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 2527 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 2637 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 2746
+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 2929 y Ft(HISTIGNORE)630 3039 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 3148 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 2204 y(the)38 b(v)-5 b(alue)38 b(of)f Ft(HISTIGNORE)p
+(in)630 3258 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 2314 y(anc)m(hored)30
+b(Eac)m(h)38 b(pattern)g(is)630 3367 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 2423 y(will)23 b(not)f(implicitly)
+h(the)f(complete)i(line)e(\(Bash)630 3477 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
-2533 y(c)m(hec)m(ks)36 b(sp)s(eci\014ed)f(b)m(y)g Ft(HISTCONTROL)d
+3587 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
-2642 y(pattern)c(matc)m(hing)i(c)m(haracters,)g(`)p Ft(&)p
+3696 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 2752 y(escap)s(ed)24
+b(`)p Ft(&)p Fu(')32 b(ma)m(y)g(b)s(e)630 3806 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 2862 y(The)35
+(b)s(efore)f(attempting)i(a)f(matc)m(h.)630 3915 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 2971 y(tested,)27 b(and)e(are)h(added)
-e(to)i(the)g(history)f(regardless)g(of)h(the)f(v)-5 b(alue)26
-b(of)f Ft(HISTIGNORE)p Fu(.)36 b(The)630 3081 y(pattern)30
-b(matc)m(hing)i(honors)e(the)g(setting)i(of)e(the)h Ft(extglob)d
-Fu(shell)j(option.)630 3216 y Ft(HISTIGNORE)20 b Fu(subsumes)g(the)j
-(function)f(of)h Ft(HISTCONTROL)p Fu(.)35 b(A)23 b(pattern)f(of)h(`)p
-Ft(&)p Fu(')g(is)f(iden)m(tical)630 3325 y(to)k Ft(ignoredups)p
-Fu(,)e(and)h(a)h(pattern)g(of)f(`)p Ft([)31 b(]*)p Fu(')25
-b(is)h(iden)m(tical)h(to)f Ft(ignorespace)p Fu(.)36 b(Com)m(bining)630
-3435 y(these)30 b(t)m(w)m(o)h(patterns,)f(separating)g(them)g(with)f(a)
-h(colon,)h(pro)m(vides)e(the)h(functionalit)m(y)h(of)630
-3544 y Ft(ignoreboth)p Fu(.)150 3705 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 3814 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)630 3924 y(zero)i(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 4033 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 4194 y Ft(HISTTIMEFORMAT)630
-4303 y Fu(If)44 b(this)g(v)-5 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m
+s(ound)d(command)h(are)i(not)630 4025 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 4134 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
+4244 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
+4354 y(setting)f(of)g(the)g Ft(extglob)d Fu(shell)j(option.)630
+4500 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 4609 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 4719 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 4829 y(tionalit)m(y)33 b(of)d
+Ft(ignoreboth)p Fu(.)150 5011 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 5121
+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)630 5230 y(zero)i(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 5340 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.)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(HISTTIMEFORMAT)630
+408 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 4413 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 4522 y(pla)m(y)m(ed)34 b(b)m(y)e(the)h Ft(history)e
-Fu(builtin.)47 b(If)32 b(this)h(v)-5 b(ariable)33 b(is)g(set,)h(time)f
-(stamps)g(are)g(written)630 4632 y(to)d(the)f(history)g(\014le)h(so)f
-(they)g(ma)m(y)h(b)s(e)f(preserv)m(ed)f(across)i(shell)f(sessions.)41
-b(This)28 b(uses)h(the)630 4741 y(history)h(commen)m(t)i(c)m(haracter)g
-(to)f(distinguish)e(timestamps)i(from)f(other)h(history)f(lines.)150
-4902 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 5011 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 5121 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 5230 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 5340 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53
+(for)630 518 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
+628 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 737 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 847 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
+956 y(tory)e(lines.)150 1121 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 1230 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 1340
+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 1450
+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 1559 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)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)630 299 y(not)31
-b(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 408 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 518 y(is)f(cleared.)150
-667 y Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h
-(host.)150 816 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 964 y Ft(IGNOREEOF)630
-1074 y Fu(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
+b(alue,)36 b(or)e(do)s(es)630 1669 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 1778 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 1888 y(is)f(cleared.)150 2052 y
+Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)150
+2217 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 2381 y Ft(IGNOREEOF)630
+2491 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
-1183 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s
-(er)f(of)h(consecutiv)m(e)i Ft(EOF)d Fu(c)m(haracters)i(that)f(can)h(b)
-s(e)630 1293 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f
-(input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70
-b(If)39 b(the)630 1403 y(v)-5 b(ariable)39 b(exists)f(but)g(do)s(es)f
-(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)f(v)-5 b(alue,)40
-b(or)e(has)g(no)g(v)-5 b(alue,)40 b(then)e(the)630 1512
-y(default)31 b(is)g(10.)43 b(If)30 b(the)h(v)-5 b(ariable)31
-b(do)s(es)g(not)g(exist,)h(then)e Ft(EOF)g Fu(signi\014es)h(the)g(end)f
-(of)h(input)630 1622 y(to)g(the)g(shell.)41 b(This)29
-b(is)i(only)f(in)g(e\013ect)i(for)e(in)m(teractiv)m(e)j(shells.)150
-1771 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 1880 y Ft(~/.inputrc)p Fu(.)150 2029 y Ft(INSIDE_EMACS)630
-2138 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 2248 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
-2358 y(dep)s(ending)d(on)h(the)h(v)-5 b(alue)31 b(of)f
-Ft(TERM)p Fu(.)150 2506 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 2616 y(with)i(a)h(v)-5 b(ariable)31
-b(starting)g(with)f Ft(LC_)p Fu(.)150 2765 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 2874
-y(a)i(lo)s(cale)h(category)-8 b(.)150 3023 y Ft(LC_COLLATE)630
-3133 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
-3242 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 3352 y(alence)e
-(classes,)h(and)e(collating)i(sequences)e(within)f(\014lename)h
-(expansion)g(and)f(pattern)630 3461 y(matc)m(hing)d(\(see)h(Section)f
-(3.5.8)h([Filename)g(Expansion],)e(page)h(36\).)150 3610
-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 3720 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
-3829 y(tion)31 b(3.5.8)h([Filename)g(Expansion],)e(page)h(36\).)150
-3978 y Ft(LC_MESSAGES)630 4088 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 4197 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 4346 y Ft(LC_NUMERIC)630
-4455 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
-4604 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 4753 y Ft(LINENO)192 b Fu(The)32
-b(line)h(n)m(um)m(b)s(er)e(in)i(the)f(script)h(or)f(shell)h(function)f
-(curren)m(tly)h(executing.)49 b(If)32 b Ft(LINENO)630
-4862 y Fu(is)e(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
-5011 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 5121 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 5230 y(Section)44 b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d
-(74\),)k(or)43 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630
-5340 y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)p eop
+2600 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 2710 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 2819 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
+2929 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 3039 y(only)g(in)h(e\013ect)g(for)g(in)m(teractiv)m
+(e)i(shells.)150 3203 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 3313 y Ft(~/.inputrc)p Fu(.)150
+3477 y Ft(INSIDE_EMACS)630 3587 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 3696 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 3806 y(dep)s(ending)d(on)h(the)h(v)-5 b(alue)31
+b(of)f Ft(TERM)p Fu(.)150 3970 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 4080
+y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Ft(LC_)p
+Fu(.)150 4244 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 4354 y(a)i(lo)s(cale)h(category)-8
+b(.)150 4518 y Ft(LC_COLLATE)630 4628 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 4737 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 4847 y(alence)e(classes,)h(and)e(collating)i(sequences)e
+(within)f(\014lename)h(expansion)g(and)f(pattern)630
+4956 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
+e(page)h(37\).)150 5121 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 5230
+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 5340 y(tion)31
+b(3.5.8)h([Filename)g(Expansion],)e(page)h(37\).)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(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
-408 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h
-Fu(format.)150 569 y Ft(MAILCHECK)630 678 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 788 y(in)i(the)h
+%%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)150 299 y Ft(LC_MESSAGES)630
+408 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
+518 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
+678 y Ft(LC_NUMERIC)630 788 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 948 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 1108 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
+1218 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 1327 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 1437 y(subsequen)m(tly)f(reset.)
+150 1597 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 1707 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 1816 y(Section)44 b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d
+(76\),)k(or)43 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630
+1926 y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 2086
+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 2196 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h
+Fu(format.)150 2356 y Ft(MAILCHECK)630 2465 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 2575 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 897 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e
+b(it)h(is)g(time)630 2685 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 1007 y(this)37 b(v)-5 b(ariable)38
+(prompt.)57 b(If)630 2794 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 1117 y(equal)31
+(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 2904 y(equal)31
b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150
-1277 y Ft(MAPFILE)144 b Fu(An)35 b(arra)m(y)h(v)-5 b(ariable)36
+3064 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 1386 y(no)30 b(v)-5
-b(ariable)31 b(name)g(is)f(supplied.)150 1547 y Ft(OLDPWD)192
+Ft(mapfile)d Fu(builtin)i(when)630 3173 y(no)30 b(v)-5
+b(ariable)31 b(name)g(is)f(supplied.)150 3334 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 1707 y Ft(OPTERR)192 b
+(the)h Ft(cd)e Fu(builtin.)150 3494 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
-1816 y Fu(builtin)30 b(command.)150 1976 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 2137 y Ft(PIPESTATUS)630 2246
-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(103\))g(con)m(taining)h(a)e(list)h(of)630
-2356 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
-2465 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
-2575 y(Commands],)30 b(page)h(9\).)150 2735 y Ft(POSIXLY_CORRECT)630
-2845 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 2954 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(109\))h(b)s(efore)e(reading)g(the)630
-3064 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 3173 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 3308 y Ft(set)47 b(-o)g(posix)630 3443 y
-Fu(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 3553 y(it)d(w)m(as)g(not)f(already)h(set.)150
-3713 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 3873 y
-Ft(PROMPT_COMMAND)630 3983 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
-4092 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 4202 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 4362 y Ft(PROMPT_DIRTRIM)630
-4472 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 4581 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 4691 y(cap)s(es)i(\(see)h(Section)g(6.9)g([Con)m(trolling)g
-(the)f(Prompt],)i(page)e(107\).)41 b(Characters)24 b(remo)m(v)m(ed)630
-4800 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)150
-4961 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 5070 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
-5230 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 5340 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(')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)150 299 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 408 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
-518 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
-(69\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
-628 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
+3603 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 3764 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
+3924 y Ft(PIPESTATUS)630 4033 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(108\))g
+(con)m(taining)h(a)e(list)h(of)630 4143 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 4253 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 4362 y(Commands],)30 b(page)h(9\).)150 4522
+y Ft(POSIXLY_CORRECT)630 4632 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 4741 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(114\))h(b)s(efore)e(reading)g(the)630 4851 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
+4961 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
+5096 y Ft(set)47 b(-o)g(posix)630 5230 y Fu(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
+5340 y(it)d(w)m(as)g(not)f(already)h(set.)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(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 451 y Ft(PROMPT_COMMAND)630 560 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 670 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 779 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
+931 y Ft(PROMPT_DIRTRIM)630 1041 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 1150 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 1260 y(cap)s(es)i(\(see)
+h(Section)g(6.9)g([Con)m(trolling)g(the)f(Prompt],)i(page)e(111\).)41
+b(Characters)24 b(remo)m(v)m(ed)630 1369 y(are)31 b(replaced)g(with)f
+(an)g(ellipsis.)150 1521 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
+1631 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 1783 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 1892 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 2044 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 2153
+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
+2263 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
+(71\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
+2373 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
-737 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
-Ft(+)h Fu('.)150 897 y Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m
+2482 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
+Ft(+)h Fu('.)150 2634 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 1056 y Ft(RANDOM)192 b Fu(Eac)m(h)26
+Fu(builtin.)150 2786 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 1166 y(0)e(and)e(32767.)41
-b(Assigning)25 b(a)f(v)-5 b(alue)25 b(to)g(this)f(v)-5
-b(ariable)25 b(seeds)f(the)h(random)e(n)m(um)m(b)s(er)g(gener-)630
-1275 y(ator.)41 b(If)27 b Ft(RANDOM)f 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)f
-(subsequen)m(tly)630 1385 y(reset.)150 1544 y Ft(READLINE_ARGUMENT)630
-1654 y Fu(An)m(y)37 b(n)m(umeric)f(argumen)m(t)h(giv)m(en)g(to)g(a)g
+(random)e(in)m(teger)j(b)s(et)m(w)m(een)630 2895 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 3005 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 3114 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 3224 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 3376 y Ft(READLINE_ARGUMENT)630 3485
+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
-1763 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(57,)f(when)e(it)i(w)m(as)g(in)m(v)m(ok)m(ed.)150
-1923 y Ft(READLINE_LINE)630 2032 y Fu(The)c(con)m(ten)m(ts)i(of)f(the)g
+3595 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i(Section)f(4.2)g([Bash)g
+(Builtins],)g(page)h(59,)f(when)e(it)i(w)m(as)g(in)m(v)m(ok)m(ed.)150
+3747 y Ft(READLINE_LINE)630 3856 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 2142
-y([Bash)i(Builtins],)g(page)g(57\).)150 2301 y Ft(READLINE_MARK)630
-2411 y Fu(The)26 b(p)s(osition)h(of)g(the)g Fr(mark)32
+Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630 3966
+y([Bash)i(Builtins],)g(page)g(59\).)150 4118 y Ft(READLINE_MARK)630
+4227 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 2521 y(use)36 b(with)f(`)p
+(line)g(bu\013er,)g(for)630 4337 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(57\).)58 b(The)35 b(c)m(haracters)630 2630 y(b)s(et)m(w)m(een)
+i(page)f(59\).)58 b(The)35 b(c)m(haracters)630 4446 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 2790 y Ft(READLINE_POINT)630
-2899 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
+(called)i(the)f Fr(region)p Fu(.)150 4598 y Ft(READLINE_POINT)630
+4708 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 3009 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(57\).)150 3168 y Ft(REPLY)240 b
-Fu(The)30 b(default)g(v)-5 b(ariable)32 b(for)e(the)g
-Ft(read)g Fu(builtin.)150 3328 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
-3437 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43
+Ft(bind)630 4817 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
+(Builtins],)g(page)g(59\).)150 4969 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 5079 y(supplied)f(a)i(v)-5
+b(ariable)31 b(name)f(argumen)m(t.)150 5230 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
+5340 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 3547 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 3656 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
-3766 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 3875 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 4035 y Ft(SHELL)240 b Fu(This)24 b(en)m(vironmen)m(t)i(v)-5
+b(assigned,)j(and)c(the)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(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
+408 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 518 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 628 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 794 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 4144 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 4254 y(user's)30
-b(login)h(shell.)150 4413 y Ft(SHELLOPTS)630 4523 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 4633 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 4742 y(Set)g(Builtin],)h(page)f(69\).)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 4852 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 4961 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
-g(will)f(b)s(e)g(enabled)h(b)s(efore)f(reading)g(an)m(y)h(startup)f
-(\014les.)630 5071 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 5230 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 5340 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.)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(SRANDOM)144
+(shell.)39 b(If)25 b(it)g(is)h(not)630 904 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 1014 y(user's)30 b(login)h(shell.)150
+1180 y Ft(SHELLOPTS)630 1290 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 1400 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
+1509 y(Set)g(Builtin],)h(page)f(71\).)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
+1619 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 1728 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 1838 y(v)-5
+b(ariable)31 b(is)g(readonly)-8 b(.)150 2005 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 2114 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 2281 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
-408 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
-518 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
-628 y(the)39 b(n)m(um)m(b)s(ers)e(preceding)i(it.)66
+2391 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
+2500 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
+2610 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 737 y(so)c(assignmen)m(ts)g(to)g(this)f(v)-5
+(seeded,)630 2719 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
-847 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 1006 y Ft(TIMEFORMAT)630 1116 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 1225
-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
-1335 y(displa)m(y)m(ed.)k(The)27 b(`)p Ft(\045)p Fu(')h(c)m(haracter)h
+2829 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 2996 y Ft(TIMEFORMAT)630
+3105 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
+3215 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
+3324 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 1445 y(a)37 b(time)g(v)-5 b(alue)36 b(or)h(other)f
+(to)630 3434 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 1554 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 1714 y Ft(\045\045)384
-b Fu(A)30 b(literal)i(`)p Ft(\045)p Fu('.)630 1873 y
+(meanings)630 3544 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 3710 y Ft(\045\045)384
+b Fu(A)30 b(literal)i(`)p Ft(\045)p Fu('.)630 3877 y
Ft(\045[)p Fj(p)p Ft(][l]R)96 b Fu(The)30 b(elapsed)h(time)g(in)f
-(seconds.)630 2032 y Ft(\045[)p Fj(p)p Ft(][l]U)96 b
+(seconds.)630 4044 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 2192 y Ft(\045[)p Fj(p)p Ft(][l]S)96
+(user)f(mo)s(de.)630 4211 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 2351 y Ft(\045P)384 b Fu(The)30
+(system)g(mo)s(de.)630 4377 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 2511 y(The)23 b(optional)j
+Ft(+)g Fu(\045S\))g(/)h(\045R.)630 4544 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 2620 y(after)36
+(um)m(b)s(er)f(of)h(fractional)h(digits)630 4654 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 2730 y(output.)45 b(A)m(t)33 b(most)g(six)f(places)h(after)f
-(the)h(decimal)g(p)s(oin)m(t)f(ma)m(y)g(b)s(e)g(sp)s(eci\014ed;)g(v)-5
-b(alues)33 b(of)630 2839 y Fr(p)g Fu(greater)e(than)f(6)h(are)g(c)m
-(hanged)g(to)g(6.)41 b(If)30 b Fr(p)j Fu(is)d(not)h(sp)s(eci\014ed,)e
-(the)i(v)-5 b(alue)31 b(3)g(is)f(used.)630 2974 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
-3083 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 3193 y(included.)630 3328
-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 3462 y Ft
+(b)s(e)630 4763 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 4873 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 4983 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: 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)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
-3597 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 3706 y(newline)30 b(is)h(added)e(when)h(the)g
-(format)h(string)f(is)h(displa)m(y)m(ed.)150 3866 y Ft(TMOUT)240
-b Fu(If)22 b(set)h(to)g(a)g(v)-5 b(alue)23 b(greater)h(than)e(zero,)j
-Ft(TMOUT)d Fu(is)g(treated)i(as)e(the)h(default)g(timeout)g(for)g(the)
-630 3975 y Ft(read)31 b Fu(builtin)h(\(see)h(Section)f(4.2)i([Bash)e
-(Builtins],)h(page)g(57\).)47 b(The)32 b Ft(select)e
-Fu(command)630 4085 y(\(see)f(Section)h(3.2.5.2)g([Conditional)g
-(Constructs],)e(page)i(12\))f(terminates)g(if)g(input)e(do)s(es)630
-4194 y(not)k(arriv)m(e)g(after)g Ft(TMOUT)e Fu(seconds)h(when)f(input)h
-(is)g(coming)h(from)f(a)h(terminal.)630 4329 y(In)40
+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(59\).)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 4438 y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input)e(after)i(issuing)f
+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
-4548 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m(b)s(er)e(of)h(seconds)h
+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
-4707 y Ft(TMPDIR)192 b Fu(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5
+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 4817 y(temp)s(orary)30 b(\014les)g(for)g(the)h
-(shell's)g(use.)150 4976 y Ft(UID)336 b Fu(The)30 b(n)m(umeric)g(real)h
+(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: 94 100
-TeXDict begin 94 99 bop 3659 -116 a Fu(94)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(69\))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(74,)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(A)37 b(list)g(of)f(all)i
-(double-quoted)e(strings)g(preceded)g(b)m(y)h(`)p Ft($)p
-Fu(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630 2738
-y(output)29 b(in)g(the)g Fm(gnu)g Ft(gettext)f Fu(PO)g(\(p)s(ortable)i
-(ob)5 b(ject\))30 b(\014le)g(format.)40 b(Equiv)-5 b(alen)m(t)31
-b(to)f Ft(-D)630 2847 y Fu(except)h(for)f(the)h(output)f(format.)150
+%%Page: 98 104
+TeXDict begin 98 103 bop 3659 -116 a Fu(98)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(71\))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(76,)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
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(122\))h(to)f(read)g(command)f
+f(Line)g(Editing],)630 4131 y(page)h(127\))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
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(109,)630
+b(See)21 b(Section)h(6.11)g([Bash)f(POSIX)f(Mo)s(de],)k(page)d(114,)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: 95 101
-TeXDict begin 95 100 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(95)150 299 y Ft(--restricted)630
+%%Page: 99 105
+TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(99)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(109\).)150
+(6.10)h([The)d(Re-)630 518 y(stricted)e(Shell],)g(page)g(113\).)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
(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(98.)150
-2401 y Ft(-l)384 b Fu(Mak)m(e)33 b(this)e(shell)h(act)g(as)g(if)f(it)h
-(had)f(b)s(een)f(directly)i(in)m(v)m(ok)m(ed)h(b)m(y)f(login.)44
-b(When)31 b(the)h(shell)630 2511 y(is)37 b(in)m(teractiv)m(e,)43
-b(this)37 b(is)g(equiv)-5 b(alen)m(t)39 b(to)f(starting)h(a)e(login)i
-(shell)e(with)g(`)p Ft(exec)30 b(-l)g(bash)p Fu('.)630
-2620 y(When)h(the)g(shell)h(is)f(not)g(in)m(teractiv)m(e,)k(the)c
-(login)h(shell)g(startup)f(\014les)g(will)g(b)s(e)g(executed.)630
-2730 y(`)p Ft(exec)e(bash)h(-l)p Fu(')43 b(or)h(`)p Ft(exec)29
-b(bash)g(--login)p Fu(')42 b(will)i(replace)h(the)f(curren)m(t)f(shell)
-h(with)g(a)630 2839 y(Bash)26 b(login)g(shell.)39 b(See)26
-b(Section)g(6.2)h([Bash)e(Startup)g(Files],)j(page)e(96,)i(for)d(a)h
-(description)630 2949 y(of)31 b(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(109\).)150
-3357 y Ft(-s)384 b Fu(If)24 b(this)h(option)h(is)f(presen)m(t,)h(or)f
-(if)g(no)f(argumen)m(ts)i(remain)e(after)i(option)f(pro)s(cessing,)h
-(then)630 3467 y(commands)i(are)h(read)g(from)f(the)h(standard)f
-(input.)39 b(This)28 b(option)h(allo)m(ws)h(the)f(p)s(ositional)630
-3577 y(parameters)i(to)h(b)s(e)e(set)i(when)d(in)m(v)m(oking)k(an)d(in)
-m(teractiv)m(e)k(shell)d(or)g(when)f(reading)h(input)630
-3686 y(through)f(a)g(pip)s(e.)150 3836 y Ft(-D)384 b
-Fu(A)37 b(list)g(of)f(all)i(double-quoted)e(strings)g(preceded)g(b)m(y)
-h(`)p Ft($)p Fu(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630
-3945 y(output.)63 b(These)38 b(are)g(the)g(strings)g(that)h(are)f(sub)5
-b(ject)38 b(to)h(language)g(translation)g(when)630 4055
-y(the)e(curren)m(t)g(lo)s(cale)h(is)f(not)g Ft(C)g Fu(or)f
-Ft(POSIX)g Fu(\(see)h(Section)h(3.1.2.5)h([Lo)s(cale)g(T)-8
-b(ranslation],)630 4164 y(page)31 b(7\).)42 b(This)29
-b(implies)i(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(74\).)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)24 b(v)-5 b(alue)24 b(of)g(that)h(option;)h
-Ft(+O)e Fu(unsets)f(it.)39 b(If)23 b Fr(shopt)p 2423
-4643 V 40 w(option)h Fu(is)g(not)g(supplied,)g(the)g(names)630
-4752 y(and)31 b(v)-5 b(alues)32 b(of)g(the)g(shell)g(options)g
-(accepted)h(b)m(y)f Ft(shopt)e Fu(are)i(prin)m(ted)f(on)h(the)g
-(standard)630 4862 y(output.)40 b(If)29 b(the)h(in)m(v)m(o)s(cation)h
-(option)f(is)f Ft(+O)p Fu(,)h(the)f(output)g(is)h(displa)m(y)m(ed)g(in)
-f(a)h(format)f(that)630 4971 y(ma)m(y)i(b)s(e)f(reused)f(as)i(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
+(6.3)630 2252 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(102.)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(100,)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(113\).)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(76\).)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(47\))g(and)f
+(Section)f(3.8)630 5340 y([Shell)30 b(Scripts],)h(page)g(48\))g(and)f
(argumen)m(ts)h(passed)f(to)h(that)g(script.)p eop end
-%%Page: 96 102
-TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(96)150 299 y Ft(-)432
+%%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(-)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
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)k(sp)s(ecifying)h(the)f Ft(-c)g Fu(option,)i(and)e(whose)
-g(input)g(and)f(output)h(are)h(b)s(oth)f(connected)h(to)g(ter-)150
-939 y(minals)g(\(as)g(determined)f(b)m(y)h Ft(isatty\(3\))p
-Fu(\),)e(or)i(one)g(started)g(with)f(the)h Ft(-i)f Fu(option.)51
-b(See)33 b(Section)i(6.3)150 1049 y([In)m(teractiv)m(e)e(Shells],)e
-(page)g(98,)g(for)f(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(47\).)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
+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(102,)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(48\).)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
(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(25\).)275
+(\(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(98.)150
+(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(102.)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
(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)g(an)h(in)m(teractiv)m(e)i(shell)e(that)g(is)f(not)h(a)g
-(login)g(shell)g(is)f(started,)48 b(Bash)c(reads)f(and)g(executes)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(will)g(cause)g(Bash)f(to)h(use)g
-Fr(\014le)k Fu(instead)c(of)f Ft(~/.bashrc)p Fu(.)275
+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
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: 97 103
-TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(97)150 299 y(expanded)30
+%%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(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 570
+(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 732 y Fu(but)30 b(the)g(v)-5 b(alue)31 b(of)g(the)f
-Ft(PATH)f Fu(v)-5 b(ariable)32 b(is)e(not)h(used)e(to)i(searc)m(h)g
-(for)f(the)h(\014lename.)275 893 y(As)42 b(noted)g(ab)s(o)m(v)m(e,)47
+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 1003
+(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 1229 y Fk(In)m(v)m(ok)m(ed)40
-b(with)g(name)h Fh(sh)150 1376 y Fu(If)c(Bash)g(is)g(in)m(v)m(ok)m(ed)i
+(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 1486
+(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 1647 y(When)50 b(in)m(v)m(ok)m(ed)j(as)f(an)f(in)m(teractiv)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 1757 y Ft(--login)31 b Fu(option,)k(it)e
+(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 1867 y Ft(~/.profile)p Fu(,)d(in)i(that)i
+Ft(/etc/profile)d Fu(and)150 1770 y Ft(~/.profile)p Fu(,)d(in)i(that)i
(order.)39 b(The)30 b Ft(--noprofile)c Fu(option)k(ma)m(y)g(b)s(e)f
-(used)g(to)h(inhibit)f(this)h(b)s(eha)m(vior.)150 1976
-y(When)36 b(in)m(v)m(ok)m(ed)i(as)e(an)g(in)m(teractiv)m(e)j(shell)e
-(with)f(the)g(name)h Ft(sh)p Fu(,)g(Bash)f(lo)s(oks)h(for)f(the)h(v)-5
-b(ariable)37 b Ft(ENV)p Fu(,)150 2086 y(expands)29 b(its)i(v)-5
+(used)g(to)h(inhibit)f(this)h(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
-2195 y(and)g(execute.)46 b(Since)32 b(a)g(shell)g(in)m(v)m(ok)m(ed)h
+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 2305 y(from)39 b(an)m(y)g(other)h(startup)e(\014les,)k
-(the)d Ft(--rcfile)e Fu(option)j(has)f(no)g(e\013ect.)69
-b(A)39 b(non-in)m(teractiv)m(e)j(shell)150 2415 y(in)m(v)m(ok)m(ed)32
-b(with)e(the)g(name)h Ft(sh)f Fu(do)s(es)g(not)g(attempt)i(to)f(read)f
-(an)m(y)h(other)g(startup)e(\014les.)275 2576 y(When)h(in)m(v)m(ok)m
+(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(the)g(startup)f(\014les)g(are)h(read.)150
-2803 y Fk(In)m(v)m(ok)m(ed)40 b(in)h Fg(posix)g Fk(mo)s(de)150
-2949 y Fu(When)28 b(Bash)h(is)g(started)g(in)g Fm(posix)f
+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 3059 y(the)24 b Fm(posix)f
+(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 3169 y(and)30 b(commands)g(are)g(read)h(and)e
-(executed)j(from)d(the)i(\014le)f(whose)g(name)h(is)f(the)h(expanded)e
-(v)-5 b(alue.)41 b(No)150 3278 y(other)31 b(startup)f(\014les)g(are)h
-(read.)150 3505 y Fk(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h
-(daemon)150 3652 y Fu(Bash)36 b(attempts)h(to)g(determine)f(when)f(it)i
-(is)f(b)s(eing)g(run)e(with)i(its)g(standard)g(input)f(connected)i(to)g
-(a)150 3761 y(net)m(w)m(ork)29 b(connection,)g(as)f(when)f(executed)i
-(b)m(y)e(the)h(historical)h(remote)g(shell)f(daemon,)g(usually)g
-Ft(rshd)p Fu(,)150 3871 y(or)e(the)g(secure)g(shell)g(daemon)f
-Ft(sshd)p Fu(.)38 b(If)26 b(Bash)g(determines)f(it)i(is)e(b)s(eing)h
-(run)e(non-in)m(teractiv)m(ely)29 b(in)c(this)150 3980
-y(fashion,)i(it)g(reads)e(and)h(executes)h(commands)f(from)f
-Ft(~/.bashrc)p Fu(,)g(if)h(that)h(\014le)f(exists)h(and)e(is)h
-(readable.)150 4090 y(It)g(will)f(not)h(do)g(this)f(if)g(in)m(v)m(ok)m
-(ed)i(as)f Ft(sh)p Fu(.)39 b(The)25 b Ft(--norc)e Fu(option)j(ma)m(y)g
-(b)s(e)f(used)g(to)h(inhibit)f(this)h(b)s(eha)m(vior,)150
-4200 y(and)41 b(the)h Ft(--rcfile)d Fu(option)j(will)g(mak)m(e)g(Bash)g
-(use)f(a)h(di\013eren)m(t)g(\014le)g(instead)g(of)g Ft(~/.bashrc)p
-Fu(,)g(but)150 4309 y(neither)c Ft(rshd)e Fu(nor)h Ft(sshd)g
-Fu(generally)i(in)m(v)m(ok)m(e)g(the)f(shell)g(with)g(those)g(options)g
-(or)f(allo)m(w)j(them)d(to)i(b)s(e)150 4419 y(sp)s(eci\014ed.)150
-4645 y Fk(In)m(v)m(ok)m(ed)h(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
+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)38
+b(exists)h(and)e(is)h(readable.)64 b(It)38 b(will)h(not)f(do)g(this)g
+(if)g(in)m(v)m(ok)m(ed)h(as)f Ft(sh)p Fu(.)63 b(The)38
+b Ft(--norc)e Fu(option)i(ma)m(y)150 4219 y(b)s(e)c(used)g(to)h
+(inhibit)g(this)f(b)s(eha)m(vior,)i(and)e(the)h Ft(--rcfile)d
+Fu(option)k(will)f(mak)m(e)g(Bash)g(use)f(a)h(di\013eren)m(t)150
+4329 y(\014le)d(instead)h(of)f Ft(~/.bashrc)p Fu(,)f(but)g(neither)h
+Ft(rshd)f Fu(nor)h Ft(sshd)f Fu(generally)j(in)m(v)m(ok)m(e)g(the)e
+(shell)h(with)e(those)150 4438 y(options)g(or)f(allo)m(w)i(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
(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: 98 104
-TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(98)150 299 y Fs(6.3)68
+%%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 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)
(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(is)h(started.)150
+(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(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(Startup)37 b(\014les)g(are)h(read)f(and)g(executed)h(as)f
-(describ)s(ed)g(in)g(Section)h(6.2)g([Bash)g(Startup)e(Files],)330
-3503 y(page)31 b(96.)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(118\))h(is)e(enabled)g(b)m
+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(100.)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)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 4085 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 4194 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 4304 y(it.)54
-b(See)35 b(Section)h(6.9)f([Con)m(trolling)i(the)d(Prompt],)i(page)g
-(107,)h(for)d(a)h(complete)i(list)e(of)g(prompt)330 4413
-y(string)30 b(escap)s(e)h(sequences.)199 4540 y(4.)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 4649 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 4759 y(page)31 b(81\).)199 4885
-y(5.)61 b(Readline)27 b(\(see)g(Chapter)e(8)h([Command)g(Line)g
-(Editing],)h(page)g(122\))g(is)f(used)g(to)g(read)g(commands)330
-4995 y(from)k(the)g(user's)g(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
-(69\).)p eop end
-%%Page: 99 105
-TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(99)199 299 y(7.)61
-b(Command)43 b(history)h(\(see)h(Section)g(9.1)g([Bash)f(History)h(F)-8
-b(acilities],)51 b(page)45 b(159\))h(and)d(history)330
-408 y(expansion)h(\(see)i(Section)f(9.3)h([History)g(In)m(teraction],)k
-(page)45 b(161\))h(are)f(enabled)g(b)m(y)f(default.)330
-518 y(Bash)28 b(will)g(sa)m(v)m(e)h(the)f(command)f(history)h(to)g(the)
-g(\014le)g(named)f(b)m(y)h Ft($HISTFILE)d Fu(when)h(a)i(shell)g(with)
-330 628 y(history)i(enabled)h(exits.)199 762 y(8.)61
-b(Alias)31 b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e
-(103\))h(is)e(p)s(erformed)f(b)m(y)h(default.)199 896
-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(46\).)154 1030 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 1140 y(page)g(46\).)42
-b Ft(SIGINT)29 b Fu(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154
-1274 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
+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(85\).)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(111,)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(127\))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(71\).)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)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(164\))h(and)330
+408 y(history)k(expansion)g(\(see)i(Section)f(9.3)g([History)g(In)m
+(teraction],)i(page)e(167\))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(107\))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(47\).)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(47\).)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 1383 y(option)31 b(has)f(b)s(een)g(enabled)
-g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(46\).)154
-1517 y(12.)61 b(The)29 b Ft(-n)g Fu(in)m(v)m(o)s(cation)j(option)e(is)g
-(ignored,)g(and)f(`)p Ft(set)h(-n)p Fu(')f(has)h(no)f(e\013ect)j(\(see)
-e(Section)h(4.3.1)g([The)330 1627 y(Set)g(Builtin],)g(page)g(69\).)154
-1761 y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e(mail)g(p)s(erio)s
+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(47\).)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(71\).)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
-1871 y(and)f Ft(MAILCHECK)e Fu(shell)i(v)-5 b(ariables)31
+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(81\).)154 2005 y(14.)61 b(Expansion)32 b(errors)h(due)f(to)i
-(references)f(to)h(un)m(b)s(ound)c(shell)j(v)-5 b(ariables)34
-b(after)g(`)p Ft(set)29 b(-u)p Fu(')k(has)g(b)s(een)330
-2114 y(enabled)d(will)h(not)g(cause)g(the)f(shell)h(to)g(exit)g(\(see)g
-(Section)h(4.3.1)g([The)e(Set)h(Builtin],)g(page)g(69\).)154
-2248 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 2358 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(26\).)154
-2492 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
-2626 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 2736 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(109\).)154 2870 y(18.)61
+b(page)f(85\).)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(71\).)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(114\).)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
-2980 y(page)e(49\).)154 3114 y(19.)61 b(P)m(arser)31
+2965 y(page)e(50\).)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 3248 y(20.)61 b(If)28 b(the)g Ft(cdspell)f Fu(shell)h(option)h(is)g
+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 3357 y(for)f(directory)h(argumen)m(ts)g(to)g(the)g
+(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 3467 y(the)j Ft(shopt)e
+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
-(74\).)46 b(The)31 b Ft(cdspell)e Fu(option)330 3576
+(76\).)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
-3711 y(21.)61 b(The)42 b(shell)h(will)g(c)m(hec)m(k)h(the)f(v)-5
+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 3820 y(read)30
+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
-3930 y(V)-8 b(ariables],)32 b(page)f(81\).)150 4170 y
-Fs(6.4)68 b(Bash)45 b(Conditional)h(Expressions)150 4329
+3911 y(V)-8 b(ariables],)32 b(page)f(85\).)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 4439 y(tional)h(Constructs],)g(page)f(12\))h(and)e(the)h
+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 4548 y(Shell)37 b(Builtins],)j(page)e(49\).)63
+(4.1)g([Bourne)150 4527 y(Shell)37 b(Builtins],)j(page)e(50\).)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 4658 y(the)29 b(n)m(um)m(b)s(er)f(of)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 4768 y(sp)s(eci\014c)h(actions.)
-275 4902 y(Expressions)22 b(ma)m(y)h(b)s(e)g(unary)f(or)h(binary)-8
-b(,)24 b(and)f(are)g(formed)g(from)g(the)g(follo)m(wing)h(primaries.)38
-b(Unary)150 5011 y(expressions)c(are)g(often)g(used)g(to)g(examine)h
-(the)f(status)g(of)h(a)f(\014le.)52 b(There)33 b(are)h(string)g(op)s
-(erators)h(and)150 5121 y(n)m(umeric)c(comparison)g(op)s(erators)h(as)f
-(w)m(ell.)44 b(Bash)31 b(handles)g(sev)m(eral)h(\014lenames)g(sp)s
-(ecially)g(when)e(they)150 5230 y(are)35 b(used)e(in)i(expressions.)52
-b(If)34 b(the)h(op)s(erating)f(system)h(on)f(whic)m(h)g(Bash)h(is)f
-(running)f(pro)m(vides)h(these)150 5340 y(sp)s(ecial)22
-b(\014les,)i(Bash)e(will)g(use)f(them;)k(otherwise)d(it)g(will)g(em)m
-(ulate)h(them)f(in)m(ternally)h(with)e(this)h(b)s(eha)m(vior:)p
+(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: 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(If)27
-b(the)g Fr(\014le)33 b Fu(argumen)m(t)27 b(to)h(one)g(of)f(the)h
-(primaries)f(is)g(of)h(the)f(form)g Ft(/dev/fd/)p Fj(N)p
-Fu(,)e(then)i(\014le)h(descriptor)f Fr(N)150 408 y Fu(is)g(c)m(hec)m(k)
-m(ed.)42 b(If)26 b(the)h Fr(\014le)32 b Fu(argumen)m(t)c(to)f(one)h(of)
-f(the)g(primaries)f(is)h(one)h(of)f Ft(/dev/stdin)p Fu(,)e
-Ft(/dev/stdout)p Fu(,)150 518 y(or)30 b Ft(/dev/stderr)p
-Fu(,)e(\014le)i(descriptor)h(0,)g(1,)g(or)f(2,)h(resp)s(ectiv)m(ely)-8
-b(,)32 b(is)f(c)m(hec)m(k)m(ed.)275 655 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 765 y(lo)s(cale.)k(The)30 b Ft(test)f Fu(command)i(uses)f(ASCI)s
-(I)e(ordering.)275 902 y(Unless)44 b(otherwise)h(sp)s(eci\014ed,)j
+%%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)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)h(the)g(primaries)f(is)h(of)g(the)g(form)g
+Ft(/dev/fd/)p Fj(N)p Fu(,)g(then)f(\014le)h(descriptor)g
+Fr(N)49 b Fu(is)40 b(c)m(hec)m(k)m(ed.)71 b(If)40 b(the)g
+Fr(\014le)150 518 y Fu(argumen)m(t)29 b(to)f(one)h(of)f(the)h
+(primaries)e(is)h(one)h(of)f Ft(/dev/stdin)p Fu(,)e Ft(/dev/stdout)p
+Fu(,)g(or)i Ft(/dev/stderr)p Fu(,)e(\014le)150 628 y(descriptor)k(0,)h
+(1,)g(or)g(2,)g(resp)s(ectiv)m(ely)-8 b(,)32 b(is)e(c)m(hec)m(k)m(ed.)
+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 1011 y(op)s(erate)31 b(on)f(the)h(target)h(of)e
+(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
-1175 y Ft(-a)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
-Fr(\014le)36 b Fu(exists.)150 1337 y Ft(-b)30 b Fj(file)162
+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
-1499 y Ft(-c)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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 1661 y Ft(-d)f Fj(file)162 b Fu(T)-8 b(rue)30
+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 1823 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 1985 y Ft(-f)30
+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
-2147 y Ft(-g)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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 2309 y Ft(-h)g Fj(file)162 b Fu(T)-8 b(rue)30
+(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 2471 y Ft(-k)f Fj(file)162 b Fu(T)-8 b(rue)30
+(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 2633 y Ft(-p)g
+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
-2795 y Ft(-r)h Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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
-2957 y Ft(-s)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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 3119 y Ft(-t)g Fj(fd)258 b Fu(T)-8 b(rue)30
+(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 3281 y Ft(-u)f Fj(file)162 b
+(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 3443 y Ft(-w)f Fj(file)162
+(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 3605 y Ft(-x)g Fj(file)162
+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 3767 y Ft(-G)g Fj(file)162
+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
-3929 y Ft(-L)g Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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
-4091 y Ft(-N)f Fj(file)162 b Fu(T)-8 b(rue)30 b(if)g
+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(read.)150 4253 y Ft(-O)f
+(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 4416 y Ft(-S)g Fj(file)162 b Fu(T)-8
+(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 4578 y Fj(file1)e Ft(-ef)g Fj(file2)630
-4687 y Fu(T)-8 b(rue)30 b(if)g Fr(\014le1)38 b Fu(and)30
+(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 4849 y Fj(file1)f Ft(-nt)g
-Fj(file2)630 4959 y Fu(T)-8 b(rue)23 b(if)h Fr(\014le1)32
+(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 5068 y(and)f Fr(\014le2)38 b Fu(do)s(es)30
+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: 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(-o)30
+%%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 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(69\).)150
-772 y Ft(-v)f Fj(varname)630 882 y Fu(T)-8 b(rue)24 b(if)h(the)g(shell)
+(4.3.1)h([The)e(Set)630 628 y(Builtin],)e(page)g(71\).)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 991 y Fu(is)37 b(an)g(indexed)g(arra)m
+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
-1101 y(if)g(the)f(arra)m(y)h(has)g(an)m(y)f(set)i(elemen)m(ts.)57
+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 1210 y(name)32 b(subscripted)e(b)m(y)h
+(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 1320
-y(set.)150 1464 y Ft(-R)e Fj(varname)630 1574 y Fu(T)-8
+(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
-1718 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 1862 y Ft(-n)f
-Fj(string)150 1972 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 2116 y
-Fj(string1)d Ft(==)i Fj(string2)150 2226 y(string1)e
-Ft(=)i Fj(string2)630 2336 y Fu(T)-8 b(rue)43 b(if)h(the)g(strings)g
+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 2445 y(forms)d(pattern)g(matc)m(hing)i
+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 2555 y(Constructs],)30 b(page)h(12\).)630
-2682 y(`)p Ft(=)p Fu(')g(should)e(b)s(e)h(used)f(with)h(the)h
+([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
-2826 y Fj(string1)e Ft(!=)i Fj(string2)630 2936 y Fu(T)-8
+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
-3080 y Fj(string1)e Ft(<)i Fj(string2)630 3189 y Fu(T)-8
+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 3334
-y Fj(string1)28 b Ft(>)i Fj(string2)630 3443 y Fu(T)-8
+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 3588
-y Fj(arg1)29 b Ft(OP)h Fj(arg2)630 3697 y Ft(OP)j Fu(is)h(one)g(of)h(`)
+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
-3807 y(op)s(erators)h(return)e(true)i(if)f Fr(arg1)44
+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 3916 y(equal)29 b(to,)g(greater)h(than,)e(or)g(greater)i
+(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 4026 y Fr(arg2)41 b
+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
-4136 y Fr(Arg1)41 b Fu(and)33 b Fr(Arg2)41 b Fu(are)33
-b(ev)-5 b(aluated)35 b(as)e(arithmetic)i(expressions)d(\(see)j(Section)
-f(6.5)g([Shell)630 4245 y(Arithmetic],)e(page)f(101\).)150
-4471 y Fs(6.5)68 b(Shell)45 b(Arithmetic)150 4630 y Fu(The)26
-b(shell)h(allo)m(ws)h(arithmetic)f(expressions)g(to)g(b)s(e)f(ev)-5
-b(aluated,)29 b(as)d(one)h(of)g(the)g(shell)f(expansions)h(or)f(b)m(y)
-150 4740 y(using)h(the)g Ft(\(\()g Fu(comp)s(ound)e(command,)j(the)g
-Ft(let)e Fu(builtin,)i(or)f(the)g Ft(-i)g Fu(option)h(to)f(the)h
-Ft(declare)d Fu(builtin.)275 4867 y(Ev)-5 b(aluation)27
-b(is)g(done)f(in)g(\014xed-width)g(in)m(tegers)i(with)e(no)h(c)m(hec)m
-(k)h(for)e(o)m(v)m(er\015o)m(w,)j(though)d(division)h(b)m(y)150
-4976 y(0)g(is)g(trapp)s(ed)f(and)h(\015agged)g(as)h(an)f(error.)39
-b(The)26 b(op)s(erators)h(and)g(their)g(precedence,)h(asso)s(ciativit)m
-(y)-8 b(,)32 b(and)150 5086 y(v)-5 b(alues)35 b(are)h(the)f(same)g(as)h
-(in)e(the)h(C)g(language.)56 b(The)35 b(follo)m(wing)h(list)g(of)f(op)s
-(erators)g(is)g(group)s(ed)f(in)m(to)150 5196 y(lev)m(els)27
-b(of)f(equal-precedence)i(op)s(erators.)39 b(The)25 b(lev)m(els)j(are)e
-(listed)h(in)e(order)h(of)g(decreasing)g(precedence.)150
-5340 y Fj(id)p Ft(++)j 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)p
+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(105\).)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: 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 Ft(++)p
-Fj(id)29 b 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 463 y Ft(-)g(+)354 b Fu(unary)29
-b(min)m(us)h(and)g(plus)150 627 y Ft(!)g(~)354 b Fu(logical)33
-b(and)d(bit)m(wise)h(negation)150 791 y Ft(**)384 b Fu(exp)s(onen)m
-(tiation)150 955 y Ft(*)30 b(/)g(\045)276 b Fu(m)m(ultiplication,)33
-b(division,)d(remainder)150 1119 y Ft(+)g(-)354 b Fu(addition,)31
-b(subtraction)150 1283 y Ft(<<)f(>>)258 b Fu(left)31
-b(and)f(righ)m(t)h(bit)m(wise)g(shifts)150 1447 y Ft(<=)f(>=)g(<)g(>)
-102 b Fu(comparison)150 1611 y Ft(==)30 b(!=)258 b Fu(equalit)m(y)32
-b(and)e(inequalit)m(y)150 1775 y Ft(&)432 b Fu(bit)m(wise)31
-b(AND)150 1939 y Ft(^)432 b Fu(bit)m(wise)31 b(exclusiv)m(e)h(OR)150
-2103 y Ft(|)432 b Fu(bit)m(wise)31 b(OR)150 2267 y Ft(&&)384
-b Fu(logical)33 b(AND)150 2431 y Ft(||)384 b Fu(logical)33
-b(OR)150 2595 y Ft(expr)c(?)h(if-true-expr)d(:)j(if-false-expr)630
-2704 y Fu(conditional)i(op)s(erator)150 2868 y Ft(=)e(*=)g(/=)g(\045=)f
-(+=)h(-=)g(<<=)f(>>=)h(&=)g(^=)f(|=)630 2978 y Fu(assignmen)m(t)150
-3142 y Ft(expr1)g(,)h(expr2)630 3252 y Fu(comma)275 3418
+%%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(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 3528 y(expression)g(is)g(ev)-5 b(aluated.)66 b(Within)38
+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 3637 y(name)31 b(without)f(using)g(the)h
-(parameter)g(expansion)f(syn)m(tax.)42 b(A)31 b(shell)f(v)-5
-b(ariable)32 b(that)f(is)f(n)m(ull)h(or)f(unset)150 3747
-y(ev)-5 b(aluates)41 b(to)f(0)g(when)e(referenced)h(b)m(y)g(name)h
-(without)f(using)g(the)g(parameter)h(expansion)f(syn)m(tax.)150
-3856 y(The)c(v)-5 b(alue)37 b(of)f(a)h(v)-5 b(ariable)36
-b(is)g(ev)-5 b(aluated)38 b(as)e(an)g(arithmetic)h(expression)f(when)f
-(it)h(is)g(referenced,)i(or)150 3966 y(when)27 b(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 4075 y(a)33 b(v)-5 b(alue.)49
+(e)f(referenced)g(b)m(y)150 3976 y(name)28 b(without)g(using)g(the)g
+(parameter)h(expansion)e(syn)m(tax.)41 b(This)27 b(means)h(y)m(ou)h
+(can)f(use)g(.Q)g(x)g(,)g(where)150 4085 y Ft(\\)p Fu(fIx)p
+Ft(\\)p Fu(fP)g(is)i(a)g(shell)h(v)-5 b(ariable)30 b(name,)g(in)g(an)g
+(arithmetic)h(expression,)f(and)f(the)h(shell)g(will)g(ev)-5
+b(aluate)32 b(its)150 4195 y(v)-5 b(alue)29 b(as)g(an)f(expression)g
+(and)g(use)g(the)h(result.)40 b(A)28 b(shell)h(v)-5 b(ariable)29
+b(that)g(is)f(n)m(ull)h(or)f(unset)g(ev)-5 b(aluates)30
+b(to)150 4304 y(0)h(when)e(referenced)h(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 4185 y(turned)e(on)h(to)i(b)s
-(e)d(used)h(in)g(an)g(expression.)275 4324 y(In)m(teger)41
+(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 4434
+(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
-4543 y(denotes)g(hexadecimal.)42 b(Otherwise,)30 b(n)m(um)m(b)s(ers)f
+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
-4653 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
+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 4763 y(in)g(that)i(base.)40
+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)150 4872 y(required,)k(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 4982 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 5091 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
-5230 y(Op)s(erators)44 b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h
-(precedence.)85 b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150
-5340 y(ev)-5 b(aluated)32 b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g
-(the)g(precedence)g(rules)f(ab)s(o)m(v)m(e.)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.6)68
-b(Aliases)150 458 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 568 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 677 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 787 y(Builtin)31 b(Commands],)f(page)h(49\).)
-275 934 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 1044 y(matc)m(hes)h(an)f(alias)h(name.)43
+(non-digit)f(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(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 677 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 786 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 1063 y Fs(6.6)68 b(Aliases)150 1222
+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 1332 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 1442 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 1551 y(Builtin)31 b(Commands],)f(page)h(50\).)275
+1710 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 1819 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 1153
+(with)f(the)i(alias)g(v)-5 b(alue,)32 b(and)150 1929
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 1263 y(c)m(haracters)e(follo)m(wing)g(the)e(w)m
+(ok)h(at)g(an)m(y)150 2038 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
-1410 y(The)d(c)m(haracters)i(`)p Ft(/)p Fu(',)f(`)p Ft($)p
+2197 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
-1519 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
+2307 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 1629 y(shell)28 b(input,)g(including)g
+(tain)h(an)m(y)f(v)-5 b(alid)150 2416 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 1738 y(for)e(aliases,)j(but)d
+g(replacemen)m(t)i(text)f(is)f(tested)150 2526 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 1848
+(expanded)g(is)h(not)f(expanded)g(a)h(second)150 2635
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 1958 y(recursiv)m(ely)i(expand)f(the)g
-(replacemen)m(t)i(text.)275 2104 y(If)25 b(the)i(last)g(c)m(haracter)h
-(of)e(the)g(alias)i(v)-5 b(alue)26 b(is)h(a)f Ft(blank)p
-Fu(,)g(then)g(the)g(next)h(command)f(w)m(ord)f(follo)m(wing)150
-2214 y(the)31 b(alias)g(is)g(also)g(c)m(hec)m(k)m(ed)h(for)e(alias)i
-(expansion.)275 2361 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
+(do)s(es)f(not)h(try)g(to)150 2745 y(recursiv)m(ely)i(expand)f(the)g
+(replacemen)m(t)i(text.)275 2903 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
+3013 y(w)m(ord)30 b(follo)m(wing)i(the)e(alias)i(for)e(alias)i
+(expansion.)275 3172 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 2471 y Fu(command.)275 2617 y(There)44
+Ft(unalias)150 3281 y Fu(command.)275 3440 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 2727 y(argumen)m(ts)44 b(are)g(needed,)j(use)d(a)g(shell)g
+b(If)150 3549 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 2837 y(instead.)275 2984 y(Aliases)33
+b(page)d(19\))150 3659 y(instead.)275 3817 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 3093 y Fu(shell)e(option)f
+m(e,)j(unless)c(the)h Ft(expand_aliases)150 3927 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(74\).)275 3240 y(The)38 b(rules)h
+(Shopt)g(Builtin],)h(page)g(76\).)275 4086 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 3350 y(alw)m(a)m(ys)37
+(somewhat)h(confusing.)67 b(Bash)150 4195 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 3459
+i(lines)f(that)g(mak)m(e)h(up)e(a)h(comp)s(ound)150 4305
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
-3569 y(Aliases)g(are)g(expanded)e(when)g(a)i(command)f(is)g(read,)h
+4414 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 3678 y(de\014nition)36 b(app)s(earing)h(on)f(the)h
+b(an)f(alias)150 4524 y(de\014nition)36 b(app)s(earing)h(on)f(the)h
(same)g(line)g(as)g(another)g(command)f(do)s(es)g(not)h(tak)m(e)i
-(e\013ect)f(un)m(til)f(the)150 3788 y(next)i(line)g(of)g(input)f(is)h
-(read.)66 b(The)38 b(commands)h(follo)m(wing)h(the)f(alias)h
-(de\014nition)e(on)h(that)g(line)h(are)150 3898 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 4007 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 4117 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 4226 y(function)28 b(are)h(not)g(a)m(v)-5
+(e\013ect)f(un)m(til)f(the)150 4633 y(shell)30 b(reads)f(the)g(next)h
+(line)g(of)f(input.)40 b(The)29 b(commands)g(follo)m(wing)i(the)e
+(alias)i(de\014nition)e(on)h(that)g(line)150 4743 y(are)24
+b(not)f(a\013ected)h(b)m(y)f(the)h(new)e(alias.)40 b(This)22
+b(b)s(eha)m(vior)h(is)h(also)g(an)f(issue)g(when)f(functions)g(are)i
+(executed.)150 4853 y(Aliases)29 b(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 4962 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 5072 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
-4336 y(de\014nitions)i(on)g(a)h(separate)g(line,)g(and)f(do)g(not)h
+5181 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
-4483 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.)150
-4742 y Fs(6.7)68 b(Arra)l(ys)150 4902 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
+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: 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 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
-5011 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e
+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 5121 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 5230
-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 5340 y(expressions)34 b(\(see)h(Section)h(6.5)f([Shell)
-g(Arithmetic],)i(page)e(101\)\))h(and)e(are)h(zero-based;)i(asso)s
-(ciativ)m(e)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)150 299 y(arra)m(ys)37
-b(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
-408 y(negativ)m(e)d(in)m(tegers.)275 541 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 674
-y Fj(name)p Ft([)p Fj(subscript)p Ft(]=)p Fj(value)150
-806 y Fu(The)34 b Fr(subscript)h Fu(is)g(treated)g(as)g(an)f
-(arithmetic)i(expression)e(that)h(m)m(ust)g(ev)-5 b(aluate)36
-b(to)f(a)g(n)m(um)m(b)s(er.)51 b(T)-8 b(o)150 916 y(explicitly)32
-b(declare)f(an)g(arra)m(y)-8 b(,)31 b(use)390 1049 y
-Ft(declare)46 b(-a)h Fj(name)150 1181 y Fu(The)30 b(syn)m(tax)390
-1314 y Ft(declare)46 b(-a)h Fj(name)p Ft([)p Fj(subscript)p
-Ft(])150 1447 y Fu(is)30 b(also)i(accepted;)g(the)e Fr(subscript)h
-Fu(is)g(ignored.)150 1579 y(Asso)s(ciativ)m(e)i(arra)m(ys)d(are)h
-(created)h(using)390 1712 y Ft(declare)46 b(-A)h Fj(name)275
-1845 y Fu(A)m(ttributes)f(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(for)h(an)g
+-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(105\)\))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 1954 y Fu(builtins.)40 b(Eac)m(h)31
+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 2087 y(Arra)m(ys)30 b(are)h(assigned)f(to)h(using)f(comp)s
-(ound)f(assignmen)m(ts)i(of)g(the)f(form)390 2220 y Fj(name)p
-Ft(=\()p Fj(value1)44 b(value2)j Ft(...)f(\))150 2352
+-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
-2462 y(not)26 b(require)f(an)m(ything)g(but)g Fr(string)p
-Fu(.)39 b(When)25 b(assigning)h(to)g(indexed)f(arra)m(ys,)i(if)e(the)h
-(optional)g(subscript)150 2571 y(is)h(supplied,)f(that)h(index)g(is)f
-(assigned)h(to;)i(otherwise)e(the)g(index)g(of)f(the)h(elemen)m(t)i
-(assigned)d(is)h(the)g(last)150 2681 y(index)j(assigned)h(to)g(b)m(y)f
-(the)g(statemen)m(t)j(plus)c(one.)41 b(Indexing)30 b(starts)h(at)g
-(zero.)275 2814 y(Eac)m(h)36 b Fr(v)-5 b(alue)41 b Fu(in)35
+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 2923 y([Shell)e
+(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 3033 y(brac)m(k)m(ets)22
+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 3142 y(v)-5
-b(ariable)31 b(assignmen)m(ts.)275 3275 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 3385
-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 3494 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
-3604 y Fu(.)22 b(.)g(.)47 b(\).)57 b(These)35 b(are)i(treated)f(iden)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 3713 y(\014rst)25 b(w)m(ord)f(in)h(the)h(list)g(determines)f
+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 3823 y(a)31 b(list)f(m)m(ust)h(b)s(e)e(of)h
+(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
-3933 y(or)g(empt)m(y;)h(a)g(\014nal)f(missing)g(v)-5
+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
-4065 y(This)f(syn)m(tax)j(is)e(also)i(accepted)g(b)m(y)f(the)f
+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 4175 y(assigned)e(to)g(using)f(the)g
+(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
-4308 y(When)h(assigning)h(to)h(an)e(indexed)g(arra)m(y)-8
+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 4417 y(n)m(um)m(b)s(er)43
+(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)150
-4527 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 4636 y(elemen)m(t.)275 4769
-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 4879 y(assignmen)m(t)h(syn)m(tax;)g(see)g(Section)g(3.4)h
-([Shell)e(P)m(arameters],)i(page)g(21,)f(ab)s(o)m(v)m(e.)275
-5011 y(An)m(y)d(elemen)m(t)h(of)g(an)f(arra)m(y)g(ma)m(y)h(b)s(e)f
-(referenced)g(using)g Ft(${)p Fj(name)p Ft([)p Fj(subscript)p
-Ft(]})p Fu(.)35 b(The)27 b(braces)i(are)150 5121 y(required)35
-b(to)i(a)m(v)m(oid)g(con\015icts)g(with)f(the)g(shell's)g(\014lename)g
-(expansion)g(op)s(erators.)58 b(If)35 b(the)h Fr(subscript)150
-5230 y Fu(is)g(`)p Ft(@)p Fu(')h(or)f(`)p Ft(*)p Fu(',)i(the)f(w)m(ord)
-f(expands)f(to)j(all)f(mem)m(b)s(ers)e(of)i(the)f(arra)m(y)h
-Fr(name)p Fu(,)h(unless)e(otherwise)h(noted)150 5340
-y(in)g(the)h(description)g(of)g(a)g(builtin)g(or)f(w)m(ord)h
-(expansion.)63 b(These)37 b(subscripts)g(di\013er)g(only)h(when)f(the)p
+(the)g(maxim)m(um)g(index)g(of)h Fr(name)p Fu(,)j(so)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(w)m(ord)25
-b(app)s(ears)g(within)g(double)h(quotes.)39 b(If)26 b(the)f(w)m(ord)h
-(is)f(double-quoted,)i Ft(${)p Fj(name)p Ft([*]})c Fu(expands)i(to)i(a)
-150 408 y(single)h(w)m(ord)f(with)f(the)i(v)-5 b(alue)27
-b(of)h(eac)m(h)g(arra)m(y)g(mem)m(b)s(er)e(separated)i(b)m(y)f(the)g
-(\014rst)f(c)m(haracter)j(of)e(the)h Ft(IFS)150 518 y
-Fu(v)-5 b(ariable,)34 b(and)e Ft(${)p Fj(name)p Ft([@]})e
-Fu(expands)h(eac)m(h)j(elemen)m(t)g(of)f Fr(name)k Fu(to)c(a)g
-(separate)h(w)m(ord.)46 b(When)33 b(there)150 628 y(are)39
-b(no)f(arra)m(y)g(mem)m(b)s(ers,)i Ft(${)p Fj(name)p
-Ft([@]})35 b Fu(expands)i(to)i(nothing.)64 b(If)38 b(the)g
-(double-quoted)g(expansion)150 737 y(o)s(ccurs)26 b(within)g(a)g(w)m
-(ord,)h(the)g(expansion)f(of)h(the)f(\014rst)g(parameter)g(is)h(joined)
-f(with)g(the)g(b)s(eginning)g(part)150 847 y(of)j(the)g(original)g(w)m
-(ord,)g(and)f(the)h(expansion)f(of)h(the)g(last)h(parameter)f(is)f
-(joined)h(with)f(the)h(last)g(part)g(of)150 956 y(the)h(original)h(w)m
-(ord.)40 b(This)29 b(is)h(analogous)h(to)f(the)g(expansion)f(of)h(the)g
-(sp)s(ecial)h(parameters)f(`)p Ft(@)p Fu(')f(and)h(`)p
-Ft(*)p Fu('.)150 1066 y Ft(${#)p Fj(name)p Ft([)p Fj(subscript)p
-Ft(]})21 b Fu(expands)k(to)h(the)g(length)h(of)f Ft(${)p
-Fj(name)p Ft([)p Fj(subscript)p Ft(]})p Fu(.)34 b(If)25
-b Fr(subscript)i Fu(is)f(`)p Ft(@)p Fu(')g(or)150 1176
-y(`)p Ft(*)p Fu(',)j(the)g(expansion)g(is)g(the)g(n)m(um)m(b)s(er)e(of)
-i(elemen)m(ts)h(in)e(the)h(arra)m(y)-8 b(.)41 b(If)29
-b(the)g Fr(subscript)g Fu(used)f(to)h(reference)150 1285
-y(an)36 b(elemen)m(t)i(of)e(an)h(indexed)e(arra)m(y)i(ev)-5
-b(aluates)38 b(to)f(a)g(n)m(um)m(b)s(er)e(less)h(than)g(zero,)j(it)e
-(is)f(in)m(terpreted)h(as)150 1395 y(relativ)m(e)28 b(to)f(one)f
-(greater)i(than)d(the)i(maxim)m(um)f(index)f(of)h(the)h(arra)m(y)-8
-b(,)28 b(so)e(negativ)m(e)i(indices)e(coun)m(t)h(bac)m(k)150
-1504 y(from)j(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(refers)f(to)h(the)g(last)g(elemen)m(t.)
-275 1639 y(Referencing)41 b(an)f(arra)m(y)h(v)-5 b(ariable)42
+%%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(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 1748 y(subscript)34
+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 1858 y(create)c(an)e(arra)m(y)h(if)f
-(necessary)-8 b(.)275 1992 y(An)35 b(arra)m(y)i(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
-2102 y(string)30 b(is)h(a)g(v)-5 b(alid)30 b(v)-5 b(alue.)275
-2236 y(It)29 b(is)h(p)s(ossible)f(to)h(obtain)g(the)f(k)m(eys)i
+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 2346 y Fu(and)39 b($)p Fi({)p Fu(!)p Fr(name)5
+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 2455 y(when)i(in)g(double)g(quotes)h(is)f(similar)h
+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 2565 y(within)30
-b(double)g(quotes.)275 2699 y(The)25 b Ft(unset)g Fu(builtin)g(is)h
-(used)f(to)i(destro)m(y)f(arra)m(ys.)40 b Ft(unset)29
-b Fj(name)p Ft([)p Fj(subscript)p Ft(])22 b Fu(destro)m(ys)k(the)g
-(arra)m(y)150 2809 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 2918 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 3028 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
-3137 y Fu(b)s(eha)m(v)m(es)h(di\013eren)m(tly)g(dep)s(ending)d(on)j
-(the)f(arra)m(y)h(t)m(yp)s(e)f(when)g(giv)m(en)h(a)f(subscript)g(of)g
-(`)p Ft(*)p Fu(')g(or)h(`)p Ft(@)p Fu('.)40 b(When)150
-3247 y Fr(name)46 b Fu(is)40 b(an)h(asso)s(ciativ)m(e)i(arra)m(y)-8
-b(,)44 b(it)d(remo)m(v)m(es)h(the)f(elemen)m(t)h(with)e(k)m(ey)h(`)p
-Ft(*)p Fu(')g(or)f(`)p Ft(@)p Fu('.)72 b(If)40 b Fr(name)45
-b Fu(is)c(an)150 3357 y(indexed)30 b(arra)m(y)-8 b(,)31
-b Ft(unset)e Fu(remo)m(v)m(es)j(all)f(of)g(the)f(elemen)m(ts,)i(but)e
-(do)s(es)g(not)h(remo)m(v)m(e)h(the)e(arra)m(y)h(itself.)275
-3491 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 3600 y(with)k Ft(unset)p Fu(,)h(without)e(using)h(the)g(w)m(ord)f
-(expansion)h(syn)m(tax)g(describ)s(ed)f(ab)s(o)m(v)m(e,)44
-b(the)c(argumen)m(t)g(is)150 3710 y(sub)5 b(ject)25 b(to)h(the)g
-(shell's)g(\014lename)f(expansion.)39 b(If)25 b(\014lename)h(expansion)
-f(is)g(not)h(desired,)g(the)f(argumen)m(t)150 3820 y(should)k(b)s(e)h
-(quoted.)275 3954 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
-4064 y(arra)m(y)28 b(and)f(a)h Ft(-A)e Fu(option)i(to)g(sp)s(ecify)f
+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
-4173 y(precedence.)55 b(The)35 b Ft(read)f Fu(builtin)h(accepts)h(a)g
+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)150 4283 y(standard)h(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 4392 y(arra)m(y)f(elemen)m(ts.)62
-b(The)36 b Ft(set)g Fu(and)h Ft(declare)d Fu(builtins)j(displa)m(y)g
-(arra)m(y)g(v)-5 b(alues)37 b(in)g(a)g(w)m(a)m(y)h(that)g(allo)m(ws)150
-4502 y(them)30 b(to)h(b)s(e)f(reused)g(as)g(input.)150
-4742 y Fs(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150
-4902 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 5011 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 5121 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 5230 y Ft(dirs)34 b Fu(builtin)g(displa)m(ys)h(the)g(con)m
+(from)g(the)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(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 5340
-y(the)c Ft(")p Fu(top)p Ft(")f Fu(of)g(the)h(directory)g(stac)m(k.)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)275 299 y(The)35
-b(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 408 y(v)-5 b(ariable.)150 600 y Fk(6.8.1)63
-b(Directory)40 b(Stac)m(k)g(Builtins)150 768 y Ft(dirs)870
-898 y(dirs)47 b([-clpv])e([+)p Fj(N)i Ft(|)h(-)p Fj(N)p
-Ft(])630 1029 y Fu(Displa)m(y)35 b(the)f(list)g(of)g(curren)m(tly)g
-(remem)m(b)s(ered)f(directories.)51 b(Directories)36
-b(are)e(added)f(to)630 1138 y(the)28 b(list)h(with)f(the)g
-Ft(pushd)f Fu(command;)i(the)f Ft(popd)f Fu(command)h(remo)m(v)m(es)h
-(directories)g(from)630 1248 y(the)i(list.)41 b(The)30
-b(curren)m(t)g(directory)h(is)f(alw)m(a)m(ys)i(the)f(\014rst)e
-(directory)i(in)f(the)h(stac)m(k.)630 1399 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 1551 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 1660 y(uses)d(a)h(tilde)g(to)g(denote)g(the)f(home)h
-(directory)-8 b(.)630 1812 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 1963 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 2073 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
-2224 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 2334 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
-2485 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 2595 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 2746 y Ft(popd)870 2876 y(popd)47 b([-n])f([+)p
-Fj(N)h Ft(|)h(-)p Fj(N)p Ft(])630 3007 y Fu(Remo)m(v)m(es)34
-b(elemen)m(ts)g(from)e(the)h(directory)g(stac)m(k.)49
-b(The)32 b(elemen)m(ts)i(are)f(n)m(um)m(b)s(ered)e(from)630
-3116 y(0)38 b(starting)h(at)f(the)g(\014rst)f(directory)h(listed)g(b)m
-(y)g Ft(dirs)p Fu(;)j(that)d(is,)i Ft(popd)c Fu(is)i(equiv)-5
-b(alen)m(t)39 b(to)630 3226 y Ft(popd)29 b(+0)p Fu(.)630
-3357 y(When)j(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
-3466 y(and)e(c)m(hanges)h(to)g(the)g(new)f(top)g(directory)-8
-b(.)630 3597 y(Argumen)m(ts,)31 b(if)f(supplied,)f(ha)m(v)m(e)j(the)e
-(follo)m(wing)i(meanings:)630 3748 y Ft(-n)384 b Fu(Suppresses)27
-b(the)j(normal)g(c)m(hange)g(of)g(directory)g(when)e(remo)m(ving)j
-(directo-)1110 3858 y(ries)f(from)g(the)h(stac)m(k,)h(so)f(that)g(only)
-f(the)h(stac)m(k)g(is)g(manipulated.)630 4009 y Ft(+)p
-Fj(N)384 b Fu(Remo)m(v)m(es)22 b(the)f Fr(N)10 b Fu(th)20
-b(directory)g(\(coun)m(ting)i(from)e(the)g(left)h(of)g(the)f(list)h
-(prin)m(ted)1110 4119 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 4270 y Ft(-)p Fj(N)384
-b Fu(Remo)m(v)m(es)46 b(the)g Fr(N)10 b Fu(th)44 b(directory)h(\(coun)m
-(ting)h(from)f(the)g(righ)m(t)g(of)g(the)g(list)1110
-4380 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 4531 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 4641 y(supplied,)j
+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: 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)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 4750
+(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 4881 y(Otherwise,)34
-b Ft(popd)f Fu(returns)f(an)h(unsuccessful)g(status)g(if)h(an)f(in)m(v)
--5 b(alid)34 b(option)g(is)g(encoun-)630 4990 y(tered,)39
-b(the)d(directory)h(stac)m(k)i(is)d(empt)m(y)-8 b(,)39
-b(or)e(a)g(non-existen)m(t)h(directory)f(stac)m(k)h(en)m(try)f(is)630
-5100 y(sp)s(eci\014ed.)630 5230 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
-5340 y(of)f(the)f(directory)h(stac)m(k,)h(and)e(the)g(return)g(status)g
-(is)h(0.)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 Ft(pushd)870
-432 y(pushd)46 b([-n])h([+)p Fj(N)g Ft(|)g Fj(-N)h Ft(|)f
-Fj(dir)p Ft(])630 565 y Fu(Adds)27 b(a)h(directory)h(to)g(the)f(top)g
-(of)g(the)g(directory)h(stac)m(k,)h(or)e(rotates)h(the)f(stac)m(k,)j
-(making)630 674 y(the)37 b(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 784 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
-917 y(Argumen)m(ts,)g(if)f(supplied,)f(ha)m(v)m(e)j(the)e(follo)m(wing)
-i(meanings:)630 1073 y Ft(-n)384 b Fu(Suppresses)24 b(the)j(normal)f(c)
-m(hange)h(of)g(directory)f(when)g(rotating)h(or)f(adding)1110
-1182 y(directories)31 b(to)h(the)e(stac)m(k,)i(so)f(that)g(only)f(the)h
-(stac)m(k)h(is)e(manipulated.)630 1339 y Ft(+)p Fj(N)384
-b Fu(Brings)29 b(the)f Fr(N)10 b Fu(th)29 b(directory)g(\(coun)m(ting)h
-(from)e(the)g(left)i(of)e(the)h(list)g(prin)m(ted)1110
-1448 y(b)m(y)34 b Ft(dirs)p Fu(,)g(starting)h(with)f(zero\))i(to)f(the)
-f(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i(the)1110
-1558 y(stac)m(k.)630 1714 y Ft(-)p Fj(N)384 b Fu(Brings)23
-b(the)g Fr(N)10 b Fu(th)23 b(directory)h(\(coun)m(ting)g(from)e(the)i
-(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 1824 y(b)m(y)34
-b Ft(dirs)p Fu(,)g(starting)h(with)f(zero\))i(to)f(the)f(top)g(of)h
-(the)f(list)h(b)m(y)f(rotating)i(the)1110 1933 y(stac)m(k.)630
-2089 y Fj(dir)336 b Fu(Mak)m(es)32 b Fr(dir)k Fu(b)s(e)30
-b(the)g(top)h(of)f(the)h(stac)m(k.)630 2246 y(After)39
+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
-2355 y Fu(uses)29 b(the)h Ft(cd)f Fu(builtin)g(to)h(c)m(hange)g(to)h
+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 2465 y Fu(fails,)h Ft(pushd)e
-Fu(returns)g(a)i(non-zero)g(v)-5 b(alue.)630 2598 y(Otherwise,)34
-b(if)g(no)f(argumen)m(ts)h(are)g(supplied,)f Ft(pushd)f
-Fu(returns)g(0)i(unless)f(the)g(directory)630 2707 y(stac)m(k)g(is)f
-(empt)m(y)-8 b(.)46 b(When)32 b(rotating)h(the)f(directory)g(stac)m(k,)
-i Ft(pushd)d Fu(returns)f(0)j(unless)e(the)630 2817 y(directory)g(stac)
-m(k)h(is)e(empt)m(y)h(or)f(a)h(non-existen)m(t)h(directory)f(stac)m(k)g
-(elemen)m(t)h(is)f(sp)s(eci\014ed.)630 2950 y(If)e(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
-3059 y(of)i(the)f(directory)h(stac)m(k.)150 3297 y Fs(6.9)68
-b(Con)l(trolling)47 b(the)e(Prompt)150 3456 y Fu(Bash)37
-b(examines)h(the)f(v)-5 b(alue)37 b(of)g(the)h(arra)m(y)f(v)-5
-b(ariable)38 b Ft(PROMPT_COMMAND)33 b Fu(just)j(b)s(efore)h(prin)m
-(ting)g(eac)m(h)150 3566 y(primary)c(prompt.)49 b(If)33
-b(an)m(y)h(elemen)m(ts)h(in)f Ft(PROMPT_COMMAND)29 b
-Fu(are)34 b(set)h(and)e(non-n)m(ull,)h(Bash)g(executes)150
-3675 y(eac)m(h)e(v)-5 b(alue,)31 b(in)f(n)m(umeric)g(order,)g(just)g
-(as)g(if)h(it)g(had)e(b)s(een)h(t)m(yp)s(ed)g(on)g(the)h(command)f
-(line.)275 3808 y(In)d(addition,)j(the)f(follo)m(wing)h(table)f
-(describ)s(es)f(the)h(sp)s(ecial)g(c)m(haracters)h(whic)m(h)f(can)f
-(app)s(ear)g(in)h(the)150 3918 y(prompt)g(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 4074 y Ft(\\a)384 b Fu(A)30 b(b)s(ell)h(c)m
-(haracter.)150 4230 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 4386 y Ft(\\D{)p Fj(format)p Ft(})630
-4496 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 4606 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 4715 y(braces)31 b(are)f(required.)150 4871
-y Ft(\\e)384 b Fu(An)30 b(escap)s(e)h(c)m(haracter.)150
-5028 y Ft(\\h)384 b Fu(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
-(`.'.)150 5184 y Ft(\\H)384 b Fu(The)30 b(hostname.)150
-5340 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.)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 Ft(\\l)384
-b Fu(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g
-(name.)150 487 y Ft(\\n)384 b Fu(A)30 b(newline.)150
-676 y Ft(\\r)384 b Fu(A)30 b(carriage)i(return.)150 864
-y Ft(\\s)384 b Fu(The)22 b(name)g(of)h(the)f(shell,)i(the)f(basename)f
-(of)h Ft($0)f Fu(\(the)g(p)s(ortion)g(follo)m(wing)i(the)f(\014nal)e
-(slash\).)150 1052 y Ft(\\t)384 b Fu(The)30 b(time,)h(in)f(24-hour)h
-(HH:MM:SS)g(format.)150 1241 y Ft(\\T)384 b Fu(The)30
-b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.)150 1429
-y Ft(\\@)384 b Fu(The)30 b(time,)h(in)f(12-hour)h(am/pm)f(format.)150
-1617 y Ft(\\A)384 b Fu(The)30 b(time,)h(in)f(24-hour)h(HH:MM)g(format.)
-150 1806 y Ft(\\u)384 b Fu(The)30 b(username)g(of)g(the)h(curren)m(t)f
-(user.)150 1994 y Ft(\\v)384 b Fu(The)30 b(v)m(ersion)h(of)f(Bash)h
-(\(e.g.,)h(2.00\))150 2183 y Ft(\\V)384 b Fu(The)30 b(release)i(of)e
-(Bash,)h(v)m(ersion)g Ft(+)f Fu(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))
-150 2371 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
-2480 y(\(uses)i(the)h Ft($PROMPT_DIRTRIM)26 b Fu(v)-5
-b(ariable\).)150 2669 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 2857 y Ft(\\!)384 b Fu(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i
-(this)f(command.)150 3046 y Ft(\\#)384 b Fu(The)30 b(command)g(n)m(um)m
-(b)s(er)f(of)i(this)f(command.)150 3234 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 3422 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 3611 y Ft(\\\\)384
-b Fu(A)30 b(bac)m(kslash.)150 3799 y Ft(\\[)384 b Fu(Begin)38
+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: 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)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
-3909 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
-150 4097 y Ft(\\])384 b Fu(End)29 b(a)i(sequence)g(of)f(non-prin)m
-(ting)g(c)m(haracters.)275 4300 y(The)25 b(command)h(n)m(um)m(b)s(er)f
+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 4409
+(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
-4519 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(159\),)j(while)d(the)f
-(command)150 4629 y(n)m(um)m(b)s(er)j(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 4738 y(session.)275 4902 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 5011 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 5121
-y(option)i(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)j(page)e
-(74\).)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 5230 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 5340 y(sp)s(ecial)j(to)g(w)m(ord)f
-(expansion.)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.10)68
-b(The)45 b(Restricted)h(Shell)150 458 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
-568 y(in)m(v)m(o)s(cation,)d(the)d(shell)g(b)s(ecomes)h(restricted.)40
+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(164\),)j(while)d(the)f
+(command)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(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(76\).)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 677 y(more)g(con)m(trolled)i(than)e(the)g(standard)g
+(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 787 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 919 y Fq(\017)60 b Fu(Changing)30 b(directories)h(with)g
-(the)f Ft(cd)g Fu(builtin.)225 1050 y Fq(\017)60 b Fu(Setting)33
+(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
-1160 y(ables.)225 1292 y Fq(\017)60 b Fu(Sp)s(ecifying)30
-b(command)g(names)g(con)m(taining)i(slashes.)225 1424
+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 1555 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 1665 y(mand.)225
-1797 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 1906 y Fu(builtin)e
-(command.)225 2038 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 2170 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 2301 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 2433 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 2565 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 2696
-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 2828
-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 2960 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 3114 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
-(y)g(startup)f(\014les)g(are)h(read.)275 3245 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 3355 y(Scripts],)25
-b(page)e(47\),)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
-3487 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 3596 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 3706 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
-3815 y(curren)m(t)28 b(directory)g(to)h(a)f(non-writable)g(directory)g
+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(48\),)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 3925 y(restricted)25 b(shell)g(to)h(execute)g(shell)f(scripts,)h
+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 4035 y(some)31 b(commands)f(to)h(mo)s
+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 4166 y(Mo)s(dern)e(systems)g(pro)m
+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 4276 y(as)h
+(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(.)150 4511 y Fs(6.11)68 b(Bash)45 b(and)g(POSIX)150
-4733 y Fk(6.11.1)63 b(What)40 b(is)i(POSIX?)150 4879
-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 4989 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 5099 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 5230 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 5340 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)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(w)m(as)31
+Fu(.)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 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 408 y(the)41 b(Austin)g(Group)g(\(a)h(join)m(t)g(w)m(orking)g
+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
-518 y(SC22/W)m(G15\).)i(T)-8 b(o)s(da)m(y)28 b(the)g(Shell)g(and)f
+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 628 y(mak)m(e)34 b(up)e(IEEE)g(Std)g
-(1003.1-2017,)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 737 y(the)e(curren)m(t)f
-(uni\014ed)f Fm(posix)g Fu(standard.)275 869 y(The)k(Shell)h(and)g
+(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 979 y(utilit)m(y)i(programs)f
+(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 1089 y(standard)37 b(is)g(freely)h(a)m
+(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 1198 y(9699919799/utilities/con)o(tent)o(s.ht)o(ml)p
-Fu(.)275 1330 y(Bash)25 b(is)g(concerned)h(with)f(the)g(asp)s(ects)h
+(/)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 1440 y(Utilities)35 b(v)m(olume.)49
+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 1550 y(the)42 b(basic)g(\015o)m(w)g(con)
+(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 1659 y(argumen)m(t)31
+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
-1791 y(The)40 b Fl(sp)-5 b(e)g(cial)52 b Fu(builtins,)44
+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 1901 y(desired)25
+(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 2010 y Ft(export)p Fu(.)39 b(Other)28
+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 2120 y(commonly)24
+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
-2230 y Ft(test)p Fu(.)39 b(POSIX)28 b(also)h(sp)s(eci\014es)g(asp)s
+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 2339 y(and)36 b(command)g(line)h
+(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 2449 y(emacs)31
+(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 2643 y Fk(6.11.2)63 b(Bash)41 b(POSIX)g(Mo)s(de)150
-2790 y Fu(Although)29 b(Bash)g(is)g(an)g(implemen)m(tation)h(of)f(the)g
+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 2900 y(the)g(Bash)g(default)g(b)s(eha)m(vior)g(di\013ers)f
+(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 3009
+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(to)g(the)f(standard)g(more)g(closely)-8 b(.)275
-3142 y(Starting)26 b(Bash)g(with)f(the)h Ft(--posix)e
+(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 3251 y(Bash)h(is)g(running)e(will)j(cause)f(Bash)g(to)
+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 3361 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g
+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 3493 y(When)f(in)m(v)m(ok)m(ed)h
+(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 3625 y(The)f(follo)m(wing)j
+(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 3757 y(1.)61 b(Bash)31
+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 3889 y(2.)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 3999 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('.)199 4131 y(3.)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 4241 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.)199 4373 y(4.)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 4483 y(non-zero)31
-b(status)g(is)f(`Done\(status\)'.)199 4615 y(5.)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
-4724 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(.)199 4856 y(6.)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
-4989 y(7.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+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(100.)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 5098 y(undergo)30 b(alias)h(expansion.)199 5230 y(8.)61
+330 5340 y(undergo)30 b(alias)h(expansion.)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)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 5340
-y(default)44 b(mo)s(de)g(generally)h(defers)f(it,)k(when)43
-b(enabled,)48 b(un)m(til)c(the)g(command)g(substitution)g(is)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)330 299 y(executed.)77
-b(This)42 b(means)g(that)h(command)f(substitution)f(will)i(not)g
-(expand)e(aliases)j(that)f(are)330 408 y(de\014ned)34
-b(after)h(the)g(command)f(substitution)h(is)g(initially)h(parsed)e
-(\(e.g.,)k(as)d(part)f(of)h(a)g(function)330 518 y(de\014nition\).)199
-646 y(9.)61 b(The)38 b Fm(posix)h Ft(PS1)f Fu(and)g Ft(PS2)g
-Fu(expansions)g(of)i(`)p Ft(!)p Fu(')f(to)g(the)g(history)g(n)m(um)m(b)
-s(er)f(and)g(`)p Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330
-756 y(enabled,)26 b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e
-(on)i(the)g(v)-5 b(alues)25 b(of)g Ft(PS1)f Fu(and)h
-Ft(PS2)f Fu(regardless)330 865 y(of)31 b(the)f(setting)i(of)e(the)h
-Ft(promptvars)c Fu(option.)154 993 y(10.)61 b(The)30
-b Fm(posix)g Fu(startup)f(\014les)i(are)g(executed)g(\()p
-Ft($ENV)p Fu(\))f(rather)g(than)g(the)h(normal)f(Bash)g(\014les.)154
-1121 y(11.)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
-1230 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
-(line.)154 1358 y(12.)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 1468 y Ft($HISTFILE)p
-Fu(\).)154 1596 y(13.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g
-(p)s(erform)f(\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h(the)g
-(redirection)330 1705 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m
-(e.)154 1833 y(14.)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(the)g
-(redirection.)154 1961 y(15.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f
-(b)s(e)g(v)-5 b(alid)35 b(shell)f Ft(name)p Fu(s.)52
-b(That)34 b(is,)i(they)f(ma)m(y)g(not)g(con)m(tain)g(c)m(haracters)330
-2071 y(other)e(than)g(letters,)h(digits,)h(and)d(underscores,)h(and)f
-(ma)m(y)h(not)g(start)h(with)e(a)h(digit.)49 b(Declaring)330
-2180 y(a)31 b(function)f(with)g(an)g(in)m(v)-5 b(alid)31
-b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g(non-in)m
-(teractiv)m(e)j(shells.)154 2308 y(16.)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 2436 y(17.)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 2545 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 2673 y(18.)61 b Fm(posix)25 b Fu(sp)s(ecial)i(builtins)f
-(are)g(found)f(b)s(efore)h(shell)g(functions)g(during)f(command)g(lo)s
-(okup,)i(includ-)330 2783 y(ing)k(output)e(prin)m(ted)h(b)m(y)h(the)f
-Ft(type)f Fu(and)h Ft(command)f Fu(builtins.)154 2911
-y(19.)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 3020 y Ft(function)28 b Fu(k)m(eyw)m(ord.)154
-3148 y(20.)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 3258 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(25.)154 3386 y(21.)61 b(The)29
-b Ft(time)g Fu(reserv)m(ed)h(w)m(ord)g(ma)m(y)g(b)s(e)g(used)f(b)m(y)h
-(itself)g(as)g(a)h(command.)40 b(When)30 b(used)f(in)g(this)h(w)m(a)m
-(y)-8 b(,)330 3495 y(it)33 b(displa)m(ys)g(timing)g(statistics)h(for)e
-(the)h(shell)g(and)f(its)g(completed)i(c)m(hildren.)47
-b(The)32 b Ft(TIMEFORMAT)330 3605 y Fu(v)-5 b(ariable)31
-b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)154
-3733 y(22.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
+(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 874 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
+984 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 1093 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
+1230 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 1340 y(`)p Ft(-)p Fu('.)199
+1477 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 3842 y(single)42
+(ears)f(within)f(double)h(quotes,)330 1587 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 3952
+(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 1696
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
-4061 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.)154
-4189 y(23.)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 4299 y(`)p Ft(-)p Fu('.)154
-4427 y(24.)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 4536 y(ev)m(en)g(if)f(the)h
-Ft(histexpand)d Fu(option)i(is)h(enabled.)154 4664 y(25.)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 4774 y(errors)30 b(are)h(those)f(listed)h(in)f
+1806 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
+1943 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
+2052 y(unless)f(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
+2189 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
+2326 y(11.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
+b(alid)35 b(shell)f Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
+g(not)g(con)m(tain)g(c)m(haracters)330 2436 y(other)e(than)g(letters,)h
+(digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h
+(digit.)49 b(Declaring)330 2545 y(a)31 b(function)f(with)g(an)g(in)m(v)
+-5 b(alid)31 b(name)g(in)f(a)g(non-in)m(teractiv)m(e)j(shell)e(is)f(a)h
+(fatal)h(syn)m(tax)f(error.)154 2682 y(12.)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
+2819 y(13.)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
+2929 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
+(line.)154 3066 y(14.)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 3176 y(parameters.)154 3313
+y(15.)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 3422 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
+3559 y(16.)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 3669 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 3778 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 3888 y(and)i(the)g(bac)m(kslash)h(will)g(b)s
+(e)f(remo)m(v)m(ed.)154 4025 y(17.)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 4134 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 4244 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
+4354 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
+4491 y(18.)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 4600 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 4737 y(19.)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
+4847 y(prin)m(ted)f(b)m(y)g(the)h Ft(type)e Fu(and)h
+Ft(command)e Fu(builtins.)154 4984 y(20.)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
+5093 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
+5230 y(21.)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 5340 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('.)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)154 299 y(22.)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
+408 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
+545 y(23.)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 655 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)154
+792 y(24.)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 902 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 1039 y(25.)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 1148
+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 1258 y(messages)31 b(after)g(a)g
+(foreground)f(job)g(in)g(a)g(list)h(completes.)154 1395
+y(26.)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 1504 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 1614 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
+1751 y(27.)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 1861 y(termination)31 b(via)g(the)g Ft(wait)e
+Fu(or)h Ft(jobs)g Fu(builtins.)154 1998 y(28.)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 2107 y(instead)e(of)f(c)m(hec)m(king)i
+Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 2244 y(29.)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 2354 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 2463 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
+2600 y(30.)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 2710 y Ft($HISTFILE)p
+Fu(\).)154 2847 y(31.)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 2956 y(ev)m(en)g(if)f(the)h
+Ft(histexpand)d Fu(option)i(is)h(enabled.)154 3093 y(32.)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 3203 y Ft(function)28 b Fu(k)m(eyw)m(ord.)154 3340
+y(33.)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
+3450 y(in)m(v)-5 b(alid)31 b(expression.)154 3587 y(34.)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 3724 y(35.)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 3833 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 4883 y(options,)43 b(redirection)d(errors,)i
+(passing)e(incorrect)330 3943 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 4993 y(command)30 b(name,)h(and)f(so)g(on.)154
-5121 y(26.)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 5230 y(unset)22 b(a)h Ft(readonly)d
-Fu(or)i Ft(non-unsettable)c Fu(v)-5 b(ariable,)25 b(or)e(encoun)m(ters)
-f(a)h(v)-5 b(ariable)23 b(name)f(argumen)m(t)330 5340
-y(that)31 b(is)f(an)h(in)m(v)-5 b(alid)31 b(iden)m(ti\014er,)f(whic)m
-(h)g(causes)h(a)g(non-in)m(teractiv)m(e)i(shell)e(to)g(exit.)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)154 299 y(27.)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 408 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 518 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 628 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 737 y Fu(b)s(eha)m(vior.)
-154 873 y(28.)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 982 y(when)38 b(no)h(command)g(name)g(follo)m
+(preceding)f(the)330 4052 y(command)30 b(name,)h(and)f(so)g(on.)154
+4189 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 4299 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 1092 y(error)30
+b(v)-5 b(ariable)40 b(assignmen)m(t)330 4408 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 1227
-y(29.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h
+b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 4545
+y(37.)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 1337 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
+(o)s(ccurs)330 4655 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 1446 y(command.)38 b(F)-8 b(or)23
+(other)h(simple)330 4765 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 1556 y(and)44 b(execution)i(con)m
+(execution)i(of)f(that)g(command,)330 4874 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
-1666 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 1801 y(30.)61
+4984 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 5121 y(38.)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 1910 y Fu(statemen)m(t)30 b(or)f(the)g(selection)h(v)-5
+Ft(for)330 5230 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 2020 y(an)i(in)m(v)-5
-b(alid)31 b(name.)154 2155 y(31.)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 2291 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
-2400 y(in)m(v)-5 b(alid)31 b(expression.)154 2536 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 2671 y(34.)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
-2781 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.)154 2916 y(35.)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
-3026 y(parameters.)154 3161 y(36.)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 3271 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 3406 y(37.)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 3516
-y(after)31 b(the)f(builtin)g(completes.)154 3651 y(38.)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 3761 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 3870 y(assignmen)m(t)k(builtins)e(lose)h(their)g
-(assignmen)m(t)h(statemen)m(t)h(expansion)d(prop)s(erties)g(when)g
-(pre-)330 3980 y(ceded)31 b(b)m(y)f Ft(command)p Fu(.)154
-4115 y(39.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h(required)f
+(readonly)g(v)-5 b(ariable)30 b(or)e(has)330 5340 y(an)i(in)m(v)-5
+b(alid)31 b(name.)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(39.)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
+427 y(40.)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 536 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.)154
+664 y(41.)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 774 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 883 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
+1011 y(42.)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 1121 y(after)31 b(the)f(builtin)g(completes.)154
+1249 y(43.)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 1358 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 1468 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 1577 y(ceded)31 b(b)m(y)f Ft(command)p
+Fu(.)154 1705 y(44.)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 1815 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
+1924 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 2034 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154
+2162 y(45.)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 2271 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
+2381 y(error)g(message.)154 2509 y(46.)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
+2619 y(Section)h(3.1.3)h([Commen)m(ts],)g(page)f(9\).)154
+2746 y(47.)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 2856 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 2984 y(48.)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 3093 y(leading)31 b(`)p Ft(alias)e
+Fu(')i(unless)f(the)g Ft(-p)g Fu(option)h(is)f(supplied.)154
+3221 y(49.)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 4225 y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g
+(kground,)330 3331 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 4360 y(40.)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
-4470 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-4605 y(41.)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
-4740 y(42.)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 4850 y(quired)30 b(b)m(y)g Fm(posix)p
-Fu(.)154 4985 y(43.)61 b(If)39 b(the)g Ft(export)f Fu(and)g
-Ft(readonly)f Fu(builtin)i(commands)g(get)h(an)g(argumen)m(t)f(that)h
-(is)f(not)h(a)g(v)-5 b(alid)330 5095 y(iden)m(ti\014er,)27
-b(and)f(they)g(are)h(not)f(op)s(erating)g(on)g(shell)h(functions,)f
-(they)h(return)d(an)i(error.)39 b(This)26 b(will)330
-5205 y(cause)31 b(a)g(non-in)m(teractiv)m(e)i(shell)d(to)h(exit)h(b)s
-(ecause)e(these)h(are)g(sp)s(ecial)g(builtins.)154 5340
-y(44.)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(.)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)154 299 y(45.)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 408 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 518 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
-628 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 757 y(46.)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 757 28 4 v 40
-w(DFL)h(and)330 866 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
-995 y(47.)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 1105 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 1234 y(48.)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 1343 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 1453 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 1562 y Fu(option)31
-b(in)f(suc)m(h)g(subshells.)154 1691 y(49.)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
-1801 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
-1910 y(error)g(message.)154 2039 y(50.)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 2149 y(leading)31
-b(`)p Ft(alias)e Fu(')i(unless)f(the)g Ft(-p)g Fu(option)h(is)f
-(supplied.)154 2278 y(51.)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 2388 y(names)30
-b(and)g(de\014nitions.)154 2516 y(52.)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
-2626 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 2736 y(c)m(haracters.)154 2865 y(53.)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
-2974 y Ft($PWD)i Fu(and)h(the)h(directory)f(name)h(supplied)e(as)i(an)f
+(previous)g(job.)154 3459 y(50.)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 3568 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
-3084 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f
+3678 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
-3213 y(54.)61 b(When)37 b(the)h Ft(cd)f Fu(builtin)g(cannot)h(c)m
+3806 y(51.)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 3322 y(constructed)27 b(from)g Ft($PWD)f
+(pathname)330 3915 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 3432 y(MAX)h Fu(when)h(canonicalized,)j
+(exceeds)h Ft(PATH_)330 4025 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 3561 y(55.)61 b(The)36 b Ft(pwd)f Fu(builtin)h(v)m
+(name.)154 4153 y(52.)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 4262 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
+4372 y(sequences.)154 4500 y(53.)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 4609 y(quired)30
+b(b)m(y)g Fm(posix)p Fu(.)154 4737 y(54.)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
+4847 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)
+154 4975 y(55.)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 5103 y(56.)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 5230 y(57.)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
+5340 y(returns)29 b(failure.)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(58.)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 408 y(without)30 b(the)h(`)p
+Ft(SIG)p Fu(')f(pre\014x.)154 545 y(59.)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 682 y(60.)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 792 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 902 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 1039 y(61.)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
-3670 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
+1148 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
-3799 y(56.)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 3909 y(not)d(a)f(history)h(en)m
-(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154 4038 y(57.)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 4167 y(58.)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
-4296 y(59.)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 4405 y(returns)29 b(failure.)154
-4534 y(60.)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 4644 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 4753 y(found)i(in)h
-Ft($PATH)p Fu(.)154 4882 y(61.)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 4992 y(instead)e(of)f(c)m(hec)m(king)i
-Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 5121 y(62.)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
-5230 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54
-b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e)
-g(c)m(haracters)h(are)330 5340 y(con)m(v)m(erted.)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)154 299 y(63.)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 438 y(64.)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 548 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 657 y(c)m(hild)31 b(that)g(exits.)154
-797 y(65.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m
+1285 y(62.)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 906 y(receiv)m(es)41
+(een)f(set.)40 b(If)27 b(Bash)330 1395 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
-1016 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154
-1155 y(66.)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 1265 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 1375 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 1514 y(67.)61
+1504 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154
+1641 y(63.)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 1751 y(names)30 b(and)g(de\014nitions.)154
+1888 y(64.)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 1998 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 2107 y(c)m(haracters.)154
+2244 y(65.)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 2354
+y(`)p Ft(>)p Fu(')k(binary)e(op)s(erators.)154 2491 y(66.)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 2600 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 2710 y(for)30 b(bac)m(kw)m(ards)h(compatibilit)m(y)-8
+b(.)154 2847 y(67.)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 2984 y(68.)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 3093 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 3203 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
+3313 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 3450 y(69.)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 3450 28 4 v 40
+w(DFL)h(and)330 3559 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
+3696 y(70.)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 3806 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 3915 y(found)i(in)h
+Ft($PATH)p Fu(.)154 4052 y(71.)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 4189
+y(72.)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 4299 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 4408 y(exit.)154
+4545 y(73.)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 4655 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 4765 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 4874 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 4984 y Fu(b)s(eha)m(vior.)
+154 5121 y(74.)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 5230
+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
+5340 y(c)m(hild)31 b(that)g(exits.)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(75.)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
-1624 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)g(it.)154
-1763 y(68.)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 1873 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 1982 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 2092 y(and)i(the)g(bac)m(kslash)h(will)g(b)s
-(e)f(remo)m(v)m(ed.)154 2231 y(69.)61 b(The)26 b Ft(test)g
-Fu(builtin)g(compares)h(strings)g(using)f(the)h(curren)m(t)f(lo)s(cale)
-j(when)c(pro)s(cessing)i(the)g(`)p Ft(<)p Fu(')g(and)330
-2341 y(`)p Ft(>)p Fu(')k(binary)e(op)s(erators.)154 2480
-y(70.)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 2590
-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 2699
-y(for)30 b(bac)m(kw)m(ards)h(compatibilit)m(y)-8 b(.)154
-2839 y(71.)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 2948 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
-3058 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 3167 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.)275 3342 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 3451 y Fm(posix)d
-Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199 3595 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 3705 y(rather)g(than)g(defaulting)h
+408 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)g(it.)275
+576 y(There)j(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 686 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+826 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 936 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 3844 y(2.)61
-b(A)37 b(non-in)m(teractiv)m(e)i(shell)e(do)s(es)f(not)h(exit)h(if)e(a)
-h(v)-5 b(ariable)38 b(assignmen)m(t)f(preceding)g(the)g
-Ft(command)330 3954 y Fu(builtin)30 b(or)g(another)h(non-sp)s(ecial)g
-(builtin)f(fails.)199 4093 y(3.)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 4203
-y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 4377 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
-4487 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 4596 y(page)31 b(168\).)150 4852 y Fs(6.12)68
-b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150 5011 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
-5121 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
-5230 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 5340 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)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(with)36
-b(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
-408 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f(solution.)275
-556 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
-666 y(setting)d Ft(compat32)c Fu(means)i(that)i(quoting)e(the)h(rhs)f
-(of)g(the)h(regexp)g(matc)m(hing)h(op)s(erator)e(quotes)h(sp)s(e-)150
-775 y(cial)39 b(regexp)e(c)m(haracters)i(in)e(the)g(w)m(ord,)i(whic)m
-(h)e(is)g(default)h(b)s(eha)m(vior)f(in)g(bash-3.2)h(and)f(subsequen)m
-(t)150 885 y(v)m(ersions\).)275 1032 y(If)29 b(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
-1142 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 1251 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 1361 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
-1471 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
-1580 y(enabling)27 b Ft(compat32)e Fu(will)i(enable)g(ASCI)s(I-based)e
+Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 1073 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 1183 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+1351 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 1460 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 1570 y(page)31 b(174\).)150
+1819 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
+1978 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 2088 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 2198 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 2307 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
+2417 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 2526 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
+(solution.)275 2667 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 2776 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 2886 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 2995 y(subsequen)m(t)30 b(v)m(ersions\).)275
+3135 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 3245 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 3355 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 3464 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 3574
+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
+3683 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 1690 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)
+g(not)150 3793 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 1799 y(Read)31 b(the)f(do)s(cumen)m(tation)
+(els)g(carefully)-8 b(.)150 3903 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 1947 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h
+(t)f(b)s(eha)m(vior.)275 4043 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
-2056 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s
+4152 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 2166 y Fu(option,)g(lik)m(e)h(42\))f
+(the)f Ft(compat)p Fr(NN)150 4262 y Fu(option,)g(lik)m(e)h(42\))f
(determines)g(the)f(compatibilit)m(y)j(lev)m(el.)275
-2313 y(Starting)e(with)g(bash-4.4,)h(Bash)f(has)g(b)s(egun)f
-(deprecating)h(older)h(compatibilit)m(y)h(lev)m(els.)44
-b(Ev)m(en)m(tu-)150 2423 y(ally)-8 b(,)32 b(the)e(options)h(will)g(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 2571 y(Bash-5.0)g(w)m(as)g(the)g(\014nal)f(v)m(ersion)g(for)g
-(whic)m(h)g(there)h(will)f(b)s(e)g(an)g(individual)g(shopt)g(option)h
-(for)f(the)150 2680 y(previous)h(v)m(ersion.)41 b(Users)30
-b(should)g(con)m(trol)h(the)g(compatibilit)m(y)i(lev)m(el)f(with)e
-Ft(BASH_COMPAT)p Fu(.)275 2828 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 2937 y(setting.)43
+4402 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 4512 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 4652 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
+4761 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 4871 y(v)m(ersions)e(new)m(er)f
+(than)g(bash-5.0.)275 5011 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 5121 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 3047 y Fu(using)37 b(one)h(of)g(the)g(follo)m(wing)h(mec)m
+Fr(NN)150 5230 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 3156 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i
+(the)d(compatibilit)m(y)150 5340 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
-3266 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 3376 y(v)m(ersions.)150 3554
-y Ft(compat31)705 3695 y Fq(\017)60 b Fu(quoting)34 b(the)g(rhs)e(of)i
-(the)f Ft([[)g Fu(command's)h(regexp)f(matc)m(hing)i(op)s(erator)f(\(=)
-p Ft(~)p Fu(\))f(has)810 3805 y(no)d(sp)s(ecial)h(e\013ect)150
-3977 y Ft(compat40)705 4118 y Fq(\017)60 b Fu(the)35
-b(`)p Ft(<)p Fu(')g(and)f(`)p Ft(>)p Fu(')g(op)s(erators)h(to)g(the)g
-Ft([[)f Fu(command)h(do)f(not)h(consider)f(the)h(curren)m(t)810
-4228 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 4338 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 4447 y(use)30 b(the)h(curren)m(t)f(lo)s
-(cale's)i(collation)h(sequence)d(and)g(strcoll\(3\).)150
-4620 y Ft(compat41)705 4761 y Fq(\017)60 b Fu(in)29 b(p)s(osix)f(mo)s
-(de,)i Ft(time)e Fu(ma)m(y)h(b)s(e)g(follo)m(w)m(ed)i(b)m(y)e(options)g
-(and)g(still)h(b)s(e)e(recognized)j(as)810 4870 y(a)g(reserv)m(ed)f(w)m
-(ord)g(\(this)h(is)f Fm(posix)g Fu(in)m(terpretation)i(267\))705
-5011 y Fq(\017)60 b Fu(in)37 b(p)s(osix)f(mo)s(de,)i(the)g(parser)e
-(requires)g(that)i(an)f(ev)m(en)g(n)m(um)m(b)s(er)f(of)h(single)g
-(quotes)810 5121 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i
+b Fu(shopt)33 b(option.)50 b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)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)150 299 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
+408 y(v)m(ersions.)150 556 y Ft(compat31)705 685 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
+794 y(no)f(sp)s(ecial)h(e\013ect)150 942 y Ft(compat40)705
+1071 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 1180 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 1290 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
+1400 y(use)30 b(the)h(curren)m(t)f(lo)s(cale's)i(collation)h(sequence)d
+(and)g(strcoll\(3\).)150 1547 y Ft(compat41)705 1676
+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 1785 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 1914
+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 2024 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
-5230 y(and)34 b(treats)h(them)f(sp)s(ecially)-8 b(,)37
+2133 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
-5340 y(considered)30 b(quoted)h(\(this)f(is)h Fm(posix)e
-Fu(in)m(terpretation)j(221\))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)150 299 y Ft(compat42)705
-427 y Fq(\017)60 b Fu(the)29 b(replacemen)m(t)i(string)e(in)g
-(double-quoted)h(pattern)f(substitution)g(do)s(es)g(not)h(un-)810
-536 y(dergo)h(quote)g(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 664 y Fq(\017)60
-b Fu(in)39 b(p)s(osix)g(mo)s(de,)j(single)e(quotes)g(are)g(considered)f
-(sp)s(ecial)h(when)f(expanding)g(the)810 774 y Fr(w)m(ord)d
+2243 y(considered)30 b(quoted)h(\(this)f(is)h Fm(posix)e
+Fu(in)m(terpretation)j(221\).)150 2391 y Ft(compat42)705
+2519 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
+2629 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 2757 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 2867 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 883 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f(or)g
+(b)s(e)810 2977 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
-993 y Fm(posix)36 b Fu(in)m(terpretation)h(221\);)42
+3086 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 1103 y(within)30 b(double-quoted)g(w)m(ord)g(expansions)150
-1249 y Ft(compat43)705 1377 y Fq(\017)60 b Fu(w)m(ord)21
-b(expansion)g(errors)g(are)h(considered)f(non-fatal)h(errors)f(that)h
-(cause)g(the)f(curren)m(t)810 1486 y(command)k(to)g(fail,)i(ev)m(en)e
-(in)g(p)s(osix)f(mo)s(de)h(\(the)g(default)g(b)s(eha)m(vior)g(is)g(to)g
-(mak)m(e)h(them)810 1596 y(fatal)32 b(errors)d(that)i(cause)g(the)g
-(shell)f(to)i(exit\))705 1724 y Fq(\017)60 b Fu(when)37
-b(executing)i(a)g(shell)f(function,)i(the)f(lo)s(op)f(state)h
-(\(while/un)m(til/etc.\))68 b(is)38 b(not)810 1833 y(reset,)c(so)g
+(ecial)810 3196 y(within)30 b(double-quoted)g(w)m(ord)g(expansions.)150
+3344 y Ft(compat43)705 3472 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 3582 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 3691 y(them)h(fatal)i(errors)e(that)h(cause)g(the)f
+(shell)h(to)g(exit\).)705 3820 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 3930 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 1943 y(in)h(the)g(calling)h
+(break)g(or)g(con)m(tin)m(ue)h(lo)s(ops)810 4039 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 2052 y(this)150 2198
-y Ft(compat44)705 2326 y Fq(\017)60 b Fu(the)41 b(shell)g(sets)g(up)e
-(the)i(v)-5 b(alues)41 b(used)f(b)m(y)h Ft(BASH_ARGV)d
-Fu(and)i Ft(BASH_ARGC)e Fu(so)j(they)810 2436 y(can)26
+(state)i(to)e(prev)m(en)m(t)810 4149 y(this.)150 4296
+y Ft(compat44)705 4425 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 4535 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 2545 y(mo)s(de)k(is)g(not)h(enabled)705
-2673 y Fq(\017)60 b Fu(a)40 b(subshell)f(inherits)g(lo)s(ops)h(from)g
-(its)g(paren)m(t)g(con)m(text,)k(so)c Ft(break)e Fu(or)i
-Ft(continue)810 2783 y Fu(will)35 b(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 2892 y(prev)m(en)m(t)c(the)g(exit)705 3020 y
-Fq(\017)60 b Fu(v)-5 b(ariable)28 b(assignmen)m(ts)h(preceding)f
-(builtins)f(lik)m(e)i Ft(export)d Fu(and)h Ft(readonly)e
-Fu(that)j(set)810 3130 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 3240 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 3386 y Ft(compat50)f(\(set)h
-(using)g(BASH_COMPAT\))705 3495 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 3605 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)810 3714 y(to)e(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 3824 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 3934 y(sequence)31 b(as)f(in)g(bash-5.0)705
-4061 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 4171 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
-4281 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
-4390 y Fu(option)31 b(is)f(supplied.)150 4536 y Ft(compat51)e(\(set)h
-(using)g(BASH_COMPAT\))705 4646 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 4756 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 4865 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
-4993 y Fq(\017)60 b Fu(arithmetic)36 b(commands)e(\()h(\(\(...\)\))55
-b(\))f(and)34 b(the)g(expressions)h(in)f(an)g(arithmetic)i(for)810
-5103 y(statemen)m(t)c(can)f(b)s(e)f(expanded)f(more)i(than)f(once)705
-5230 y Fq(\017)60 b Fu(expressions)22 b(used)g(as)h(argumen)m(ts)g(to)h
-(arithmetic)f(op)s(erators)g(in)g(the)g Ft([[)f Fu(conditional)810
-5340 y(command)30 b(can)h(b)s(e)f(expanded)f(more)i(than)f(once)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)705 299 y Fq(\017)60
-b Fu(the)35 b(expressions)g(in)g(substring)e(parameter)j(brace)f
-(expansion)g(can)g(b)s(e)g(expanded)810 408 y(more)c(than)f(once)705
-543 y Fq(\017)60 b Fu(the)39 b(expressions)f(in)g(the)h($\(\()h(...)66
-b(\)\))f(w)m(ord)39 b(expansion)f(can)h(b)s(e)f(expanded)g(more)810
-653 y(than)30 b(once)705 787 y Fq(\017)60 b Fu(arithmetic)36
-b(expressions)f(used)f(as)h(indexed)f(arra)m(y)i(subscripts)d(can)i(b)s
-(e)g(expanded)810 897 y(more)c(than)f(once)705 1031 y
-Fq(\017)60 b Ft(test)29 b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g
+(if)e(extended)h(debugging)810 4644 y(mo)s(de)k(is)g(not)h(enabled.)705
+4773 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 4883 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
+4992 y(prev)m(en)m(t)c(the)g(exit.)705 5121 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
+5230 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
+5340 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.)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)150 299 y Ft(compat50)28
+b(\(set)h(using)g(BASH_COMPAT\))705 408 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
+518 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)810
+628 y(to)e(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 737 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
+847 y(sequence)31 b(as)f(in)g(bash-5.0.)705 980 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
+1089 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 1199 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 1309 y Fu(option)31
+b(is)f(supplied.)150 1465 y Ft(compat51)e(\(set)h(using)g
+(BASH_COMPAT\))705 1575 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 1684
+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
+1794 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 1927 y Fq(\017)60 b Fu(Arithmetic)34
+b(commands)f(\()g(\(\(...\)\))51 b(\))e(and)32 b(the)h(expressions)g
+(in)g(an)g(arithmetic)h(for)810 2037 y(statemen)m(t)e(can)f(b)s(e)f
+(expanded)f(more)i(than)f(once.)705 2170 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 2279
+y(command)30 b(can)h(b)s(e)f(expanded)f(more)i(than)f(once.)705
+2412 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
+2522 y(more)g(than)f(once.)705 2655 y Fq(\017)60 b Fu(The)36
+b(expressions)h(in)f(the)h($\(\()h(...)60 b(\)\))g(w)m(ord)36
+b(expansion)h(can)g(b)s(e)f(expanded)g(more)810 2765
+y(than)30 b(once.)705 2898 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 3007 y(more)f(than)f(once.)705 3140
+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 1141 y(ciativ)m(e)h(arra)m(y)-8
+Fu(is)f(an)h(existing)g(asso-)810 3250 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 1250 y(will)31
+(set)g(elemen)m(ts.)53 b(Bash-5.2)810 3360 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 1385 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 1494 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 1604 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
-1738 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
-1848 y(Section)e(4.3.2)g([The)f(Shopt)f(Builtin],)j(page)f(74\))g(is)f
-(enabled,)i(so)e(that)g(parsing)g(a)810 1958 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 2067 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 2177 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 2286 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 2396 y(command)30 b(is)h(executed.)150 2555 y Ft(compat52)d(\(set)h
-(using)g(BASH_COMPAT\))705 2665 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 2775 y(pressions)30
-b(when)f(giv)m(en)i(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705
-2909 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
-3019 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 3128 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 3238 y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)
-g(bind.)p eop end
-%%Page: 118 124
-TeXDict begin 118 123 bop 3614 -116 a Fu(118)150 299
+Ft(@)p Fu('.)705 3493 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 3602 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
+3712 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 3845 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 3954 y(Section)e(4.3.2)g([The)f(Shopt)f
+(Builtin],)j(page)f(76\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
+4064 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
+4174 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 4283 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
+4393 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 4502 y(command)30
+b(is)h(executed.)150 4659 y Ft(compat52)d(\(set)h(using)g
+(BASH_COMPAT\))705 4769 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 4878 y(pressions)30 b(when)f(giv)m(en)i
+(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705 5011 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 5121 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
+5230 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 5340
+y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)g(bind.)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)705 299 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 408 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 518 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)
i(\015agged)f(with)f(a)h(`)p Ft(+)p Fu(',)i(and)d(the)150
5340 y(previous)30 b(job)g(with)g(a)h(`)p Ft(-)p Fu('.)p
eop end
-%%Page: 119 125
-TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(119)275 299 y(A)38 b(job)g(ma)m(y)h(also)g
+%%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)275 299 y(A)38 b(job)g(ma)m(y)h(also)g
(b)s(e)f(referred)f(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)
e(to)i(start)g(it,)i(or)e(using)f(a)150 408 y(substring)g(that)j(app)s
(ears)e(in)g(its)h(command)f(line.)69 b(F)-8 b(or)41
(the)e(string)h(`)p Ft(ce)p Fu(')f(in)g(its)h(command)f(line.)40
b(If)26 b(the)g(pre\014x)g(or)g(substring)f(matc)m(hes)j(more)e(than)
150 737 y(one)31 b(job,)f(Bash)g(rep)s(orts)g(an)g(error.)275
-869 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)
+884 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 978 y(`)p Ft(fg)g(\0451)p
+b(is)g(a)h(synon)m(ym)e(for)150 993 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 1088 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)
+Fu(')i(resumes)150 1103 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
-1219 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 1329 y(it)25 b(is)g(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)s
-(efore)g(rep)s(orting)h(c)m(hanges)g(in)g(a)g(job's)f(status)h(so)g(as)
-g(to)g(not)g(in)m(terrupt)150 1439 y(an)m(y)k(other)f(output.)40
-b(If)28 b(the)g Ft(-b)g Fu(option)g(to)h(the)g Ft(set)e
-Fu(builtin)h(is)g(enabled,)h(Bash)g(rep)s(orts)e(suc)m(h)h(c)m(hanges)
-150 1548 y(immediately)d(\(see)g(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)i(page)f(69\).)40 b(An)m(y)24 b(trap)f(on)h
-Ft(SIGCHLD)e Fu(is)i(executed)150 1658 y(for)30 b(eac)m(h)i(c)m(hild)e
-(pro)s(cess)g(that)h(exits.)275 1789 y(If)25 b(an)h(attempt)h(to)g
-(exit)g(Bash)f(is)h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h
-(running,)e(if)h(the)g Ft(checkjobs)150 1899 y Fu(option)e(is)f
-(enabled)h({)g(see)g(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)
-e(74\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
-2009 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 2118 y Fu(command)36 b(ma)m(y)h(then)f(b)s(e)f
-(used)g(to)i(insp)s(ect)f(their)g(status.)59 b(If)36
-b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150 2228
-y(without)e(an)f(in)m(terv)m(ening)i(command,)f(Bash)g(do)s(es)f(not)h
-(prin)m(t)g(another)f(w)m(arning,)i(and)e(an)m(y)h(stopp)s(ed)150
-2337 y(jobs)c(are)h(terminated.)275 2469 y(When)f(the)h(shell)g(is)f(w)
+1250 y(The)23 b(shell)h(learns)g(immediately)h(whenev)m(er)f(a)h(job)e
+(c)m(hanges)i(state.)40 b(Normally)-8 b(,)27 b(Bash)d(w)m(aits)h(un)m
+(til)f(it)150 1359 y(is)30 b(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)
+s(efore)g(rep)s(orting)g(c)m(hanges)i(in)f(a)g(job's)f(status)h(so)g
+(as)g(to)g(not)g(in)m(terrupt)150 1469 y(an)m(y)45 b(other)f(output,)j
+(though)d(it)h(will)g(notify)f(of)g(c)m(hanges)i(in)d(a)i(job's)f
+(status)g(after)h(a)g(foreground)150 1579 y(command)32
+b(in)f(a)h(list)g(completes,)i(b)s(efore)d(executing)i(the)f(next)g
+(command.)45 b(If)31 b(the)h Ft(-b)f Fu(option)h(to)h(the)150
+1688 y Ft(set)f Fu(builtin)g(is)h(enabled,)g(Bash)g(rep)s(orts)f(suc)m
+(h)g(c)m(hanges)i(immediately)g(\(see)f(Section)h(4.3.1)g([The)f(Set)
+150 1798 y(Builtin],)e(page)g(71\).)42 b(An)m(y)31 b(trap)f(on)g
+Ft(SIGCHLD)f Fu(is)h(executed)h(for)g(eac)m(h)g(c)m(hild)g(pro)s(cess)f
+(that)h(exits.)275 1944 y(If)25 b(an)h(attempt)h(to)g(exit)g(Bash)f(is)
+h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h(running,)e(if)h(the)
+g Ft(checkjobs)150 2054 y Fu(option)e(is)f(enabled)h({)g(see)g(Section)
+g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)e(76\),)i(the)e(shell)f(prin)
+m(ts)g(a)h(w)m(arning)150 2164 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 2273 y Fu(command)36
+b(ma)m(y)h(then)f(b)s(e)f(used)g(to)i(insp)s(ect)f(their)g(status.)59
+b(If)36 b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150
+2383 y(without)e(an)f(in)m(terv)m(ening)i(command,)f(Bash)g(do)s(es)f
+(not)h(prin)m(t)g(another)f(w)m(arning,)i(and)e(an)m(y)h(stopp)s(ed)150
+2492 y(jobs)c(are)h(terminated.)275 2639 y(When)f(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
-2578 y(enabled,)i Ft(wait)f Fu(will)g(return)g(when)f(the)i(job)f(c)m
+2749 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 2688 y(un)m(til)d(the)f(job)g(or)h(pro)s
-(cess)f(terminates)h(b)s(efore)f(returning.)150 2923
-y Fs(7.2)68 b(Job)45 b(Con)l(trol)h(Builtins)150 3104
-y Ft(bg)870 3236 y(bg)h([)p Fj(jobspec)f Ft(...)o(])630
-3367 y Fu(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i
+Ft(wait)g Fu(to)h(w)m(ait)150 2858 y(un)m(til)d(the)f(job)g(or)h(pro)s
+(cess)f(terminates)h(b)s(efore)f(returning.)150 3117
+y Fs(7.2)68 b(Job)45 b(Con)l(trol)h(Builtins)150 3308
+y Ft(bg)870 3448 y(bg)h([)p Fj(jobspec)f Ft(...)o(])630
+3589 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 3477 y(with)32 b(`)p Ft(&)p
+(had)e(b)s(een)g(started)630 3698 y(with)32 b(`)p Ft(&)p
Fu('.)45 b(If)31 b Fr(jobsp)s(ec)37 b Fu(is)32 b(not)g(supplied,)f(the)
h(curren)m(t)g(job)f(is)h(used.)45 b(The)31 b(return)g(status)630
-3586 y(is)i(zero)g(unless)f(it)h(is)g(run)e(when)h(job)g(con)m(trol)i
+3808 y(is)i(zero)g(unless)f(it)h(is)g(run)e(when)h(job)g(con)m(trol)i
(is)f(not)g(enabled,)h(or,)f(when)f(run)f(with)h(job)630
-3696 y(con)m(trol)h(enabled,)g(an)m(y)f Fr(jobsp)s(ec)37
+3918 y(con)m(trol)h(enabled,)g(an)m(y)f Fr(jobsp)s(ec)37
b Fu(w)m(as)32 b(not)g(found)f(or)g(sp)s(eci\014es)h(a)g(job)g(that)g
-(w)m(as)g(started)630 3806 y(without)e(job)g(con)m(trol.)150
-3959 y Ft(fg)870 4091 y(fg)47 b([)p Fj(jobspec)p Ft(])630
-4222 y Fu(Resume)c(the)g(job)g Fr(jobsp)s(ec)48 b Fu(in)43
+(w)m(as)g(started)630 4027 y(without)e(job)g(con)m(trol.)150
+4199 y Ft(fg)870 4339 y(fg)47 b([)p Fj(jobspec)p Ft(])630
+4480 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 4332 y Fr(jobsp)s(ec)41 b Fu(is)c(not)f(supplied,)h(the)f
-(curren)m(t)h(job)f(is)g(used.)58 b(The)36 b(return)f(status)h(is)h
-(that)g(of)630 4441 y(the)d(command)g(placed)h(in)m(to)g(the)f
-(foreground,)g(or)g(non-zero)h(if)f(run)f(when)g(job)g(con)m(trol)630
-4551 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
+b(If)630 4589 y Fr(jobsp)s(ec)41 b Fu(is)36 b(not)g(supplied,)h(resume)
+e(the)i(curren)m(t)f(job.)57 b(The)36 b(return)f(status)h(is)g(that)h
+(of)630 4699 y(the)d(command)g(placed)h(in)m(to)g(the)f(foreground,)g
+(or)g(non-zero)h(if)f(run)f(when)g(job)g(con)m(trol)630
+4809 y(is)i(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
-4660 y(v)-5 b(alid)31 b(job)f(or)g Fr(jobsp)s(ec)35 b
+4918 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 4814 y Ft(jobs)870 4945 y(jobs)47
-b([-lnprs])e([)p Fj(jobspec)p Ft(])870 5055 y(jobs)i(-x)g
-Fj(command)f Ft([)p Fj(arguments)p Ft(])630 5187 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
-5340 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.)p
-eop end
-%%Page: 120 126
-TeXDict begin 120 125 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(120)630 299 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 408 y(the)31
-b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f(status.)630
-570 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
-732 y Ft(-r)384 b Fu(Displa)m(y)32 b(only)e(running)f(jobs.)630
-894 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630
-1056 y(If)23 b Fr(jobsp)s(ec)28 b Fu(is)23 b(giv)m(en,)i(output)e(is)g
-(restricted)h(to)g(information)f(ab)s(out)g(that)h(job.)37
-b(If)23 b Fr(jobsp)s(ec)630 1165 y Fu(is)30 b(not)h(supplied,)e(the)i
-(status)g(of)f(all)h(jobs)f(is)h(listed.)630 1301 y(If)k(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
-1410 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 1520 y(passing)30 b(it)h Fr(argumen)m(t)r Fu(s,)g(returning)f
-(its)g(exit)i(status.)150 1682 y Ft(kill)870 1817 y(kill)47
+(job)g(con)m(trol.)150 5090 y Ft(jobs)870 5230 y(jobs)47
+b([-lnprs])e([)p Fj(jobspec)p Ft(])870 5340 y(jobs)i(-x)g
+Fj(command)f Ft([)p Fj(arguments)p Ft(])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)630 299 y(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 451 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 602 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 712 y(the)31 b(user)e(w)m(as)i(last)g
+(noti\014ed)f(of)h(their)f(status.)630 864 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 1015 y Ft(-r)384 b
+Fu(Displa)m(y)32 b(only)e(running)f(jobs.)630 1167 y
+Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630
+1319 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 1428 y Fr(jobsp)s(ec)35 b Fu(is)c(not)f(supplied,)g
+Ft(jobs)f Fu(lists)i(the)f(status)h(of)g(all)g(jobs.)630
+1559 y(If)k(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 1669 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
+1778 y(passing)30 b(it)h Fr(argumen)m(t)r Fu(s,)g(returning)f(its)g
+(exit)i(status.)150 1930 y Ft(kill)870 2061 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(jobspec)h Ft(or)h Fj(pid)870 1927
-y Ft(kill)g(-l|-L)f([)p Fj(exit_status)p Ft(])630 2063
+Fj(sigspec)p Ft(])f Fj(jobspec)h Ft(or)h Fj(pid)870 2170
+y Ft(kill)g(-l|-L)f([)p Fj(exit_status)p Ft(])630 2301
y Fu(Send)22 b(a)i(signal)g(sp)s(eci\014ed)f(b)m(y)g
Fr(sigsp)s(ec)29 b Fu(or)24 b Fr(sign)m(um)f Fu(to)h(the)g(pro)s(cess)f
-(named)g(b)m(y)g(job)g(sp)s(eci\014-)630 2172 y(cation)k
+(named)g(b)m(y)g(job)g(sp)s(eci\014-)630 2411 y(cation)k
Fr(jobsp)s(ec)j Fu(or)25 b(pro)s(cess)g Fm(id)h Fr(pid)p
Fu(.)38 b Fr(sigsp)s(ec)31 b Fu(is)25 b(either)h(a)g(case-insensitiv)m
-(e)i(signal)e(name)630 2282 y(suc)m(h)37 b(as)g Ft(SIGINT)f
-Fu(\(with)h(or)g(without)g(the)g Ft(SIG)g Fu(pre\014x\))f(or)h(a)h
-(signal)g(n)m(um)m(b)s(er;)h Fr(sign)m(um)630 2392 y
-Fu(is)g(a)f(signal)i(n)m(um)m(b)s(er.)63 b(If)39 b Fr(sigsp)s(ec)44
-b Fu(and)38 b Fr(sign)m(um)g Fu(are)h(not)g(presen)m(t,)h
-Ft(SIGTERM)d Fu(is)h(used.)630 2501 y(The)27 b 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 2611 y(giv)m(en,)32 b(the)g(names)e(of)i(the)f(signals)g
-(corresp)s(onding)f(to)i(the)f(argumen)m(ts)g(are)h(listed,)g(and)630
-2720 y(the)c(return)f(status)h(is)g(zero.)41 b Fr(exit)p
-1796 2720 28 4 v 41 w(status)32 b Fu(is)c(a)g(n)m(um)m(b)s(er)f(sp)s
-(ecifying)g(a)i(signal)f(n)m(um)m(b)s(er)f(or)630 2830
-y(the)h(exit)h(status)g(of)f(a)h(pro)s(cess)e(terminated)i(b)m(y)f(a)h
-(signal.)40 b(The)28 b Ft(-L)g Fu(option)g(is)g(equiv)-5
-b(alen)m(t)630 2939 y(to)34 b Ft(-l)p Fu(.)47 b(The)32
-b(return)g(status)h(is)g(zero)g(if)g(at)g(least)h(one)f(signal)h(w)m
-(as)f(successfully)g(sen)m(t,)h(or)630 3049 y(non-zero)d(if)f(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.)150 3211 y Ft(wait)870 3346 y(wait)47
-b([-fn])f([-p)h Fj(varname)p Ft(])e([)p Fj(id)i Ft(...])630
-3482 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 3592 y(of)32 b(the)g(last)h Fr(id)p
-Fu(.)46 b(Eac)m(h)33 b Fr(id)i Fu(ma)m(y)e(b)s(e)e(a)i
-Fr(pid)h Fu(or)e(job)g(sp)s(eci\014cation)h Fr(jobsp)s(ec)6
-b Fu(;)32 b(if)g(a)h(job)e(sp)s(ec)630 3701 y(is)f(giv)m(en,)i
-Ft(wait)d Fu(w)m(aits)j(for)e(all)h(pro)s(cesses)f(in)g(the)h(job.)630
-3837 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
-3947 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 4056 y(and)30 b(the)g(return)g(status)g(is)h(zero.)630
-4192 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 4301
+(e)i(signal)e(name)630 2520 y(suc)m(h)k(as)h Ft(SIGINT)d
+Fu(\(with)j(or)f(without)h(the)f Ft(SIG)g Fu(pre\014x\))f(or)i(a)f
+(signal)h(n)m(um)m(b)s(er;)f Fr(sign)m(um)g Fu(is)630
+2630 y(a)h(signal)g(n)m(um)m(b)s(er.)39 b(If)30 b Fr(sigsp)s(ec)36
+b Fu(and)30 b Fr(sign)m(um)g Fu(are)h(not)g(presen)m(t,)f
+Ft(kill)f Fu(sends)h Ft(SIGTERM)p Fu(.)630 2760 y(The)43
+b Ft(-l)g Fu(option)h(lists)g(the)g(signal)g(names.)81
+b(If)43 b(an)m(y)h(argumen)m(ts)g(are)g(supplied)e(when)630
+2870 y Ft(-l)d Fu(is)h(supplied,)h(the)e(names)h(of)g(the)g(signals)g
+(corresp)s(onding)e(to)j(the)f(argumen)m(ts)g(are)630
+2980 y(listed,)29 b(and)e(the)h(return)f(status)g(is)h(zero.)41
+b Fr(exit)p 2235 2980 28 4 v 41 w(status)32 b Fu(is)27
+b(a)h(n)m(um)m(b)s(er)f(sp)s(ecifying)g(a)h(signal)630
+3089 y(n)m(um)m(b)s(er)k(or)i(the)g(exit)g(status)g(of)g(a)g(pro)s
+(cess)f(terminated)h(b)m(y)f(a)h(signal.)51 b(The)34
+b Ft(-L)e Fu(option)630 3199 y(is)e(equiv)-5 b(alen)m(t)32
+b(to)f Ft(-l)p Fu(.)630 3329 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 3439 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.)150 3591
+y Ft(wait)870 3721 y(wait)47 b([-fn])f([-p)h Fj(varname)p
+Ft(])e([)p Fj(id)i Ft(...])630 3852 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
+3962 y(of)32 b(the)g(last)h Fr(id)p Fu(.)46 b(Eac)m(h)33
+b Fr(id)i Fu(ma)m(y)e(b)s(e)e(a)i Fr(pid)h Fu(or)e(job)g(sp)s
+(eci\014cation)h Fr(jobsp)s(ec)6 b Fu(;)32 b(if)g(a)h(job)e(sp)s(ec)630
+4071 y(is)f(supplied,)g Ft(wait)f Fu(w)m(aits)i(for)f(all)i(pro)s
+(cesses)e(in)g(the)h(job.)630 4202 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 4312 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 4421 y(and)30 b(the)g(return)g(status)g
+(is)h(zero.)630 4552 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 4661
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 4411
+(to)g(complete)g(and)f(returns)f(its)i(exit)630 4771
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 4521 y(supplied)f(and)h(the)g(shell)h(has)f(no)g(un)m(w)m
+(ts)h(are)630 4881 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
-4656 y(If)k(the)i Ft(-p)e Fu(option)h(is)g(supplied,)h(the)f(pro)s
-(cess)f(or)h(job)g(iden)m(ti\014er)g(of)g(the)g(job)g(for)f(whic)m(h)
-630 4766 y(the)i(exit)g(status)g(is)f(returned)f(is)i(assigned)f(to)h
-(the)g(v)-5 b(ariable)37 b Fr(v)-5 b(arname)42 b Fu(named)35
-b(b)m(y)i(the)630 4876 y(option)f(argumen)m(t.)58 b(The)35
-b(v)-5 b(ariable)37 b(will)f(b)s(e)f(unset)h(initially)-8
-b(,)39 b(b)s(efore)d(an)m(y)g(assignmen)m(t.)630 4985
-y(This)30 b(is)g(useful)g(only)g(when)f(the)i Ft(-n)f
-Fu(option)h(is)f(supplied.)630 5121 y(Supplying)j(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 5230 y(eac)m(h)h
+5011 y(If)25 b(the)h Ft(-p)g Fu(option)g(is)g(supplied,)f(the)h(pro)s
+(cess)g(or)g(job)f(iden)m(ti\014er)h(of)g(the)g(job)g(for)f(whic)m(h)h
+(the)630 5121 y(exit)i(status)f(is)f(returned)g(is)g(assigned)h(to)h
+(the)f(v)-5 b(ariable)27 b Fr(v)-5 b(arname)32 b Fu(named)26
+b(b)m(y)h(the)f(option)630 5230 y(argumen)m(t.)38 b(The)22
+b(v)-5 b(ariable,)25 b(whic)m(h)c(cannot)i(b)s(e)f(readonly)-8
+b(,)24 b(will)e(b)s(e)g(unset)f(initially)-8 b(,)26 b(b)s(efore)630
+5340 y(an)m(y)31 b(assignmen)m(t.)41 b(This)30 b(is)g(useful)g(only)g
+(when)g(the)g Ft(-n)g Fu(option)h(is)f(supplied.)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)630 299 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 408 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 5340 y(c)m(hanges)c(status.)p
-eop end
-%%Page: 121 127
-TeXDict begin 121 126 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(121)630 299 y(If)28 b(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 408 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 518 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 628 y(Section)29 b(3.7.6)g([Signals],)g(page)g(46\).)41
-b(Otherwise,)28 b(the)g(return)f(status)h(is)g(the)g(exit)h(status)630
-737 y(of)i(the)f(last)h Fr(id)p Fu(.)150 897 y Ft(disown)870
-1031 y(disown)46 b([-ar])g([-h])h([)p Fj(jobspec)f Ft(...)h(|)g
-Fj(pid)g Ft(...)g(])630 1166 y Fu(Without)33 b(options,)h(remo)m(v)m(e)
-g(eac)m(h)f Fr(jobsp)s(ec)38 b Fu(from)32 b(the)h(table)g(of)g(activ)m
-(e)h(jobs.)47 b(If)32 b(the)h Ft(-h)630 1275 y Fu(option)j(is)f(giv)m
-(en,)i(the)f(job)f(is)g(not)g(remo)m(v)m(ed)h(from)f(the)g(table,)j
-(but)c(is)i(mark)m(ed)f(so)g(that)630 1385 y Ft(SIGHUP)e
-Fu(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g(the)g(shell)h(receiv)m
-(es)h(a)e Ft(SIGHUP)p Fu(.)54 b(If)34 b Fr(jobsp)s(ec)40
-b Fu(is)c(not)630 1494 y(presen)m(t,)41 b(and)d(neither)h(the)g
-Ft(-a)f Fu(nor)g(the)h Ft(-r)f Fu(option)h(is)g(supplied,)g(the)g
-(curren)m(t)g(job)f(is)630 1604 y(used.)g(If)25 b(no)h
-Fr(jobsp)s(ec)k Fu(is)c(supplied,)f(the)h Ft(-a)f Fu(option)h(means)g
-(to)g(remo)m(v)m(e)h(or)e(mark)h(all)g(jobs;)630 1714
-y(the)31 b Ft(-r)e Fu(option)i(without)g(a)f Fr(jobsp)s(ec)36
-b Fu(argumen)m(t)30 b(restricts)h(op)s(eration)g(to)g(running)e(jobs.)
-150 1873 y Ft(suspend)870 2007 y(suspend)46 b([-f])630
-2142 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 2252 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 2361 y(can)35 b(b)s(e)g(used)f(to)i(o)m(v)m
-(erride)g(this)f(and)f(force)i(the)f(susp)s(ension.)53
-b(The)34 b(return)g(status)h(is)h(0)630 2471 y(unless)43
-b(the)g(shell)h(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)f Fu(is)i(not)630 2580 y(supplied.)275
-2740 y(When)30 b(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d
+(instead)d(of)h(returning)e(when)g(it)630 518 y(c)m(hanges)c(status.)
+630 653 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 762 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 872 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 981 y(Section)29
+b(3.7.6)g([Signals],)g(page)g(47\).)41 b(Otherwise,)28
+b(the)g(return)f(status)h(is)g(the)g(exit)h(status)630
+1091 y(of)i(the)f(last)h Fr(id)p Fu(.)150 1250 y Ft(disown)870
+1385 y(disown)46 b([-ar])g([-h])h([)p Fj(id)g Ft(...)o(])630
+1519 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 1629 y(a)g
+Fr(pid)i Fu(or)e(job)f(sp)s(eci\014cation)h Fr(jobsp)s(ec)6
+b Fu(;)28 b(if)h Fr(id)i Fu(is)e(a)g Fr(pid)p Fu(,)f
+Ft(disown)f Fu(uses)h(the)g(job)g(con)m(taining)630 1738
+y Fr(pid)p Fu(.)59 b(If)36 b(the)h Ft(-h)f Fu(option)h(is)g(supplied,)g
+(the)g(job)g(is)f(not)h(remo)m(v)m(ed)h(from)e(the)h(table,)j(but)630
+1848 y(is)33 b(mark)m(ed)h(so)f(that)h Ft(SIGHUP)e Fu(is)h(not)g(sen)m
+(t)h(to)g(the)g(job)f(if)g(the)g(shell)h(receiv)m(es)h(a)e
+Ft(SIGHUP)p Fu(.)630 1958 y(If)h Fr(id)k Fu(is)d(not)g(presen)m(t,)h
+(and)f(neither)f(the)h Ft(-a)f Fu(nor)h(the)g Ft(-r)f
+Fu(option)h(is)g(supplied,)g Ft(disown)630 2067 y Fu(remo)m(v)m(es)d
+(the)e(curren)m(t)g(job.)630 2202 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 2311 y
+Fu(option)31 b(without)f(an)g Fr(id)k Fu(argumen)m(t)d(restricts)g(op)s
+(eration)g(to)g(running)e(jobs.)630 2446 y(The)h(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 2605 y Ft(suspend)870
+2740 y(suspend)46 b([-f])630 2874 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 2984
+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
+3093 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
+3203 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.)275
+3362 y(When)f(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 2849 y(men)m(ts.)41 b(They)30
+Fr(jobsp)s(ec)j Fu(argu-)150 3472 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
-3090 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
-3274 y Ft(auto_resume)630 3384 y Fu(This)31 b(v)-5 b(ariable)32
+3713 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
+3897 y Ft(auto_resume)630 4007 y Fu(This)31 b(v)-5 b(ariable)32
b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m(teracts)h(with)e(the)h
-(user)e(and)h(job)g(con)m(trol.)45 b(If)630 3494 y(this)28
-b(v)-5 b(ariable)30 b(exists)f(then)f(single)h(w)m(ord)f(simple)h
-(commands)f(without)g(redirections)i(are)630 3603 y(treated)h(as)g
+(user)e(and)h(job)g(con)m(trol.)45 b(If)630 4116 y(this)28
+b(v)-5 b(ariable)29 b(exists)g(then)f(single-w)m(ord)h(simple)f
+(commands)g(without)h(redirections)g(are)630 4226 y(treated)i(as)g
(candidates)f(for)g(resumption)g(of)g(an)g(existing)h(job.)41
-b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 3713 y(allo)m(w)m(ed;)f(if)d
-(there)g(is)g(more)g(than)f(one)h(job)g(b)s(eginning)f(with)g(the)h
-(string)g(t)m(yp)s(ed,)g(then)g(the)630 3822 y(most)j(recen)m(tly)h
-(accessed)f(job)f(will)h(b)s(e)f(selected.)42 b(The)29
-b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 3932
-y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g(it.)41
-b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
-b(alue)630 4042 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f
+b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 4335 y(allo)m(w)m(ed;)44
+b(if)38 b(there)h(is)f(more)h(than)f(one)g(job)g(b)s(eginning)g(with)f
+(the)i(string)f(t)m(yp)s(ed,)i(then)630 4445 y(the)33
+b(most)g(recen)m(tly)h(accessed)f(job)g(is)f(selected.)49
+b(The)32 b(name)h(of)f(a)h(stopp)s(ed)f(job,)h(in)f(this)630
+4555 y(con)m(text,)e(is)e(the)g(command)g(line)g(used)f(to)h(start)g
+(it.)41 b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
+b(alue)630 4664 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f
(m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h
-(exactly;)j(if)630 4151 y(set)29 b(to)h(`)p Ft(substring)p
+(exactly;)j(if)630 4774 y(set)29 b(to)h(`)p Ft(substring)p
Fu(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
-(substring)f(of)h(the)g(name)630 4261 y(of)38 b(a)f(stopp)s(ed)g(job.)
+(substring)f(of)h(the)g(name)630 4883 y(of)38 b(a)f(stopp)s(ed)g(job.)
62 b(The)37 b(`)p Ft(substring)p Fu(')e(v)-5 b(alue)38
b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
-4370 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g
-(7.1)g([Job)e(Con)m(trol)i(Basics],)i(page)e(118\).)56
-b(If)34 b(set)i(to)g(an)m(y)630 4480 y(other)c(v)-5 b(alue,)32
+4993 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g
+(7.1)g([Job)e(Con)m(trol)i(Basics],)i(page)e(123\).)56
+b(If)34 b(set)i(to)g(an)m(y)630 5103 y(other)c(v)-5 b(alue,)32
b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f(of)h(a)g
-(stopp)s(ed)e(job's)i(name;)g(this)630 4589 y(pro)m(vides)e
+(stopp)s(ed)e(job's)i(name;)g(this)630 5212 y(pro)m(vides)e
(functionalit)m(y)i(analogous)g(to)f(the)g(`)p Ft(\045)p
Fu(')f(job)g Fm(id)p Fu(.)p eop end
-%%Page: 122 128
-TeXDict begin 122 127 bop 3614 -116 a Fu(122)150 299
-y Fp(8)80 b(Command)54 b(Line)f(Editing)150 635 y Fu(This)28
+%%Page: 127 133
+TeXDict begin 127 132 bop 3614 -116 a Fu(127)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 745 y(mand)c(line)i(editing)f(is)g(pro)m(vided)g(b)m(y)g
+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 855 y(programs,)34 b(including)e
+(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 964 y(teractiv)m(e)h(shell,)d
+(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
-1074 y(is)g(also)h(used)f(when)f(using)h(the)g Ft(-e)g
+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 1183 y(Builtins],)j(page)f(57\).)52
+(Section)g(4.2)h([Bash)150 1073 y(Builtins],)j(page)f(59\).)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 1293 y(A)h(vi-st)m(yle)h(line)f(editing)g
-(in)m(terface)h(is)e(also)i(a)m(v)-5 b(ailable.)55 b(Line)34
-b(editing)h(can)g(b)s(e)f(enabled)g(at)h(an)m(y)g(time)150
-1402 y(using)h(the)g Ft(-o)30 b(emacs)35 b Fu(or)h Ft(-o)30
+(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 1512 y(Set)31 b(Builtin],)g(page)g
-(69\),)h(or)e(disabled)g(using)g(the)h Ft(+o)e(emacs)g
+(\(see)h(Section)g(4.3.1)h([The)150 1401 y(Set)31 b(Builtin],)g(page)g
+(71\),)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
-1804 y Fs(8.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
-1963 y Fu(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
+1639 y Fs(8.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
+1798 y Fu(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
(notation)g(used)f(to)h(represen)m(t)f(k)m(eystrok)m(es.)275
-2132 y(The)35 b(text)i Fj(C-k)f Fu(is)g(read)g(as)h(`Con)m(trol-K')g
+1931 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 2242 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 2410 y(The)g(text)i Fj(M-k)e
+Ft(k)150 2041 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 2174 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 2520 y(k)m(ey)i(\(if)f(y)m(ou)h
-(ha)m(v)m(e)g(one\))g(is)f(depressed,)g(and)f(the)h Ft(k)g
-Fu(k)m(ey)h(is)f(pressed.)48 b(The)32 b(Meta)j(k)m(ey)e(is)h(lab)s
-(eled)f Ft(ALT)150 2629 y Fu(on)c(man)m(y)h(k)m(eyb)s(oards.)40
-b(On)29 b(k)m(eyb)s(oards)g(with)h(t)m(w)m(o)h(k)m(eys)f(lab)s(eled)g
-Ft(ALT)e Fu(\(usually)i(to)g(either)g(side)g(of)g(the)150
-2739 y(space)h(bar\),)f(the)g Ft(ALT)f Fu(on)h(the)g(left)h(side)f(is)g
-(generally)h(set)f(to)h(w)m(ork)f(as)g(a)h(Meta)g(k)m(ey)-8
-b(.)42 b(The)29 b Ft(ALT)g Fu(k)m(ey)i(on)150 2849 y(the)c(righ)m(t)h
-(ma)m(y)g(also)g(b)s(e)f(con\014gured)f(to)i(w)m(ork)f(as)h(a)f(Meta)i
-(k)m(ey)f(or)f(ma)m(y)h(b)s(e)e(con\014gured)h(as)g(some)h(other)150
-2958 y(mo)s(di\014er,)i(suc)m(h)g(as)g(a)h(Comp)s(ose)f(k)m(ey)h(for)f
-(t)m(yping)h(accen)m(ted)h(c)m(haracters.)275 3127 y(If)23
-b(y)m(ou)i(do)f(not)h(ha)m(v)m(e)h(a)f(Meta)g(or)g Ft(ALT)e
-Fu(k)m(ey)-8 b(,)27 b(or)e(another)f(k)m(ey)i(w)m(orking)e(as)h(a)g
-(Meta)h(k)m(ey)-8 b(,)27 b(the)d(iden)m(tical)150 3236
-y(k)m(eystrok)m(e)30 b(can)f(b)s(e)f(generated)h(b)m(y)g(t)m(yping)g
-Ft(ESC)e Fl(\014rst)p Fu(,)j(and)e(then)g(t)m(yping)h
-Ft(k)p Fu(.)40 b(Either)28 b(pro)s(cess)g(is)g(kno)m(wn)150
-3346 y(as)j Fr(metafying)39 b Fu(the)30 b Ft(k)g Fu(k)m(ey)-8
-b(.)275 3515 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 3624 y Fr(metafying)g Fj(C-k)p
-Fu(.)275 3793 y(In)c(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 3902 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 4012 y([Readline)f(Init)g(File],)i
-(page)e(125\).)52 b(If)33 b(y)m(our)g(k)m(eyb)s(oard)h(lac)m(ks)g(a)g
-Ft(LFD)f Fu(k)m(ey)-8 b(,)36 b(t)m(yping)e Ft(C-j)e Fu(will)i(pro)s
-(duce)150 4122 y(the)d(desired)e(c)m(haracter.)43 b(The)30
+h(pro)s(duced)e(when)f(the)i(Meta)150 2283 y(k)m(ey)g(\(if)g(y)m(ou)f
+(ha)m(v)m(e)i(one\))e(is)h(depressed,)e(and)h(the)g Ft(k)g
+Fu(k)m(ey)h(is)g(pressed)e(\(a)i Fr(meta)g(c)m(haracter)7
+b Fu(\).)45 b(The)30 b(Meta)150 2393 y(k)m(ey)35 b(is)f(lab)s(eled)h
+Ft(ALT)e Fu(on)h(man)m(y)g(k)m(eyb)s(oards.)52 b(On)33
+b(k)m(eyb)s(oards)h(with)g(t)m(w)m(o)h(k)m(eys)g(lab)s(eled)g
+Ft(ALT)e Fu(\(usually)150 2502 y(to)f(either)g(side)g(of)f(the)h(space)
+g(bar\),)g(the)g Ft(ALT)f Fu(on)g(the)h(left)g(side)f(is)h(generally)h
+(set)f(to)g(w)m(ork)g(as)g(a)f(Meta)150 2612 y(k)m(ey)-8
+b(.)59 b(The)35 b Ft(ALT)g Fu(k)m(ey)i(on)e(the)i(righ)m(t)f(ma)m(y)h
+(also)f(b)s(e)g(con\014gured)f(to)i(w)m(ork)f(as)g(a)g(Meta)h(k)m(ey)g
+(or)f(ma)m(y)h(b)s(e)150 2721 y(con\014gured)30 b(as)g(some)h(other)g
+(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 2854 y(On)j(some)j(k)m(eyb)s
+(oards,)g(the)f(Meta)h(k)m(ey)g(mo)s(di\014er)d(pro)s(duces)h(meta)h(c)
+m(haracters)i(with)d(the)h(eigh)m(th)150 2964 y(bit)26
+b(\(0200\))j(set.)40 b(Y)-8 b(ou)26 b(can)h(use)f(the)g
+Ft(enable-meta-key)c Fu(v)-5 b(ariable)27 b(to)g(con)m(trol)g(whether)f
+(or)g(not)h(it)f(do)s(es)150 3073 y(this,)i(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 3183 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
+3316 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 3425
+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
+3535 y(is)k(kno)m(wn)g(as)h(the)f Fr(meta)i(pre\014x)6
+b Fu(\).)275 3668 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
+3801 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 3910 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 4020 y(page)31
+b(130\))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 4153 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
+4262 y(metafying)31 b Fj(C-k)p Fu(.)275 4395 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
+4505 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 4614 y([Readline)28 b(Init)e(File],)k(page)d(130\).)
+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 4724 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
-4413 y Fs(8.2)68 b(Readline)47 b(In)l(teraction)150 4573
+4961 y Fs(8.2)68 b(Readline)47 b(In)l(teraction)150 5121
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 4682 y(\014rst)f(w)m(ord)g(on)g(the)g(line)h(is)g
+(that)f(the)150 5230 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)150 4792 y(manipulating)e(the)g(text)h
+(a)g(set)g(of)f(commands)g(for)150 5340 y(manipulating)e(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
-4902 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 5011 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 5121 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 5230 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 5340
-y(within)c(the)g(line.)p eop end
-%%Page: 123 129
-TeXDict begin 123 128 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(123)150 299 y Fk(8.2.1)63
-b(Readline)40 b(Bare)h(Essen)m(tials)150 446 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 555 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 665 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 806
-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 916 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
+(just)e(\014x)g(y)m(our)h(t)m(yp)s(o,)g(and)g(not)g(forcing)p
+eop end
+%%Page: 128 134
+TeXDict begin 128 133 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(128)150 299 y(y)m(ou)28
+b(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 408 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 518 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
+628 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 737 y(within)c(the)g(line.)150
+935 y Fk(8.2.1)63 b(Readline)40 b(Bare)h(Essen)m(tials)150
+1082 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 1191 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 1301 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 1435 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 1544 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
-1026 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
+1654 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 1167 y(When)i(y)m(ou)h(add)f(text)h(in)f(the)
+(with)f Fj(C-f)p Fu(.)275 1787 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 1277 y(of)d(the)g(cursor)f(are)h
+(haracters)h(to)g(the)e(righ)m(t)150 1897 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
-1386 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c(the)j(cursor,)h(c)m
+2007 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 1496 y(bac)m(k')24 b(to)f(\014ll)g(in)f(the)h(blank)f(space)i
-(created)f(b)m(y)g(the)g(remo)m(v)-5 b(al)24 b(of)f(the)g(text.)39
-b(A)23 b(list)g(of)g(the)g(bare)f(essen)m(tials)150 1605
-y(for)30 b(editing)h(the)g(text)g(of)g(an)f(input)f(line)i(follo)m(ws.)
-150 1775 y Fj(C-b)336 b Fu(Mo)m(v)m(e)32 b(bac)m(k)g(one)e(c)m
-(haracter.)150 1941 y Fj(C-f)336 b Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(one)
-h(c)m(haracter.)150 2108 y Ft(DEL)e Fu(or)i Ft(Backspace)630
-2217 y Fu(Delete)i(the)d(c)m(haracter)i(to)f(the)g(left)g(of)f(the)h
-(cursor.)150 2384 y Fj(C-d)336 b Fu(Delete)33 b(the)d(c)m(haracter)i
-(underneath)d(the)i(cursor.)150 2550 y(Prin)m(ting)g(c)m(haracters)630
-2660 y(Insert)f(the)g(c)m(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g
-(cursor.)150 2826 y Fj(C-_)e Fu(or)i Fj(C-x)e(C-u)630
-2936 y Fu(Undo)k(the)h(last)g(editing)g(command.)50 b(Y)-8
+150 2116 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 2226 y(essen)m(tials)32
+b(for)e(editing)h(the)g(text)g(of)g(an)f(input)f(line:)150
+2384 y Fj(C-b)336 b Fu(Mo)m(v)m(e)32 b(bac)m(k)g(one)e(c)m(haracter.)
+150 2541 y Fj(C-f)336 b Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m
+(haracter.)150 2699 y Ft(DEL)e Fu(or)i Ft(Backspace)630
+2809 y Fu(Delete)i(the)d(c)m(haracter)i(to)f(the)g(left)g(of)f(the)h
+(cursor.)150 2966 y Fj(C-d)336 b Fu(Delete)33 b(the)d(c)m(haracter)i
+(underneath)d(the)i(cursor.)150 3124 y(Prin)m(ting)g(c)m(haracters)630
+3234 y(Insert)f(the)g(c)m(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g
+(cursor.)150 3391 y Fj(C-_)e Fu(or)i Fj(C-x)e(C-u)630
+3501 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 3045 y(line.)150 3215 y(\(Dep)s(ending)c(on)g(y)m(our)g
-(con\014guration,)h(the)f Ft(Backspace)d Fu(k)m(ey)k(migh)m(t)g(b)s(e)e
-(set)i(to)g(delete)g(the)f(c)m(haracter)150 3324 y(to)h(the)f(left)h
+(empt)m(y)630 3611 y(line.)150 3768 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 3878 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
-3434 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 3640 y Fk(8.2.2)63
-b(Readline)40 b(Mo)m(v)m(emen)m(t)h(Commands)150 3787
-y Fu(The)27 b(ab)s(o)m(v)m(e)i(table)g(describ)s(es)e(the)g(most)i
-(basic)f(k)m(eystrok)m(es)h(that)f(y)m(ou)g(need)g(in)f(order)g(to)i
-(do)e(editing)i(of)150 3897 y(the)k(input)f(line.)49
-b(F)-8 b(or)34 b(y)m(our)f(con)m(v)m(enience,)j(man)m(y)d(other)g
-(commands)f(ha)m(v)m(e)j(b)s(een)d(added)g(in)h(addition)150
-4006 y(to)j Fj(C-b)p Fu(,)f Fj(C-f)p Fu(,)g Fj(C-d)p
-Fu(,)h(and)e Ft(DEL)p Fu(.)54 b(Here)35 b(are)g(some)h(commands)e(for)h
-(mo)m(ving)h(more)f(rapidly)f(ab)s(out)h(the)150 4116
-y(line.)150 4286 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 4452 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 4618 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
-4785 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.)
-150 4951 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 5121 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 5230 y(con)m(v)m(en)m(tion)32
+3988 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 4185 y Fk(8.2.2)63
+b(Readline)40 b(Mo)m(v)m(emen)m(t)h(Commands)150 4332
+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 4442 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
+4551 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 4709 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
+4867 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 5024 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 5182 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.)150 5340 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.)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)275 299 y(Notice)26
+b(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 408 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
-5340 y(w)m(ords.)p eop end
-%%Page: 124 130
-TeXDict begin 124 129 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(124)150 299 y Fk(8.2.3)63
-b(Readline)40 b(Killing)i(Commands)150 446 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 555 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
-665 y(`kill')32 b(and)d(`y)m(ank'.\))275 801 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 911 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 1047 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 1157 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 1267 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
-1376 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 1513 y(Here)f(is)h(the)f(list)h
-(of)g(commands)f(for)g(killing)h(text.)150 1675 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 1836
-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 1946 y(end)j(of)g(the)h(next)f(w)m(ord.)41
+518 y(w)m(ords.)150 729 y Fk(8.2.3)63 b(Readline)40 b(Killing)i
+(Commands)150 876 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 986 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 1095 y(`kill')32 b(and)d(`y)m(ank'.\))275
+1242 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 1352 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 1498 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 1608 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 1717
+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 1827 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
+1973 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)
+150 2151 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
+2322 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 2432 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 2107 y Fj(M-DEL)240 b Fu(Kill)34
+f(b)m(y)g Fj(M-f)p Fu(.)150 2603 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
-2217 y(the)28 b(start)g(of)g(the)g(previous)f(w)m(ord.)39
+2713 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 2326 y Fj(M-b)p Fu(.)150 2487 y Fj(C-w)336
+f(b)m(y)630 2822 y Fj(M-b)p Fu(.)150 2994 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
-2597 y Fu(b)s(ecause)c(the)h(w)m(ord)f(b)s(oundaries)f(di\013er.)275
-2759 y(Here)42 b(is)f(ho)m(w)h(to)g Fr(y)m(ank)47 b Fu(the)42
+3103 y Fu(b)s(ecause)c(the)h(w)m(ord)f(b)s(oundaries)f(di\013er.)275
+3281 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 2869 y(recen)m(tly-killed)33
-b(text)e(from)f(the)g(kill)i(bu\013er.)150 3031 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
-3192 y Fj(M-y)336 b Fu(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
+b(means)e(to)h(cop)m(y)h(the)e(most-)150 3390 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 3568 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
+3739 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 3302 y(command)30 b(is)h Fj(C-y)e Fu(or)h
-Fj(M-y)p Fu(.)150 3503 y Fk(8.2.4)63 b(Readline)40 b(Argumen)m(ts)150
-3650 y Fu(Y)-8 b(ou)40 b(can)f(pass)g(n)m(umeric)f(argumen)m(ts)i(to)f
+(the)g(prior)630 3849 y(command)30 b(is)h Fj(C-y)e Fu(or)h
+Fj(M-y)p Fu(.)150 4060 y Fk(8.2.4)63 b(Readline)40 b(Argumen)m(ts)150
+4207 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
-3760 y(as)g(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
+4317 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 3869 y(pass)33 b(a)h(negativ)m(e)i(argumen)
+(t.)71 b(If)40 b(y)m(ou)150 4426 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 3979 y(command)g(will)h(act)g(in)f(a)h
+(ard)f(direction,)i(that)150 4536 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 4088 y(the)31
+(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 4646 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 4225 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
+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 4334 y(the)j(command.)42 b(If)30
+(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
-4444 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
+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 4554 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
+(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
-4663 y Fu(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
+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 4773 y(c)m(haracters)32
-b(on)e(the)h(input)e(line.)150 4974 y Fk(8.2.5)63 b(Searc)m(hing)40
-b(for)i(Commands)g(in)f(the)g(History)150 5121 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 5230 y([Bash)i(History)h
-(F)-8 b(acilities],)42 b(page)37 b(159\))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
-5340 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(.)p eop end
-%%Page: 125 131
-TeXDict begin 125 130 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(125)275 299 y(Incremen)m(tal)26
-b(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
-408 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 518 y(matc)m(hing)25 b(the)f(string)g(t)m(yp)s(ed)g(so)g
-(far.)39 b(An)23 b(incremen)m(tal)j(searc)m(h)e(requires)g(only)g(as)g
-(man)m(y)g(c)m(haracters)i(as)150 628 y(needed)i(to)i(\014nd)d(the)i
-(desired)f(history)h(en)m(try)-8 b(.)41 b(T)-8 b(o)29
-b(searc)m(h)h(bac)m(kw)m(ard)f(in)f(the)h(history)g(for)f(a)i
-(particular)150 737 y(string,)g(t)m(yp)s(e)f Fj(C-r)p
-Fu(.)40 b(T)m(yping)29 b Fj(C-s)g Fu(searc)m(hes)h(forw)m(ard)f
-(through)g(the)g(history)-8 b(.)41 b(The)29 b(c)m(haracters)i(presen)m
-(t)150 847 y(in)38 b(the)g(v)-5 b(alue)38 b(of)g(the)g
-Ft(isearch-terminators)33 b Fu(v)-5 b(ariable)39 b(are)f(used)f(to)i
-(terminate)g(an)f(incremen)m(tal)150 956 y(searc)m(h.)71
-b(If)40 b(that)h(v)-5 b(ariable)41 b(has)f(not)h(b)s(een)e(assigned)i
-(a)f(v)-5 b(alue,)44 b(the)c Ft(ESC)g Fu(and)f Fj(C-J)h
-Fu(c)m(haracters)i(will)150 1066 y(terminate)h(an)g(incremen)m(tal)g
-(searc)m(h.)78 b Fj(C-g)41 b Fu(will)i(ab)s(ort)f(an)g(incremen)m(tal)i
-(searc)m(h)f(and)f(restore)h(the)150 1176 y(original)30
-b(line.)41 b(When)28 b(the)h(searc)m(h)h(is)f(terminated,)h(the)f
-(history)g(en)m(try)g(con)m(taining)h(the)f(searc)m(h)h(string)150
-1285 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275 1416
-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 1525 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
-1635 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 1744 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 1854 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 1964
-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
-2094 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h(incremen)m(tal)g
+(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: 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 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(164\))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 2204 y(an)m(y)42
+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
-2313 y(searc)m(h)31 b(string.)275 2444 y(Non-incremen)m(tal)48
+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 2553 y(matc)m(hing)d
-(history)e(lines.)78 b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f
-(t)m(yp)s(ed)g(b)m(y)g(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150
-2663 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-2896 y Fs(8.3)68 b(Readline)47 b(Init)e(File)150 3055
+(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
-3165 y(default,)26 b(it)g(is)e(p)s(ossible)h(to)g(use)f(a)i(di\013eren)
+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 3274 y(that)39 b(use)g(Readline)g(b)m(y)f
+(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 3384 y(directory)-8
+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 3493 y(that)36 b(v)-5
+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 3603 y(read,)f(the)f(ultimate)h(default)f(is)g
-Ft(/etc/inputrc)p Fu(.)47 b(The)33 b Ft(bind)g Fu(builtin)g(command)h
-(can)g(also)h(b)s(e)e(used)150 3713 y(to)e(set)g(Readline)g(k)m
+(b)s(e)150 4090 y(read,)31 b(readline)f(lo)s(oks)h(for)f
+Ft(/etc/inputrc)p Fu(.)38 b(The)30 b Ft(bind)f Fu(builtin)h(command)g
+(can)h(also)g(b)s(e)f(used)f(to)i(set)150 4199 y(Readline)g(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(57.)275 3843 y(When)e(a)h(program)f(whic)m
-(h)h(uses)f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g
-(\014le)f(is)h(read,)g(and)f(the)150 3953 y(k)m(ey)i(bindings)e(are)i
-(set.)275 4083 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 4193 y(that)k(y)m(ou)g(migh)m(t)g
-(ha)m(v)m(e)g(made)g(to)g(it.)150 4384 y Fk(8.3.1)63
-b(Readline)40 b(Init)h(File)g(Syn)m(tax)150 4531 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
-4641 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 4750 y(conditional)e(constructs)f
-(\(see)g(Section)h(8.3.2)g([Conditional)g(Init)e(Constructs],)j(page)e
-(134\).)64 b(Other)150 4860 y(lines)31 b(denote)g(v)-5
-b(ariable)31 b(settings)g(and)f(k)m(ey)h(bindings.)150
-5011 y(V)-8 b(ariable)32 b(Settings)630 5121 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 5230
-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 5340 y(is)d(simple:)p eop end
-%%Page: 126 132
-TeXDict begin 126 131 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(126)870 299 y Ft(set)47
-b Fj(variable)e(value)630 432 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 542 y(use)k Ft(vi)g Fu(line)h(editing)g(commands:)870
-675 y Ft(set)47 b(editing-mode)d(vi)630 808 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 917 y(to)c(case.)42
-b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630
-1050 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 1160 y(n)m(ull)e(or)g(empt)m(y)-8
+([Bash)g(Builtins],)g(page)g(59.)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(140\).)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: 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(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 1270 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-1403 y(The)37 b Ft(bind)30 b(-V)37 b Fu(command)g(lists)i(the)f(curren)
+-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 1512 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
-g(57.)630 1645 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
+b(alues.)630 1985 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
+g(59.)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 1802 y Ft(active-region-start-colo)o(r)1110
-1911 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 2021
+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 2131 y Ft(enable-active-region)25
+(\(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 2240 y(ph)m(ysical)25 b(c)m(haracter)h(p)s(ositions)f
+(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 2350 y(of)37 b(terminal)g(escap)s(e)g(sequences.)61
+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
-2459 y(displa)m(ying)h(the)f(text)i(in)e(the)h(activ)m(e)h(region.)63
+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
-2569 y(the)29 b(default)g(v)-5 b(alue)29 b(whenev)m(er)f(the)h
+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
-2679 y(v)-5 b(alue)30 b(is)f(the)g(string)g(that)h(puts)e(the)i
+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
-2788 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 2898 y(migh)m(t)31
-b(b)s(e)f(`)p Ft(\\e[01;33m)p Fu('.)630 3054 y Ft
-(active-region-end-color)1110 3164 y Fu(A)48 b(string)g(v)-5
+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 3273 y(start-color)36 b
+(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 3383 y(after)26 b(displa)m(ying)h(text)f(in)g(the)
+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 3493 y(up)e(an)m(y)h(ph)m(ysical)h(c)m(haracter)h(p)s(ositions)d
+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
-3602 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 3712
+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
-3821 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 3931
+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 4041 y(out)30 b(mo)s(de,)f(as)g
+(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 4150 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 4307 y Ft(bell-style)1110 4416
+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 4526 y(nal)37 b(b)s(ell.)61
+(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 4635 y(`)p
+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
-4745 y(`)p Ft(audible)p Fu(')j(\(the)i(default\),)i(Readline)e
-(attempts)g(to)h(ring)e(the)g(terminal's)1110 4855 y(b)s(ell.)630
-5011 y Ft(bind-tty-special-chars)1110 5121 y Fu(If)e(set)g(to)h(`)p
+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: 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)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 5230 y(c)m(haracters)28 b(that)g(are)f(treated)g
+(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
-5340 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)p
-eop end
-%%Page: 127 133
-TeXDict begin 127 132 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(127)1110 299 y(bindings)33
-b(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
-408 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 518 y(acters)31
-b(\(usually)g Ft(cchars)p Fu(\).)630 664 y Ft(blink-matching-paren)1110
-774 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
-883 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 993 y(default)31
-b(is)f(`)p Ft(off)p Fu('.)630 1139 y Ft(colored-completion-prefi)o(x)
-1110 1249 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)g(when)e(listing)i
+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
-1358 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s(ossible)f
+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
-1468 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 1577
+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
-1687 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 1797 y(line)24
+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 1906 y(default)31 b(is)f(`)p
-Ft(off)p Fu('.)630 2052 y Ft(colored-stats)1110 2162
+(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
-2271 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
+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
-2381 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Ft(LS_COLORS)d
+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
-2491 y(is)30 b(`)p Ft(off)p Fu('.)630 2637 y Ft(comment-begin)1110
-2746 y Fu(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of)
-h(the)h(line)f(when)g(the)1110 2856 y Ft(insert-comment)26
-b Fu(command)31 b(is)f(executed.)42 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)f Ft("#")p Fu(.)630 3002 y Ft(completion-display-width)
-1110 3112 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 3221
-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
-3331 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
+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
-3440 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
+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
-3587 y Ft(completion-ignore-case)1110 3696 y Fu(If)d(set)h(to)g(`)p
+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 3806 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
+(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 3952 y Ft(completion-map-case)1110 4061 y Fu(If)22
+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 4171 y(h)m(yphens)29
+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
-4281 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f
-(completion.)85 b(The)44 b(default)1110 4390 y(v)-5 b(alue)31
-b(is)f(`)p Ft(off)p Fu('.)630 4536 y Ft(completion-prefix-displa)o
-(y-le)o(ngth)1110 4646 y Fu(The)h(length)g(in)g(c)m(haracters)i(of)f
-(the)f(common)h(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110
-4756 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 4865
-y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 4975
-y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)630 5121 y Ft(completion-query-items)1110
-5230 y Fu(The)c(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 5340 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)p eop end
-%%Page: 128 134
-TeXDict begin 128 133 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(128)1110 299 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 408 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 518 y(them;)33 b(otherwise,)f(they)g(are)g(simply)g
-(listed.)45 b(This)31 b(v)-5 b(ariable)33 b(m)m(ust)e(b)s(e)g(set)1110
-628 y(to)43 b(an)e(in)m(teger)j(v)-5 b(alue)42 b(greater)h(than)f(or)g
-(equal)g(to)h(zero.)76 b(A)42 b(zero)g(v)-5 b(alue)1110
-737 y(means)40 b(Readline)h(should)f(nev)m(er)g(ask;)46
-b(negativ)m(e)d(v)-5 b(alues)41 b(are)f(treated)i(as)1110
-847 y(zero.)g(The)29 b(default)i(limit)g(is)g Ft(100)p
-Fu(.)630 1011 y Ft(convert-meta)1110 1121 y Fu(If)22
-b(set)g(to)h(`)p Ft(on)p Fu(',)h(Readline)f(will)f(con)m(v)m(ert)i(c)m
-(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-1230 y(to)33 b(an)e Fm(asci)r(i)h Fu(k)m(ey)h(sequence)f(b)m(y)g
-(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
-1340 y(an)24 b Ft(ESC)g Fu(c)m(haracter,)j(con)m(v)m(erting)f(them)f
-(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1450
-y(The)i(default)h(v)-5 b(alue)28 b(is)f(`)p Ft(on)p Fu(',)i(but)d(will)
-i(b)s(e)f(set)h(to)g(`)p Ft(off)p Fu(')g(if)f(the)h(lo)s(cale)h(is)f
-(one)1110 1559 y(that)21 b(con)m(tains)h(eigh)m(t-bit)h(c)m(haracters.)
-39 b(This)20 b(v)-5 b(ariable)21 b(is)g(dep)s(enden)m(t)f(on)h(the)1110
-1669 y Ft(LC_CTYPE)26 b Fu(lo)s(cale)31 b(category)-8
-b(,)31 b(and)d(ma)m(y)h(c)m(hange)h(if)e(the)h(lo)s(cale)h(is)f(c)m
-(hanged.)630 1833 y Ft(disable-completion)1110 1943 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 2052 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 2162 y(to)31 b Ft(self-insert)p
-Fu(.)38 b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630
-2326 y Ft(echo-control-characters)1110 2436 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 2545 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
-2655 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 2819 y Ft(editing-mode)1110 2929 y
-Fu(The)d Ft(editing-mode)e Fu(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
-(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 3039 y(ings)25
-b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 3148 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 3258 y(b)s(e)g(set)h(to)g(either)g(`)p
-Ft(emacs)p Fu(')e(or)h(`)p Ft(vi)p Fu('.)630 3422 y Ft
-(emacs-mode-string)1110 3532 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 3641 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
-3751 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 3861 y(ing,)27 b(so)f(the)f(standard)g(set)h(of)f(meta-)i
-(and)e(con)m(trol)i(pre\014xes)d(and)h(bac)m(kslash)1110
-3970 y(escap)s(e)f(sequences)h(is)e(a)m(v)-5 b(ailable.)41
-b(Use)25 b(the)f(`)p Ft(\\1)p Fu(')f(and)h(`)p Ft(\\2)p
-Fu(')g(escap)s(es)g(to)g(b)s(egin)1110 4080 y(and)37
-b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m(haracters,)j(whic)m(h)c
-(can)h(b)s(e)f(used)1110 4189 y(to)h(em)m(b)s(ed)f(a)g(terminal)h(con)m
-(trol)h(sequence)f(in)m(to)g(the)f(mo)s(de)g(string.)61
-b(The)1110 4299 y(default)31 b(is)f(`)p Ft(@)p Fu('.)630
-4463 y Ft(enable-active-region)1110 4573 y Fu(The)46
-b Fr(p)s(oin)m(t)j Fu(is)e(the)g(curren)m(t)f(cursor)g(p)s(osition,)52
-b(and)46 b Fr(mark)52 b Fu(refers)46 b(to)i(a)1110 4682
-y(sa)m(v)m(ed)37 b(cursor)f(p)s(osition)g(\(see)i(Section)f(8.4.1)h
-([Commands)d(F)-8 b(or)37 b(Mo)m(ving],)1110 4792 y(page)d(139\).)50
-b(The)33 b(text)h(b)s(et)m(w)m(een)f(the)g(p)s(oin)m(t)g(and)g(mark)g
-(is)g(referred)f(to)i(as)1110 4902 y(the)h Fr(region)p
-Fu(.)53 b(When)34 b(this)g(v)-5 b(ariable)36 b(is)e(set)h(to)g(`)p
-Ft(On)p Fu(',)h(Readline)f(allo)m(ws)g(cer-)1110 5011
-y(tain)30 b(commands)f(to)g(designate)i(the)e(region)h(as)f
-Fr(activ)m(e)p Fu(.)43 b(When)29 b(the)g(region)1110
-5121 y(is)g(activ)m(e,)j(Readline)e(highligh)m(ts)g(the)g(text)g(in)f
-(the)g(region)h(using)f(the)g(v)-5 b(alue)1110 5230 y(of)35
+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: 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)1110 299 y(set)29
+b(to)h(a)f(v)-5 b(alue)30 b(greater)g(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: 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)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(144\).)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 5340 y(that)23 b(enables)f(the)g
+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)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)1110 299 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 408 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 518 y(is)e(`)p Ft(On)p Fu('.)630 706 y
-Ft(enable-bracketed-paste)1110 816 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 925 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
-1035 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 1144
-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
-1254 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 1363 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 1551 y Ft(enable-keypad)1110
-1661 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
-1771 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 1880 y(The)j(default)g
-(is)h(`)p Ft(off)p Fu('.)630 2068 y Ft(enable-meta-key)1110
-2178 y Fu(When)40 b(set)g(to)g(`)p Ft(on)p Fu(',)j(Readline)d(will)g
-(try)g(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110
-2287 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h
-(is)g(called.)76 b(On)41 b(man)m(y)1110 2397 y(terminals,)c(the)e(meta)
-h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56
-b(The)1110 2506 y(default)31 b(is)f(`)p Ft(on)p Fu('.)630
-2694 y Ft(expand-tilde)1110 2804 y Fu(If)d(set)h(to)h(`)p
-Ft(on)p Fu(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
-(Readline)h(attempts)1110 2913 y(w)m(ord)i(completion.)42
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 3101
-y Ft(history-preserve-point)1110 3211 y Fu(If)41 b(set)h(to)h(`)p
+(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(130\))h(b)m(y)e(con)m(v)m(erting)i(a)e(k)m(ey)i
+(sequence)1110 4682 y(of)34 b(the)g(form)f Fj(\\M-)p
+Fr(C)41 b Fu(or)34 b Ft(Meta-)p Fr(C)39 b Fu(to)c(the)f(t)m(w)m(o-c)m
+(haracter)j(sequence)d Fj(ESC)p Fr(C)1110 4792 y Fu(\(adding)23
+b(the)h(meta)g(pre\014x\).)38 b(If)23 b Ft(force-meta-prefix)18
+b Fu(is)24 b(set)f(to)h(`)p Ft(off)p Fu(')f(\(the)1110
+4902 y(default\),)35 b(Readline)f(uses)f(the)h(v)-5 b(alue)34
+b(of)g(the)g Ft(convert-meta)c Fu(v)-5 b(ariable)34 b(to)1110
+5011 y(determine)d(whether)g(to)h(p)s(erform)e(this)i(con)m(v)m
+(ersion:)44 b(if)31 b Ft(convert-meta)d Fu(is)1110 5121
+y(`)p Ft(on)p Fu(',)23 b(Readline)f(p)s(erforms)e(the)i(con)m(v)m
+(ersion)g(describ)s(ed)f(ab)s(o)m(v)m(e;)k(if)d(it)g(is)f(`)p
+Ft(off)p Fu(',)1110 5230 y(Readline)33 b(con)m(v)m(erts)h
+Fr(C)41 b Fu(to)33 b(a)g(meta)h(c)m(haracter)g(b)m(y)f(setting)g(the)g
+(eigh)m(th)h(bit)1110 5340 y(\(0200\).)43 b(The)30 b(default)h(is)f(`)p
+Ft(off)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
+(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 3320 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 3430 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
-3540 y(is)30 b(`)p Ft(off)p Fu('.)630 3727 y Ft(history-size)1110
-3837 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 3947
+(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 4056 y(new)e(en)m(tries)i
+(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
-4166 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42
-b(By)30 b(default,)h(the)g(n)m(um)m(b)s(er)e(of)i(history)1110
-4275 y(en)m(tries)j(is)f(not)g(limited.)49 b(If)32 b(an)h(attempt)h(is)
-f(made)g(to)h(set)f Fr(history-size)39 b Fu(to)1110 4385
-y(a)34 b(non-n)m(umeric)f(v)-5 b(alue,)34 b(the)g(maxim)m(um)f(n)m(um)m
-(b)s(er)f(of)h(history)h(en)m(tries)g(will)1110 4495
-y(b)s(e)c(set)h(to)g(500.)630 4682 y Ft(horizontal-scroll-mode)1110
-4792 y Fu(This)k(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
-(`)p Ft(on)p Fu(')g(or)g(`)p Ft(off)p Fu('.)57 b(Setting)36
-b(it)g(to)h(`)p Ft(on)p Fu(')1110 4902 y(means)26 b(that)h(the)f(text)h
-(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 5011 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 5121
-y(screen,)c(instead)g(of)f(wrapping)f(on)m(to)i(a)g(new)e(screen)i
-(line.)40 b(This)26 b(v)-5 b(ariable)28 b(is)1110 5230
-y(automatically)k(set)e(to)g(`)p Ft(on)p Fu(')f(for)g(terminals)g(of)h
-(heigh)m(t)g(1.)41 b(By)29 b(default,)h(this)1110 5340
-y(v)-5 b(ariable)31 b(is)g(set)f(to)i(`)p Ft(off)p Fu('.)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)630 299 y Ft(input-meta)1110
-408 y Fu(If)31 b(set)g(to)h(`)p Ft(on)p Fu(',)g(Readline)g(will)f
-(enable)h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110
-518 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f
-(reads\),)j(regardless)c(of)h(what)g(the)1110 628 y(terminal)k(claims)h
-(it)f(can)g(supp)s(ort.)79 b(The)44 b(default)g(v)-5
-b(alue)44 b(is)g(`)p Ft(off)p Fu(',)j(but)1110 737 y(Readline)24
-b(will)h(set)f(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)g(lo)s(cale)i(con)
-m(tains)f(eigh)m(t-bit)g(c)m(haracters.)1110 847 y(The)k(name)g
-Ft(meta-flag)e Fu(is)i(a)h(synon)m(ym)f(for)g(this)g(v)-5
-b(ariable.)42 b(This)28 b(v)-5 b(ariable)1110 956 y(is)35
-b(dep)s(enden)m(t)f(on)h(the)g Ft(LC_CTYPE)e Fu(lo)s(cale)k(category)-8
-b(,)39 b(and)34 b(ma)m(y)i(c)m(hange)g(if)1110 1066 y(the)31
-b(lo)s(cale)h(is)e(c)m(hanged.)630 1212 y Ft(isearch-terminators)1110
-1322 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 1431 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 1541 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h
-(page)e(124\).)62 b(If)37 b(this)g(v)-5 b(ariable)38
-b(has)f(not)1110 1650 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 1760 y(incremen)m(tal)c(searc)m
-(h.)630 1906 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
-2016 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 2125
-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
-2235 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 2345 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 2454 y(ma)m(y)32 b(add)e(additional)i
-(names.)43 b(The)30 b(default)h(v)-5 b(alue)32 b(is)f
-Ft(emacs)p Fu(.)41 b(The)30 b(v)-5 b(alue)1110 2564 y(of)31
+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(130\).)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 2710 y Ft(keyseq-timeout)1110
-2819 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 2929
+(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)1110 3039 y(sequence)j(using)e(the)i
-(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i(additional)f(input)
-1110 3148 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49
-b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h(within)1110
-3258 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter)
-g(but)f(complete)j(k)m(ey)e(se-)1110 3367 y(quence.)c(Readline)26
-b(uses)f(this)h(v)-5 b(alue)26 b(to)g(determine)g(whether)f(or)g(not)h
-(input)1110 3477 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m
-(t)f(input)g(source)h(\()p Ft(rl_instream)d Fu(b)m(y)i(default\).)1110
-3587 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h
-(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that)
-1110 3696 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g
-(additional)i(input.)37 b(If)22 b(this)g(v)-5 b(ariable)23
-b(is)1110 3806 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f
-(equal)i(to)f(zero,)i(or)e(to)g(a)h(non-n)m(umeric)e(v)-5
-b(alue,)1110 3915 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h
-(k)m(ey)g(is)f(pressed)g(to)h(decide)f(whic)m(h)g(k)m(ey)1110
-4025 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)g Ft(500)p Fu(.)630 4171 y Ft(mark-directories)1110
-4281 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
-4390 y(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630
-4536 y Ft(mark-modified-lines)1110 4646 y Fu(This)k(v)-5
-b(ariable,)38 b(when)d(set)h(to)h(`)p Ft(on)p Fu(',)g(causes)g
-(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4756 y(terisk)f(\(`)p
-Ft(*)p Fu('\))h(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.)1110 4865 y(This)d(v)-5
-b(ariable)31 b(is)f(`)p Ft(off)p Fu(')g(b)m(y)g(default.)630
-5011 y Ft(mark-symlinked-directori)o(es)1110 5121 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 5230 y(directories)71
-b(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)f(\(sub)5 b(ject)70
-b(to)g(the)g(v)-5 b(alue)70 b(of)1110 5340 y Ft(mark-directories)p
-Fu(\).)37 b(The)30 b(default)g(is)g(`)p Ft(off)p Fu('.)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)630 299 y Ft
-(match-hidden-files)1110 408 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 518 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 628 y(completion.)f(If)28 b(set)i(to)g(`)p Ft(off)p
+(form)g(a)g(complete)h(k)m(ey)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)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 737 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 888 y Ft(menu-complete-display-pr)o(efix)1110
-998 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
-1107 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 1217 y(through)30
+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 1367 y Ft(output-meta)1110 1477 y Fu(If)35
+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 1587 y(set)h(directly)g
+(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 1696 y(default)26 b(is)f(`)p Ft(off)p Fu(',)i(but)e
+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 1806 y(eigh)m(t-bit)38 b(c)m(haracters.)61
-b(This)36 b(v)-5 b(ariable)37 b(is)g(dep)s(enden)m(t)e(on)h(the)h
-Ft(LC_CTYPE)1110 1915 y Fu(lo)s(cale)32 b(category)-8
-b(,)33 b(and)d(ma)m(y)h(c)m(hange)g(if)g(the)f(lo)s(cale)i(is)f(c)m
-(hanged.)630 2066 y Ft(page-completions)1110 2176 y Fu(If)i(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
-2285 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+(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
-2395 y(b)m(y)e(default.)630 2545 y Ft(print-completions-horizo)o(ntal)o
-(ly)1110 2655 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
-2765 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 2874 y(The)30 b(default)g(is)h(`)p
-Ft(off)p Fu('.)630 3025 y Ft(revert-all-at-newline)1110
-3134 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
-3244 y(returning)f(when)f Ft(accept-line)f Fu(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 3354 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 3463 y Ft(readline\(\))p Fu(.)38
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 3614
-y Ft(search-ignore-case)1110 3724 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 3833 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 3943 y(is)30 b(`)p Ft(off)p Fu('.)630 4093
-y Ft(show-all-if-ambiguous)1110 4203 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 4313 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 4422 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 4532 y(The)30
-b(default)g(v)-5 b(alue)31 b(is)g(`)p Ft(off)p Fu('.)630
-4682 y Ft(show-all-if-unmodified)1110 4792 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 4902 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 5011 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 5121 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
-f(completions)h(don't)f(share)g(a)h(common)1110 5230
-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 5340 y(ing)g(the)f(b)s(ell.)41
+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: 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)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('.)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)630 299 y Ft
-(show-mode-in-prompt)1110 408 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 518 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 628 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 737 y(v)-5 b(alue)31 b(is)f(`)p Ft(off)p
-Fu('.)630 887 y Ft(skip-completed-text)1110 996 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 1106 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 1215 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 1325 y(not)41
+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)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)53
+b(If)35 b(enabled,)g(readline)g(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 1435 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f
+(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
-1544 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45
+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
-1654 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
-(after)h(the)g(`)p Ft(e)p Fu(')f(in)1110 1763 y(`)p Ft(Makefile)p
-Fu(')c(will)i(result)f(in)g(`)p Ft(Makefile)p Fu(')f(rather)h(than)h(`)
-p Ft(Makefilefile)p Fu(',)1110 1873 y(assuming)d(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 1983 y(is)30 b(`)p Ft(off)p Fu('.)630 2132
-y Ft(vi-cmd-mode-string)1110 2242 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 2351 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
-2461 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
-2570 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f
-(standard)f(set)h(of)g(meta-)h(and)e(con)m(trol)1110
-2680 y(pre\014xes)34 b(and)g(bac)m(kslash)i(escap)s(e)g(sequences)f(is)
-g(a)m(v)-5 b(ailable.)57 b(Use)35 b(the)g(`)p Ft(\\1)p
-Fu(')1110 2790 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s
-(egin)g(and)f(end)g(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110
-2899 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)
-h(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 3009
-y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p
-Ft(\(cmd\))p Fu('.)630 3158 y Ft(vi-ins-mode-string)1110
-3268 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5
+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
-3377 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 3487 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 3597 y(panded)26
-b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f(standard)f(set)h(of)g
-(meta-)h(and)e(con)m(trol)1110 3706 y(pre\014xes)34 b(and)g(bac)m
-(kslash)i(escap)s(e)g(sequences)f(is)g(a)m(v)-5 b(ailable.)57
-b(Use)35 b(the)g(`)p Ft(\\1)p Fu(')1110 3816 y(and)23
-b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s(egin)g(and)f(end)g
-(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 3925
-y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)h
-(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 4035
-y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p
-Ft(\(ins\))p Fu('.)630 4184 y Ft(visible-stats)1110 4294
+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: 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)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
-4403 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 4553
-y(Key)f(Bindings)630 4663 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
+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 4772 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
+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 4882 y(sections)37 b(con)m(tain)g(tables)g
+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 4991 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 5121 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
+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 5230 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
+(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 5340 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+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)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(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 408
-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
-518 y(comfortable.)630 650 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 759 y(that)d(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f
-(pressed)g(\(a)h Fr(macro)5 b Fu(\).)630 891 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 1000 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 1110
-y(Builtins],)i(page)g(57.)630 1263 y Fr(k)m(eyname)5
+(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(59.)630 4320 y Fr(k)m(eyname)5
b Fu(:)42 b Fr(function-name)35 b Fu(or)c Fr(macro)1110
-1373 y(k)m(eyname)k Fu(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
+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
-1504 y Ft(Control-u:)45 b(universal-argument)1350 1614
-y(Meta-Rubout:)f(backward-kill-word)1350 1724 y(Control-o:)h(">)i
-(output")1110 1855 y Fu(In)94 b(the)g(example)h(ab)s(o)m(v)m(e,)112
+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
-1965 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 2074 y
+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 2184 y(expressed)45 b(on)h(the)g(righ)m(t)
+(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 2293 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)1110
-2425 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m(haracter)g
-(names)f(are)g(recognized)h(while)1110 2534 y(pro)s(cessing)40
-b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 b Fr(DEL)p
-Fu(,)42 b Fr(ESC)p Fu(,)g Fr(ESCAPE)p Fu(,)f Fr(LFD)p
-Fu(,)1110 2644 y Fr(NEWLINE)p Fu(,)31 b Fr(RET)p Fu(,)f
-Fr(RETURN)p Fu(,)g Fr(R)m(UBOUT)p Fu(,)h Fr(SP)-8 b(A)m(CE)p
+Ft(>)1110 5340 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)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(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)p Fu(,)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
-2798 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 2907 y(k)m(eyseq)k Fu(di\013ers)d(from)f
-Fr(k)m(eyname)37 b Fu(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
-(denoting)g(an)g(en-)1110 3017 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
-(e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)
-1110 3126 y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h
-Fu(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)
-1110 3236 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s
-(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 3345 y(recognized.)1350
-3477 y Ft("\\C-u":)46 b(universal-argument)1350 3587
-y("\\C-x\\C-r":)f(re-read-init-file)1350 3696 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 3828 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+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
-3937 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 4047
+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
-4156 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 4310 y(The)g(follo)m(wing)i
+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 4419 y(k)m(ey)i(sequences:)630
-4573 y Fj(\\C-)336 b Fu(con)m(trol)32 b(pre\014x)630
-4726 y Fj(\\M-)336 b Fu(meta)31 b(pre\014x)630 4880 y
-Fj(\\e)384 b Fu(an)30 b(escap)s(e)h(c)m(haracter)630
-5033 y Fj(\\\\)384 b Fu(bac)m(kslash)630 5187 y Fj(\\)p
-Ft(")g(")p Fu(,)30 b(a)h(double)f(quotation)i(mark)630
-5340 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s
-(ostrophe)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)630 299 y(In)27
-b(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
-408 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 570 y
-Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 731 y Ft(\\b)384
-b Fu(bac)m(kspace)630 892 y Ft(\\d)g Fu(delete)630 1053
-y Ft(\\f)g Fu(form)30 b(feed)630 1214 y Ft(\\n)384 b
-Fu(newline)630 1375 y Ft(\\r)g Fu(carriage)32 b(return)630
-1536 y Ft(\\t)384 b Fu(horizon)m(tal)32 b(tab)630 1697
-y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630 1858 y Ft(\\)p
-Fj(nnn)288 b Fu(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
-b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fr(nnn)e
-Fu(\(one)i(to)1110 1968 y(three)c(digits\))630 2129 y
-Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e
-(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 b(alue)39
-b Fr(HH)1110 2239 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
-2400 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
+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(130\).)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: 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)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
-2509 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
-b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
-b(In)630 2619 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
-b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
-(are)e(expanded.)37 b(Bac)m(kslash)630 2729 y(will)j(quote)h(an)m(y)f
-(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
-b(`)p Ft(")p Fu(')h(and)g(`)p Ft(')p Fu('.)69 b(F)-8
-b(or)630 2838 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
-(mak)m(e)h(`)p Fj(C-x)j Ft(\\)p Fu(')c(insert)f(a)h(single)h(`)p
-Ft(\\)p Fu(')f(in)m(to)g(the)g(line:)870 2974 y Ft("\\C-x\\\\":)45
-b("\\\\")150 3175 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-150 3322 y Fu(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
+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
-3431 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
+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 3541 y(result)f(of)h(tests.)41
-b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150
-3703 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 3812 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 3922 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
-4031 y(noted,)i(no)f(c)m(haracters)i(are)f(required)e(to)i(isolate)i
-(it.)630 4193 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 4302 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 4412 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
-4521 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 4631 y(starting)f(out)g
-(in)f Ft(emacs)f Fu(mo)s(de.)630 4792 y Ft(term)288 b
+(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 4902 y(ings,)38
+(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 5011 y(function)24 b(k)m(eys.)39
+(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 5121 y(b)s(oth)k(the)h(full)g
+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 5230 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p
-Ft(-)p Fu('.)50 b(This)33 b(allo)m(ws)i Ft(sun)e Fu(to)h(matc)m(h)g(b)s
-(oth)f Ft(sun)g Fu(and)1110 5340 y Ft(sun-cmd)p Fu(,)c(for)h(instance.)
-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(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 408 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 518 y(Readline)25 b(v)m(ersion.)39 b(The)23
+(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 628 y(`)p Ft(==)p Fu('\),)33
+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
-737 y(the)j(righ)m(t)h(side)f(of)g(the)g(op)s(erator)g(consists)h(of)f
-(a)g(ma)5 b(jor)35 b(v)m(ersion)f(n)m(um)m(b)s(er,)1110
-847 y(an)45 b(optional)i(decimal)f(p)s(oin)m(t,)k(and)44
-b(an)i(optional)g(minor)f(v)m(ersion)h(\(e.g.,)1110 956
-y(`)p Ft(7.1)p Fu('\).)40 b(If)27 b(the)h(minor)f(v)m(ersion)h(is)g
-(omitted,)h(it)f(is)g(assumed)f(to)h(b)s(e)f(`)p Ft(0)p
-Fu('.)40 b(The)1110 1066 y(op)s(erator)34 b(ma)m(y)g(b)s(e)f(separated)
-g(from)g(the)h(string)f Ft(version)f Fu(and)h(from)g(the)1110
-1176 y(v)m(ersion)39 b(n)m(um)m(b)s(er)f(argumen)m(t)h(b)m(y)f
-(whitespace.)67 b(The)38 b(follo)m(wing)i(example)1110
-1285 y(sets)31 b(a)g(v)-5 b(ariable)31 b(if)f(the)h(Readline)g(v)m
-(ersion)f(b)s(eing)g(used)g(is)g(7.0)i(or)e(new)m(er:)1350
-1440 y Ft($if)47 b(version)f(>=)h(7.0)1350 1550 y(set)g
-(show-mode-in-prompt)42 b(on)1350 1659 y($endif)630 1860
-y(application)1110 1970 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 2079 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
-2189 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
-2298 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 2408
-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 2518 y(the)e(curren)m(t)f(or)g(previous)
-g(w)m(ord)g(in)g(Bash:)1350 2673 y Ft($if)47 b(Bash)1350
-2782 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350
-2892 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3002 y($endif)630
-3202 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 3312 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 3421 y(`)p Ft(==)p Fu(',)49 b(and)44
+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: 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(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 3531 y(comparison)25
+(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 3641 y(from)33 b(the)h(v)-5 b(alue)35
-b(on)f(the)g(righ)m(t)g(hand)f(side)h(b)m(y)f(whitespace.)52
-b(Both)35 b(string)1110 3750 y(and)i(b)s(o)s(olean)g(v)-5
-b(ariables)38 b(ma)m(y)h(b)s(e)d(tested.)63 b(Bo)s(olean)39
-b(v)-5 b(ariables)38 b(m)m(ust)g(b)s(e)1110 3860 y(tested)46
-b(against)g(the)f(v)-5 b(alues)46 b Fr(on)f Fu(and)f
-Fr(o\013)p Fu(.)85 b(The)45 b(follo)m(wing)h(example)g(is)1110
-3969 y(equiv)-5 b(alen)m(t)32 b(to)f(the)f Ft(mode=emacs)e
-Fu(test)j(describ)s(ed)f(ab)s(o)m(v)m(e:)1350 4124 y
-Ft($if)47 b(editing-mode)d(==)k(emacs)1350 4234 y(set)f
-(show-mode-in-prompt)42 b(on)1350 4344 y($endif)150 4544
-y($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
-4745 y Ft($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 4945 y Ft($include)96 b Fu(This)43 b(directiv)m(e)i(tak)m
-(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
-(commands)630 5055 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
-b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
-(from)630 5165 y Ft(/etc/inputrc)p Fu(:)870 5320 y Ft($include)46
-b(/etc/inputrc)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)150 299 y Fk(8.3.3)63
-b(Sample)41 b(Init)g(File)150 446 y Fu(Here)27 b(is)f(an)h(example)g
+(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
-555 y(conditional)j(syn)m(tax.)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)390 408 y Ft(#)47
+3988 y(conditional)j(syn)m(tax.)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)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)
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: 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)390 299 y Ft(#"\\M-\\C-[A":)
+%%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 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(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: 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)390 299 y Ft(#)47
+%%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(#)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 1089 y Fs(8.4)68 b(Bindable)45 b(Readline)i(Commands)
-150 1248 y Fu(This)32 b(section)h(describ)s(es)f(Readline)h(commands)f
+847 y($endif)150 1111 y Fs(8.4)68 b(Bindable)45 b(Readline)i(Commands)
+150 1270 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 1358 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d
+b(Y)-8 b(ou)33 b(can)150 1380 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 1468 y Fr(inputrc)34
+(terse)g(format,)i(suitable)e(for)f(an)150 1489 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(57.\))41 b(Command)28 b(names)h(without)
-150 1577 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 1713 y(In)25 b(the)h(follo)m(wing)i
+([Bash)g(Builtins],)g(page)g(59.\))41 b(Command)28 b(names)h(without)
+150 1599 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 1749 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
-1822 y(to)40 b(a)f(cursor)f(p)s(osition)h(sa)m(v)m(ed)h(b)m(y)f(the)g
-Ft(set-mark)d Fu(command.)66 b(The)38 b(text)i(b)s(et)m(w)m(een)g(the)f
-(p)s(oin)m(t)g(and)150 1932 y(mark)30 b(is)h(referred)e(to)i(as)g(the)f
-Fr(region)p Fu(.)150 2132 y Fk(8.4.1)63 b(Commands)42
-b(F)-10 b(or)41 b(Mo)m(ving)150 2304 y Ft(beginning-of-line)26
-b(\(C-a\))630 2414 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 2523 y(on)i(some)h(k)m(eyb)s(oards.)150
-2684 y Ft(end-of-line)c(\(C-e\))630 2793 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
-2903 y(k)m(eyb)s(oards.)150 3063 y Ft(forward-char)27
-b(\(C-f\))630 3173 y Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
-150 3333 y Ft(backward-char)c(\(C-b\))630 3443 y Fu(Mo)m(v)m(e)32
-b(bac)m(k)g(a)e(c)m(haracter.)150 3603 y Ft(forward-word)d(\(M-f\))630
-3712 y Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
+1859 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 1968 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
+2078 y(is)d(activ)m(e,)i(Readline)f(redispla)m(y)f(uses)f(the)h(v)-5
+b(alue)28 b(of)g(the)g Ft(active-region-start-colo)o(r)22
+b Fu(v)-5 b(ariable)28 b(to)150 2187 y(denote)j(the)f(region.)42
+b(Sev)m(eral)31 b(commands)f(set)h(the)g(region)g(to)g(activ)m(e;)i
+(those)e(are)f(noted)h(b)s(elo)m(w.)150 2402 y Fk(8.4.1)63
+b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2582 y
+Ft(beginning-of-line)26 b(\(C-a\))630 2691 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 2801
+y(on)i(some)h(k)m(eyb)s(oards.)150 2976 y Ft(end-of-line)c(\(C-e\))630
+3085 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 3195 y(k)m(eyb)s(oards.)150 3370 y Ft(forward-char)27
+b(\(C-f\))630 3479 y Fu(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
+150 3654 y Ft(backward-char)c(\(C-b\))630 3764 y Fu(Mo)m(v)m(e)32
+b(bac)m(k)g(a)e(c)m(haracter.)150 3939 y Ft(forward-word)d(\(M-f\))630
+4048 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 3822 y(digits.)150 3982 y Ft(backward-word)27
-b(\(M-b\))630 4092 y Fu(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
+(letters)i(and)630 4158 y(digits.)150 4333 y Ft(backward-word)27
+b(\(M-b\))630 4442 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 4202 y(of)d(letters)g(and)f
-(digits.)150 4362 y Ft(shell-forward-word)25 b(\(M-C-f\))630
-4471 y Fu(Mo)m(v)m(e)30 b(forw)m(ard)e(to)h(the)f(end)f(of)h(the)h
+b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4552 y(of)d(letters)g(and)f
+(digits.)150 4727 y Ft(shell-forward-word)25 b(\(M-C-f\))630
+4836 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 4581 y(shell)j(metac)m(haracters.)150
-4741 y Ft(shell-backward-word)25 b(\(M-C-b\))630 4851
+(non-quoted)630 4946 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
-4960 y(b)m(y)30 b(non-quoted)h(shell)f(metac)m(haracters.)150
-5121 y Ft(previous-screen-line)25 b(\(\))630 5230 y Fu(A)m(ttempt)41
+5340 y(b)m(y)30 b(non-quoted)h(shell)f(metac)m(haracters.)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)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 5340 y(ph)m(ysical)26
+(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)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)630 299 y(line)28
-b(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
-408 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i(screen)f(width.)
-150 564 y Ft(next-screen-line)c(\(\))630 674 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 784 y(screen)e(line.)39
+(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 893
+(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
-1003 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 1159 y Ft(clear-display)c
-(\(M-C-l\))630 1268 y Fu(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
+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 1378 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
+(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
-1534 y Ft(clear-screen)c(\(C-l\))630 1644 y Fu(Clear)35
+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 1753 y(top)c(of)f(the)h
-(screen.)150 1909 y Ft(redraw-current-line)25 b(\(\))630
-2019 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 2215 y Fk(8.4.2)63
+(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
-2385 y Ft(accept-line)27 b(\(Newline)h(or)i(Return\))630
-2494 y Fu(Accept)25 b(the)e(line)h(regardless)g(of)f(where)g(the)h
+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 2604 y(to)27 b(the)f(history)g(list)h(according)g
+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 2714 y Fu(v)-5 b(ariables.)42 b(If)30
+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 2823 y(its)g(original)g
-(state.)150 2979 y Ft(previous-history)26 b(\(C-p\))630
-3089 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 3245 y Ft(next-history)d
-(\(C-n\))630 3354 y Fu(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
+(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
-3510 y Ft(beginning-of-history)25 b(\(M-<\))630 3620
+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 3776 y Ft(end-of-history)26 b(\(M->\))630 3886
+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
-4042 y Ft(reverse-search-history)24 b(\(C-r\))630 4151
+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
-4261 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
+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 4370 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
-b(ates)33 b(the)d(mark.)150 4526 y Ft(forward-search-history)24
-b(\(C-s\))630 4636 y Fu(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
+(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 4746 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
+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 4855 y(region)31 b(to)g(the)g(matc)m(hed)g
-(text)g(and)f(activ)-5 b(ates)33 b(the)d(mark.)150 5011
-y Ft(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 5121 y Fu(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
+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: 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
+(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 5230 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
+(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
-5340 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.)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)150 299 y Ft
+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 408 y Fu(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h(the)
+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
-518 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m(tal)g
+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
-628 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 829 y Ft
-(history-search-backward)24 b(\(\))630 938 y Fu(Searc)m(h)35
+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 1048 y(start)g(of)h(the)f
+(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
-1157 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83
+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 1267 y(this)32 b(command)h(is)f(un)m(b)s(ound,)f
+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 1377 y(k)m(eyb)s(oards.)150 1577
-y Ft(history-search-forward)24 b(\(\))630 1687 y Fu(Searc)m(h)f(forw)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 1797
+(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 1906 y(of)33 b(a)g(history)f(line.)48 b(This)32
+(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 2016 y(is)e(un)m(b)s(ound,)e(but)i(ma)m
+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 2217 y Ft(history-substring-search)o(-bac)o(kwar)
-o(d)24 b(\(\))630 2326 y Fu(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f
+(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 2436 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f
+(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 2545 y(in)i(a)h(history)g(line.)47
+(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 2655 y(is)e(un)m(b)s(ound.)150
-2856 y Ft(history-substring-search)o(-for)o(ward)24 b(\(\))630
-2966 y Fu(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
+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
-3075 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m
+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 3185 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h
+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 3294 y(is)e(un)m(b)s(ound.)150 3495 y Ft(yank-nth-arg)d
-(\(M-C-y\))630 3605 y Fu(Insert)37 b(the)g(\014rst)f(argumen)m(t)i(to)f
-(the)h(previous)e(command)h(\(usually)g(the)g(second)g(w)m(ord)630
-3714 y(on)32 b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46
-b(With)32 b(an)g(argumen)m(t)g Fr(n)p Fu(,)g(insert)g(the)g
-Fr(n)p Fu(th)f(w)m(ord)g(from)630 3824 y(the)k(previous)f(command)h
-(\(the)g(w)m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f
-(w)m(ord)630 3934 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f
-(inserts)g(the)f Fr(n)p Fu(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f
-(previous)630 4043 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h
-Fr(n)e Fu(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e
-(if)630 4153 y(the)e(`)p Ft(!)p Fj(n)p Fu(')f(history)g(expansion)g
-(had)g(b)s(een)g(sp)s(eci\014ed.)150 4354 y Ft(yank-last-arg)d(\(M-.)i
-(or)h(M-_\))630 4463 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
-4573 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
+(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 4682 y(Successiv)m(e)26 b(calls)g(to)f Ft(yank-last-arg)c
+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 4792 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
+(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 4902 y(in)36 b(turn.)58 b(An)m(y)36
+(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 5011 y(the)d(direction)g(to)h(mo)m(v)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 5121 y(direction)23 b(through)g(the)g(history)f
-(\(bac)m(k)i(or)f(forw)m(ard\).)38 b(The)22 b(history)h(expansion)g
-(facilities)630 5230 y(are)28 b(used)f(to)h(extract)h(the)f(last)g
-(argumen)m(t,)h(as)e(if)h(the)g(`)p Ft(!$)p Fu(')f(history)g(expansion)
-h(had)f(b)s(een)630 5340 y(sp)s(eci\014ed.)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)150 299 y Ft
-(operate-and-get-next)25 b(\(C-o\))630 408 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 518 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 628
-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
-737 y(instead)g(of)f(the)h(curren)m(t)f(line.)150 883
-y Ft(fetch-history)d(\(\))630 993 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 1102 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 1212 y(list.)150
-1397 y Fk(8.4.3)63 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10
-b(ext)150 1562 y Fj(end-of-file)27 b Ft(\(usually)h(C-d\))630
-1672 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 1781 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 1891 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 2037 y Ft(delete-char)e(\(C-d\))630 2146 y Fu(Delete)35
+(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: 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)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 587 y Ft(operate-and-get-next)25
+b(\(C-o\))630 697 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 806 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 916 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 1025 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
+1204 y Ft(fetch-history)d(\(\))630 1314 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 1423 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
+1533 y(list.)150 1751 y Fk(8.4.3)63 b(Commands)42 b(F)-10
+b(or)41 b(Changing)g(T)-10 b(ext)150 1933 y Fj(end-of-file)27
+b Ft(\(usually)h(C-d\))630 2042 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 2152
+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
+2261 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
+2440 y Ft(delete-char)e(\(C-d\))630 2550 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 2256
+(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2659
y(as)e(the)f(tt)m(y)i Fm(eof)d Fu(c)m(haracter,)j(as)f
Fj(C-d)e Fu(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g
-(e\013ects.)150 2402 y Ft(backward-delete-char)25 b(\(Rubout\))630
-2511 y Fu(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+(e\013ects.)150 2838 y Ft(backward-delete-char)25 b(\(Rubout\))630
+2947 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
-2621 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
-2767 y Ft(forward-backward-delete-)o(char)24 b(\(\))630
-2876 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
-2986 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
-3095 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-3241 y Ft(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3351
+3057 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 3235 y Ft
+(forward-backward-delete-)o(char)24 b(\(\))630 3345 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 3455
+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
+3564 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+3743 y Ft(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3852
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
-3460 y(sequences)d(lik)m(e)g Fj(C-q)p Fu(,)f(for)g(example.)150
-3606 y Ft(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
-3715 y Fu(Insert)g(y)m(ourself.)150 3861 y Ft(bracketed-paste-begin)25
-b(\(\))630 3971 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 4080 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
-4190 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
-4300 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
-4409 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
-4519 y(commands.)630 4646 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 4756 y(to)j(the)g(inserted)f(text.)65
-b(It)39 b(uses)f(the)g(concept)h(of)g(an)f Fl(active)i(mark)10
-b Fu(:)57 b(when)38 b(the)g(mark)630 4866 y(is)d(activ)m(e,)k(Readline)
-c(redispla)m(y)h(uses)e(the)h(terminal's)h(standout)f(mo)s(de)f(to)i
-(denote)g(the)630 4975 y(region.)150 5121 y Ft(transpose-chars)26
-b(\(C-t\))630 5230 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 5340 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)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)630 299 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
-408 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150 584 y Ft(transpose-words)c
-(\(M-t\))630 693 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 803 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 913 y(last)j(t)m(w)m(o)h
-(w)m(ords)e(on)g(the)h(line.)150 1088 y Ft(shell-transpose-words)25
-b(\(M-C-t\))630 1197 y Fu(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s
+3962 y(sequences)d(lik)m(e)g Fj(C-q)p Fu(,)f(for)g(example.)150
+4141 y Ft(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
+4250 y Fu(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
+4429 y Ft(bracketed-paste-begin)25 b(\(\))630 4538 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 4648 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 4758 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 4867 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 4977 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 5086 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: 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)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 1307 y(w)m(ord)c(as)h(w)m(ell.)41
+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 1417 y(last)j(t)m(w)m(o)h
+(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 1526 y(word)e
-Fu(and)h Ft(shell-backward-word)p Fu(.)150 1701 y Ft(upcase-word)d
-(\(M-u\))630 1811 y Fu(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g
+(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 1921 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 2096 y Ft(downcase-word)d
-(\(M-l\))630 2206 y Fu(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h
+(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 2315 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 2490 y Ft(capitalize-word)26
-b(\(M-c\))630 2600 y Fu(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)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 2710 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 2885 y Ft(overwrite-mode)26
-b(\(\))630 2994 y Fu(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+(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 3104 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+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 3214 y(insert)30 b(mo)s(de.)41
+(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 3323
+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
-3466 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
+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
-3575 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
+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
-3685 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 3827
+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
-3937 y(some)g(k)m(eyb)s(oards.)150 4152 y Fk(8.4.4)63
-b(Killing)42 b(And)e(Y)-10 b(anking)150 4332 y Ft(kill-line)28
-b(\(C-k\))630 4441 y Fu(Kill)k(the)f(text)i(from)d(p)s(oin)m(t)i(to)g
-(the)f(end)g(of)g(the)h(line.)44 b(With)31 b(a)h(negativ)m(e)i(n)m
-(umeric)d(argu-)630 4551 y(men)m(t,)g(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(curren)m(t)f
-(line.)150 4726 y Ft(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 4836 y Fu(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
+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 4946 y(negativ)m(e)47 b(n)m(umeric)e(argumen)m(t,)50
-b(kill)c(forw)m(ard)e(from)h(the)g(cursor)g(to)h(the)f(end)f(of)i(the)
-630 5055 y(curren)m(t)30 b(line.)150 5230 y Ft(unix-line-discard)c
-(\(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: 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)150 299 y Ft(kill-whole-line)
+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: 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(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
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)32 b(the)g(w)m(ord)f
-(b)s(ehind)f(p)s(oin)m(t,)i(using)f(white)h(space)g(as)g(a)g(w)m(ord)f
-(b)s(oundary)-8 b(.)43 b(The)31 b(killed)630 2424 y(text)g(is)g(sa)m(v)
-m(ed)g(on)g(the)f(kill-ring.)150 2608 y Ft(unix-filename-rubout)25
+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.)39 b(The)30
-b(killed)h(text)g(is)g(sa)m(v)m(ed)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
+(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
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: 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)150 299 y Fk(8.4.5)63
-b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 477 y
+%%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 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 586 y Fu(Add)d(this)h(digit)g(to)h(the)
+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 696 y Fj(M--)j Fu(starts)i(a)g(negativ)m(e)i(argumen)
-m(t.)150 867 y Ft(universal-argument)25 b(\(\))630 977
+(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
-1087 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
+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
-1196 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+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
-1306 y Fu(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+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
-1415 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+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
-1525 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
+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
-1635 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
+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
-1744 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
+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
-1854 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 2065 y Fk(8.4.6)63
+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 2243 y Ft(complete)28 b(\(TAB\))630
-2353 y Fu(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+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
-2462 y(p)s(erformed)33 b(is)h(application-sp)s(eci\014c.)53
-b(Bash)35 b(attempts)g(completion)g(treating)h(the)e(text)630
-2572 y(as)39 b(a)h(v)-5 b(ariable)39 b(\(if)h(the)f(text)h(b)s(egins)e
-(with)h(`)p Ft($)p Fu('\),)j(username)c(\(if)i(the)f(text)h(b)s(egins)e
-(with)630 2681 y(`)p Ft(~)p Fu('\),)31 b(hostname)f(\(if)g(the)g(text)h
-(b)s(egins)e(with)h(`)p Ft(@)p Fu('\),)h(or)f(command)f(\(including)h
-(aliases)i(and)630 2791 y(functions\))j(in)f(turn.)53
-b(If)34 b(none)g(of)h(these)h(pro)s(duces)d(a)i(matc)m(h,)i(\014lename)
-e(completion)h(is)630 2901 y(attempted.)150 3072 y Ft
-(possible-completions)25 b(\(M-?\))630 3182 y Fu(List)35
+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(155\),)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 3291
+(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 3401 y Ft(completion-display-width)o Fu(,)g(the)j(v)-5
+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 3510 y(or)30 b(the)h(screen)f(width,)g(in)g
-(that)h(order.)150 3682 y Ft(insert-completions)25 b(\(M-*\))630
-3791 y Fu(Insert)30 b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f
+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
-3901 y(b)m(y)g Ft(possible-completions)p Fu(.)150 4073
-y Ft(menu-complete)d(\(\))630 4182 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 4292 y(from)37
-b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
-b(execution)g(of)f Ft(menu-complete)630 4401 y Fu(steps)i(through)g
-(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
-(matc)m(h)f(in)f(turn.)630 4511 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
-(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
-b(ject)36 b(to)i(the)f(setting)630 4621 y(of)f Ft(bell-style)p
-Fu(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
-b(An)36 b(argumen)m(t)h(of)f Fr(n)f Fu(mo)m(v)m(es)i
-Fr(n)630 4730 y Fu(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
-(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 4840 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
-(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 4949 y Ft(TAB)p Fu(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
-(y)i(default.)150 5121 y Ft(menu-complete-backward)24
-b(\(\))630 5230 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 5340 y(completions,)d(as)e(if)h Ft(menu-complete)26
-b Fu(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)p
+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: 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
-(delete-char-or-list)25 b(\(\))630 408 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 518 y(line)50 b(\(lik)m(e)h
-Ft(delete-char)p Fu(\).)96 b(If)49 b(at)h(the)g(end)f(of)h(the)f(line,)
-55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 628 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 803 y Ft(complete-filename)c(\(M-/\))630
-913 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 1088 y Ft(possible-filename-comple)o(tion)o
-(s)24 b(\(C-x)30 b(/\))630 1197 y Fu(List)f(the)g(p)s(ossible)f
+%%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 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 1373 y Ft(complete-username)e(\(M-~\))
-630 1482 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)
+(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
-1658 y Ft(possible-username-comple)o(tion)o(s)24 b(\(C-x)30
-b(~\))630 1767 y Fu(List)25 b(the)g(p)s(ossible)g(completions)h(of)f
+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 1942 y Ft(complete-variable)h(\(M-$\))630
-2052 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)e(p)
+(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
-2227 y Ft(possible-variable-comple)o(tion)o(s)24 b(\(C-x)30
-b($\))630 2337 y Fu(List)42 b(the)g(p)s(ossible)g(completions)h(of)f
+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 2446 y(v)-5 b(ariable.)150 2622 y Ft(complete-hostname)26
-b(\(M-@\))630 2731 y Fu(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i
+(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
-2907 y Ft(possible-hostname-comple)o(tion)o(s)24 b(\(C-x)30
-b(@\))630 3016 y Fu(List)25 b(the)g(p)s(ossible)f(completions)h(of)g
+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 3191 y Ft(complete-command)h(\(M-!\))630
-3301 y Fu(A)m(ttempt)32 b(completion)g(on)f(the)g(text)h(b)s(efore)e(p)
+(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
-3411 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 3520 y(w)m(ords,)36
+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 3630 y(order.)150
-3805 y Ft(possible-command-complet)o(ions)24 b(\(C-x)29
-b(!\))630 3915 y Fu(List)d(the)h(p)s(ossible)f(completions)h(of)f(the)h
+(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
-4024 y(name.)150 4200 y Ft(dynamic-complete-history)e(\(M-TAB\))630
-4309 y Fu(A)m(ttempt)31 b(completion)h(on)e(the)g(text)h(b)s(efore)f(p)
-s(oin)m(t,)g(comparing)h(the)f(text)h(against)h(lines)630
-4419 y(from)e(the)g(history)h(list)g(for)f(p)s(ossible)g(completion)i
-(matc)m(hes.)150 4594 y Ft(dabbrev-expand)26 b(\(\))630
-4704 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
-4813 y(lines)j(from)e(the)i(history)f(list)h(for)g(p)s(ossible)e
-(completion)j(matc)m(hes.)150 4988 y Ft(complete-into-braces)25
-b(\(M-{\))630 5098 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
-5208 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 5317 y(pansion],)30 b(page)h(24\).)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 Fk(8.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 465 y Ft(start-kbd-macro)26
-b(\(C-x)j(\(\))630 575 y Fu(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+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: 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
+(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
-723 y Ft(end-kbd-macro)d(\(C-x)i(\)\))630 833 y Fu(Stop)e(sa)m(ving)h
+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 942
-y(de\014nition.)150 1091 y Ft(call-last-kbd-macro)c(\(C-x)k(e\))630
-1200 y Fu(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(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
-1310 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 1458 y Ft(print-last-kbd-macro)25 b(\(\))630
-1568 y Fu(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
+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 1756 y Fk(8.4.8)63 b(Some)41
-b(Miscellaneous)i(Commands)150 1922 y Ft(re-read-init-file)26
-b(\(C-x)j(C-r\))630 2032 y Fu(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)
+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 2142 y(assignmen)m(ts)31
-b(found)e(there.)150 2290 y Ft(abort)g(\(C-g\))630 2400
+(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
-2509 y(setting)j(of)g Ft(bell-style)p Fu(\).)150 2658
+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 2767 y Fu(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
+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 2877 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
+(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 2986 y Fr(x)37 b Fu(is)30 b(already)h(lo)m(w)m
-(er)h(case.)150 3135 y Ft(prefix-meta)27 b(\(ESC\))630
-3244 y Fu(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62
-b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
-b(.)630 3354 y(T)m(yping)30 b(`)p Ft(ESC)g(f)p Fu(')g(is)h(equiv)-5
-b(alen)m(t)31 b(to)g(t)m(yping)g Fj(M-f)p Fu(.)150 3502
-y Ft(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 3612 y Fu(Incremen)m(tal)h
+(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
-3760 y Ft(revert-line)27 b(\(M-r\))630 3870 y Fu(Undo)33
+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
-3979 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.)
-150 4128 y Ft(tilde-expand)d(\(M-&\))630 4237 y Fu(P)m(erform)j(tilde)h
-(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 4386
-y Ft(set-mark)d(\(C-@\))630 4495 y Fu(Set)33 b(the)g(mark)f(to)i(the)f
-(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g
-(supplied,)f(the)h(mark)g(is)f(set)630 4605 y(to)f(that)g(p)s(osition.)
-150 4753 y Ft(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
-4863 y Fu(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43
-b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h
-(sa)m(v)m(ed)630 4972 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s
-(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 5121
-y Ft(character-search)26 b(\(C-]\))630 5230 y Fu(A)f(c)m(haracter)h(is)
-f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s
-(ccurrence)g(of)g(that)g(c)m(haracter.)630 5340 y(A)30
-b(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)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)150 299 y Ft
-(character-search-backwar)o(d)24 b(\(M-C-]\))630 408
-y Fu(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)
-m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)g(that)630
-518 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(argumen)m(t)f(searc)m(hes)g
-(for)g(subsequen)m(t)e(o)s(ccurrences.)150 722 y Ft(skip-csi-sequence)d
-(\(\))630 831 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
-941 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
-b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m(trol)g(Sequence)
-630 1050 y(Indicator)f(\(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 1160 y(ducing)29
-b(suc)m(h)g(sequences)g(will)h(ha)m(v)m(e)h(no)e(e\013ect)i(unless)d
-(explicitly)j(b)s(ound)d(to)i(a)f(Readline)630 1270 y(command,)j
-(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 1379 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
-1583 y Ft(insert-comment)26 b(\(M-#\))630 1692 y Fu(Without)36
-b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
-b(of)g(the)g Ft(comment-begin)c Fu(v)-5 b(ariable)36
-b(is)g(in-)630 1802 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
-(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)630 1911 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
-b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
-(line)630 2021 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
-b(alue)31 b(of)f Ft(comment-begin)p Fu(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 2131
-y(c)m(haracters)42 b(in)d Ft(comment-begin)e Fu(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 2240
-y(either)37 b(case,)j(the)e(line)f(is)g(accepted)i(as)e(if)g(a)g
-(newline)g(had)g(b)s(een)f(t)m(yp)s(ed.)60 b(The)37 b(default)630
-2350 y(v)-5 b(alue)32 b(of)g Ft(comment-begin)c Fu(causes)k(this)f
-(command)h(to)g(mak)m(e)h(the)e(curren)m(t)h(line)g(a)g(shell)630
-2459 y(commen)m(t.)40 b(If)26 b(a)h(n)m(umeric)f(argumen)m(t)h(causes)g
-(the)f(commen)m(t)i(c)m(haracter)g(to)f(b)s(e)f(remo)m(v)m(ed,)630
-2569 y(the)31 b(line)f(will)h(b)s(e)f(executed)h(b)m(y)f(the)h(shell.)
-150 2772 y Ft(dump-functions)26 b(\(\))630 2882 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 2992 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 3101 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
-3305 y Ft(dump-variables)26 b(\(\))630 3414 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
-3524 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+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: 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(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
-3634 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fr(inputrc)k
+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 3837 y Ft(dump-macros)c(\(\))630 3947 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
-4056 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
-(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-4166 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
-Fr(inputrc)35 b Fu(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 4275 y(default.)150 4479 y Ft(spell-correct-word)e(\(C-x)30
-b(s\))630 4589 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 4698 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 4808 y(the)d(same)f(as)h(those)g(used)e(b)m(y)i
-Ft(shell-forward-word)p Fu(.)150 5011 y Ft(glob-complete-word)25
-b(\(M-g\))630 5121 y Fu(The)i(w)m(ord)h(b)s(efore)f(p)s(oin)m(t)h(is)g
-(treated)h(as)f(a)h(pattern)f(for)f(pathname)h(expansion,)g(with)g(an)
-630 5230 y(asterisk)d(implicitly)h(app)s(ended.)37 b(This)23
-b(pattern)i(is)f(used)g(to)h(generate)h(a)e(list)h(of)g(matc)m(hing)630
-5340 y(\014le)30 b(names)h(for)f(p)s(ossible)g(completions.)p
+(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)j(a)g(bindable)f(readline)h(command)g(name)g(from)f(the)
+h(input)f(and)g(execute)j(the)e(func-)630 5121 y(tion)e(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: 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(glob-expand-word)
-26 b(\(C-x)j(*\))630 408 y Fu(The)40 b(w)m(ord)g(b)s(efore)g(p)s(oin)m
-(t)h(is)g(treated)g(as)g(a)g(pattern)g(for)f(pathname)g(expansion,)k
-(and)630 518 y(the)c(list)g(of)f(matc)m(hing)i(\014le)e(names)g(is)h
-(inserted,)h(replacing)g(the)e(w)m(ord.)67 b(If)39 b(a)h(n)m(umeric)630
-628 y(argumen)m(t)31 b(is)f(supplied,)g(a)g(`)p Ft(*)p
-Fu(')h(is)f(app)s(ended)f(b)s(efore)h(pathname)g(expansion.)150
-795 y Ft(glob-list-expansions)25 b(\(C-x)k(g\))630 904
-y Fu(The)k(list)h(of)f(expansions)g(that)h(w)m(ould)f(ha)m(v)m(e)h(b)s
-(een)f(generated)h(b)m(y)f Ft(glob-expand-word)630 1014
-y Fu(is)h(displa)m(y)m(ed,)h(and)e(the)h(line)g(is)f(redra)m(wn.)50
-b(If)33 b(a)h(n)m(umeric)g(argumen)m(t)g(is)f(supplied,)h(a)g(`)p
-Ft(*)p Fu(')630 1123 y(is)c(app)s(ended)f(b)s(efore)h(pathname)g
-(expansion.)150 1291 y Ft(display-shell-version)25 b(\(C-x)k(C-v\))630
-1400 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.)150 1567 y Ft(shell-expand-line)c
-(\(M-C-e\))630 1677 y Fu(Expand)j(the)h(line)g(b)m(y)g(p)s(erforming)f
+%%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
+(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 1786 y(history)40 b(expansion,)j($')p Fr(string)8
+(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 1896
+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 2006 y(stitution,)34
+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 2115
-y(command)c(and)g(pro)s(cess)g(substitution.)150 2282
-y Ft(history-expand-line)25 b(\(M-^\))630 2392 y Fu(P)m(erform)30
+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
-2559 y Ft(magic-space)d(\(\))630 2668 y Fu(P)m(erform)c(history)g
+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 2778 y([History)31 b(In)m(teraction],)i
-(page)e(161\).)150 2945 y Ft(alias-expand-line)26 b(\(\))630
-3055 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(103\).)150
-3222 y Ft(history-and-alias-expand)o(-lin)o(e)f(\(\))630
-3331 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 3498 y Ft(insert-last-argument)25
-b(\(M-.)k(or)h(M-_\))630 3608 y Fu(A)g(synon)m(ym)g(for)g
-Ft(yank-last-arg)p Fu(.)150 3775 y Ft(edit-and-execute-command)24
-b(\(C-x)29 b(C-e\))630 3885 y Fu(In)m(v)m(ok)m(e)34 b(an)f(editor)g(on)
+(\(see)g(Section)g(9.3)630 3617 y([History)31 b(In)m(teraction],)i
+(page)e(167\).)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(107\).)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 3994 y(commands.)81 b(Bash)44 b(attempts)h(to)g(in)m(v)
+(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 4104 y(editor,)31 b(in)f(that)h(order.)150
-4271 y Ft(execute-named-command)25 b(\(M-x\))630 4380
-y Fu(Read)j(a)g(bindable)f(readline)h(command)g(name)g(from)f(the)h
-(input)f(and)g(execute)j(the)e(func-)630 4490 y(tion)e(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 4600 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 4709 y(that)31
-b(argumen)m(t)g(to)g(the)f(function)h(it)f(executes.)150
-4961 y Fs(8.5)68 b(Readline)47 b(vi)e(Mo)t(de)150 5121
-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 5230 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 5340 y(the)e Fm(posix)e
-Fu(standard.)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)275 299 y(In)35
-b(order)g(to)i(switc)m(h)f(in)m(teractiv)m(ely)j(b)s(et)m(w)m(een)d
-Ft(emacs)f Fu(and)g Ft(vi)g Fu(editing)h(mo)s(des,)h(use)f(the)g(`)p
-Ft(set)30 b(-o)150 408 y(emacs)p Fu(')43 b(and)h(`)p
-Ft(set)30 b(-o)f(vi)p Fu(')44 b(commands)g(\(see)i(Section)f(4.3.1)h
-([The)e(Set)h(Builtin],)j(page)e(69\).)83 b(The)150 518
-y(Readline)31 b(default)g(is)f Ft(emacs)f Fu(mo)s(de.)275
-650 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 759 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
-869 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 978 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
-1213 y Fs(8.6)68 b(Programmable)47 b(Completion)150 1373
-y Fu(When)25 b(w)m(ord)g(completion)i(is)f(attempted)g(for)g(an)f
-(argumen)m(t)h(to)g(a)g(command)f(for)h(whic)m(h)f(a)h(completion)150
-1482 y(sp)s(eci\014cation)40 b(\(a)h Fr(compsp)s(ec)6
-b Fu(\))39 b(has)h(b)s(een)f(de\014ned)f(using)h(the)h
-Ft(complete)d Fu(builtin)j(\(see)g(Section)h(8.7)150
-1592 y([Programmable)h(Completion)f(Builtins],)k(page)d(152\),)j(the)c
-(programmable)g(completion)i(facilities)150 1701 y(are)31
-b(in)m(v)m(ok)m(ed.)275 1833 y(First,)23 b(the)e(command)g(name)g(is)h
-(iden)m(ti\014ed.)37 b(If)21 b(a)g(compsp)s(ec)g(has)g(b)s(een)f
-(de\014ned)g(for)h(that)h(command,)150 1943 y(the)44
-b(compsp)s(ec)g(is)g(used)f(to)h(generate)i(the)e(list)g(of)g(p)s
-(ossible)g(completions)h(for)e(the)h(w)m(ord.)81 b(If)44
-b(the)150 2052 y(command)36 b(w)m(ord)g(is)g(the)g(empt)m(y)h(string)f
-(\(completion)i(attempted)f(at)g(the)g(b)s(eginning)e(of)h(an)h(empt)m
-(y)150 2162 y(line\),)30 b(an)m(y)g(compsp)s(ec)f(de\014ned)f(with)h
-(the)h Ft(-E)e Fu(option)i(to)g Ft(complete)d Fu(is)i(used.)40
-b(If)29 b(the)g(command)g(w)m(ord)150 2271 y(is)e(a)h(full)e(pathname,)
-i(a)g(compsp)s(ec)e(for)h(the)g(full)g(pathname)g(is)g(searc)m(hed)h
-(for)f(\014rst.)39 b(If)26 b(no)h(compsp)s(ec)g(is)150
-2381 y(found)22 b(for)g(the)h(full)g(pathname,)h(an)f(attempt)h(is)f
-(made)g(to)g(\014nd)f(a)h(compsp)s(ec)f(for)h(the)g(p)s(ortion)f(follo)
-m(wing)150 2490 y(the)34 b(\014nal)g(slash.)53 b(If)34
-b(those)g(searc)m(hes)i(do)e(not)g(result)h(in)f(a)g(compsp)s(ec,)h(an)
-m(y)g(compsp)s(ec)f(de\014ned)f(with)150 2600 y(the)k
-Ft(-D)g Fu(option)g(to)h Ft(complete)d Fu(is)i(used)g(as)g(the)g
-(default.)61 b(If)37 b(there)g(is)h(no)f(default)g(compsp)s(ec,)i(Bash)
-150 2710 y(attempts)e(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
-2819 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 2951 y(Once)k(a)g(compsp)s(ec)g(has)g(b)s
-(een)f(found,)h(it)h(is)f(used)f(to)i(generate)h(the)e(list)h(of)f
-(matc)m(hing)h(w)m(ords.)51 b(If)150 3060 y(a)37 b(compsp)s(ec)f(is)g
-(not)h(found,)f(the)h(default)f(Bash)h(completion)g(describ)s(ed)e(ab)s
-(o)m(v)m(e)j(\(see)f(Section)g(8.4.6)150 3170 y([Commands)30
-b(F)-8 b(or)31 b(Completion],)g(page)g(145\))h(is)f(p)s(erformed.)275
-3302 y(First,)g(the)g(actions)g(sp)s(eci\014ed)f(b)m(y)h(the)f(compsp)s
-(ec)h(are)g(used.)40 b(Only)30 b(matc)m(hes)i(whic)m(h)e(are)h
-(pre\014xed)150 3411 y(b)m(y)h(the)f(w)m(ord)h(b)s(eing)f(completed)h
-(are)g(returned.)44 b(When)31 b(the)h Ft(-f)f Fu(or)h
-Ft(-d)f Fu(option)h(is)f(used)g(for)h(\014lename)150
-3521 y(or)e(directory)h(name)f(completion,)i(the)e(shell)h(v)-5
-b(ariable)31 b Ft(FIGNORE)d Fu(is)i(used)f(to)i(\014lter)g(the)f(matc)m
-(hes.)42 b(See)150 3630 y(Section)31 b(5.2)h([Bash)e(V)-8
-b(ariables],)33 b(page)e(81,)g(for)f(a)h(description)g(of)f
-Ft(FIGNORE)p Fu(.)275 3762 y(An)m(y)22 b(completions)h(sp)s(eci\014ed)f
+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: 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 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(71\))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)d(the)g(user)g
+(attempts)h(w)m(ord)f(completion)h(for)f(an)g(argumen)m(t)h(to)g(a)g
+(command)f(for)g(whic)m(h)g(a)150 2018 y(completion)e(sp)s
+(eci\014cation)f(\(a)g Fr(compsp)s(ec)6 b Fu(\))41 b(has)f(b)s(een)g
+(de\014ned)f(using)h(the)h Ft(complete)d Fu(builtin)i(\(see)150
+2127 y(Section)j(8.7)g([Programmable)g(Completion)g(Builtins],)i(page)e
+(157\),)k Ft(\\)p Fu(fBreadline)p Ft(\\)p Fu(fP)42 b(in)m(v)m(ok)m(es)i
+(the)150 2237 y(programmable)31 b(completion)g(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(150\).)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(85,)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 3871 y(next.)41
-b(The)29 b(w)m(ords)g(generated)h(b)m(y)g(the)g(pattern)f(need)h(not)f
-(matc)m(h)i(the)f(w)m(ord)f(b)s(eing)g(completed.)41
-b(The)150 3981 y Ft(GLOBIGNORE)29 b Fu(shell)i(v)-5 b(ariable)32
-b(is)g(not)g(used)e(to)i(\014lter)g(the)g(matc)m(hes,)h(but)d(the)i
-Ft(FIGNORE)e Fu(shell)h(v)-5 b(ariable)150 4091 y(is)30
-b(used.)275 4222 y(Next,)39 b(the)f(string)f(sp)s(eci\014ed)f(as)h(the)
-g(argumen)m(t)h(to)g(the)f Ft(-W)f Fu(option)i(is)f(considered.)60
-b(The)37 b(string)150 4332 y(is)c(\014rst)e(split)i(using)f(the)h(c)m
-(haracters)h(in)e(the)h Ft(IFS)e Fu(sp)s(ecial)j(v)-5
-b(ariable)33 b(as)g(delimiters.)48 b(Shell)32 b(quoting)h(is)150
-4441 y(honored)f(within)h(the)g(string,)h(in)f(order)f(to)i(pro)m(vide)
-f(a)h(mec)m(hanism)f(for)g(the)g(w)m(ords)g(to)g(con)m(tain)i(shell)150
-4551 y(metac)m(haracters)e(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 4660 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 4770 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)150 4880 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(36\).)150 4989
-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
-5099 y(matc)m(hing)k(w)m(ords)f(b)s(ecome)h(the)g(p)s(ossible)f
-(completions.)275 5230 y(After)f(these)g(matc)m(hes)i(ha)m(v)m(e)f(b)s
-(een)f(generated,)h(an)m(y)g(shell)f(function)g(or)g(command)g(sp)s
-(eci\014ed)f(with)150 5340 y(the)36 b Ft(-F)f Fu(and)g
-Ft(-C)g Fu(options)h(is)g(in)m(v)m(ok)m(ed.)59 b(When)35
-b(the)h(command)g(or)f(function)h(is)g(in)m(v)m(ok)m(ed,)i(the)e
-Ft(COMP_)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 Ft(LINE)p
-Fu(,)42 b Ft(COMP_POINT)p Fu(,)d Ft(COMP_KEY)p Fu(,)i(and)e
-Ft(COMP_TYPE)f Fu(v)-5 b(ariables)41 b(are)f(assigned)g(v)-5
-b(alues)41 b(as)f(describ)s(ed)150 408 y(ab)s(o)m(v)m(e)34
-b(\(see)g(Section)g(5.2)g([Bash)f(V)-8 b(ariables],)36
-b(page)d(81\).)50 b(If)33 b(a)g(shell)g(function)g(is)g(b)s(eing)f(in)m
-(v)m(ok)m(ed,)k(the)150 518 y Ft(COMP_WORDS)j Fu(and)i
-Ft(COMP_CWORD)d Fu(v)-5 b(ariables)42 b(are)g(also)h(set.)74
-b(When)41 b(the)h(function)f(or)h(command)f(is)150 628
-y(in)m(v)m(ok)m(ed,)c(the)e(\014rst)f(argumen)m(t)h(\($1\))h(is)e(the)h
-(name)g(of)f(the)h(command)f(whose)h(argumen)m(ts)f(are)h(b)s(eing)150
-737 y(completed,)30 b(the)f(second)f(argumen)m(t)h(\($2\))h(is)f(the)g
-(w)m(ord)f(b)s(eing)g(completed,)i(and)e(the)h(third)e(argumen)m(t)150
-847 y(\($3\))40 b(is)f(the)f(w)m(ord)h(preceding)f(the)h(w)m(ord)f(b)s
-(eing)g(completed)i(on)e(the)h(curren)m(t)f(command)h(line.)65
-b(No)150 956 y(\014ltering)33 b(of)h(the)f(generated)h(completions)g
-(against)h(the)e(w)m(ord)g(b)s(eing)f(completed)i(is)g(p)s(erformed;)f
-(the)150 1066 y(function)d(or)g(command)h(has)f(complete)i(freedom)e
-(in)g(generating)h(the)g(matc)m(hes.)275 1200 y(An)m(y)j(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
-1310 y(facilities,)50 b(including)44 b(the)h Ft(compgen)d
+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: 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(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(85\).)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 1419 y([Programmable)31 b(Completion)h(Builtins],)f
-(page)h(152\),)g(to)g(generate)g(the)f(matc)m(hes.)42
-b(It)31 b(m)m(ust)g(put)f(the)150 1529 y(p)s(ossible)g(completions)h
+i(Section)f(8.7)150 2025 y([Programmable)31 b(Completion)h(Builtins],)f
+(page)h(157\),)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 1663 y(Next,)26
+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 1772 y(to)26 b(command)e(substitution.)39
+(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 1882 y(output.)40
-b(Bac)m(kslash)32 b(ma)m(y)f(b)s(e)f(used)g(to)h(escap)s(e)g(a)f
-(newline,)h(if)f(necessary)-8 b(.)275 2016 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 2125 y(is)34 b(applied)g(to)g(the)h(list.)52
+(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 2235
+(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 2345 y(with)38
+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
-2454 y(that)32 b(matc)m(hes)g(the)g(pattern)g(will)f(b)s(e)g(remo)m(v)m
+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 2564 y(in)d(this)g(case)h(an)m(y)g
+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 2673 y
+(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
-(74\))h(is)150 2783 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
+(76\))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 2917 y(Finally)-8 b(,)42 b(an)m(y)c(pre\014x)g(and)f
+(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 3026
-y(mem)m(b)s(er)31 b(of)g(the)h(completion)h(list,)f(and)f(the)h(result)
-f(is)h(returned)e(to)i(the)g(Readline)g(completion)h(co)s(de)150
-3136 y(as)e(the)f(list)h(of)g(p)s(ossible)f(completions.)275
-3270 y(If)d(the)h(previously-applied)f(actions)i(do)f(not)g(generate)h
-(an)m(y)f(matc)m(hes,)i(and)d(the)h Ft(-o)h(dirnames)d
-Fu(op-)150 3380 y(tion)j(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(directory)g(name)h
-(completion)150 3489 y(is)h(attempted.)275 3623 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
-3733 y(directory)g(name)f(completion)i(is)e(attempted)h(and)f(an)m(y)h
-(matc)m(hes)g(are)g(added)f(to)h(the)f(results)g(of)h(the)150
-3842 y(other)31 b(actions.)275 3976 y(By)g(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 4086 y(co)s(de)21 b(as)g(the)g(full)g(set)g(of)g
-(p)s(ossible)f(completions.)39 b(The)20 b(default)h(Bash)g(completions)
-h(are)g(not)f(attempted,)150 4195 y(and)30 b(the)g(Readline)h(default)f
-(of)g(\014lename)h(completion)g(is)f(disabled.)41 b(If)29
-b(the)i Ft(-o)e(bashdefault)e Fu(option)150 4305 y(w)m(as)d(supplied)e
-(to)j Ft(complete)c Fu(when)i(the)g(compsp)s(ec)h(w)m(as)g(de\014ned,)g
-(the)f(default)h(Bash)g(completions)h(are)150 4415 y(attempted)j(if)f
-(the)h(compsp)s(ec)f(generates)h(no)f(matc)m(hes.)41
-b(If)27 b(the)g Ft(-o)j(default)25 b Fu(option)j(w)m(as)f(supplied)f
-(to)150 4524 y Ft(complete)f Fu(when)h(the)h(compsp)s(ec)f(w)m(as)i
-(de\014ned,)e(Readline's)i(default)f(completion)h(will)f(b)s(e)f(p)s
-(erformed)150 4634 y(if)k(the)h(compsp)s(ec)f(\(and,)g(if)h(attempted,)
-g(the)g(default)f(Bash)h(completions\))h(generate)g(no)e(matc)m(hes.)
-275 4768 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
-4877 y(completion)31 b(functions)e(force)i(Readline)f(to)h(app)s(end)d
+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: 157 163
+TeXDict begin 157 162 bop 150 -116 a Fu(Chapter)47 b(8:)i(Command)d
+(Line)i(Editing)2003 b(157)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
-4987 y(b)s(olic)40 b(links)g(to)h(directories,)j(sub)5
+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 5096 y(regardless)31
+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 5230 y(There)25
+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
-5340 y(used)40 b(in)h(com)m(bination)i(with)e(a)g(default)h(completion)
+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)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(functions)28
-b(executed)h(as)f(completion)i(handlers)d(to)i(indicate)g(that)g
-(completion)g(should)e(b)s(e)h(retried)g(b)m(y)150 408
-y(returning)j(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 518 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 628 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
-737 y(b)s(eginning,)e(with)g(an)h(attempt)g(to)g(\014nd)e(a)i(new)e
+(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 847 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 956 y(all)g(at)g(once.)275 1093 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 1202 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 1312 y(load)31
-b(completions)g(dynamically:)390 1448 y Ft(_completion_loader\(\))390
-1558 y({)581 1667 y(.)47 b("/etc/bash_completion.d/$1)o(.sh)o(")42
-b(>/dev/null)j(2>&1)i(&&)g(return)f(124)390 1777 y(})390
-1887 y(complete)g(-D)h(-F)g(_completion_loader)c(-o)k(bashdefault)e(-o)
-i(default)150 2130 y Fs(8.7)68 b(Programmable)47 b(Completion)f
-(Builtins)150 2289 y Fu(Three)21 b(builtin)g(commands)f(are)i(a)m(v)-5
+(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 2399 y(one)34 b(to)g(sp)s(ecify)f(ho)m(w)h(the)f
+(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 2509 y(to)e(mo)s(dify)f(the)g
-(completion)i(as)e(it)h(is)g(happ)s(ening.)150 2671 y
-Ft(compgen)870 2806 y(compgen)46 b([-V)h Fj(varname)p
+(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
-2942 y Fu(Generate)27 b(p)s(ossible)e(completion)i(matc)m(hes)g(for)e
+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
-3051 y(ma)m(y)g(b)s(e)f(an)m(y)i(option)f(accepted)h(b)m(y)e(the)h
+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 3161 y Ft(-r)p Fu(,)j Ft(-D)p Fu(,)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 3296 y(If)f(the)i
+(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 3406 y(indexed)24
+(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 3541 y(When)38 b(using)g(the)h Ft(-F)e Fu(or)i Ft(-C)f
+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 3651 y(grammable)31 b(completion)h
+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 3786 y(The)34 b(matc)m(hes)h(will)g(b)s
+(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 3896 y(pletion)d(co)s(de)g(had)f(generated)i
+(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 4005 y(the)e(same)h(\015ags.)40 b(If)29 b Fr(w)m(ord)j
+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 4115 y(b)s(e)d(displa)m(y)m(ed.)630
-4250 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 4360 y(generated.)150 4521 y Ft(complete)870
-4657 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
-Ft(])e([-DEI])h([-A)h Fj(action)p Ft(])870 4766 y([-G)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: 158 164
+TeXDict begin 158 163 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(158)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 4876
+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
-4985 y(complete)g(-pr)g([-DEI])h([)p Fj(name)f Ft(...)o(])630
-5121 y Fu(Sp)s(ecify)30 b(ho)m(w)h(argumen)m(ts)h(to)g(eac)m(h)g
-Fr(name)k Fu(should)30 b(b)s(e)g(completed.)44 b(If)31
-b(the)g Ft(-p)f Fu(option)i(is)630 5230 y(supplied,)e(or)g(if)h(no)f
-(options)h(or)g Fr(name)5 b Fu(s)30 b(are)h(supplied,)f(existing)i
-(completion)f(sp)s(eci\014ca-)630 5340 y(tions)24 b(are)f(prin)m(ted)g
-(in)g(a)h(w)m(a)m(y)g(that)g(allo)m(ws)g(them)f(to)h(b)s(e)f(reused)f
-(as)i(input.)37 b(The)23 b Ft(-r)f Fu(option)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)630 299 y(remo)m(v)m(es)29
-b(a)f(completion)h(sp)s(eci\014cation)f(for)g(eac)m(h)g
-Fr(name)p Fu(,)h(or,)f(if)g(no)f Fr(name)5 b Fu(s)28
-b(are)g(supplied,)630 408 y(all)35 b(completion)g(sp)s(eci\014cations.)
-53 b(The)34 b Ft(-D)f Fu(option)i(indicates)g(that)g(other)f(supplied)f
-(op-)630 518 y(tions)g(and)e(actions)j(should)d(apply)h(to)h(the)g
-(\\default")g(command)f(completion;)j(that)e(is,)630
-628 y(completion)j(attempted)g(on)e(a)h(command)g(for)f(whic)m(h)g(no)h
-(completion)h(has)e(previously)630 737 y(b)s(een)d(de\014ned.)43
-b(The)31 b Ft(-E)g Fu(option)g(indicates)i(that)f(other)g(supplied)e
-(options)i(and)f(actions)630 847 y(should)f(apply)i(to)g(\\empt)m(y")g
-(command)g(completion;)h(that)f(is,)g(completion)h(attempted)630
-956 y(on)24 b(a)g(blank)f(line.)39 b(The)23 b Ft(-I)h
-Fu(option)g(indicates)h(that)f(other)g(supplied)e(options)j(and)e
-(actions)630 1066 y(should)32 b(apply)g(to)i(completion)g(on)e(the)h
-(initial)i(non-assignmen)m(t)e(w)m(ord)f(on)h(the)g(line,)h(or)630
-1176 y(after)f(a)g(command)g(delimiter)h(suc)m(h)e(as)h(`)p
-Ft(;)p Fu(')g(or)g(`)p Ft(|)p Fu(',)g(whic)m(h)g(is)g(usually)f
-(command)h(name)630 1285 y(completion.)64 b(If)38 b(m)m(ultiple)g
-(options)g(are)g(supplied,)h(the)f Ft(-D)f Fu(option)h(tak)m(es)h
-(precedence)630 1395 y(o)m(v)m(er)29 b Ft(-E)p Fu(,)f(and)f(b)s(oth)g
-(tak)m(e)i(precedence)f(o)m(v)m(er)h Ft(-I)p Fu(.)39
-b(If)27 b(an)m(y)h(of)g Ft(-D)p Fu(,)g Ft(-E)p Fu(,)f(or)h
-Ft(-I)f Fu(are)h(supplied,)630 1504 y(an)m(y)39 b(other)h
-Fr(name)k Fu(argumen)m(ts)39 b(are)h(ignored;)j(these)d(completions)g
-(only)f(apply)g(to)h(the)630 1614 y(case)31 b(sp)s(eci\014ed)f(b)m(y)g
-(the)h(option.)630 1742 y(The)e(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
-1851 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 1961
-y(page)31 b(150\).)630 2089 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 2198 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 2308 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
-2454 y Ft(-o)i Fj(comp-option)1110 2564 y Fu(The)c Fr(comp-option)i
+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(155\).)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 2673 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h
+(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 2783 y(b)s(e)j(one)g(of:)1110 2929 y
-Ft(bashdefault)1590 3039 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g
-(default)f(Bash)h(completions)g(if)g(the)1590 3148 y(compsp)s(ec)i
-(generates)i(no)e(matc)m(hes.)1110 3294 y Ft(default)144
+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 3404 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
-3550 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 3660 y(generates)32
-b(no)e(matc)m(hes.)1110 3806 y Ft(filenames)1590 3915
+(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 4025 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h
-(\014lename-sp)s(eci\014c)h(pro)s(cessing)e(\(lik)m(e)1590
-4134 y(adding)22 b(a)g(slash)g(to)h(directory)f(names,)i(quoting)f(sp)s
-(ecial)f(c)m(har-)1590 4244 y(acters,)39 b(or)d(suppressing)f(trailing)
-i(spaces\).)59 b(This)35 b(option)i(is)1590 4354 y(in)m(tended)30
-b(to)g(b)s(e)g(used)f(with)g(shell)i(functions)e(sp)s(eci\014ed)g(with)
-1590 4463 y Ft(-F)p Fu(.)1110 4609 y Ft(fullquote)1590
-4719 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 4829 y(they)f(are)f(not)h
-(\014lenames.)1110 4975 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 5084 y(are)j(\014lenames)f(\(quoting)h(\014lenames)g(is)f(the)h
-(default\).)1110 5230 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 5340 y(alphab)s(etically)-8 b(.)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)1110 299 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 408 y(w)m(ords)30 b(completed)h(at)g(the)g
-(end)f(of)g(the)h(line.)1110 563 y Ft(plusdirs)96 b Fu(After)30
-b(an)m(y)h(matc)m(hes)g(de\014ned)d(b)m(y)i(the)g(compsp)s(ec)g(are)g
-(gener-)1590 672 y(ated,)g(directory)f(name)g(completion)i(is)d
-(attempted)i(and)f(an)m(y)1590 782 y(matc)m(hes)j(are)e(added)g(to)h
-(the)g(results)f(of)g(the)h(other)g(actions.)630 936
-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 1046 y(completions:)1110 1200 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 1355 y Ft(arrayvar)96 b Fu(Arra)m(y)31
-b(v)-5 b(ariable)31 b(names.)1110 1509 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 1619 y(Readline)h(Commands],)f(page)h(139\).)1110
-1773 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 1883
-y(as)31 b Ft(-b)p Fu(.)1110 2037 y Ft(command)144 b Fu(Command)29
+(\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: 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)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(144\).)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 2192 y Ft(directory)1590 2301 y Fu(Directory)h
+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 2456 y Ft(disabled)96 b Fu(Names)31
-b(of)g(disabled)f(shell)g(builtins.)1110 2610 y Ft(enabled)144
+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
-2765 y Ft(export)192 b Fu(Names)34 b(of)f(exp)s(orted)f(shell)h(v)-5
+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
-2874 y(\014ed)d(as)g Ft(-e)p Fu(.)1110 3029 y Ft(file)288
+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 3183 y Ft(function)96 b Fu(Names)31
-b(of)g(shell)f(functions.)1110 3337 y Ft(group)240 b
+(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 3492 y Ft(helptopic)1590 3601
+(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 3711 y(tion)31
-b(4.2)g([Bash)g(Builtins],)g(page)g(57\).)1110 3866 y
+Ft(help)f Fu(builtin)g(\(see)h(Sec-)1590 4962 y(tion)31
+b(4.2)g([Bash)g(Builtins],)g(page)g(59\).)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 3975 y(the)55 b
+(\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 4085 y(V)-8 b(ariables],)32 b(page)f(81\).)1110
-4239 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
-4349 y(\014ed)f(as)g Ft(-j)p Fu(.)1110 4503 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
-4658 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 4812 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 4966 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 5076
-y(\(see)31 b(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(69\).)
-1110 5230 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
-5340 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(57\).)p
+([Bash)1590 5340 y(V)-8 b(ariables],)32 b(page)f(85\).)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)1110 299 y Ft(signal)192
-b Fu(Signal)31 b(names.)1110 461 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 623 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
-785 y Ft(variable)96 b Fu(Names)36 b(of)g(all)g(shell)g(v)-5
+%%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)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(71\).)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(59\).)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
-895 y Ft(-v)p Fu(.)630 1057 y Ft(-C)30 b Fj(command)1110
-1167 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 1276 y(used)38
+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 1386 y(the)31 b Ft(-F)e
-Fu(option.)630 1548 y Ft(-F)h Fj(function)1110 1658 y
+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 1767 y(ronmen)m(t.)72
-b(When)41 b(it)g(is)g(executed,)k($1)c(is)g(the)g(name)g(of)g(the)g
-(command)1110 1877 y(whose)34 b(argumen)m(ts)h(are)g(b)s(eing)f
-(completed,)j($2)e(is)f(the)h(w)m(ord)f(b)s(eing)g(com-)1110
-1987 y(pleted,)44 b(and)c($3)i(is)e(the)h(w)m(ord)g(preceding)f(the)h
-(w)m(ord)f(b)s(eing)h(completed,)1110 2096 y(as)g(describ)s(ed)f(ab)s
-(o)m(v)m(e)i(\(see)g(Section)f(8.6)h([Programmable)g(Completion],)1110
-2206 y(page)30 b(150\).)42 b(When)29 b(it)h(\014nishes,)e(the)h(p)s
-(ossible)g(completions)h(are)g(retriev)m(ed)1110 2315
-y(from)g(the)g(v)-5 b(alue)31 b(of)g(the)f Ft(COMPREPLY)e
-Fu(arra)m(y)j(v)-5 b(ariable.)630 2478 y Ft(-G)30 b Fj(globpat)1110
-2587 y Fu(The)39 b(\014lename)h(expansion)g(pattern)g
-Fr(globpat)j Fu(is)d(expanded)f(to)h(generate)1110 2697
-y(the)31 b(p)s(ossible)e(completions.)630 2859 y Ft(-P)h
-Fj(prefix)66 b Fr(pre\014x)39 b Fu(is)34 b(added)f(at)i(the)f(b)s
-(eginning)f(of)i(eac)m(h)g(p)s(ossible)e(completion)i(after)1110
-2968 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630
-3131 y Ft(-S)g Fj(suffix)66 b Fr(su\016x)26 b Fu(is)20
-b(app)s(ended)f(to)i(eac)m(h)h(p)s(ossible)e(completion)i(after)f(all)g
-(other)g(options)1110 3240 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
-3402 y Ft(-W)h Fj(wordlist)1110 3512 y Fu(The)24 b Fr(w)m(ordlist)k
-Fu(is)d(split)g(using)f(the)h(c)m(haracters)i(in)d(the)i
-Ft(IFS)e Fu(sp)s(ecial)h(v)-5 b(ariable)1110 3622 y(as)36
-b(delimiters,)i(and)e(eac)m(h)h(resultan)m(t)g(w)m(ord)e(is)h
-(expanded.)57 b(The)35 b(p)s(ossible)1110 3731 y(completions)c(are)e
-(the)h(mem)m(b)s(ers)f(of)g(the)h(resultan)m(t)g(list)g(whic)m(h)f
-(matc)m(h)i(the)1110 3841 y(w)m(ord)f(b)s(eing)g(completed.)630
-4003 y Ft(-X)g Fj(filterpat)1110 4113 y Fr(\014lterpat)d
+(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(155\).)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: 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(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 4222 y(the)30 b(list)f(of)h(p)s
+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 4332 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 4441
+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 4551 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 4713 y(The)35
+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
-4823 y(than)29 b Ft(-p)p Fu(,)g Ft(-r)p Fu(,)h Ft(-D)p
+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
-4932 y(made)24 b(to)g(remo)m(v)m(e)i(a)e(completion)h(sp)s
+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 5042 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 5204
-y Ft(compopt)870 5340 y(compopt)46 b([-o)h Fj(option)p
+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(])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)630 299 y(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
-408 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 518 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 628 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
-737 y(ab)s(o)m(v)m(e.)41 b(The)27 b Ft(-D)f Fu(option)i(indicates)g
-(that)g(other)f(supplied)f(options)i(should)e(apply)h(to)h(the)630
-847 y(\\default")33 b(command)f(completion;)i(that)f(is,)g(completion)g
-(attempted)g(on)f(a)g(command)630 956 y(for)g(whic)m(h)g(no)g
-(completion)i(has)e(previously)g(b)s(een)g(de\014ned.)45
-b(The)32 b Ft(-E)f Fu(option)i(indicates)630 1066 y(that)23
-b(other)f(supplied)e(options)j(should)e(apply)g(to)i(\\empt)m(y")g
-(command)f(completion;)k(that)630 1176 y(is,)36 b(completion)g
-(attempted)g(on)e(a)h(blank)g(line.)54 b(The)34 b Ft(-I)g
-Fu(option)h(indicates)g(that)h(other)630 1285 y(supplied)23
-b(options)i(should)f(apply)g(to)i(completion)g(on)e(the)h(initial)h
-(non-assignmen)m(t)f(w)m(ord)630 1395 y(on)37 b(the)f(line,)j(or)e
-(after)g(a)g(command)f(delimiter)i(suc)m(h)e(as)h(`)p
-Ft(;)p Fu(')g(or)f(`)p Ft(|)p Fu(',)j(whic)m(h)e(is)f(usually)630
-1504 y(command)30 b(name)h(completion.)630 1639 y(If)k(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 1748
-y(b)s(oth)30 b(tak)m(e)i(precedence)e(o)m(v)m(er)i Ft(-I)630
-1883 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 1992 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h
+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(\\)p Fu(fBcomplete)p Ft(\\)p Fu(fP)g(builtin.)630
+3134 y(If)k(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 2102 y(or)e(an)h(output)f(error)g(o)s(ccurs.)150
-2342 y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150
-2501 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h
+(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 2611 y(actions)29 b Ft(complete)d Fu(and)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 2721 y(command)h(using)g
-Ft(complete)e(-F)p Fu(.)275 2855 y(The)j(follo)m(wing)j(function)e(pro)
+(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 2965 y(example)41
+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 3074
+(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 3184 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5
+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 3318 y(The)42
+(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 3428 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g
+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 3537 y(expansion)22 b(\(see)h(Section)g(3.5.2)g
-([Tilde)g(Expansion],)g(page)g(25\),)i(searc)m(hing)e(directories)g(in)
-e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 3647 y(whic)m(h)21 b(is)h(describ)s
+(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(49\),)j(and)c(basic)h(supp)s(ort)150
-3756 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(74\).)46
-b Ft(_comp_)150 3866 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5
+(Builtins],)j(page)e(50\),)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(76\).)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)150
-3976 y(con)m(taining)i(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 4085 y(line.)275 4219 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
-4329 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e
+f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)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)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
-4439 y(the)h(function)f(returns.)390 4573 y Ft(#)47 b(A)h(completion)d
-(function)g(for)i(the)g(cd)g(builtin)390 4682 y(#)g(based)g(on)g(the)g
+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 4792 y(_comp_cd\(\))390 4902 y({)581 5011 y(local)i(IFS=$')g
-(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 5121 y(local)g(cur)h
-(_skipdot)f(_cdpath)581 5230 y(local)g(i)i(j)f(k)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)581 299 y Ft(#)47
-b(Tilde)g(expansion,)e(which)h(also)h(expands)f(tilde)g(to)h(full)g
-(pathname)581 408 y(case)g("$2")f(in)581 518 y(\\~*\))190
-b(eval)46 b(cur="$2")g(;;)581 628 y(*\))286 b(cur=$2)46
-b(;;)581 737 y(esac)581 956 y(#)h(no)h(cdpath)e(or)h(absolute)e
-(pathname)h(--)h(straight)f(directory)f(completion)581
-1066 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g("$cur")f(==)h
-(@\(./*|../*|/*\))d(]];)j(then)772 1176 y(#)g(compgen)f(prints)g(paths)
+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
-1285 y(IFS=$'\\n')772 1395 y(COMPREPLY=\()f($\(compgen)g(-d)i(--)g
-("$cur"\))f(\))772 1504 y(IFS=$')g(\\t\\n')581 1614 y(#)h
+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 1724 y(else)772 1833 y(IFS=$'\\n')772 1943
-y(_skipdot=false)772 2052 y(#)f(preprocess)e(CDPATH)h(to)i(convert)d
-(null)i(directory)e(names)i(to)g(.)772 2162 y(_cdpath=${CDPATH/#:/.:})
-772 2271 y(_cdpath=${_cdpath//::/:.)o(:})772 2381 y
-(_cdpath=${_cdpath/\045:/:.})772 2491 y(for)g(i)g(in)g
-(${_cdpath//:/$'\\n'};)c(do)963 2600 y(if)k([[)g($i)g(-ef)g(.)h(]];)f
-(then)f(_skipdot=true;)e(fi)963 2710 y(k="${#COMPREPLY[@]}")963
-2819 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do)
-1154 2929 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory)
-963 3039 y(done)772 3148 y(done)772 3258 y($_skipdot)f(||)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
-3367 y(IFS=$')g(\\t\\n')581 3477 y(fi)581 3696 y(#)h(variable)f(names)g
+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
-3806 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c
-(-eq)k(0)g(]];)g(then)772 3915 y(COMPREPLY=\()e($\(compgen)g(-v)i(--)g
-("$cur"\))f(\))581 4025 y(fi)581 4244 y(return)g(0)390
-4354 y(})275 4500 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 4646 y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f
-(and)i(append)f(slashes)g(to)h(directories;)390 4755
-y(#)g(use)g(the)g(bash)g(default)f(completion)f(for)i(other)f
-(arguments)390 4865 y(complete)g(-o)h(filenames)e(-o)i(nospace)f(-o)h
-(bashdefault)e(-F)i(_comp_cd)f(cd)150 5011 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
-5121 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 5230 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 5340 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)p eop end
-%%Page: 158 164
-TeXDict begin 158 163 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(158)150 299 y(determine)37
-b(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
-408 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 518 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 628 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
-737 y(rest)e(of)g(the)g Ft(")p Fu(Bash)g(default)p Ft(")g
-Fu(completions)h({)f(p)s(ossible)f(completions)i(that)g(Bash)f(adds)f
-(to)i(the)f(default)150 847 y(Readline)i(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 956 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
-1066 y(Section)j(3.5.8)h([Filename)g(Expansion],)e(page)i(36\),)f(and)f
-(so)h(on.)275 1200 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 1310 y(completion)32 b(for)e(a)h
-Ft(cd)e Fu(command.)275 1445 y(Man)m(y)34 b(more)g(examples)g({)g(an)g
+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: 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)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 1554 y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)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 1554 28 4 v 39 w(completion)i(pro)5 b(ject.)150
-1664 y(This)33 b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h
+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 1773 y(Macdonald,)48 b(the)c(pro)5 b(ject)44
+(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
-1883 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 2017 y(An)54
-b(older)h(v)m(ersion)h(of)f(the)g(bash)p 1532 2017 V
+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 2127 y Ft(examples/complete)26 b Fu(sub)s(directory)-8
+f(in)h(the)150 3626 y Ft(examples/complete)26 b Fu(sub)s(directory)-8
b(.)p eop end
-%%Page: 159 165
-TeXDict begin 159 164 bop 3614 -116 a Fu(159)150 299
+%%Page: 164 170
+TeXDict begin 164 169 bop 3614 -116 a Fu(164)150 299
y Fp(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
-554 y Fu(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)
+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 664 y(standp)s(oin)m(t.)76
+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
-774 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 1025
-y Fs(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)150
-1184 y Fu(When)44 b(the)g Ft(-o)30 b(history)42 b Fu(option)i(to)h(the)
+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 1294 y(Builtin],)32 b(page)g(69\),)h(the)e(shell)h(pro)m
+(Set)150 1253 y(Builtin],)32 b(page)g(71\),)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 1404 y(previously)h(t)m(yp)s(ed.)47
+(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 1513 y(mands)i(to)i(sa)m(v)m(e)h(in)e(a)g(history)h
-(list.)58 b(The)36 b(text)h(of)g(the)f(last)h Ft($HISTSIZE)d
-Fu(commands)i(\(default)g(500\))150 1623 y(is)h(sa)m(v)m(ed.)61
-b(The)36 b(shell)h(stores)h(eac)m(h)g(command)e(in)h(the)g(history)g
-(list)g(prior)f(to)i(parameter)f(and)f(v)-5 b(ari-)150
-1732 y(able)33 b(expansion)g(but)f(after)h(history)f(expansion)h(is)g
-(p)s(erformed,)e(sub)5 b(ject)33 b(to)g(the)g(v)-5 b(alues)33
-b(of)g(the)g(shell)150 1842 y(v)-5 b(ariables)31 b Ft(HISTIGNORE)d
-Fu(and)h Ft(HISTCONTROL)p Fu(.)275 1984 y(When)g(the)g(shell)h(starts)g
-(up,)f(the)h(history)f(is)h(initialized)h(from)e(the)h(\014le)f(named)g
-(b)m(y)h(the)f Ft(HISTFILE)150 2093 y Fu(v)-5 b(ariable)26
-b(\(default)g Ft(~/.bash_history)p Fu(\).)35 b(The)24
-b(\014le)i(named)e(b)m(y)h(the)h(v)-5 b(alue)25 b(of)h
-Ft(HISTFILE)c Fu(is)k(truncated,)150 2203 y(if)42 b(necessary)-8
-b(,)45 b(to)e(con)m(tain)g(no)f(more)g(than)f(the)h(n)m(um)m(b)s(er)f
-(of)h(lines)g(sp)s(eci\014ed)f(b)m(y)h(the)g(v)-5 b(alue)42
-b(of)g(the)150 2312 y Ft(HISTFILESIZE)28 b Fu(v)-5 b(ariable.)46
-b(When)31 b(a)h(shell)g(with)g(history)f(enabled)h(exits,)h(the)f(last)
-h Ft($HISTSIZE)c Fu(lines)150 2422 y(are)35 b(copied)g(from)g(the)g
-(history)f(list)i(to)f(the)g(\014le)g(named)f(b)m(y)h
-Ft($HISTFILE)p Fu(.)51 b(If)35 b(the)g Ft(histappend)d
-Fu(shell)150 2532 y(option)26 b(is)g(set)g(\(see)h(Section)f(4.2)h
-([Bash)f(Builtins],)h(page)g(57\),)h(the)e(lines)g(are)g(app)s(ended)e
-(to)i(the)g(history)150 2641 y(\014le,)f(otherwise)e(the)g(history)f
-(\014le)h(is)g(o)m(v)m(erwritten.)39 b(If)23 b Ft(HISTFILE)d
-Fu(is)j(unset)f(or)h(n)m(ull,)h(or)f(if)f(the)h(history)g(\014le)150
-2751 y(is)k(un)m(writable,)h(the)f(history)g(is)g(not)g(sa)m(v)m(ed.)41
-b(After)27 b(sa)m(ving)h(the)f(history)-8 b(,)29 b(the)e(history)g
-(\014le)g(is)g(truncated)150 2860 y(to)33 b(con)m(tain)h(no)f(more)g
-(than)f Ft($HISTFILESIZE)d Fu(lines.)48 b(If)33 b Ft(HISTFILESIZE)c
-Fu(is)k(unset,)g(or)f(set)i(to)f(n)m(ull,)h(a)150 2970
-y(non-n)m(umeric)c(v)-5 b(alue,)31 b(or)f(a)h(n)m(umeric)f(v)-5
-b(alue)31 b(less)g(than)f(zero,)h(the)g(history)f(\014le)h(is)f(not)h
-(truncated.)275 3112 y(If)g(the)h Ft(HISTTIMEFORMAT)d
-Fu(is)j(set,)h(the)f(time)h(stamp)f(information)g(asso)s(ciated)i(with)
-e(eac)m(h)h(history)150 3221 y(en)m(try)d(is)h(written)f(to)h(the)f
-(history)h(\014le,)f(mark)m(ed)h(with)f(the)g(history)g(commen)m(t)h(c)
-m(haracter.)43 b(When)30 b(the)150 3331 y(history)22
-b(\014le)h(is)g(read,)h(lines)f(b)s(eginning)e(with)i(the)f(history)h
-(commen)m(t)g(c)m(haracter)h(follo)m(w)m(ed)h(immediately)150
-3440 y(b)m(y)30 b(a)h(digit)g(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(.)275
-3582 y(The)19 b Ft(fc)h Fu(builtin)g(command)g(ma)m(y)h(b)s(e)f(used)f
-(to)i(list)g(or)g(edit)g(and)e(re-execute)j(a)f(p)s(ortion)f(of)g(the)h
-(history)150 3692 y(list.)41 b(The)27 b Ft(history)f
-Fu(builtin)i(ma)m(y)h(b)s(e)e(used)g(to)i(displa)m(y)g(or)f(mo)s(dify)f
-(the)h(history)g(list)h(and)f(manipulate)150 3801 y(the)j(history)g
-(\014le.)42 b(When)31 b(using)f(command-line)h(editing,)h(searc)m(h)f
-(commands)g(are)g(a)m(v)-5 b(ailable)33 b(in)e(eac)m(h)150
-3911 y(editing)45 b(mo)s(de)g(that)g(pro)m(vide)g(access)h(to)f(the)g
-(history)f(list)i(\(see)f(Section)h(8.4.2)g([Commands)e(F)-8
-b(or)150 4020 y(History],)31 b(page)h(140\).)275 4162
-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 4272 y Ft(HISTCONTROL)39 b Fu(and)i Ft(HISTIGNORE)d
-Fu(v)-5 b(ariables)43 b(are)f(used)e(to)j(cause)f(the)g(shell)g(to)g
-(sa)m(v)m(e)h(only)f(a)g(sub-)150 4381 y(set)f(of)f(the)g(commands)g
-(en)m(tered.)70 b(The)39 b Ft(cmdhist)f Fu(shell)j(option,)i(if)d
-(enabled,)i(causes)f(the)f(shell)g(to)150 4491 y(attempt)32
-b(to)f(sa)m(v)m(e)i(eac)m(h)f(line)f(of)g(a)g(m)m(ulti-line)h(command)f
-(in)f(the)h(same)g(history)g(en)m(try)-8 b(,)32 b(adding)e(semi-)150
-4600 y(colons)j(where)e(necessary)h(to)h(preserv)m(e)f(syn)m(tactic)i
-(correctness.)46 b(The)31 b Ft(lithist)f Fu(shell)i(option)h(causes)150
-4710 y(the)g(shell)f(to)h(sa)m(v)m(e)h(the)f(command)f(with)g(em)m(b)s
-(edded)f(newlines)h(instead)h(of)g(semicolons.)47 b(The)32
-b Ft(shopt)150 4820 y Fu(builtin)j(is)h(used)e(to)j(set)f(these)g
-(options.)57 b(See)35 b(Section)i(4.3.2)g([The)e(Shopt)g(Builtin],)j
-(page)e(74,)i(for)e(a)150 4929 y(description)30 b(of)h
-Ft(shopt)p Fu(.)150 5181 y Fs(9.2)68 b(Bash)45 b(History)h(Builtins)150
-5340 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.)p eop end
-%%Page: 160 166
-TeXDict begin 160 165 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(160)150
-299 y Ft(fc)870 430 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 540 y(fc)h(-s)g([)p
+(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(85\).)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(59\),)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(145\).)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: 165 171
+TeXDict begin 165 170 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(165)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(76,)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
-671 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
-781 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 891 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 1000 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 1110 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 1241 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
+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 1351 y(curren)m(t)k(command)h(\(usually)g(the)g
+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 1461 y(and)30 b(-0)h(is)f(in)m(v)-5
-b(alid.)630 1592 y(If)33 b Fr(last)j Fu(is)e(not)f(sp)s(eci\014ed,)h
-(it)g(is)f(set)h(to)g Fr(\014rst)p Fu(.)49 b(If)33 b
-Fr(\014rst)i Fu(is)e(not)h(sp)s(eci\014ed,)f(it)h(is)g(set)g(to)g(the)
-630 1702 y(previous)g(command)f(for)h(editing)h(and)e
-Fq(\000)p Fu(16)i(for)f(listing.)53 b(If)33 b(the)h Ft(-l)g
-Fu(\015ag)g(is)g(giv)m(en,)j(the)630 1811 y(commands)27
-b(are)h(listed)g(on)f(standard)g(output.)39 b(The)27
-b Ft(-n)g Fu(\015ag)h(suppresses)e(the)h(command)630
-1921 y(n)m(um)m(b)s(ers)h(when)h(listing.)42 b(The)29
-b Ft(-r)g Fu(\015ag)i(rev)m(erses)f(the)g(order)f(of)i(the)f(listing.)
-41 b(Otherwise,)630 2030 y(the)i(editor)h(giv)m(en)g(b)m(y)f
-Fr(ename)49 b Fu(is)43 b(in)m(v)m(ok)m(ed)i(on)e(a)g(\014le)h(con)m
-(taining)g(those)g(commands.)630 2140 y(If)c Fr(ename)46
-b Fu(is)40 b(not)h(giv)m(en,)j(the)d(v)-5 b(alue)41 b(of)f(the)h(follo)
-m(wing)h(v)-5 b(ariable)41 b(expansion)f(is)g(used:)630
-2250 y Ft(${FCEDIT:-${EDITOR:-vi}})o Fu(.)34 b(This)25
-b(sa)m(ys)i(to)g(use)f(the)g(v)-5 b(alue)27 b(of)f(the)h
-Ft(FCEDIT)d Fu(v)-5 b(ariable)630 2359 y(if)33 b(set,)i(or)e(the)h(v)-5
-b(alue)33 b(of)h(the)f Ft(EDITOR)f Fu(v)-5 b(ariable)34
-b(if)f(that)h(is)f(set,)i(or)e Ft(vi)f Fu(if)i(neither)f(is)g(set.)630
-2469 y(When)d(editing)h(is)g(complete,)h(the)e(edited)h(commands)f(are)
-h(ec)m(ho)s(ed)g(and)e(executed.)630 2600 y(In)34 b(the)g(second)g
-(form,)h Fr(command)j Fu(is)c(re-executed)i(after)f(eac)m(h)g(instance)
-g(of)f Fr(pat)j Fu(in)d(the)630 2710 y(selected)29 b(command)e(is)h
-(replaced)f(b)m(y)h Fr(rep)p Fu(.)39 b Fr(command)31
-b Fu(is)c(in)m(terpreted)h(the)f(same)h(as)g Fr(\014rst)630
-2819 y Fu(ab)s(o)m(v)m(e.)630 2951 y(A)j(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
-3061 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 3170 y(command)30 b(\(see)h(Section)h(6.6)f([Aliases],)h
-(page)g(103\).)150 3324 y Ft(history)870 3455 y(history)46
-b([)p Fj(n)p Ft(])870 3565 y(history)g(-c)870 3674 y(history)g(-d)h
-Fj(offset)870 3784 y Ft(history)f(-d)h Fj(start)p Ft(-)p
-Fj(end)870 3893 y Ft(history)f([-anrw])g([)p Fj(filename)p
-Ft(])870 4003 y(history)g(-ps)h Fj(arg)630 4134 y Fu(With)26
-b(no)g(options,)h(displa)m(y)f(the)g(history)g(list)g(with)f(line)h(n)m
-(um)m(b)s(ers.)38 b(Lines)26 b(pre\014xed)e(with)630
-4244 y(a)f(`)p Ft(*)p Fu(')g(ha)m(v)m(e)h(b)s(een)e(mo)s(di\014ed.)37
-b(An)22 b(argumen)m(t)h(of)g Fr(n)f Fu(lists)i(only)f(the)f(last)i
-Fr(n)e Fu(lines.)39 b(If)22 b(the)h(shell)630 4354 y(v)-5
-b(ariable)36 b Ft(HISTTIMEFORMAT)31 b Fu(is)k(set)g(and)f(not)h(n)m
-(ull,)h(it)g(is)f(used)f(as)h(a)g(format)g(string)g(for)630
-4463 y Ft(strftime)p Fu(\(3\))c(to)i(displa)m(y)f(the)h(time)f(stamp)g
-(asso)s(ciated)i(with)e(eac)m(h)h(displa)m(y)m(ed)g(history)630
-4573 y(en)m(try)-8 b(.)47 b(No)33 b(in)m(terv)m(ening)g(blank)f(is)g
-(prin)m(ted)g(b)s(et)m(w)m(een)h(the)g(formatted)f(time)h(stamp)g(and)
-630 4682 y(the)e(history)f(line.)630 4814 y(Options,)g(if)h(supplied,)e
-(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630 4967
-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 5077 y(to)31 b(replace)g(the)g(history)f(list)h
-(completely)-8 b(.)630 5230 y Ft(-d)30 b 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 5340 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)p eop end
-%%Page: 161 167
-TeXDict begin 161 166 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(161)1110
-299 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
-408 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 518 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 628 y(-d)30 b Fu(command.)630
-794 y Ft(-d)g Fj(start)p Ft(-)p Fj(end)1110 903 y Fu(Delete)e(the)e
+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(107\).)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: 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)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 1013 y(inclusiv)m(e.)44
+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
-1123 y(preted)f(as)h(describ)s(ed)e(ab)s(o)m(v)m(e.)630
-1289 y Ft(-a)384 b Fu(App)s(end)28 b(the)i(new)f(history)g(lines)h(to)h
-(the)e(history)h(\014le.)41 b(These)29 b(are)h(history)1110
-1398 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 1508 y(not)31
-b(already)g(app)s(ended)d(to)j(the)g(history)f(\014le.)630
-1674 y Ft(-n)384 b Fu(App)s(end)32 b(the)i(history)f(lines)h(not)g
-(already)g(read)g(from)f(the)h(history)f(\014le)h(to)1110
-1784 y(the)26 b(curren)m(t)f(history)g(list.)40 b(These)25
-b(are)h(lines)g(app)s(ended)e(to)i(the)f(history)h(\014le)1110
-1893 y(since)31 b(the)f(b)s(eginning)g(of)g(the)h(curren)m(t)f(Bash)h
-(session.)630 2059 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 2226 y Ft(-w)384 b Fu(W)-8 b(rite)32 b(out)e(the)h(curren)m(t)f
-(history)g(list)h(to)h(the)e(history)g(\014le.)630 2392
-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
-2501 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
-(in)g(the)g(history)g(list.)630 2668 y Ft(-s)384 b Fu(The)30
-b Fr(arg)8 b Fu(s)30 b(are)h(added)f(to)h(the)f(end)g(of)h(the)f
-(history)h(list)g(as)f(a)h(single)g(en)m(try)-8 b(.)630
-2834 y(If)35 b(a)h Fr(\014lename)41 b Fu(argumen)m(t)c(is)e(supplied)g
-(when)g(an)m(y)h(of)g(the)g Ft(-w)p Fu(,)g Ft(-r)p Fu(,)h
-Ft(-a)p Fu(,)g(or)e Ft(-n)h Fu(options)630 2943 y(is)j(used,)i(Bash)e
-(uses)f Fr(\014lename)44 b Fu(as)c(the)f(history)g(\014le.)66
-b(If)39 b(not,)i(then)e(the)g(v)-5 b(alue)40 b(of)f(the)630
-3053 y Ft(HISTFILE)30 b Fu(v)-5 b(ariable)32 b(is)g(used.)44
-b(If)32 b Ft(HISTFILE)d Fu(is)j(unset)f(or)h(n)m(ull,)h(these)f
-(options)g(ha)m(v)m(e)h(no)630 3162 y(e\013ect.)630 3300
-y(The)h(return)g(v)-5 b(alue)35 b(is)g(0)g(unless)f(an)h(in)m(v)-5
+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: 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)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
-3410 y(while)h(reading)g(or)g(writing)f(the)h(history)g(\014le,)h(an)f
+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
-3520 y(as)c(an)g(argumen)m(t)g(to)h Ft(-d)p Fu(,)e(or)h(the)g(history)g
+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 3629 y Fu(fails.)150 3880 y Fs(9.3)68 b(History)46
-b(Expansion)150 4039 y Fu(The)f(History)h(library)e(pro)m(vides)i(a)f
-(history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f
-(history)150 4149 y(expansion)g(pro)m(vided)f(b)m(y)h
-Ft(csh)p Fu(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h
-(used)e(to)i(manipulate)f(the)150 4259 y(history)30 b(information.)275
-4400 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
-4509 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
-4619 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 4760 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 4870 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 4980 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 5121 y(History)37 b(expansion)f(tak)m(es)
-i(place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g
-(determine)g(whic)m(h)f(line)h(from)150 5230 y(the)29
-b(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
-5340 y(line)i(for)f(inclusion)g(in)m(to)h(the)g(curren)m(t)f(one.)p
-eop end
-%%Page: 162 168
-TeXDict begin 162 167 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(162)275
-299 y(The)29 b(line)i(selected)h(from)e(the)h(history)f(is)g(called)i
-(the)f Fr(ev)m(en)m(t)p Fu(,)h(and)e(the)g(p)s(ortions)g(of)h(that)g
-(line)f(that)150 408 y(are)37 b(acted)g(up)s(on)e(are)i(called)h
-Fr(w)m(ords)p Fu(.)58 b(The)36 b(line)h(is)f(brok)m(en)g(in)m(to)i(w)m
-(ords)e(in)g(the)g(same)h(fashion)f(that)150 518 y(Bash)28
-b(do)s(es,)g(so)g(that)h(sev)m(eral)g(w)m(ords)e(surrounded)e(b)m(y)j
-(quotes)h(are)f(considered)f(one)i(w)m(ord.)39 b(The)27
-b Fr(ev)m(en)m(t)150 628 y(designator)33 b Fu(selects)27
-b(the)e(ev)m(en)m(t,)k(the)c(optional)i Fr(w)m(ord)e(designator)33
-b Fu(selects)27 b(w)m(ords)e(from)g(the)g(ev)m(en)m(t,)k(and)150
-737 y(v)-5 b(arious)30 b(optional)i Fr(mo)s(di\014ers)h
-Fu(are)e(a)m(v)-5 b(ailable)32 b(to)f(manipulate)g(the)g(selected)h(w)m
-(ords.)275 872 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 982 y(whic)m(h)31 b(is)g(`)p Ft(!)p Fu(')h(b)m(y)f
+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(71\).)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 1091
-y(nest.)275 1226 y(History)26 b(expansion)g(implemen)m(ts)h(shell-lik)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 1336 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g
+(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 1445 y(of)k(c)m(haracters,)i
+(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 1555 y(double)h(quotes)i(ma)m(y)
+(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 1664 y(expansion)e(c)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 1774
-y(double)g(quotes.)275 1909 y(When)41 b(using)g(the)h(shell,)i(only)e
+(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 2018 y(c)m(haracter,)e(but)
+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 2128 y(precedes)30
-b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275
-2263 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 2372 y(acter)k(\(default)f(`)p Ft(^)p
-Fu('\))h(is)f(the)g(\014rst)f(c)m(haracter)i(on)f(the)g(line.)40
-b(It)28 b(selects)h(the)f(previous)g(history)g(list)g(en)m(try)-8
-b(,)150 2482 y(using)34 b(an)g(ev)m(en)m(t)h(designator)g(equiv)-5
-b(alen)m(t)36 b(to)f Ft(!!)p Fu(,)f(and)g(substitutes)g(one)g(string)g
-(for)g(another)h(in)e(that)150 2591 y(line.)61 b(It)37
-b(is)f(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g(9.3.1)h([Ev)m(en)
-m(t)f(Designators],)i(page)e(162\).)62 b(This)36 b(is)h(the)150
-2701 y(only)30 b(history)h(expansion)f(that)h(do)s(es)f(not)h(b)s(egin)
-f(with)g(the)g(history)h(expansion)f(c)m(haracter.)275
-2836 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
-2945 y(Builtin],)24 b(page)e(74\))h(ma)m(y)e(b)s(e)g(used)g(to)h
-(tailor)g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37
-b(If)21 b(the)h Ft(histverify)150 3055 y Fu(shell)35
-b(option)f(is)h(enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h
-(history)g(substitutions)e(are)i(not)g(immedi-)150 3165
-y(ately)i(passed)d(to)i(the)g(shell)f(parser.)55 b(Instead,)37
-b(the)e(expanded)g(line)g(is)h(reloaded)g(in)m(to)g(the)f(Readline)150
-3274 y(editing)29 b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41
-b(If)28 b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h
-Ft(histreedit)d Fu(shell)150 3384 y(option)e(is)g(enabled,)h(a)g
-(failed)f(history)g(expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h
-(the)f(Readline)g(editing)h(bu\013er)150 3493 y(for)31
-b(correction.)43 b(The)30 b Ft(-p)g Fu(option)h(to)h(the)f
-Ft(history)e Fu(builtin)h(command)h(ma)m(y)g(b)s(e)f(used)g(to)i(see)f
-(what)g(a)150 3603 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g
-(using)f(it.)40 b(The)24 b Ft(-s)h Fu(option)g(to)h(the)f
-Ft(history)e Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 3713
-y(to)36 b(add)f(commands)g(to)h(the)g(end)f(of)g(the)h(history)f(list)i
-(without)e(actually)i(executing)g(them,)g(so)e(that)150
-3822 y(they)c(are)f(a)m(v)-5 b(ailable)33 b(for)d(subsequen)m(t)g
-(recall.)42 b(This)29 b(is)i(most)g(useful)e(in)h(conjunction)h(with)f
-(Readline.)275 3957 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g
+(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: 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)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(168\).)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(76\))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 4067 y(anism)h(with)g(the)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
-4176 y(page)32 b(81\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
+2746 y(page)32 b(85\).)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 4286 y(writing)e(the)h(history)f(\014le.)150 4485
-y Fk(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 4632
-y Fu(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g(reference)g(to)h(a)f
-(command)f(line)h(en)m(try)g(in)g(the)g(history)g(list.)48
-b(Unless)33 b(the)150 4742 y(reference)40 b(is)f(absolute,)k(ev)m(en)m
-(ts)e(are)f(relativ)m(e)i(to)e(the)g(curren)m(t)f(p)s(osition)g(in)h
-(the)f(history)h(list.)68 b(The)150 4851 y(ev)m(en)m(t)35
-b(designator)f(consists)g(of)g(the)g(p)s(ortion)f(of)g(the)h(w)m(ord)f
-(b)s(eginning)g(with)g(the)h(history)f(expansion)150
-4961 y(c)m(haracter,)f(and)e(ending)g(with)g(the)h(w)m(ord)f
-(designator)h(if)f(one)h(is)f(presen)m(t,)h(or)f(the)h(end)e(of)i(the)g
-(w)m(ord.)150 5121 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 5230 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
-5340 y([De\014nitions],)32 b(page)f(3\).)p eop end
-%%Page: 163 169
-TeXDict begin 163 168 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(163)150
-299 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g
-Fr(n)p Fu(.)150 460 y Ft(!-)p Fj(n)336 b Fu(Refer)30
-b(to)i(the)e(command)g Fr(n)g Fu(lines)h(bac)m(k.)150
-622 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40
-b(This)30 b(is)g(a)h(synon)m(ym)f(for)g(`)p Ft(!-1)p
-Fu('.)150 783 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h
+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 892 y(list)31 b(starting)g(with)f
-Fr(string)p Fu(.)150 1054 y Ft(!?)p Fj(string)p Ft([?])630
-1163 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)
+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
-1273 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45
+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 1383
-y(immediately)f(b)m(y)e(a)h(newline.)40 b(If)29 b Fr(string)38
-b Fu(is)29 b(missing,)h(the)g(string)f(from)g(the)h(most)g(recen)m(t)
-630 1492 y(searc)m(h)h(is)f(used;)g(it)h(is)g(an)f(error)g(if)g(there)h
-(is)f(no)g(previous)g(searc)m(h)h(string.)150 1653 y
-Ft(^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 1763
-y Fu(Quic)m(k)h(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 1873 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
-2034 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 2235 y Fk(9.3.2)63 b(W)-10 b(ord)41
-b(Designators)150 2382 y Fu(W)-8 b(ord)28 b(designators)h(are)f(used)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: 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)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 2492 y(w)m(ord)h(designator)
+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
-2601 y(the)f(ev)m(en)m(t)i(sp)s(eci\014cation)e(from)g(the)g(w)m(ord)g
+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 2711 y(b)s(egins)33 b(with)h(a)h(`)p
+(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 2820 y(with)39 b(the)h(\014rst)f(w)m(ord)g(b)s(eing)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
-2930 y(separated)31 b(b)m(y)f(single)h(spaces.)275 3066
-y(F)-8 b(or)31 b(example,)150 3229 y Ft(!!)384 b Fu(designates)37
+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 3338 y(mand)30 b(is)g(rep)s(eated)g
-(in)g(toto.)150 3500 y Ft(!!:$)288 b Fu(designates)23
+(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 3609 y(to)31
-b Ft(!$)p Fu(.)150 3770 y Ft(!fi:2)240 b Fu(designates)30
+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 3880 y(letters)j Ft(fi)p Fu(.)275
-4042 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150
-4205 y Ft(0)g(\(zero\))114 b Fu(The)30 b Ft(0)p Fu(th)g(w)m(ord.)40
-b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f
-(w)m(ord.)150 4366 y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150
-4527 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m
-(ord)g(1.)150 4689 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150
-4850 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
-4959 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 5069 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 5179 y(is)j(the)h(one)g(closest)h(to)f(the)f(end)g(of)g(the)h
-(line.)150 5340 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('.)p eop end
-%%Page: 164 170
-TeXDict begin 164 169 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(164)150
-299 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
+(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
-408 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m
-(ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h
-(returned)e(in)630 518 y(that)j(case.)150 677 y Fj(x)p
-Ft(*)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu(')150
-837 y Fj(x)p Ft(-)384 b Fu(Abbreviates)27 b(`)p Fj(x)p
+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 946 y(to)j(0.)275 1106 y(If)i(a)h(w)m(ord)g(designator)g
+(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 1215 y(is)d(used)g(as)h(the)f(ev)m(en)m
-(t.)150 1415 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 1562
-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 1671 y(mo)s(di\014ers,)33 b(eac)m(h)h(preceded)f(b)m(y)g(a)h(`)p
+(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: 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 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 1781 y(the)d(history)f
-(ev)m(en)m(t.)150 1940 y Ft(h)432 b Fu(Remo)m(v)m(e)32
-b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the)
-h(head.)150 2100 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h
-(pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150
-2259 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 2418 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h
-(trailing)g(su\016x.)150 2578 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
-2737 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g
-(escaping)h(further)e(substitutions.)150 2897 y Ft(x)432
+(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 3006 y(and)38 b(newlines.)66 b(The)39 b(`)p Ft(q)p
-Fu(')g(and)f(`)p Ft(x)p Fu(')h(mo)s(di\014ers)f(are)h(m)m(utually)g
-(exclusiv)m(e;)45 b(the)39 b(last)h(one)630 3116 y(supplied)29
-b(is)i(used.)150 3275 y Ft(s/)p Fj(old)p Ft(/)p Fj(new)p
-Ft(/)630 3385 y Fu(Substitute)g 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
-3494 y(ma)m(y)k(b)s(e)e(used)h(as)g(the)h(delimiter)g(in)f(place)h(of)f
-(`)p Ft(/)p Fu('.)53 b(The)33 b(delimiter)i(ma)m(y)g(b)s(e)f(quoted)g
-(in)630 3604 y Fr(old)40 b Fu(and)c Fr(new)44 b Fu(with)36
-b(a)h(single)g(bac)m(kslash.)60 b(If)36 b(`)p Ft(&)p
-Fu(')h(app)s(ears)e(in)i Fr(new)p Fu(,)g(it)h(is)e(replaced)h(b)m(y)630
-3714 y Fr(old)p Fu(.)k(A)31 b(single)g(bac)m(kslash)g(will)g(quote)g
-(the)g(`)p Ft(&)p Fu('.)41 b(If)31 b Fr(old)j Fu(is)c(n)m(ull,)h(it)g
-(is)g(set)g(to)g(the)g(last)g Fr(old)630 3823 y Fu(substituted,)j(or,)g
-(if)f(no)g(previous)g(history)g(substitutions)g(to)s(ok)h(place,)h(the)
-e(last)h Fr(string)630 3933 y Fu(in)d(a)g(!?)p Fr(string)8
-b Ft([?])30 b Fu(searc)m(h.)44 b(If)31 b Fr(new)38 b
-Fu(is)31 b(n)m(ull,)h(eac)m(h)g(matc)m(hing)g Fr(old)j
-Fu(is)c(deleted.)44 b(The)30 b(\014nal)630 4042 y(delimiter)h(is)g
-(optional)g(if)f(it)h(is)g(the)f(last)h(c)m(haracter)h(on)f(the)f
-(input)g(line.)150 4202 y Ft(&)432 b Fu(Rep)s(eat)31
-b(the)f(previous)g(substitution.)150 4361 y Ft(g)150
-4471 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v)
-m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39
-b(in)f(conjunction)630 4580 y(with)30 b(`)p Ft(s)p Fu(',)h(as)f(in)h
-Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)p Fu(,)c(or)j(with)h(`)p
-Ft(&)p Fu('.)150 4740 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: 165 171
-TeXDict begin 165 170 bop 3614 -116 a Fu(165)150 299
+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: 171 177
+TeXDict begin 171 176 bop 3614 -116 a Fu(171)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
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 Fm(ms-dos)p Fu(,)h Fm(os/2)p
-Fu(,)g(and)g(Windo)m(ws)g(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
+(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
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,)f(so)f(`)p Ft(sudo)d(make)f(install)p
-Fu(')i(migh)m(t)i(b)s(e)f(required.)47 b(More)33 b(information)g(ab)s
-(out)f(con-)330 3071 y(trolling)c(the)g(lo)s(cations)g(where)f
-Ft(bash)f Fu(and)h(other)g(\014les)g(are)h(installed)g(is)f(b)s(elo)m
-(w)g(\(see)h(Section)g(10.4)330 3181 y([Installation)k(Names],)g(page)f
-(167\).)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
+(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(173\).)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
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: 166 172
-TeXDict begin 166 171 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(166)390 299 y Ft(cd)47
+%%Page: 172 178
+TeXDict begin 172 177 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(172)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(166,)j(for)c(more)i(information)150
+(hitectures],)i(page)d(172,)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
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(165\).)47
+(Section)f(10.1)i([Basic)f(Installation],)i(page)e(171\).)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
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: 167 173
-TeXDict begin 167 172 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(167)150 299 y Fs(10.4)68
+%%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)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(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: 168 174
-TeXDict begin 168 173 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(168)150 299 y Fs(10.7)68
+%%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.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 606 y Ft(--cache-file=)p Fj(file)630
-716 y Fu(Use)d(and)g(sa)m(v)m(e)h(the)f(results)g(of)g(the)h(tests)f
+(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 825 y Fu(to)j Ft(/dev/null)d
+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 973 y Ft(--help)192 b Fu(Prin)m(t)30 b(a)h(summary)e(of)i(the)
+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
-1121 y Ft(--quiet)150 1230 y(--silent)150 1340 y(-q)384
+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 1487 y Ft(--srcdir=)p
-Fj(dir)630 1597 y Fu(Lo)s(ok)i(for)g(the)g(Bash)g(source)h(co)s(de)f
+(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 1707 y(mine)e(that)h(directory)g(automatically)-8
-b(.)150 1854 y Ft(--version)630 1964 y Fu(Prin)m(t)29
+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 2112 y Ft(configure)34
+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 2221
+(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
-2450 y Fs(10.8)68 b(Optional)46 b(F)-11 b(eatures)150
-2610 y Fu(The)29 b(Bash)h Ft(configure)d Fu(has)j(a)g(n)m(um)m(b)s(er)f
+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 2719 y(an)e(optional)i(part)e(of)h
+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 2829 y Fu(is)32 b(something)h(lik)m(e)h(`)p
-Ft(bash-malloc)p Fu(')c(or)i(`)p Ft(purify)p Fu('.)45
-b(T)-8 b(o)33 b(turn)e(o\013)i(the)f(default)h(use)f(of)g(a)h(pac)m(k)
--5 b(age,)35 b(use)150 2939 y Ft(--without-)p Fj(package)p
-Fu(.)46 b(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 3048
-y Ft(--disable-)p Fj(feature)p Fu(.)275 3177 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 3286 y Fu(recognizes.)150 3434 y Ft(--with-afs)630
-3544 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 3691 y Ft(--with-bash-malloc)630
-3801 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 3911 y(same)e Ft(malloc)e Fu(that)j(app)s(ears)e
-(in)g Fm(gnu)h Fu(lib)s(c,)g(but)f(an)h(older)f(v)m(ersion)i
-(originally)g(deriv)m(ed)630 4020 y(from)f(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
-4130 y(eac)m(h)j(allo)s(cation.)58 b(This)34 b(option)i(is)f(enabled)g
-(b)m(y)g(default.)56 b(The)34 b Ft(NOTES)g Fu(\014le)h(con)m(tains)i(a)
-630 4239 y(list)29 b(of)f(systems)f(for)h(whic)m(h)g(this)g(should)e(b)
-s(e)i(turned)e(o\013,)j(and)f Ft(configure)d Fu(disables)j(this)630
-4349 y(option)j(automatically)i(for)d(a)h(n)m(um)m(b)s(er)e(of)i
-(systems.)150 4497 y Ft(--with-curses)630 4606 y Fu(Use)h(the)h(curses)
-e(library)h(instead)g(of)h(the)f(termcap)g(library)-8
-b(.)46 b(This)32 b(should)f(b)s(e)g(supplied)630 4716
-y(if)f(y)m(our)h(system)f(has)g(an)h(inadequate)g(or)f(incomplete)i
-(termcap)e(database.)150 4863 y Ft(--with-gnu-malloc)630
-4973 y Fu(A)g(synon)m(ym)g(for)g Ft(--with-bash-malloc)p
-Fu(.)150 5121 y Ft(--with-installed-readlin)o(e[=)p Fj(P)o(REFI)o(X)p
-Ft(])630 5230 y Fu(De\014ne)c(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
-5340 y(than)f(the)h(v)m(ersion)g(in)f Ft(lib/readline)p
+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: 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 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)p eop end
-%%Page: 169 175
-TeXDict begin 169 174 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(169)630 299 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
-408 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 518 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 628 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 737 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 847 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 956 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 1066 y(library)c(in)g Fr(PREFIX)9
-b Fu(/)p Ft(lib)p Fu(\).)150 1236 y Ft(--with-libintl-prefix[=)p
-Fj(P)o(REFI)o(X)p Ft(])630 1345 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 1455 y(library)30 b(instead)h(of)f(the)h(v)m
-(ersion)g(in)f Ft(lib/intl)p Fu(.)150 1625 y Ft
-(--with-libiconv-prefix[=)o Fj(PREF)o(IX)p Ft(])630 1734
-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
-1844 y(system)h(lo)s(cations.)42 b(There)30 b(is)g(no)g(v)m(ersion)h
-(included)f(with)g(Bash.)150 2014 y Ft(--enable-minimal-config)630
-2123 y Fu(This)23 b(pro)s(duces)f(a)i(shell)g(with)f(minimal)h
-(features,)h(close)g(to)f(the)g(historical)h(Bourne)e(shell.)275
-2298 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
-2408 y(stalled,)c(rather)e(than)g(c)m(hanging)h(run-time)f(features.)
-150 2583 y Ft(--enable-largefile)630 2692 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 2802 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
-2911 y(build)33 b(programs)g(whic)m(h)h(can)g(access)h(large)g
+(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
-3021 y(op)s(erating)d(system)f(pro)m(vides)h(large)g(\014le)g(supp)s
-(ort.)150 3191 y Ft(--enable-profiling)630 3300 y Fu(This)g(builds)f(a)
+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 3410 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f
-(it)g(is)f(executed.)150 3580 y Ft(--enable-separate-helpfi)o(les)630
-3689 y Fu(Use)i(external)h(\014les)f(for)g(the)g(do)s(cumen)m(tation)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
-3799 y(of)f(storing)f(the)h(text)g(in)m(ternally)-8 b(.)150
-3969 y Ft(--enable-static-link)630 4078 y Fu(This)37
+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 4188 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 4363
+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
-4472 y(is)h(pro)s(cessed)g(\014rst,)g(so)h(individual)f(options)g(ma)m
+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 4617 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 4727
+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)150
-4836 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 4946 y(the)e(necessary)f(supp)s(ort.)150 5121
-y Ft(--enable-alias)630 5230 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 5340 y(tion)31 b(6.6)g([Aliases],)i
-(page)e(103\).)p eop end
-%%Page: 170 176
-TeXDict begin 170 175 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(170)150 299 y Ft
-(--enable-alt-array-imple)o(ment)o(atio)o(n)630 408 y
-Fu(This)32 b(builds)g(Bash)h(using)f(an)g(alternate)j(implemen)m
+Fu(',)h(`)p Ft(strict-posix-default)p Fu(',)f(and)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(`)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(107\).)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
-518 y([Arra)m(ys],)43 b(page)d(103\))h(that)f(pro)m(vides)g(faster)g
+1139 y([Arra)m(ys],)43 b(page)d(108\))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
-628 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 774
-y Ft(--enable-arith-for-comma)o(nd)630 883 y Fu(Include)21
+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
-993 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(11\).)150
-1139 y Ft(--enable-array-variables)630 1249 y Fu(Include)h(supp)s(ort)g
+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 1358 y(ra)m(ys],)c(page)g(103\).)150
-1504 y Ft(--enable-bang-history)630 1614 y Fu(Include)36
+b(\(see)h(Section)g(6.7)h([Ar-)630 1979 y(ra)m(ys],)c(page)g(108\).)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 1724 y(teraction],)c(page)e
-(161\).)150 1870 y Ft(--enable-brace-expansion)630 1979
-y Fu(Include)40 b Ft(csh)p Fu(-lik)m(e)h(brace)f(expansion)g(\()h
+(\(see)h(Section)g(9.3)h([History)f(In-)630 2345 y(teraction],)c(page)e
+(167\).)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(76,)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 2089 y([Brace)32 b(Expansion],)e(page)h(24,)h
-(for)e(a)g(complete)i(description.)150 2235 y Ft
-(--enable-casemod-attribu)o(tes)630 2345 y Fu(Include)37
+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 2454 y(signmen)m(t)43
+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
-2564 y(will)31 b(ha)m(v)m(e)g(their)g(v)-5 b(alues)30
+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
-2710 y Ft(--enable-casemod-expansi)o(on)630 2819 y Fu(Include)h(supp)s
+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
-2966 y Ft(--enable-command-timing)630 3075 y Fu(Include)43
+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 3185 y(timing)37
+(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
-3294 y(page)j(10\).)70 b(This)40 b(allo)m(ws)h(pip)s(elines)e(as)h(w)m
-(ell)h(as)f(shell)h(builtins)e(and)g(functions)h(to)h(b)s(e)630
-3404 y(timed.)150 3550 y Ft(--enable-cond-command)630
-3660 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 3769 y(tional)c(Constructs],)e(page)h(12\).)150 3915
-y Ft(--enable-cond-regexp)630 4025 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 4134 y(op)s(erator)25 b(in)f(the)h
+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 4244 y(structs],)31 b(page)g(12\).)150
-4390 y Ft(--enable-coprocesses)630 4500 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
-4609 y([Pip)s(elines],)31 b(page)g(10\).)150 4756 y Ft
-(--enable-debugger)630 4865 y Fu(Include)f(supp)s(ort)e(for)i(the)h
-(Bash)g(debugger)f(\(distributed)f(separately\).)150
-5011 y Ft(--enable-dev-fd-stat-bro)o(ken)630 5121 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 5230 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 5340 y(for)j(conditional)i(commands)e(that)h
-(test)g(\014le)g(attributes.)p eop end
-%%Page: 171 177
-TeXDict begin 171 176 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(171)150 299 y Ft
-(--enable-direxpand-defau)o(lt)630 408 y Fu(Cause)53
+([Conditional)e(Con-)630 5340 y(structs],)31 b(page)g(12\).)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 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 518 y(page)29 b(74\))g(to)f(b)s(e)f
+([The)e(Shopt)f(Builtin],)630 1614 y(page)29 b(76\))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 628 y(b)m(y)i(default.)150
-807 y Ft(--enable-directory-stack)630 917 y Fu(Include)j(supp)s(ort)g
+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
-1026 y Fu(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m
-(k],)g(page)f(105\).)150 1205 y Ft(--enable-disabled-builti)o(ns)630
-1315 y Fu(Allo)m(w)40 b(builtin)e(commands)g(to)h(b)s(e)f(in)m(v)m(ok)m
+2089 y Fu(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m
+(k],)g(page)f(110\).)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 1425 y(b)s(een)31 b(disabled)g(using)g(`)p
+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(57,)630 1534 y(for)e(details)i(of)e(the)h
+(Builtins],)i(page)f(59,)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
-1714 y Ft(--enable-dparen-arithmet)o(ic)630 1823 y Fu(Include)42
+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 1933 y(Constructs],)30
-b(page)h(12\).)150 2112 y Ft(--enable-extended-glob)630
-2222 y Fu(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h
+(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
-2331 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i
-(page)e(37.)150 2511 y Ft(--enable-extended-glob-d)o(efau)o(lt)630
-2620 y Fu(Set)37 b(the)f(default)h(v)-5 b(alue)37 b(of)f(the)h
+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 2730 y(tion)d(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(74,)
-h(to)f(b)s(e)f(enabled.)150 2909 y Ft(--enable-function-import)630
-3019 y Fu(Include)23 b(supp)s(ort)g(for)g(imp)s(orting)h(function)g
+c(Sec-)630 3660 y(tion)d(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(76,)
+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
-3128 y(of)31 b(the)f(shell)h(from)f(the)g(en)m(vironmen)m(t.)41
+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
-3308 y Ft(--enable-glob-asciirange)o(s-de)o(faul)o(t)630
-3417 y Fu(Set)f(the)f(default)h(v)-5 b(alue)29 b(of)f(the)h
+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 3527 y(der)c(Section)i(4.3.2)h([The)d(Shopt)g
-(Builtin],)j(page)f(74,)g(to)g(b)s(e)e(enabled.)40 b(This)26
-b(con)m(trols)i(the)630 3636 y(b)s(eha)m(vior)40 b(of)f(c)m(haracter)i
+(v)m(e)j(un-)630 4390 y(der)c(Section)i(4.3.2)h([The)d(Shopt)g
+(Builtin],)j(page)f(76,)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 3746 y(sions.)150 3925 y Ft(--enable-help-builtin)630
-4035 y Fu(Include)24 b(the)h Ft(help)f Fu(builtin,)h(whic)m(h)g(displa)
+(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 4144 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(57\).)150 4324 y Ft(--enable-history)630 4433 y Fu(Include)e(command)g
+b(\(see)630 4975 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
+(59\).)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 4543 y(tion)h(9.1)g([Bash)g
-(History)g(F)-8 b(acilities],)34 b(page)d(159\).)150
-4722 y Ft(--enable-job-control)630 4832 y Fu(This)h(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(118\),)630 4941 y(if)c(the)h(op)s(erating)g(system)f
-(supp)s(orts)f(them.)150 5121 y Ft(--enable-multibyte)630
-5230 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
-5340 y(the)h(necessary)f(supp)s(ort.)p eop end
-%%Page: 172 178
-TeXDict begin 172 177 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(172)150 299 y Ft
-(--enable-net-redirection)o(s)630 408 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 518 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
-628 y(tions],)e(page)g(39\).)150 787 y Ft(--enable-process-substit)o
-(utio)o(n)630 897 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
-1006 y(page)31 b(35\))h(if)e(the)h(op)s(erating)f(system)h(pro)m(vides)
-f(the)h(necessary)g(supp)s(ort.)150 1166 y Ft(--enable-progcomp)630
-1275 y Fu(Enable)d(the)g(programmable)g(completion)i(facilities)g
-(\(see)f(Section)g(8.6)g([Programmable)630 1385 y(Completion],)i(page)h
-(150\).)42 b(If)30 b(Readline)h(is)f(not)h(enabled,)f(this)h(option)g
-(has)f(no)g(e\013ect.)150 1544 y Ft(--enable-prompt-string-d)o(ecod)o
-(ing)630 1654 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 1763 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
-1873 y(Prompt],)30 b(page)h(107,)h(for)f(a)f(complete)i(list)f(of)g
-(prompt)e(string)i(escap)s(e)f(sequences.)150 2032 y
-Ft(--enable-readline)630 2142 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 2252 y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)
-g([Command)g(Line)g(Editing],)h(page)g(122\).)150 2411
-y Ft(--enable-restricted)630 2521 y Fu(Include)41 b(supp)s(ort)f(for)i
-(a)g Fr(restricted)g(shell)p Fu(.)75 b(If)42 b(this)f(is)h(enabled,)j
-(Bash,)g(when)c(called)630 2630 y(as)f Ft(rbash)p Fu(,)h(en)m(ters)f(a)
-g(restricted)h(mo)s(de.)68 b(See)40 b(Section)h(6.10)g([The)f
-(Restricted)h(Shell],)630 2740 y(page)31 b(109,)h(for)e(a)h
-(description)f(of)h(restricted)g(mo)s(de.)150 2899 y
-Ft(--enable-select)630 3009 y Fu(Include)25 b(the)h Ft(select)f
-Fu(comp)s(ound)f(command,)j(whic)m(h)e(allo)m(ws)j(the)e(generation)h
-(of)f(simple)630 3118 y(men)m(us)k(\(see)h(Section)g(3.2.5.2)i
-([Conditional)e(Constructs],)g(page)g(12\).)150 3278
-y Ft(--enable-single-help-str)o(ings)630 3387 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
-3497 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
-3606 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 3766 y Ft
-(--enable-strict-posix-de)o(faul)o(t)630 3875 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 3985 y(page)31
-b(109\).)150 4144 y Ft(--enable-translatable-st)o(ring)o(s)630
-4254 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 4364 y(T)-8 b(ranslation],)32 b(page)f(7\).)150
-4523 y Ft(--enable-usg-echo-defaul)o(t)630 4633 y Fu(A)f(synon)m(ym)g
-(for)g Ft(--enable-xpg-echo-default)p Fu(.)150 4792 y
-Ft(--enable-xpg-echo-defaul)o(t)630 4902 y Fu(Mak)m(e)c(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 5011 y(requiring)d(the)h
+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(164\).)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-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(155\).)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(111,)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(127\).)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(113,)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(114\).)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: 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-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
-5121 y(to)28 b Ft(on)p Fu(,)g(whic)m(h)f(mak)m(es)h(the)g(Bash)f
+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 5230 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(57,)630 5340 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.)p
+(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(59,)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: 173 179
-TeXDict begin 173 178 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(173)275 299 y(The)28 b(\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
-408 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 518 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 628 y(information)c(ab)s(out)f
-(its)h(e\013ect.)p eop end
-%%Page: 174 180
-TeXDict begin 174 179 bop 3614 -116 a Fu(174)150 299
+%%Page: 180 186
+TeXDict begin 180 185 bop 3614 -116 a Fu(180)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,)d(and)g(that)h(it)g(app)s
-(ears)f(in)g(the)h(latest)h(v)m(ersion)f(of)g(Bash.)40
-b(The)29 b(latest)j(v)m(ersion)e(of)f(Bash)h(is)f(alw)m(a)m(ys)150
-752 y(a)m(v)-5 b(ailable)43 b(for)d(FTP)g(from)g Ft(ftp:)8
-b(/)g(/)g(ftp)g(.)g(gnu)g(.)g(org)g(/)g(pub)g(/)g(gnu)g(/)g(bash)g(/)45
-b Fu(and)40 b(from)g Ft(http:)8 b(/)g(/)g(git)g(.)150
-862 y(savannah.gnu.org/cgit/ba)o(sh.g)o(it/s)o(nap)o(shot)o(/bas)o(h-m)
-o(aste)o(r.ta)o(r.g)o(z)p Fu(.)275 996 y(Once)41 b(y)m(ou)g(ha)m(v)m(e)
-h(determined)f(that)h(a)f(bug)g(actually)h(exists,)j(use)c(the)g
-Ft(bashbug)e Fu(command)i(to)150 1106 y(submit)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: 175 181
-TeXDict begin 175 180 bop 3614 -116 a Fu(175)150 141
+(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: 181 187
+TeXDict begin 181 186 bop 3614 -116 a Fu(181)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 530 y Fu(Bash)26
+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
-640 y(tion,)i(and)e(quoting)g(as)h(the)g(Bourne)f(Shell.)40
-b(Bash)27 b(uses)g(the)h Fm(posix)f Fu(standard)f(as)i(the)g(sp)s
-(eci\014cation)g(of)150 749 y(ho)m(w)34 b(these)h(features)g(are)g(to)g
-(b)s(e)f(implemen)m(ted.)53 b(There)34 b(are)h(some)g(di\013erences)g
-(b)s(et)m(w)m(een)g(the)g(tradi-)150 859 y(tional)e(Bourne)e(shell)h
-(and)f(Bash;)i(this)f(section)g(quic)m(kly)h(details)g(the)e
-(di\013erences)h(of)g(signi\014cance.)46 b(A)150 969
-y(n)m(um)m(b)s(er)24 b(of)h(these)h(di\013erences)f(are)h(explained)f
-(in)g(greater)h(depth)f(in)g(previous)f(sections.)40
-b(This)25 b(section)150 1078 y(uses)33 b(the)i(v)m(ersion)f(of)g
-Ft(sh)f Fu(included)g(in)h(SVR4.2)h(\(the)f(last)h(v)m(ersion)f(of)g
-(the)g(historical)i(Bourne)d(shell\))150 1188 y(as)e(the)f(baseline)h
-(reference.)225 1322 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
+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
-1431 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(109\).)225 1565 y Fq(\017)60
+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(114\).)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
-(94\).)225 1699 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
-(122\))330 1809 y(and)30 b(the)g Ft(bind)g Fu(builtin.)225
-1943 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
-2052 y(grammable)39 b(Completion],)i(page)e(150\),)i(and)d(builtin)g
+(98\).)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(113\);)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(127\))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(155\),)i(and)d(builtin)g
(commands)f Ft(complete)p Fu(,)h Ft(compgen)p Fu(,)h(and)330
-2162 y Ft(compopt)p Fu(,)29 b(to)i(manipulate)g(it.)225
-2296 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(159\))i(and)d(the)330 2405 y Ft(history)k Fu(and)h
+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(111\).)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(164\))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
-2515 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
+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 2649 y Fq(\017)60 b Fu(Bash)48
+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 2759
-y(page)31 b(161\).)225 2892 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(103\),)h(and)e(the)330
-3002 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 3112 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 3221 y(v)-5 b(ariables.)225
-3355 y Fq(\017)60 b Fu(The)37 b Ft($'...)n(')g Fu(quoting)g(syn)m(tax,)
-j(whic)m(h)d(expands)f(ANSI-C)h(bac)m(kslash-escap)s(ed)h(c)m
-(haracters)g(in)330 3465 y(the)26 b(text)h(b)s(et)m(w)m(een)g(the)g
-(single)f(quotes,)i(is)e(supp)s(orted)f(\(see)i(Section)g(3.1.2.4)h
-([ANSI-C)e(Quoting],)330 3574 y(page)31 b(6\).)225 3708
-y Fq(\017)60 b Fu(Bash)30 b(supp)s(orts)f(the)h Ft($"...)o(")f
-Fu(quoting)i(syn)m(tax)g(to)f(do)g(lo)s(cale-sp)s(eci\014c)i
-(translation)g(of)e(the)g(c)m(har-)330 3818 y(acters)g(b)s(et)m(w)m
-(een)f(the)f(double)g(quotes.)41 b(The)28 b Ft(-D)p Fu(,)h
-Ft(--dump-strings)p Fu(,)c(and)j Ft(--dump-po-strings)330
-3927 y Fu(in)m(v)m(o)s(cation)42 b(options)d(list)i(the)e(translatable)
-i(strings)f(found)e(in)h(a)h(script)g(\(see)g(Section)g(3.1.2.5)330
-4037 y([Lo)s(cale)32 b(T)-8 b(ranslation],)31 b(page)h(7\).)225
-4171 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 4281
-y(tion)36 b(3.2.3)h([Pip)s(elines],)g(page)f(10\).)57
-b(V)-8 b(ery)36 b(useful)f(when)f(an)h Ft(if)g Fu(statemen)m(t)i(needs)
-e(to)h(act)h(only)330 4390 y(if)32 b(a)g(test)g(fails.)45
-b(The)31 b(Bash)h(`)p Ft(-o)e(pipefail)p Fu(')g(option)i(to)g
-Ft(set)f Fu(will)h(cause)g(a)g(pip)s(eline)g(to)g(return)f(a)330
-4500 y(failure)g(status)f(if)h(an)m(y)f(command)g(fails.)225
-4634 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 4743 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 4853 y Fu(v)-5
-b(ariable.)225 4987 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 5096
-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(11\).)225 5230 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
-5340 y(men)m(us)f(\(see)h(Section)g(3.2.5.2)i([Conditional)e
-(Constructs],)g(page)g(12\).)p eop end
-%%Page: 176 182
-TeXDict begin 176 181 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(176)225 299 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
-408 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 518 y(optional)32
-b(regular)e(expression)g(matc)m(hing.)225 660 y Fq(\017)60
-b Fu(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m
-(hing)f(for)e(the)g Ft(case)g Fu(and)f Ft([[)h Fu(constructs.)225
-802 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(24\))h(and)d(tilde)330
-911 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f
-(page)h(25\).)225 1053 y Fq(\017)60 b Fu(Bash)24 b(implemen)m(ts)h
+(Section)g(9.3)h([History)f(In)m(teraction],)330 3587
+y(page)31 b(167\).)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
-1163 y([Aliases],)32 b(page)f(103\).)225 1305 y Fq(\017)60
-b Fu(Bash)32 b(pro)m(vides)g(shell)g(arithmetic,)i(the)e
-Ft(\(\()g Fu(comp)s(ound)e(command)i(\(see)h(Section)f(3.2.5.2)j([Con-)
-330 1414 y(ditional)d(Constructs],)e(page)i(12\),)g(and)e(arithmetic)i
-(expansion)e(\(see)i(Section)f(6.5)h([Shell)f(Arith-)330
-1524 y(metic],)h(page)f(101\).)225 1666 y Fq(\017)60
+4880 y([Aliases],)32 b(page)f(107\).)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(71\).)p eop end
+%%Page: 182 188
+TeXDict begin 182 187 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(182)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
+(105\).)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(108\),)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 1775 y(pro)s(cesses.)38 b(The)23 b(Bourne)g(shell)g(do)s(es)g(not)g
-(normally)g(do)g(this)g(unless)g(the)g(v)-5 b(ariables)24
-b(are)f(explicitly)330 1885 y(mark)m(ed)30 b(using)g(the)h
-Ft(export)e Fu(command.)225 2027 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 2136 y(named)30 b(on)g(the)h(left)g(hand)e(side.)225
-2278 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 2388 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
-2497 y(Expansion],)30 b(page)h(26\).)225 2639 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
-2749 y(tion)31 b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i
-(26\).)225 2890 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 3000 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 3110 y(Expansion],)30 b(page)h(26\).)225
-3251 y Fq(\017)60 b Fu(The)21 b(expansion)f Ft(${)p Fj(var)p
+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
-3361 y(it)30 b(with)f Fr(replacemen)m(t)k Fu(in)c(the)h(v)-5
+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
-3471 y(Expansion],)g(page)h(26\),)h(with)e(a)h(mec)m(hanism)g(to)g(use)
+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(.)225 3612 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 3722
-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 3832 y(Expansion],)30 b(page)h(26\).)225
-3973 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 4083 y(Expansion],)44
-b(page)e(26\))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
-4193 y(indirect)31 b(v)-5 b(ariable)31 b(expansion.)225
-4334 y Fq(\017)60 b Fu(Bash)31 b(can)f(expand)g(p)s(ositional)h
-(parameters)g(b)s(ey)m(ond)e Ft($9)h Fu(using)g Ft(${)p
-Fj(num)p Ft(})p Fu(.)225 4476 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
-4586 y(where)30 b(`)p Ft(X)p Fu(')g(sp)s(eci\014es)g(the)h
-(transformation.)225 4728 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
-4837 y(mand)38 b(Substitution],)k(page)e(34\),)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 4947 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h
-(compatibilit)m(y\).)225 5089 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
-5198 y(in)f(the)h(curren)m(t)f(shell)g(execution)i(en)m(vironmen)m(t)f
-(\()p Ft(${)f Fj(command)p Ft(;})p Fu(\).)225 5340 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(35\).)p
-eop end
-%%Page: 177 183
-TeXDict begin 177 182 bop 150 -116 a Fu(App)s(endix)29
+Fu(.)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(177)225 299 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
-408 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
-518 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 628 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(81,)g(for)f
-(details.)225 771 y Fq(\017)60 b Fu(Bash)23 b(uses)f(man)m(y)h(v)-5
-b(ariables)24 b(to)g(pro)m(vide)e(functionalit)m(y)j(and)d(customize)i
-(shell)f(b)s(eha)m(vior)g(that)h(the)330 881 y(Bourne)30
-b(shell)h(do)s(es)f(not.)41 b(Examples)30 b(include)g
-Ft(RANDOM)p Fu(,)f Ft(SRANDOM)p Fu(,)g Ft(EPOCHSECONDS)p
-Fu(,)e Ft(GLOBSORT)p Fu(,)330 991 y Ft(TIMEFORMAT)p Fu(,)e
-Ft(BASHPID)p Fu(,)g Ft(BASH_XTRACEFD)p Fu(,)f Ft(GLOBIGNORE)p
-Fu(,)h Ft(HISTIGNORE)p Fu(,)g(and)h Ft(BASH_VERSION)p
-Fu(.)330 1100 y(See)31 b(Section)g(5.2)g([Bash)g(V)-8
-b(ariables],)32 b(page)f(81,)h(for)e(a)h(complete)h(list.)225
-1244 y Fq(\017)60 b Fu(The)44 b Ft(IFS)f Fu(v)-5 b(ariable)45
-b(is)f(used)f(to)i(split)f(only)g(the)g(results)g(of)h(expansion,)i
-(not)d(all)h(w)m(ords)f(\(see)330 1354 y(Section)29 b(3.5.7)h([W)-8
-b(ord)29 b(Splitting],)h(page)f(36\).)41 b(This)28 b(closes)h(a)g
-(longstanding)g(shell)f(securit)m(y)h(hole.)225 1498
-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 1607 y(c)m(haracters)32
-b(b)s(et)m(w)m(een)f(the)f(brac)m(k)m(ets.)43 b(The)29
-b(Bourne)i(shell)f(uses)g(only)h(`)p Ft(!)p Fu('.)225
-1751 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 1861 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 1970 y(Expansion],)30 b(page)h(36\).)225
-2114 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 2224 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(37\).)225 2367 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(The)f(Bourne)g(Shell)1258 b(183)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(85,)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(85,)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 2477 y(the)31
-b(t)m(w)m(o)g(name)g(spaces.)225 2621 y Fq(\017)60 b
+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 2730 y(useful)i(recursiv)m(e)g
-(functions)g(ma)m(y)h(b)s(e)f(written)g(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(57\).)225 2874 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 2984
-y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)
-e(45\).)60 b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37
-b(assignmen)m(ts)330 3093 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 3237 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 3347 y(output)30 b(redirection)h(op)s(erators)g
-(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(39\).)225
-3491 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 3600
-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
-3710 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(39\).)225 3854
-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 3963 y(input)29 b(to)j(a)e(command)
-g(\(see)i(Section)f(3.6)g([Redirections],)h(page)g(39\).)225
-4107 y Fq(\017)60 b Fu(Bash)32 b(implemen)m(ts)f(the)h(`)p
+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(59\).)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(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
-4217 y(one)g(\014le)f(descriptor)g(to)h(another.)225
-4361 y Fq(\017)60 b Fu(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i
+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 4470 y(\(see)31 b(Section)h(3.6)f
-([Redirections],)h(page)f(39\).)225 4614 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
-4724 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h
-([Redirections],)g(page)f(39\).)225 4867 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 4977 y(rection)39
-b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(69\).)66
+(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(71\).)66
b(The)38 b(`)p Ft(>|)p Fu(')h(redirection)g(op)s(erator)330
-5087 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 5230 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(49\))h(eac)m(h)330
-5340 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.)p
-eop end
-%%Page: 178 184
-TeXDict begin 178 183 bop 150 -116 a Fu(App)s(endix)29
+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(110\).)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(59\).)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(59\),)
+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(50\))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(59\).)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: 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(178)225 299 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 408 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 518 y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g
-(page)g(57\).)225 648 y Fq(\017)60 b Fu(Bash)34 b(implemen)m(ts)g(supp)
-s(ort)e(for)i(dynamically)g(loading)h(builtin)e(commands)g(from)h
-(shared)f(ob-)330 758 y(jects.)225 888 y Fq(\017)60 b
-Fu(The)35 b Ft(command)e Fu(builtin)i(allo)m(ws)i(selectiv)m(e)h
-(disabling)e(of)f(functions)g(when)g(command)g(lo)s(okup)g(is)330
-998 y(p)s(erformed)29 b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g
-(page)g(57\).)225 1128 y Fq(\017)60 b Fu(Individual)23
-b(builtins)g(ma)m(y)i(b)s(e)e(enabled)h(or)g(disabled)g(using)f(the)h
-Ft(enable)f Fu(builtin)g(\(see)i(Section)g(4.2)330 1237
-y([Bash)31 b(Builtins],)g(page)g(57\).)225 1367 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(185)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(59\))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 1477 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g
+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
-1587 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(49\).)225 1717
+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(50\).)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 1826 y(Section)i(3.3)h([Shell)e(F)-8
-b(unctions],)32 b(page)f(19\).)225 1956 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 2066 y(\()p Ft(PS0)p Fu(,)30 b Ft(PS1)p
-Fu(,)g Ft(PS2)p Fu(,)g(and)f Ft(PS4)p Fu(\).)225 2196
-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 2326
-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 2436 y(primary)29
-b(prompt.)225 2566 y Fq(\017)60 b Fu(Bash)31 b(deco)s(des)f(a)h(n)m(um)
-m(b)s(er)e(of)h(bac)m(kslash-escap)s(ed)i(c)m(haracters)225
-2696 y Fq(\017)60 b Fu(The)40 b(Bash)h Ft(export)p Fu(,)h
-Ft(readonly)p Fu(,)f(and)g Ft(declare)d Fu(builtins)j(can)g(tak)m(e)h
-(a)f Ft(-f)f Fu(option)i(to)f(act)h(on)330 2806 y(shell)30
-b(functions,)f(a)h Ft(-p)f Fu(option)g(to)i(displa)m(y)e(v)-5
-b(ariables)30 b(with)f(v)-5 b(arious)30 b(attributes)g(set)g(in)f(a)h
-(format)330 2915 y(that)g(can)g(b)s(e)f(used)g(as)g(shell)h(input,)f(a)
-h Ft(-n)f Fu(option)h(to)g(remo)m(v)m(e)h(v)-5 b(arious)30
-b(v)-5 b(ariable)30 b(attributes,)h(and)330 3025 y(`)p
-Ft(name=value)p Fu(')d(argumen)m(ts)j(to)g(set)g(v)-5
-b(ariable)31 b(attributes)g(and)f(v)-5 b(alues)30 b(sim)m(ultaneously)
--8 b(.)225 3155 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 3265 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
-3374 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(49\).)225
-3504 y Fq(\017)60 b Fu(Bash)27 b(includes)f(a)i Ft(help)d
+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(50,)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(50\).)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 3614 y(Builtins],)j(page)g(57\).)225
-3744 y Fq(\017)60 b Fu(Bash)27 b(includes)f(the)h Ft(mapfile)e
+(\(see)f(Section)g(4.2)g([Bash)330 2330 y(Builtins],)j(page)g(59\).)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 3854 y(arra)m(y)31
-b(v)-5 b(ariable.)225 3984 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
-4093 y(Builtins],)31 b(page)g(57\).)225 4224 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(57\))g(will)f(read)g(a)g(line)g(ending)330
-4333 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 4443 y(argumen)m(ts)h(are)h(supplied.)42
-b(The)30 b(Bash)i Ft(read)e Fu(builtin)g(also)j(accepts)f(a)g(prompt)e
-(string)h(with)g(the)330 4552 y Ft(-p)36 b Fu(option)h(and)f(will)h
-(use)g(Readline)g(to)g(obtain)g(the)g(line)g(when)f(giv)m(en)i(the)f
-Ft(-e)f Fu(or)g Ft(-E)g Fu(options.)330 4662 y(The)31
-b Ft(read)g Fu(builtin)h(also)g(has)g(additional)h(options)f(to)h(con)m
-(trol)g(input:)43 b(the)32 b Ft(-s)f Fu(option)i(will)f(turn)330
-4771 y(o\013)f(ec)m(hoing)i(of)e(input)f(c)m(haracters)j(as)e(they)g
-(are)g(read,)h(the)f Ft(-t)f Fu(option)i(will)f(allo)m(w)i
-Ft(read)c Fu(to)j(time)330 4881 y(out)k(if)g(input)f(do)s(es)h(not)h
-(arriv)m(e)f(within)g(a)g(sp)s(eci\014ed)g(n)m(um)m(b)s(er)e(of)j
-(seconds,)g(the)g Ft(-n)e Fu(option)i(will)330 4991 y(allo)m(w)32
-b(reading)f(only)g(a)g(sp)s(eci\014ed)f(n)m(um)m(b)s(er)g(of)h(c)m
-(haracters)h(rather)f(than)f(a)h(full)g(line,)g(and)g(the)g
-Ft(-d)330 5100 y Fu(option)g(will)g(read)f(un)m(til)g(a)h(particular)g
-(c)m(haracter)h(rather)e(than)g(newline.)225 5230 y Fq(\017)60
+(\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(59\).)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(59\),)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(59\))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(59\))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 5340 y Ft(source)c Fu(builtins)g(\(see)j(Section)f
-(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(49\).)p
-eop end
-%%Page: 179 185
-TeXDict begin 179 184 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(179)225 299 y Fq(\017)60
+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(50\).)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(71\).)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(71\).)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
-408 y(Section)c(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)d(74\),)k(and)
+5230 y(Section)c(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)d(76\),)k(and)
39 b(allo)m(ws)i(these)f(options)h(to)f(b)s(e)f(set)i(and)330
-518 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(94\).)225 655
-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 765 y(tion)31 b(4.3.1)h([The)e(Set)h
-(Builtin],)g(page)g(69\).)225 902 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
-1011 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(69\).)225 1148 y Fq(\017)60
+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(98\).)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)28 b Ft(test)g Fu(builtin)h(\(see)h(Section)f(4.1)h([Bourne)f
-(Shell)g(Builtins],)h(page)g(49\))g(is)f(sligh)m(tly)h(di\013eren)m(t,)
-330 1258 y(as)23 b(it)g(implemen)m(ts)f(the)h Fm(posix)f
+(Shell)g(Builtins],)h(page)g(50\))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 1367 y(of)31
-b(argumen)m(ts.)225 1504 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
-1614 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
-1724 y(terminated)d(c)m(hild)g(pro)s(cess)f(in)g(a)g(shell)h(v)-5
-b(ariable.)225 1861 y Fq(\017)60 b Fu(Bash)31 b(includes)g(the)h
-Ft(caller)d Fu(builtin,)j(whic)m(h)f(displa)m(ys)g(the)g(con)m(text)i
-(of)f(an)m(y)g(activ)m(e)h(subroutine)330 1970 y(call)28
-b(\(a)f(shell)f(function)h(or)f(a)h(script)f(executed)h(with)f(the)h
-Ft(.)f Fu(or)g Ft(source)f Fu(builtins\).)39 b(This)26
-b(supp)s(orts)330 2080 y(the)31 b(Bash)f(debugger.)225
-2217 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(49\))h(allo)m(ws)g(a)e
-Ft(DEBUG)330 2326 y Fu(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
+(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(50\))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 2436 y(are)k(executed)g(b)s(efore)f(ev)m(ery)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 2545 y Fu(command,)35 b(ev)m(ery)g
+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 2655 y(a)29 b(shell)g(function.)40
+(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 2765 y(has)35
+(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
-2874 y(the)28 b Ft(shopt)e Fu(builtin.)39 b(The)27 b
+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 3011 y(The)21 b Ft(trap)e
+(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(49\))g(allo)m(ws)g(an)f Ft(ERR)f Fu(pseudo-)330
-3121 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
+(page)e(50\))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 3230 y(are)40 b(executed)g(after)g(a)
+(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 3340 y(not)g(inherited)f(b)m(y)h
+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
-3450 y(enabled.)330 3587 y(The)g Ft(trap)g Fu(builtin)h(\(see)g
-(Section)h(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(49\))g(allo)m
-(ws)g(a)g Ft(RETURN)330 3696 y Fu(pseudo-signal)f(sp)s(eci\014cation,)k
+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(50\))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 3806 y
+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 3915
+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 4025 y(functions)k(unless)h(the)g(function)f(has)h
+(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 4134 y Fu(option)31 b(has)f(b)s(een)g(enabled)g(using)
-g(the)g Ft(shopt)f Fu(builtin.)225 4271 y Fq(\017)60
+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
-4381 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(57\).)225 4518 y Fq(\017)60 b Fu(The)27 b(Bash)h
-Ft(umask)e Fu(builtin)h(p)s(ermits)g(a)h Ft(-p)f Fu(option)h(to)h
-(cause)f(the)g(output)f(to)h(b)s(e)f(displa)m(y)m(ed)h(in)g(the)330
-4628 y(form)i(of)h(a)g Ft(umask)f Fu(command)g(that)i(ma)m(y)f(b)s(e)f
-(reused)g(as)h(input)f(\(see)i(Section)f(4.1)h([Bourne)f(Shell)330
-4737 y(Builtins],)g(page)g(49\).)225 4874 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 4984 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(105\).)47 b(Bash)32 b(also)330 5093 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
-5230 y Fq(\017)60 b Fu(Bash)28 b(in)m(terprets)h(sp)s(ecial)g(bac)m
-(kslash-escap)s(ed)g(c)m(haracters)g(in)f(the)h(prompt)e(strings)h
-(when)f(in)m(ter-)330 5340 y(activ)m(e)33 b(\(see)e(Section)g(6.9)h
-([Con)m(trolling)f(the)g(Prompt],)f(page)h(107\).)p eop
-end
-%%Page: 180 186
-TeXDict begin 180 185 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(180)225 299 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 408
-y(page)31 b(109\);)h(the)f(SVR4.2)g(shell)g(restricted)g(mo)s(de)f(is)g
-(to)s(o)h(limited.)225 543 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
-653 y([Job)e(Con)m(trol)h(Builtins],)g(page)g(119\))g(or)g(suppress)d
-(the)i(sending)g(of)g Ft(SIGHUP)e Fu(to)j(a)g(job)f(when)f(the)330
-762 y(shell)i(exits)g(as)f(the)h(result)f(of)h(a)f Ft(SIGHUP)p
-Fu(.)225 897 y Fq(\017)60 b Fu(Bash)31 b(includes)f(a)g(n)m(um)m(b)s
-(er)f(of)i(features)g(to)g(supp)s(ort)d(a)j(separate)g(debugger)f(for)h
-(shell)f(scripts.)225 1031 y Fq(\017)60 b Fu(The)28 b(SVR4.2)h(shell)f
+2782 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
+(page)f(59\).)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(59\).)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(50\).)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
-1141 y(Bash.)225 1275 y Fq(\017)60 b Fu(Bash)31 b(do)s(es)f(not)g(ha)m
+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
-1410 y Fq(\017)60 b Fu(Bash)31 b(do)s(es)f(not)g(use)g(the)h
+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 1544 y Fq(\017)60 b Fu(The)30 b(SVR4.2)h Ft(sh)f
+(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 1704 y(More)h(features)g(unique)e(to)i
+(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(94.)150 1944 y Fs(B.1)67 b(Implemen)l(tation)48
+b(eatures],)32 b(page)f(98.)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
-2104 y Fu(Since)33 b(Bash)h(is)f(a)g(completely)i(new)e(implemen)m
+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 2213 y(tations)f(of)e(the)h(SVR4.2)g(shell.)41
-b(F)-8 b(or)31 b(instance:)225 2348 y Fq(\017)60 b Fu(Bash)32
+(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
-2457 y(suc)m(h)d(as)h(an)f Ft(if)g Fu(or)g Ft(while)f
-Fu(statemen)m(t.)225 2592 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 2702 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
-2811 y(to-\014nd)h(errors.)225 2946 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 3055 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
-3165 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 3299 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 3409 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 3518 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 3653 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
-3787 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 3897 y(b)s(e)30 b(unset.)225 4032 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 4166 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
-4276 y(allo)m(ws)c(only)f(one)g(option)g(argumen)m(t)g(\()p
+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: 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(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 4385 y(if)f(the)h(second)f(argumen)m(t)h(b)s
-(egins)f(with)g(a)h(`)p Ft(-)p Fu('.)225 4520 y Fq(\017)60
+(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 4629 y Fm(posix)34 b Fu(sp)s(ecial)h(builtins)f(fails,)i(and)e
+(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 4739 y Fu(standard.)225 4873 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 5008 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 5117
-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: 181 187
-TeXDict begin 181 186 bop 3614 -116 a Fu(181)150 299
+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: 188 194
+TeXDict begin 188 193 bop 3614 -116 a Fu(188)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
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: 182 188
-TeXDict begin 182 187 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 189 195
+TeXDict begin 189 194 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(182)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(189)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(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: 183 189
-TeXDict begin 183 188 bop 150 -116 a Fu(App)s(endix)29
+%%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(183)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(190)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
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: 184 190
-TeXDict begin 184 189 bop 150 -116 a Fu(App)s(endix)29
+%%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(184)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(191)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
(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: 185 191
-TeXDict begin 185 190 bop 150 -116 a Fu(App)s(endix)29
+%%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(185)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(192)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
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: 186 192
-TeXDict begin 186 191 bop 150 -116 a Fu(App)s(endix)29
+%%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(186)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(193)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
(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: 187 193
-TeXDict begin 187 192 bop 150 -116 a Fu(App)s(endix)29
+%%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(187)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
+b(194)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
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: 188 194
-TeXDict begin 188 193 bop 150 -116 a Fu(App)s(endix)29
+%%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(188)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(195)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
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: 189 195
-TeXDict begin 189 194 bop 3614 -116 a Fu(189)150 299
+%%Page: 196 202
+TeXDict begin 196 201 bop 3614 -116 a Fu(196)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(49)146 1157 y Fs(:)150 1273 y Fe(:)19 b Fc(:)13
+(:)33 b Fb(50)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(49)146
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(50)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(54)146 1862 y Fs(A)150 1978 y Fe(alias)9
+(:)g(:)g(:)33 b Fb(55)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(57)146 2213 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(59)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(119)150 2416 y Fe(bind)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+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(57)150 2503 y Fe(break)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(59)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(50)150 2590 y Fe(builtin)f Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(51)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(59)146 2825 y Fs(C)150 2941 y Fe(caller)6 b Fc(:)15
+b Fb(61)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(59)150 3029 y Fe(cd)c Fc(:)e(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)20 b Fb(61)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(50)150 3116 y Fe(command)22
+g(:)g(:)g(:)g(:)g(:)31 b Fb(51)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(59)150 3203 y Fe(compgen)18
+h(:)f(:)g(:)g(:)g(:)35 b Fb(61)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(152)150 3290 y Fe(complete)16
+(:)h(:)f(:)g(:)33 b Fb(157)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(152)150 3378 y Fe(compopt)18 b Fc(:)d(:)e(:)g(:)h(:)
+(:)g(:)g(:)31 b Fb(158)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(155)150 3465 y Fe(continue)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(161)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(50)146 3699 y Fs(D)150 3816 y Fe(declare)22 b Fc(:)13
+Fb(52)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(60)150 3903 y Fe(dirs)9 b Fc(:)14
+g(:)g(:)g(:)35 b Fb(62)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(106)150 3990 y Fe(disown)e
+h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(110)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(121)146 4225 y Fs(E)150 4341
+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(61)150 4428 y Fe(enable)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)
+Fb(63)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(62)150 4515 y Fe(eval)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(64)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(51)150 4603 y Fe(exec)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(52)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(51)150 4690 y Fe(exit)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(52)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(51)150 4777 y Fe(export)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(52)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(51)146 5023 y Fs(F)150 5139 y Fe(false)9 b Fc(:)14
+b Fb(52)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(51)150 5227 y Fe(fc)14
+g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(53)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(160)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29 b Fb(165)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(119)2021 871 y Fs(G)2025 988 y Fe(getopts)22 b Fc(:)13
+b Fb(124)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(51)2021 1250 y Fs(H)2025 1369 y Fe(hash)11
+h(:)f(:)g(:)35 b Fb(53)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(52)2025 1457
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(54)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(63)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fb(65)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(160)2021
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(165)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(119)2021 2186 y Fs(K)2025 2303 y Fe(kill)9 b Fc(:)14
+b Fb(124)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(120)2021 2554 y Fs(L)2025
+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(63)2025 2760 y Fe(local)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(65)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(63)2025 2848 y Fe(logout)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(65)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(63)2021 3110 y Fs(M)2025 3227 y Fe(mapfile)h Fc(:)13
+b Fb(65)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(63)2021 3489 y Fs(P)2025 3608 y Fe(popd)9
+h(:)f(:)g(:)35 b Fb(66)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(106)2025 3696
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(110)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(64)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(66)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(106)2025 3871 y Fe(pwd)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(111)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(53)2021 4133 y Fs(R)2025 4251 y Fe(read)11 b Fc(:)j(:)f(:)g(:)g(:)
+b Fb(54)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(65)2025 4339 y Fe(readarray)15 b
+g(:)g(:)g(:)26 b Fb(67)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(67)2025 4427 y Fe(readonly)18 b Fc(:)d(:)e(:)g(:)g(:)g
+g(:)g(:)30 b Fb(69)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(53)2025 4515 y Fe(return)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(54)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(53)2021 4765 y Fs(S)2025 4884 y Fe(set)14 b Fc(:)f(:)g(:)h(:)f(:)g
+b Fb(55)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(69)2025 4972 y Fe(shift)9 b Fc(:)14
+(:)g(:)h(:)f(:)28 b Fb(71)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(53)2025 5060 y Fe(shopt)9
+g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(55)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(74)2025 5148
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(76)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(67)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(69)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(121)p eop end
-%%Page: 190 196
-TeXDict begin 190 195 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(190)146 294 y Fs(T)150 410 y Fe(test)11
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(126)p eop end
+%%Page: 197 203
+TeXDict begin 197 202 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(197)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(54)150 497
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(55)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(55)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(57)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(55)150 671 y Fe(true)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(57)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(56)150 758 y Fe(type)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(58)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(67)150 846 y Fe(typeset)d Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(69)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(68)146 1090 y Fs(U)150 1206 y Fe(ulimit)6 b Fc(:)15
+b Fb(70)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(68)150 1293 y Fe(umask)9
+g(:)g(:)g(:)h(:)f(:)20 b Fb(70)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(56)150 1380 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(58)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(69)150 1467 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(71)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(57)2021
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(58)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(120)150 2167 y Fs(D.2)68 b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h
+b Fb(125)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(:)
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(17)146 4125 y Fa(})150 4241 y Fe(})19
+(:)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(17)146 4475 y Fs(C)150 4591 y Fe(case)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)
+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(11)150
+(:)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(11)146 5261 y Fs(E)150 5377 y Fe(elif)11 b Fc(:)j(:)f(:)g(:)h(:)f
+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(:)
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(13)2021 4392 y Fs(T)2025 4524 y Fe(then)11 b Fc(:)j(:)f(:)g(:)g(:)g
+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
(:)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(11)2021 5425
+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: 191 197
-TeXDict begin 191 196 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(191)150 299 y Fs(D.3)68 b(P)l(arameter)47
+%%Page: 198 204
+TeXDict begin 198 203 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(198)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(:)
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(23)146
+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(23)150 1881 y Fe($!)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g
+(:)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(23)150 2057 y Fe($$)16 b Fc(:)e(:)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(23)150 2144 y Fe($*)16
+(:)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(23)150 2320 y Fe($?)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+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(23)150 2407 y Fe($@)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)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(23)150 2495 y Fe($_)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+(:)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(81)150 2582 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h
+(:)g(:)31 b Fb(85)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
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(23)146 3553 y Fs(?)150 3670
+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(23)146 3912 y Fs(@)150 4029 y Fe(@)19 b Fc(:)13
+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(23)p
+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(81)146 4631 y Fs(0)150 4748 y
+(:)f(:)g(:)g(:)33 b Fb(85)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(126)150 5196 y Fe(active-region-start-color)
+(:)g(:)g(:)g(:)h(:)26 b Fb(131)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(126)150 5283 y Fe(auto_resume)8 b
+g(:)g(:)h(:)21 b Fb(131)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(121)2021 954 y Fs(B)2025 1071 y Fe(BASH)11 b
+23 b Fb(126)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(82)2025 1159
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(85)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(82)2025 1246 y Fe(BASH_ARGC)15
+g(:)g(:)g(:)g(:)h(:)22 b Fb(85)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(82)2025 1334 y Fe(BASH_ARGV)15 b Fc(:)g(:)f(:)f(:)g
+(:)g(:)g(:)30 b Fb(85)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(82)2025 1421 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(85)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(83)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(86)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(83)2025 1597
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(86)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(83)2025 1684 y Fe(BASH_COMPAT)10
+g(:)g(:)g(:)g(:)h(:)22 b Fb(86)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(83)2025 1772 y Fe(BASH_ENV)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
+g(:)25 b Fb(86)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(83)2025 1859 y Fe(BASH_EXECUTION_STRING)24 b Fc(:)13
+b Fb(86)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(83)2025 1947 y Fe(BASH_LINENO)10
+(:)g(:)g(:)g(:)g(:)34 b Fb(86)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(83)2025 2035 y Fe(BASH_LOADABLES_PATH)7 b
+g(:)25 b Fb(87)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(84)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(87)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(84)2025 2210 y Fe(BASH_REMATCH)8 b Fc(:)15
+h(:)f(:)29 b Fb(87)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(84)2025 2297 y Fe(BASH_SOURCE)10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g
+b Fb(87)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(84)2025
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(87)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(84)2025 2473 y Fe(BASH_TRAPSIG)8
+f(:)g(:)g(:)g(:)37 b Fb(87)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(84)2025 2560 y Fe(BASH_VERSINFO)j Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
+22 b Fb(87)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(84)2025 2648
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(87)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(85)2025 2735 y Fe(BASH_XTRACEFD)j
+g(:)g(:)g(:)g(:)h(:)22 b Fb(88)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(85)2025 2823 y Fe(BASHOPTS)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+b Fb(88)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(82)2025 2911 y Fe(BASHPID)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+Fb(85)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(82)2025 2998 y Fe(bell-style)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f
+b Fb(85)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(126)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(131)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(126)2025 3173 y Fe(blink-matching-paren)24 b Fc(:)13
+b Fb(132)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(127)2021 3426 y Fs(C)2025
+(:)g(:)g(:)g(:)h(:)34 b Fb(132)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(81)2025 3631 y Fe(CHILD_MAX)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(84)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(85)2025
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(88)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(127)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(132)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(127)2025 3894 y Fe(COLUMNS)22
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(132)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(85)2025 3981 y Fe(comment-begin)23
+g(:)g(:)h(:)f(:)g(:)35 b Fb(88)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(127)2025 4069 y Fe(COMP_CWORD)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(132)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(85)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(88)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(86)2025 4244
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(88)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(85)2025 4332 y Fe(COMP_POINT)13
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(88)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(85)2025 4419 y Fe(COMP_TYPE)15 b Fc(:)g(:)f(:)f(:)g(:)g
+(:)h(:)27 b Fb(89)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(85)2025 4507 y Fe(COMP_WORDBREAKS)17 b Fc(:)g(:)c(:)g(:)g(:)g(:)g
+b Fb(89)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(86)2025 4595 y Fe(COMP_WORDS)13
+h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(89)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(86)2025 4682 y Fe(completion-display-width)9
+(:)h(:)27 b Fb(89)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(127)2025 4770 y Fe(completion-ignore-case)14
+(:)h(:)f(:)g(:)24 b Fb(132)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(127)2025 4857 y Fe(completion-map-case)d
+(:)g(:)g(:)h(:)f(:)29 b Fb(132)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(127)2025 4945
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(132)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(127)2025 5033
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(132)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(127)2025 5120 y Fe(COMPREPLY)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g
+b Fb(133)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(86)2025 5208 y Fe(convert-meta)25 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+Fb(89)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(128)2025 5295
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(133)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(86)p
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(89)p
eop end
-%%Page: 192 198
-TeXDict begin 192 197 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(192)146 294 y Fs(D)150 414 y Fe(DIRSTACK)18
+%%Page: 199 205
+TeXDict begin 199 204 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(199)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(86)150 501 y Fe(disable-completion)7
+(:)g(:)h(:)f(:)32 b Fb(89)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(128)146
-772 y Fs(E)150 892 y Fe(echo-control-characters)12 b
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(133)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(128)150 981 y Fe(editing-mode)f
+g(:)g(:)g(:)h(:)26 b Fb(133)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(128)150 1069 y Fe(emacs-mode-string)10 b Fc(:)17
+b Fb(133)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(128)150 1158
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25 b Fb(133)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(86)150
-1246 y Fe(enable-active-region)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(128)150 1335 y Fe(enable-bracketed-paste)14 b Fc(:)k(:)c(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(89)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(134)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(129)150 1423 y Fe(enable-keypad)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
+b Fb(134)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(129)150 1511 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(86)150
-1600 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(86)150 1688 y Fe(EPOCHSECONDS)8
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(134)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(134)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(89)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(90)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(86)150 1777 y Fe(EUID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+22 b Fb(90)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(87)150 1865 y Fe(EXECIGNORE)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)
+b Fb(90)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(87)150
-1953 y Fe(expand-tilde)e Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(90)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(129)146 2224 y Fs(F)150 2344
+g(:)g(:)g(:)h(:)37 b Fb(134)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(87)150
-2432 y Fe(FIGNORE)i Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(90)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(87)150
-2521 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(87)150 2608
-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(87)146 2868 y
-Fs(G)150 2988 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(87)150
-3076 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(87)150 3164
-y Fe(GROUPS)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(90)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(134)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(90)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(90)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(90)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(91)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(91)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(91)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(91)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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(88)146
-3423 y Fs(H)150 3543 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(88)150 3632 y Fe(HISTCMD)22 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+g(:)25 b Fb(91)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(92)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(92)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(92)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(135)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(135)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(92)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(93)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(:)35
-b Fb(88)150 3720 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(88)150
-3809 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(89)150 3897
-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(89)150 3986 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(89)150 4074 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(129)150 4163 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(129)150 4251 y Fe(HISTSIZE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
+b Fb(84)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(135)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(89)150 4340 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(89)150 4428 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(81)150 4517
-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(129)150
-4605 y Fe(HOSTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+Fb(93)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(93)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(89)150 4693
-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(90)150 4781 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(90)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(81)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(93)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(84)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(90)2025
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(93)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(130)2025 691 y Fe(INPUTRC)c
+h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(135)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(90)2025 781 y Fe(INSIDE_EMACS)8
+g(:)g(:)h(:)f(:)g(:)35 b Fb(93)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(90)2025 868 y Fe(isearch-terminators)k Fc(:)13
+22 b Fb(93)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(130)2021 1167 y Fs(K)2025
+(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(135)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(130)2021
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(135)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(90)2025 1817 y Fe(LC_ALL)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g
+b Fb(8,)26 b(93)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(90)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(93)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(90)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(93)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(90)2025 2088
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(93)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(90)2025 2178 y Fe(LC_NUMERIC)13
+g(:)g(:)g(:)34 b Fb(8,)26 b(94)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(90)2025 2269 y Fe(LC_TIME)22 b Fc(:)13
+(:)h(:)27 b Fb(94)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(90)2025 2359 y Fe(LINENO)6 b Fc(:)14
+h(:)f(:)g(:)35 b Fb(94)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(90)2025 2446 y Fe(LINES)9
+g(:)g(:)g(:)g(:)g(:)21 b Fb(94)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(90)2021 2746
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(94)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(91)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+Fb(94)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(81)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(84)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(91)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(94)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(81)2025 3233
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(84)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(91)2025 3323
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(94)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(130)2025 3414 y Fe(mark-symlinked-directories)27
+b Fb(136)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(130)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17
+36 b Fb(136)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(131)2025 3594
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(136)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(131)2025 3681 y Fe(meta-flag)13
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(136)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(130)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6
+(:)f(:)28 b Fb(135)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(91)2025 4208 y Fe(OPTARG)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)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(81)2025 4299 y Fe(OPTERR)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(84)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(91)2025 4389 y Fe(OPTIND)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)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(81)2025 4480 y Fe(OSTYPE)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(84)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(91)2025 4567 y Fe(output-meta)8
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)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(131)p eop end
-%%Page: 193 199
-TeXDict begin 193 198 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(193)146 294 y Fs(P)150 410 y Fe(page-completions)
+23 b Fb(136)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(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(131)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)27 b Fb(136)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(81)150 584 y Fe(PIPESTATUS)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(84)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(91)150
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(94)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(91)150 758 y Fe(PPID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g
+(:)g(:)g(:)32 b Fb(94)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(91)150 846 y Fe(PROMPT_COMMAND)e Fc(:)13
+(:)h(:)25 b Fb(95)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(91)150 933 y Fe(PROMPT_DIRTRIM)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(95)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(91)150 1020 y Fe(PS0)14
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(95)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(91)150
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(95)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(81)150 1194 y Fe(PS2)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(84)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(81)150 1281 y Fe(PS3)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(84)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(91)150 1369 y Fe(PS4)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(95)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(92)150 1456 y Fe(PWD)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(95)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(92)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
+b Fb(95)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(92)150 1892 y Fe(READLINE_ARGUMENT)12
+g(:)g(:)g(:)h(:)f(:)20 b Fb(95)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(92)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(95)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(92)150 2066 y Fe(READLINE_MARK)25
+g(:)g(:)g(:)g(:)37 b Fb(95)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(92)150 2153 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(95)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(92)150 2240 y Fe(REPLY)9
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(95)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(92)150 2327 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(95)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(131)146 2560 y Fs(S)150 2676 y Fe(search-ignore-case)7
+b Fb(137)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(131)150
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(137)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(92)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(95)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(92)150 2938 y Fe(SHELLOPTS)15 b Fc(:)h(:)d(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(96)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(92)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30 b Fb(96)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(92)150 3112 y Fe(show-all-if-ambiguous)17 b Fc(:)h(:)13
+b Fb(96)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(131)150 3199 y Fe(show-all-if-unmodified)14
+(:)g(:)g(:)32 b Fb(137)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(131)2025 260 y Fe(show-mode-in-prompt)d
+h(:)f(:)g(:)g(:)29 b Fb(137)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(132)2025 351 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(137)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(132)2025 438 y Fe(SRANDOM)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(137)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(93)2021 758 y Fs(T)2025 887 y Fe(TEXTDOMAIN)15 b
+b Fb(96)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
(:)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(93)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(96)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(93)2025 1248 y Fe(TMPDIR)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(97)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(93)2021 1567 y Fs(U)2025 1692 y Fe(UID)14 b Fc(:)f(:)g(:)h(:)f(:)g
+b Fb(97)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(93)2021 2012 y Fs(V)2025 2140
+(:)g(:)h(:)f(:)28 b Fb(97)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(132)2025 2232 y Fe(vi-ins-mode-string)7 b Fc(:)17
+b Fb(137)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(132)2025 2319
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(138)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(132)150 3838 y Fs(D.4)68 b(F)-11 b(unction)44
+f(:)g(:)35 b Fb(138)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(147)150 4529 y Fe(accept-line)e(\(Newline)g(or)e(Return\))12
+b Fb(152)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(140)150 4616 y Fe(alias-expand-line)i(\(\))9 b Fc(:)14
+b Fb(145)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(149)146 4872 y Fs(B)150
+(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(154)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(139)150 5077 y Fe(backward-delete-char)k(\(Rubout\))22
+(:)26 b Fb(144)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(142)150 5165 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))e
+b Fb(147)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(143)150 5252 y Fe(backward-kill-word)30 b(\(M-DEL\))11
+Fb(148)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(144)150 5340 y Fe(backward-word)j(\(M-b\))12
+26 b Fb(149)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(139)2025 4294
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(144)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(140)2025
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(145)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(139)2025 4471 y Fe(bracketed-paste-begin)c(\(\))16
+b Fb(144)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(142)2021 4768 y Fs(C)2025 4891 y Fe
+g(:)g(:)31 b Fb(147)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(147)2025 4981
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(152)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(143)2025 5071 y Fe(character-search)29 b(\(C-]\))22
+b Fb(148)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(147)2025 5161 y Fe
+(:)h(:)f(:)g(:)g(:)36 b Fb(153)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(148)2025 5250
+b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(153)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(140)2025 5340 y Fe(clear-screen)28 b(\(C-l\))14
+b Fb(145)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(140)p eop
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(145)p eop
end
-%%Page: 194 200
-TeXDict begin 194 199 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(194)150 264 y Fe(complete)27 b(\(TAB\))7
+%%Page: 201 207
+TeXDict begin 201 206 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(201)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(145)150 351 y Fe(complete-command)29 b(\(M-!\))23
+b Fb(150)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(146)150 439 y Fe(complete-filename)29
+(:)f(:)g(:)g(:)g(:)36 b Fb(151)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(146)150 527 y Fe(complete-hostname)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(151)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(146)150 615 y Fe
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(151)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(146)150 702
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(152)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(146)150 790 y Fe(complete-variable)c(\(M-$\))20
+b Fb(151)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(146)150 878 y Fe(copy-backward-word)d(\(\))7
+(:)g(:)h(:)f(:)33 b Fb(151)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(144)150 966 y Fe(copy-forward-word)
+(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(149)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(144)150
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(149)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(144)146 1310 y Fs(D)150 1428 y Fe(dabbrev-expand)29
+(:)g(:)g(:)36 b Fb(149)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(146)150 1515 y Fe(delete-char)c(\(C-d\))17 b Fc(:)d(:)f(:)g(:)h(:)
+b Fb(151)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(142)150 1603 y Fe(delete-char-or-list)e
+(:)g(:)g(:)g(:)g(:)32 b Fb(147)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(146)150 1691 y Fe
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(151)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(144)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(149)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(145)150 1866 y Fe(display-shell-version)k(\(C-x)d(C-v\))c
+26 b Fb(150)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(149)150 1945 y Fe(do-lowercase-version)30 b(\(M-A,)227
+Fb(154)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(147)150 2120 y Fe(downcase-word)k(\(M-l\))
+g(:)g(:)g(:)g(:)g(:)25 b Fb(152)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(143)150 2208
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(148)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(148)150 2296 y Fe(dump-macros)c(\(\))7 b Fc(:)14
+32 b Fb(153)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(148)150 2384 y Fe(dump-variables)29 b(\(\))17 b
+b Fb(153)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(148)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(153)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(146)146 2728 y Fs(E)150
+(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(151)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(149)150 2933
+b Fc(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(154)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(147)150 3021 y Fd(end-of-file)g Fe(\(usually)g(C-d\))21
+b Fb(152)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(142)150 3109 y Fe(end-of-history)29 b(\(M->\))9
+(:)g(:)35 b Fb(147)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(140)150 3196 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(145)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(139)150 3284 y Fe(exchange-point-and-mark)f(\(C-x)26
+b Fb(144)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(147)150 3371 y Fe(execute-named-command)e(\(M-x\))8
+b Fb(152)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(149)146 3618 y Fs(F)150 3736 y Fe(fetch-history)29
+23 b Fb(153)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(142)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(142)150
+b Fb(147)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(147)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(139)150 3999 y Fe(forward-search-history)i(\(C-s\))24
+(:)29 b Fb(144)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(140)150 4086 y Fe(forward-word)28 b(\(M-f\))14 b
+b Fb(145)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(139)146 4333
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(144)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(148)150 4538 y Fe(glob-expand-word)e(\(C-x)e(*\))c
+g(:)g(:)31 b Fb(154)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(149)150 4625 y Fe(glob-list-expansions)30
+(:)g(:)g(:)38 b Fb(154)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(149)2021 294 y Fs(H)2025 422 y Fe
+(:)g(:)h(:)27 b Fb(154)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(149)2025 513 y Fe(history-expand-line)i
+g(:)g(:)g(:)g(:)28 b Fb(154)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(149)2025 604 y Fe(history-search-backward)j
+g(:)g(:)g(:)h(:)28 b Fb(154)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(141)2025 695 y Fe(history-search-forward)k(\(\))13
+(:)g(:)g(:)26 b Fb(146)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(141)2025 786 y Fe(history-substring-search-backw)q(ard)k
-(\(\))20 b Fc(:)13 b(:)g(:)g(:)g(:)35 b Fb(141)2025 874
+h(:)28 b Fb(146)2025 786 y Fe(history-substring-search-backw)q(ard)k
+(\(\))20 b Fc(:)13 b(:)g(:)g(:)g(:)35 b Fb(146)2025 874
y Fe(history-substring-search-forwa)q(rd)d(\(\))22 b
-Fc(:)13 b(:)h(:)f(:)g(:)g(:)37 b Fb(141)2021 1200 y Fs(I)2025
+Fc(:)13 b(:)h(:)f(:)g(:)g(:)37 b Fb(146)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(148)2025 1420 y Fe(insert-completions)29 b(\(M-*\))16
+24 b Fb(153)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(145)2025 1507 y Fe(insert-last-argument)f(\(M-.)c(or)g
+g(:)g(:)31 b Fb(150)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(149)2021 1834 y Fs(K)2025 1962 y Fe(kill-line)27
+b Fb(154)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(143)2025 2053 y Fe(kill-region)28 b(\(\))7 b Fc(:)14
+b Fb(148)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(144)2025 2144 y Fe(kill-whole-line)29 b(\(\))14
+b Fb(149)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(144)2025
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(149)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(144)2021 2548 y Fs(M)2025 2676 y
+g(:)g(:)g(:)37 b Fb(149)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(149)2025 2767 y Fe(menu-complete)28
+g(:)g(:)h(:)f(:)22 b Fb(154)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(145)2025 2854 y Fe(menu-complete-backward)c(\(\))13
+b Fb(150)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(145)2021 3181 y Fs(N)2025 3309 y Fe(next-history)g(\(C-n\))
+h(:)28 b Fb(151)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(140)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(145)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(140)2025 3472 y Fe(non-incremental-forward-)2102
+27 b Fb(145)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(141)2025 3647 y Fe(non-incremental-reverse-)2102
+b Fb(146)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(140)2021 4070 y Fs(O)2025 4198 y Fe(operate-and-get-next)30
+b Fb(146)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(142)2025 4285 y Fe(overwrite-mode)j(\(\))17
+(:)g(:)g(:)g(:)26 b Fb(147)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(143)p
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(148)p
eop end
-%%Page: 195 201
-TeXDict begin 195 200 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(195)146 294 y Fs(P)150 411 y Fe
+%%Page: 202 208
+TeXDict begin 202 207 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(202)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(146)150 499 y Fe
+Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(151)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(145)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(150)150
586 y Fe(possible-filename-completions)32 b(\(C-x)27
-b(/\))7 b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(146)150 674
+b(/\))7 b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 674
y Fe(possible-hostname-completions)32 b(\(C-x)27 b(@\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(146)150 762 y Fe
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 762 y Fe
(possible-username-completions)32 b(\(C-x)27 b(~\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(146)150 849 y Fe
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 849 y Fe
(possible-variable-completions)32 b(\(C-x)27 b($\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(146)150 937 y Fe(prefix-meta)28
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)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(147)150 1025 y Fe(previous-history)d(\(C-p\))23
+b Fb(152)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(140)150 1112 y Fe(previous-screen-line)30
+(:)f(:)g(:)g(:)g(:)36 b Fb(145)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(139)150 1200 y Fe
+(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(145)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(147)146
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)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(142)146 1825 y Fs(R)150 1943 y Fe(re-read-init-file)29
+(:)g(:)22 b Fb(147)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(147)150 2030 y Fe(redraw-current-line)g(\(\))22
+(:)g(:)g(:)g(:)30 b Fb(152)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(140)150 2118 y Fe(reverse-search-history)31
+(:)f(:)g(:)g(:)g(:)36 b Fb(145)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(140)150 2205 y Fe(revert-line)28 b(\(M-r\))17
+g(:)38 b Fb(145)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(147)146
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(152)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(142)150 2654 y Fe(set-mark)g(\(C-@\))7 b Fc(:)15
+b Fb(147)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(147)150 2742 y Fe(shell-backward-kill-word)31 b(\(\))8
+b Fb(152)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(144)150 2830 y Fe(shell-backward-word)30 b(\(M-C-b\))8
+23 b Fb(149)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(139)150 2917 y Fe(shell-expand-line)29 b(\(M-C-e\))13
+23 b Fb(144)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(149)150 3005 y Fe(shell-forward-word)i(\(M-C-f\))11
+g(:)28 b Fb(154)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(139)150 3093 y Fe(shell-kill-word)j(\(M-C-d\))20
+26 b Fb(144)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(144)150 3180 y Fe(shell-transpose-words)d
+(:)g(:)h(:)f(:)33 b Fb(149)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(143)2025 264 y Fe(skip-csi-sequence)29 b(\(\))9
+(:)35 b Fb(148)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(148)2025 361 y
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(153)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(148)2025
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fb(154)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(147)2021 891 y Fs(T)2025 1038 y Fe(tilde-expand)28
+b Fb(152)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(147)2025 1135 y Fe(transpose-chars)g(\(C-t\))7 b
+b Fb(152)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(142)2025 1222 y Fe(transpose-words)
+(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(148)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(143)2021
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(148)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(147)2025 1920 y Fe
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(152)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(145)2025 2017 y Fe(unix-filename-rubout)30 b(\(\))19
+b Fb(150)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(144)2025 2114 y Fe(unix-line-discard)29
+(:)g(:)g(:)g(:)34 b Fb(149)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(143)2025 2211 y Fe
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(148)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(144)2025 2298 y Fe(upcase-word)28 b(\(M-u\))17 b
+b Fb(149)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(143)2021
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(148)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(144)2025 2996 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))8
+b Fb(149)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(141)2025 3093 y Fe(yank-nth-arg)28 b(\(M-C-y\))9
+(:)h(:)22 b Fb(146)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(141)2025 3180
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(146)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(144)150 3929 y Fs(D.5)68 b(Concept)45
+g(:)g(:)h(:)f(:)22 b Fb(149)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(103)150 4735 y(arithmetic)26 b(ev)l(aluation)21
+b Fb(107)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(101)150 4824
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(105)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(35)150 4914 y(arithmetic)g(op)r(erators)18 b
+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(101)150 5003
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(106)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(101)150 5090 y(arra)n(ys)19 b Fc(:)13
+g(:)g(:)g(:)36 b Fb(105)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(103)2021 4523 y Fs(B)2025 4641
+g(:)g(:)g(:)g(:)34 b Fb(108)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(118)2025 4729 y(Bash)e(con\014guration)
+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(165)2025
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(171)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(165)2025 4905 y(binary)h(arithmetic)h(op)r
+(:)g(:)g(:)g(:)24 b Fb(171)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(101)2025 4993 y(bit)n(wise)26
+g(:)g(:)g(:)g(:)h(:)31 b Fb(106)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(101)2025
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)23 b Fb(106)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(24)2025 5256 y(builtin)15 b Fc(:)e(:)g(:)g(:)g
+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: 196 202
-TeXDict begin 196 201 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(196)146 294 y Fs(C)150 413 y Fb(command)26
+%%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(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(123)150 501 y(command)26 b(execution)12 b Fc(:)h(:)g(:)g(:)g(:)g
+b Fb(128)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(43)150 590 y(command)g(expansion)c
+g(:)h(:)f(:)g(:)g(:)26 b Fb(44)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(43)150
-678 y(command)26 b(history)18 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)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(159)150 766 y(command)26 b(searc)n(h)16
+g(:)g(:)g(:)33 b Fb(164)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(43)150 855 y(command)c(substitution)21 b Fc(:)13
+b Fb(44)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(34)150 943 y(command)26
+(:)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 1031 y(commands,)h(comp)r(ound)c Fc(:)13
+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 1120 y(commands,)26
+(:)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 1208 y(commands,)h(grouping)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
+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 1296 y(commands,)d(lists)10
+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(10)150 1385 y(commands,)i(lo)r(oping)e Fc(:)13 b(:)g(:)g(:)g(:)h
+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(11)150 1473 y(commands,)26
+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 1561 y(commands,)c(shell)c Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+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 1649 y(commands,)26
+(:)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 1738 y(commen)n(ts,)26 b(shell)13 b Fc(:)i(:)e(:)g(:)g(:)g
+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
-1826 y(Compatibilit)n(y)f(Lev)n(el)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)h(:)f
+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(114)150 1914 y(Compatibilit)n(y)i(Mo)r(de)22
+g(:)g(:)25 b Fb(119)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(114)150
-2003 y(completion)27 b(builtins)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(119)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(152)150 2091 y(conditional)27 b(arithmetic)f(op)r
+g(:)g(:)36 b Fb(157)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(101)150 2179 y(con\014guration)22 b Fc(:)13
+(:)37 b Fb(106)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(165)150 2268 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
+b Fb(171)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 2355 y(copro)r(cess)18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+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 2621 y Fs(D)150 2739 y Fb(directory)26 b(stac)n(k)9
+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(105)146 3005 y Fs(E)150 3124 y Fb(editing)i(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(123)150 3213 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(45)150 3301 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(101)150 3389
-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(162)150 3478 y(execution)26 b(en)n(vironmen)n(t)17
+b Fb(110)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(128)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(105)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(168)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(44)150 3566
+(:)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(45)150 3654 y(expansion)9
+(:)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 3743 y(expansion,)i(arithmetic)18
+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(35)150 3831
+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(24)150 3919 y(expansion,)c(\014lename)18
+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(36)150
-4008 y(expansion,)26 b(parameter)21 b Fc(:)13 b(:)g(:)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(26)150 4096 y(expansion,)26 b(pathname)7
+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(36)150
-4184 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(:)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(25)150 4272 y(expressions,)f(arithmetic)11
+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(101)150 4360 y(expressions,)h
-(conditional)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(99)2021
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(105)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(103)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
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(36)2025 680 y(foreground)9
+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(118)2025 767 y(functions,)i(shell)9 b
+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(159)2025 1247 y(history)25 b(ev)n(en)n(ts)8 b Fc(:)13
+b Fb(165)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(162)2025 1335 y(history)i(expansion)14 b Fc(:)g(:)f(:)g(:)g(:)h(:)
+b Fb(168)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(161)2025 1424 y(history)c(list)9
+(:)g(:)g(:)g(:)h(:)f(:)29 b Fb(167)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(159)2025 1511 y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)
+g(:)g(:)24 b Fb(164)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(158)2021
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(163)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(125)2025 2080 y(installation)21
+f(:)g(:)g(:)g(:)32 b Fb(130)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(165)2025 2168 y(in)n(teraction,)26 b(readline)7
+g(:)34 b Fb(171)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(122)2025
-2257 y(in)n(teractiv)n(e)k(shell)20 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(:)34 b Fb(96,)27 b(98)2025 2346 y(in)n(ternationalization)22
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(127)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(100,)c(102)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(7)2021 2704 y
+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(118)2021
+(:)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(124)2025 3390 y(killing)k(text)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
+b Fb(129)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(124)2021 3661 y Fs(L)2025 3782 y Fb(lo)r(calization)i
+Fb(129)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)6
-b Fc(:)15 b(:)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(:)21 b Fb(96)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(37)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: 197 203
-TeXDict begin 197 202 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(197)146 294 y Fs(N)150 410 y Fb(name)19
+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(100)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: 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(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
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(123)146 827 y Fs(O)150 943 y Fb(op)r(erator,)g(shell)c
+b Fb(128)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(26)150 1389 y(parameters)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+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(21)150
+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
(:)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(36)150 1738 y(pattern)25 b(matc)n(hing)c
+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(37)150 1825 y(pip)r(eline)10 b Fc(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+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(:)
(:)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(109)150 2086 y(POSIX)g(Mo)r(de)14
+(:)g(:)g(:)g(:)g(:)25 b Fb(114)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(110)150 2174 y(pro)r(cess)e(group)15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g
+b Fb(114)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(35)150
+(:)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(150)150 2522 y(prompting)15 b Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(155)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(107)146
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)30 b Fb(111)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
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(121)150 3414
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(126)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(39)150 3501 y(reserv)n(ed)f(w)n
+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(3)150 3589 y(reserv)n(ed)e(w)n(ords)15
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(109)150 3763 y(return)e(status)
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(113)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(101)2025 508 y(shell)c(function)18 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
+b Fb(105)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(47)2025 687
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(48)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(21)2025 777 y(shell,)k(in)n
-(teractiv)n(e)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(:)34 b Fb(98)2025 867 y(signal)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f
+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(102)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(47)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(82)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(:)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(46)2025 1046 y(sp)r(ecial)27 b(builtin)16 b Fc(:)d(:)g(:)g(:)g(:)g
+g(:)23 b Fb(100)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(:)g(:)31 b Fb(4,)26 b(80)2025
-1136 y(startup)f(\014les)10 b Fc(:)k(:)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(:)25 b Fb(96)2025 1226
-y(string)h(translations)8 b Fc(:)14 b(:)f(:)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(:)23 b Fb(7)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(118)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(25)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(101)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(21)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(126)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(36)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(124)p eop end
+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(106)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(131)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(129)p
+eop end
%%Trailer
userdict /end-hook known{end-hook}if